{ "info": { "author": "Eu Boon Lee", "author_email": "boonlee.eu@poly.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# vvxme\nversion: 1.0.0.post6\n\nManages your Poly VVX powered by RESTAPIs based on (UCS>=6.1), with CLI Menu or simply use the available VVX class to develope your own applications.\n\nPrerequisites:\n - Recommends install python 3.5 or above\n - Install the project: 'pip install vvxme'\n - Full features tested on VVX (non-touch screen) models running UCS 6.1. Earlier version will exibit some API errors.\n\nOS security notes: \n - For Windows users: May have to run the console in Administrator mode to use VVX class in interactive mode. \n - For Mac users: Requires sudo mode to run CLI Menu - 'sudo python -m vvxme' \n\n## Using the inbuilt CLI Menu\nTo invoke the CLI Menu, simply open a console and type command: 'python -m vvxme' \n\n### Available menus in this version:\nMain Selection Menu:\n 1. Device Information Menu *__(Useful information of your VVX)__*\n - Show Device Info\n - Show Device Stats\n - Show Network Info\n - Show Network Stats\n - Show Line Info\n - Show Running Config\n - Show Call Logs\n - Show Session Stats\n 2. Device Management Menu *__(Useful VVX management options)__*\n - Import from cfg (xml/json)\n - Reset Configuration\n - Update Configuration\n - Restart Device\n - Reboot Device\n - Factory Reset\n 3. Quick Configuration Menu *__(Quick fix to enable/disable specific features on your VVX)__*\n - Acoustic Fence Menu\n - Active Call Screen\n - Font Size Customization\n - Headset Configuration Menu\n - Message Waiting Indicator (LED)\n - Pagination\n - Remote Packet Capture\n - Screen Capture\n - SIP Autoanswer\n - SIP Debug & USB Logging\n - ~~Network Discovery - CDP~~ \n - ~~Network Discovery - LLDP~~ \n 4. Web Call Controls Menu *__(Remote dial-out using either TEL/SIP dialstrings from specified Line with specified duration)__*\n - Call Dial \n 5. Simulate Key Events Menu *__(Drive the VVX using your keyboard)__*\n - Simulate Keys \n\n\n## Using the VVX Class \n\nExample: \n\\# python \n\\>>> import vvxme \n\\>>> dev = vvxme.vvx( '192.168.1.120', ('Polycom', '789') ) \n\\>>> dev.getDeviceInfoV2() \n{'data': {'DeviceType': 'HardwareEndpoint', 'IPv6ULAAddress': '::', 'AttachedHardware': {'EM': []}, 'DeviceVendor': 'Polycom', 'CanApplyShutdownRequest': 'True', 'Firmware': {'Application': '5.9.3.2857 02-Jul-19 06:14', 'Updater': '5.9.7.26508', 'BootBlock': '3.0.6.0098 (48830-001)'}, 'ReadyToUse': 'True', 'IPStack': 'IPv4 Only', 'ModelNumber': 'VVX 350', 'UpTime': {'Seconds': '1', 'Days': '0', 'Minutes': '3', 'Hours': '1'}, 'IPAddress': '192.168.1.120', 'PreferredNetwork': 'IPv6', 'IPv6Address': '::', 'IntendToShutdown': 'False', 'IPv6LinkAddress': '::', 'AppState': 'AppStateCall', 'MACAddress': '64167f3959ca'}, 'Status': '2000'}\n\n\n \"\"\"\n Class for VVX based on UCS 6.1.0 REST APIs.\n INPUTS for instance creation:\n - ipaddr = IP address of phone\n - auth = username and password in tuple\n Attributes:\n .ipaddr\n .auth_credentials\n .use_https\n .verify_secure\n .model\n .firmware\n .macaddress\n .baseprofile\n\n Methods:\n .getDeviceInfoV2() - calls \"/api/v2/mgmt/device/info\"\n .getNetwork() - calls \"/api/v1/mgmt/network/info\"\n .getLineInfoV2() - calls \"/api/v2/mgmt/lineInfo\"\n .getCallStatusV2() - calls \"/api/v2/webCallControl/callStatus\"\n .getRunningConfig() - calls \"/api/v1/mgmt/device/runningConfig\"\n .getDeviceStats() - calls \"/api/v1/mgmt/device/stats\"\n .getNetworkStats() - calls \"/api/v1/mgmt/network/stats\"\n .getSessionStats() - calls \"/api/v1/mgmt/media/sessionStats\"\n .getCallLogs() - calls \"/api/v1/mgmt/callLogs\"\n .getConfig() - calls \"/api/v1/mgmt/config/get\"\n .setConfig() - calls \"/api/v1/mgmt/config/set\"\n .callDial() - \"/api/v1/callctrl/dial\"\n .callEnd() - \"/api/v1/callctrl/endCall\"\n .simulateKeyEvent() - calls \"/api/v1/mgmt/simulateKeyEvent\"\n .simulateTextInput() - calls \"/api/v1/mgmt/simulateTextInput\"\n .safeRestart() - calls \"/api/v1/mgmt/safeRestart\"\n .safeReboot() - calls \"/api/v1/mgmt/safeReboot\"\n .factoryReset() - calls \"/api/v1/mgmt/factoryReset\"\n .updateConfig() - calls \"/api/v1/mgmt/updateConfiguration\"\n .resetConfig() - calls \"/api/v1/mgmt/configReset\"\n \"\"\"\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/eupubs/vvxme.git", "keywords": "poly polycom vvx", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "vvxme", "package_url": "https://pypi.org/project/vvxme/", "platform": "", "project_url": "https://pypi.org/project/vvxme/", "project_urls": { "Homepage": "https://github.com/eupubs/vvxme.git" }, "release_url": "https://pypi.org/project/vvxme/1.0.0.post6/", "requires_dist": [ "datetime", "ipaddress", "json5", "keyboard", "requests" ], "requires_python": ">=3.5", "summary": "Manages your Poly VVX powered by RESTAPIs based on (UCS>=6.1), with CLI Menu or simply use the available VVX class to develop your own applications.", "version": "1.0.0.post6" }, "last_serial": 5953382, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "ae6f080660acb864bf1b0d3a35329dec", "sha256": "0a6ebbc93a4b53fcc7379401acb0ffacf1fed1fd70b73590b47751c4537c950a" }, "downloads": -1, "filename": "vvxme-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ae6f080660acb864bf1b0d3a35329dec", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7", "size": 23799, "upload_time": "2019-10-07T07:03:51", "url": "https://files.pythonhosted.org/packages/28/68/4f66f5046e091e564df85950b7f13680af99fb6f75d6da50a9e3e2ec7960/vvxme-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c317646a00929cc4ecb6ceddd90e2954", "sha256": "459f3320f2e6013a31600b9f2f206585e70a714045b10e32a8327c54c87076f0" }, "downloads": -1, "filename": "vvxme-1.0.0.tar.gz", "has_sig": false, "md5_digest": "c317646a00929cc4ecb6ceddd90e2954", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 15226, "upload_time": "2019-10-07T07:03:53", "url": "https://files.pythonhosted.org/packages/00/f3/09ad75a5bd1eea70acd9975dec8ef3b82ac4c2164ac0a2730edef2c99a01/vvxme-1.0.0.tar.gz" } ], "1.0.0.post1": [ { "comment_text": "", "digests": { "md5": "d72586f17bde1f194da84a1fe46250de", "sha256": "7f59dedd4f8688371197dfe4e2041f8cf9e0d45bd02caf0ee59eb27a783d5928" }, "downloads": -1, "filename": "vvxme-1.0.0.post1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d72586f17bde1f194da84a1fe46250de", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7", "size": 24190, "upload_time": "2019-10-07T09:02:53", "url": "https://files.pythonhosted.org/packages/d4/aa/a181c95214631e44c0a5811f19f5ef6c0d326251b30d393cb77a78d68487/vvxme-1.0.0.post1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b4f559bf303c9ca11db2c8dc1097ff9a", "sha256": "6ea97e5cedb9beffdef81a859109aa62eea24c71515d586c4c4b2e19239e04d7" }, "downloads": -1, "filename": "vvxme-1.0.0.post1.tar.gz", "has_sig": false, "md5_digest": "b4f559bf303c9ca11db2c8dc1097ff9a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 16452, "upload_time": "2019-10-07T09:02:54", "url": "https://files.pythonhosted.org/packages/0a/e7/06a8b5ca7a79bcd97231efcc72411773c16fda19288739acbb5dca4dbd75/vvxme-1.0.0.post1.tar.gz" } ], "1.0.0.post2": [ { "comment_text": "", "digests": { "md5": "58ffa1e91fbbbff41e218601d6979267", "sha256": "3338c6091b7ff1fe8df1841af1277ad6af82b27a673ab0e60bab1e51c92a4d34" }, "downloads": -1, "filename": "vvxme-1.0.0.post2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "58ffa1e91fbbbff41e218601d6979267", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7", "size": 24248, "upload_time": "2019-10-07T10:27:51", "url": "https://files.pythonhosted.org/packages/7a/45/684c0d59fe61bbb7e7f4d769665a6896a15ae9c4405016d9399b735d6447/vvxme-1.0.0.post2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "81d415ef09173731d1fa74f99d8576d7", "sha256": "f76575df9b2f0a1b7bca5bfe1fcbbe4e81e2d3a38177a283f6e22b7310ae1a07" }, "downloads": -1, "filename": "vvxme-1.0.0.post2.tar.gz", "has_sig": false, "md5_digest": "81d415ef09173731d1fa74f99d8576d7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 16533, "upload_time": "2019-10-07T10:27:52", "url": "https://files.pythonhosted.org/packages/b4/ee/695f4960fef97bbd70270f1eb0ee0e8e497727bae0d441077b21fee43667/vvxme-1.0.0.post2.tar.gz" } ], "1.0.0.post3": [ { "comment_text": "", "digests": { "md5": "2e6ace040616a6a47b96007e55bfe335", "sha256": "409d97461f23b0c09b180c234f90dbccf9a51f4a8762fec5ee16c865635483c5" }, "downloads": -1, "filename": "vvxme-1.0.0.post3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2e6ace040616a6a47b96007e55bfe335", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.7", "size": 24228, "upload_time": "2019-10-07T10:46:01", "url": "https://files.pythonhosted.org/packages/85/32/94576374cf41d84dbe32cd21dab6f63507d3b95eaeb3adc72d3b6efef7d3/vvxme-1.0.0.post3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "52d51355023b8e043e4a5cc1060c27c4", "sha256": "9fa73da72afc3b08a38744d883a9391a5d4dfbfc500dd6a3651c8f391c20ccfa" }, "downloads": -1, "filename": "vvxme-1.0.0.post3.tar.gz", "has_sig": false, "md5_digest": "52d51355023b8e043e4a5cc1060c27c4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 16498, "upload_time": "2019-10-07T10:46:03", "url": "https://files.pythonhosted.org/packages/a4/45/ccbfdaa182ba67987ad8d44388647bee861eff1a5b37651a9fe3c1cf4f29/vvxme-1.0.0.post3.tar.gz" } ], "1.0.0.post4": [ { "comment_text": "", "digests": { "md5": "61de6fe2469903dbe8d990148f36e2e0", "sha256": "f2a8e82cea863ca7d96d1e2b1ff5d574098df05fa457d843940eb0a3aa7cbcc3" }, "downloads": -1, "filename": "vvxme-1.0.0.post4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "61de6fe2469903dbe8d990148f36e2e0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 29287, "upload_time": "2019-10-10T05:33:02", "url": "https://files.pythonhosted.org/packages/78/1e/6a7409bc3568a95f936d45c5f475c0628a1913ff860fea604dc97d270267/vvxme-1.0.0.post4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5101a03dd113517acdd6b1ca0aca96cd", "sha256": "e17127e7f0abfd6a03fdec8b61fc6f889a826b470e926a930c037371ea3ae2b3" }, "downloads": -1, "filename": "vvxme-1.0.0.post4.tar.gz", "has_sig": false, "md5_digest": "5101a03dd113517acdd6b1ca0aca96cd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 21425, "upload_time": "2019-10-10T05:33:04", "url": "https://files.pythonhosted.org/packages/d7/64/3a29c2730e39ecc357ac46318ac632f0e58adf7f5dad091db5437052f4d5/vvxme-1.0.0.post4.tar.gz" } ], "1.0.0.post5": [ { "comment_text": "", "digests": { "md5": "d320516462c41f772c8a320f4a5ea6ac", "sha256": "4bdcdc9a548bc841ec38eb255f2c6246aa1b3dfbae69ebf37fb84c82131c617a" }, "downloads": -1, "filename": "vvxme-1.0.0.post5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d320516462c41f772c8a320f4a5ea6ac", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 21445, "upload_time": "2019-10-10T05:58:09", "url": "https://files.pythonhosted.org/packages/3b/a9/032667e7be43dad1c8aba955044a567ae9e933ca1f58c5491ee4c11d452e/vvxme-1.0.0.post5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fa2e950869fe17605837b142fab755b7", "sha256": "858d7298bca65d9b628dbac80234bfff07983ab38ed0385de58823a5dd9a4f6a" }, "downloads": -1, "filename": "vvxme-1.0.0.post5.tar.gz", "has_sig": false, "md5_digest": "fa2e950869fe17605837b142fab755b7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 21437, "upload_time": "2019-10-10T05:58:11", "url": "https://files.pythonhosted.org/packages/ce/0b/74b4da340b7f8a2d247f497e842c72d12844c038f978b58ef66977b4e686/vvxme-1.0.0.post5.tar.gz" } ], "1.0.0.post6": [ { "comment_text": "", "digests": { "md5": "ab15831b9fee426780c21b5e19959aaf", "sha256": "9c4f35e5c2922bb35ca9a5ed33639819e2cab5fea1fffaacbbd4e1f83a527ef2" }, "downloads": -1, "filename": "vvxme-1.0.0.post6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ab15831b9fee426780c21b5e19959aaf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 21476, "upload_time": "2019-10-10T06:58:31", "url": "https://files.pythonhosted.org/packages/34/6a/4cfd7e60cfe079f1bbf737d76dc75a7fa834958303ec3d3576b16927e9fa/vvxme-1.0.0.post6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a5ac55ee9c446b8197d988b01aec8056", "sha256": "406b981dc408669359ffffffd58851e2d02f2e6b3c668aa5f7f56bdf6df57a5a" }, "downloads": -1, "filename": "vvxme-1.0.0.post6.tar.gz", "has_sig": false, "md5_digest": "a5ac55ee9c446b8197d988b01aec8056", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 21435, "upload_time": "2019-10-10T06:58:32", "url": "https://files.pythonhosted.org/packages/83/27/8e1f8cd68faf2f025ddad9908bb9cadf4d04aeee64a27ed29d33a19d707d/vvxme-1.0.0.post6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ab15831b9fee426780c21b5e19959aaf", "sha256": "9c4f35e5c2922bb35ca9a5ed33639819e2cab5fea1fffaacbbd4e1f83a527ef2" }, "downloads": -1, "filename": "vvxme-1.0.0.post6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ab15831b9fee426780c21b5e19959aaf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.5", "size": 21476, "upload_time": "2019-10-10T06:58:31", "url": "https://files.pythonhosted.org/packages/34/6a/4cfd7e60cfe079f1bbf737d76dc75a7fa834958303ec3d3576b16927e9fa/vvxme-1.0.0.post6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a5ac55ee9c446b8197d988b01aec8056", "sha256": "406b981dc408669359ffffffd58851e2d02f2e6b3c668aa5f7f56bdf6df57a5a" }, "downloads": -1, "filename": "vvxme-1.0.0.post6.tar.gz", "has_sig": false, "md5_digest": "a5ac55ee9c446b8197d988b01aec8056", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 21435, "upload_time": "2019-10-10T06:58:32", "url": "https://files.pythonhosted.org/packages/83/27/8e1f8cd68faf2f025ddad9908bb9cadf4d04aeee64a27ed29d33a19d707d/vvxme-1.0.0.post6.tar.gz" } ] }