{ "info": { "author": "Jeff Levensailor", "author_email": "jeff@levensailor.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "[![published](https://static.production.devnetcloud.com/codeexchange/assets/images/devnet-published.svg)](https://developer.cisco.com/codeexchange/github/repo/levensailor/py-cisco-ris)\n\n# ciscoris\n\nUses Realtime Information Service (RIS) to capture registration status of Cisco IP Phones on CUCM\nhttps://developer.cisco.com/docs/sxml/#risport70-api-reference\n\n#### Install with pip or clone repo\n\n```bash\npip install ciscoris\n```\n\n#### import ris, logcollection or other classes\n```py\nfrom ciscoris import ris\n```\n\n#### specify your CUCM details\n```py\ncucm = os.getenv('cucm', '10.10.10.10')\nversion = os.getenv('version', '11.5')\nrisuser = os.getenv('risuser', 'risadmin')\nrispass = os.getenv('rispass', 'p@ssw0rd')\n```\n\n#### instanciate your RIS object\n```py\nris = ris(username=risuser,password=rispass,cucm=cucm,cucm_version=version)\n```\n\n#### input an array of phones\n\n```py\nphones = ['SEPF8A5C59E0F1C', 'SEP1CDEA78380DE', 'SEP01CD4EF58980']\n```\n\n#### input an array of \"process nodes\" or nodes which run Callmanager service\n```py\nsubs = ['sub1', 'sub2', 'sub3']\n```\n\n#### you can use the related `ciscoaxl` library grab process nodes via API.\n```py\ndef getSubs():\n nodes = axl.listProcessNodes()\n if nodes['success']:\n return nodes['response']\n\nsubs = getSubs()\n```\n\n#### group phones into 1000 and check registrations per group\n```py\nlimit = lambda phones, n=1000: [phones[i:i+n] for i in range(0, len(phones), n)]\n\ngroups = limit(phones)\nfor group in groups:\n registered = ris.checkRegistration(group, subs)\n user = registered['LoginUserId']\n regtime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(registered['TimeStamp']))\n for item in registered['IPAddress']:\n ip = item[1][0]['IP']\n\n for item in registered['LinesStatus']:\n primeline = item[1][0]['DirectoryNumber']\n name = registered['Name']\n\n print('name: '+name)\n print('user: '+user)\n print('primary dn: '+primeline)\n print('ip address: '+ip)\n print('registration time: '+regtime)\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/levensailor/ciscoris", "keywords": "Cisco,Call Manager,CUCM,RIS,LogCollection,VoIP", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "ciscoris", "package_url": "https://pypi.org/project/ciscoris/", "platform": "", "project_url": "https://pypi.org/project/ciscoris/", "project_urls": { "Homepage": "https://github.com/levensailor/ciscoris" }, "release_url": "https://pypi.org/project/ciscoris/0.0.5/", "requires_dist": [ "zeep (==3.4.0)", "urllib3 (==1.23)", "requests (==2.22.0)", "six (==1.12.0)" ], "requires_python": "", "summary": "Cisco CUCM RIS Library. Simple to use.", "version": "0.0.5" }, "last_serial": 5740848, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "eeaf04611da4d3f695f58762a25fa2ae", "sha256": "60c6a20c3b45972cae87cbc264ee83ad93174a69f83e0e48e8fbf672f7ffa6c5" }, "downloads": -1, "filename": "ciscoris-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "eeaf04611da4d3f695f58762a25fa2ae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3837, "upload_time": "2019-04-14T18:29:44", "url": "https://files.pythonhosted.org/packages/17/2b/83f2880f3ed21989ab4c5967219bab2b133a05e54141c573c7f63f39f1c8/ciscoris-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2edf64052d1bbc3d227cd078d77c043a", "sha256": "2425b21074f2e92235f064aeddbe3b2f05ef4638144963a9a34ec664a6b5c6b0" }, "downloads": -1, "filename": "ciscoris-0.0.1.tar.gz", "has_sig": false, "md5_digest": "2edf64052d1bbc3d227cd078d77c043a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3583, "upload_time": "2019-04-14T18:29:46", "url": "https://files.pythonhosted.org/packages/65/c7/e6fd2b605e277e8d7bf1d8e43a4c22d950b03b70eb8c633dbc22ef057fb9/ciscoris-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "9e8b1a29c1018ee9c39c53e693e22c1e", "sha256": "61215df3d005c24fa2a04ee92c2076aa99489366f9417ed9539cee5b552cb488" }, "downloads": -1, "filename": "ciscoris-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "9e8b1a29c1018ee9c39c53e693e22c1e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3837, "upload_time": "2019-04-14T18:33:30", "url": "https://files.pythonhosted.org/packages/22/f6/d4a530fdc85fe903b8af2125c01e129eb9ea8f55c45370dd6a811bc07595/ciscoris-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d9157825b644854993370656994c7692", "sha256": "4d96bc5abfdefe10afb7f3e539a3c5f000872bd30a3a79e9005ae6a30ca2b65b" }, "downloads": -1, "filename": "ciscoris-0.0.2.tar.gz", "has_sig": false, "md5_digest": "d9157825b644854993370656994c7692", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3581, "upload_time": "2019-04-14T18:33:32", "url": "https://files.pythonhosted.org/packages/24/30/709cb6d12aeb549fd6f060fd6cdd68110a6c1aa5bb080924b601a91183ec/ciscoris-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "3ecbe52cfd3399edf7fbdd03cc92ff31", "sha256": "4276a7a209e442be93d5ff4f6e47c108aa06b8e4373585a2d7902176642baf57" }, "downloads": -1, "filename": "ciscoris-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "3ecbe52cfd3399edf7fbdd03cc92ff31", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3838, "upload_time": "2019-04-14T18:55:45", "url": "https://files.pythonhosted.org/packages/04/63/9329cd89f9cbbf7b64d01ccc4eaf050822695f239804953de915a120ea72/ciscoris-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4f7da9f45ccce213387ff3ea4306c0f3", "sha256": "479dc869c5bc940e11c55092338d3da0de31a2e344239a1bbf1638a46452300a" }, "downloads": -1, "filename": "ciscoris-0.0.3.tar.gz", "has_sig": false, "md5_digest": "4f7da9f45ccce213387ff3ea4306c0f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3588, "upload_time": "2019-04-14T18:55:47", "url": "https://files.pythonhosted.org/packages/43/9d/09233b44ba453b91ef8fd20cee8d5bb87fe6fc2e15bbd7fa7c8b5cbb86f4/ciscoris-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "5b16322a3d8a0f7f2eece92e6d1d1578", "sha256": "566f71c28965cebda72b009a2776002d2e905cbd2dbe1cd61afc3de1cb30e279" }, "downloads": -1, "filename": "ciscoris-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "5b16322a3d8a0f7f2eece92e6d1d1578", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3830, "upload_time": "2019-04-14T19:01:49", "url": "https://files.pythonhosted.org/packages/6c/69/c5b81734ac75adecd88ff56b0b6c09e89960fc553aff63255c7b8316f230/ciscoris-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1dd3ea97064c63920f30b2ae1ebd2b28", "sha256": "06122114b8f6cff3efa453787a4686393172ec4671efbfd51271f155b04d6f26" }, "downloads": -1, "filename": "ciscoris-0.0.4.tar.gz", "has_sig": false, "md5_digest": "1dd3ea97064c63920f30b2ae1ebd2b28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3568, "upload_time": "2019-04-14T19:01:53", "url": "https://files.pythonhosted.org/packages/69/76/f3a4ade89fbc32e69d39b53aa0ba5435b6c14cd43ea19a69af76e2d7e67d/ciscoris-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "ec0e3384f92c010b6a58373fc91cda8c", "sha256": "89bd48858f09476ce1eded9daee65c5992e33f4b469bcacc5c7e5df55cb1c5c1" }, "downloads": -1, "filename": "ciscoris-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "ec0e3384f92c010b6a58373fc91cda8c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3809, "upload_time": "2019-08-28T06:06:07", "url": "https://files.pythonhosted.org/packages/54/45/609eee54da8b663a3712df933c49af215398299ce61b1738edbe0327dddb/ciscoris-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "954d297b9f289f2033a3f98cee3cc7ff", "sha256": "027590bca0fcf1dbdc82d879009eae480c91109b7f543b59b6a27ccdc9059271" }, "downloads": -1, "filename": "ciscoris-0.0.5.tar.gz", "has_sig": false, "md5_digest": "954d297b9f289f2033a3f98cee3cc7ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3562, "upload_time": "2019-08-28T06:06:08", "url": "https://files.pythonhosted.org/packages/75/14/4c606c129788fca53dfed3da5d26b62631f0e9090def07344bf1352ad3f2/ciscoris-0.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ec0e3384f92c010b6a58373fc91cda8c", "sha256": "89bd48858f09476ce1eded9daee65c5992e33f4b469bcacc5c7e5df55cb1c5c1" }, "downloads": -1, "filename": "ciscoris-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "ec0e3384f92c010b6a58373fc91cda8c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3809, "upload_time": "2019-08-28T06:06:07", "url": "https://files.pythonhosted.org/packages/54/45/609eee54da8b663a3712df933c49af215398299ce61b1738edbe0327dddb/ciscoris-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "954d297b9f289f2033a3f98cee3cc7ff", "sha256": "027590bca0fcf1dbdc82d879009eae480c91109b7f543b59b6a27ccdc9059271" }, "downloads": -1, "filename": "ciscoris-0.0.5.tar.gz", "has_sig": false, "md5_digest": "954d297b9f289f2033a3f98cee3cc7ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3562, "upload_time": "2019-08-28T06:06:08", "url": "https://files.pythonhosted.org/packages/75/14/4c606c129788fca53dfed3da5d26b62631f0e9090def07344bf1352ad3f2/ciscoris-0.0.5.tar.gz" } ] }