思科CUCMRIS图书馆。使用简单。

ciscoris的Python项目详细描述


published

中科院

使用实时信息服务(RIS)在CUCM上捕获Cisco IP电话的注册状态 https://developer.cisco.com/docs/sxml/#risport70-api-reference

使用pip或clone repo安装
pip install ciscoris

导入RIS、LogCollection或其他类

fromciscorisimportris

指定您的CUCM详细信息

cucm=os.getenv('cucm','10.10.10.10')version=os.getenv('version','11.5')risuser=os.getenv('risuser','risadmin')rispass=os.getenv('rispass','p@ssw0rd')

实例化RIS对象

ris=ris(username=risuser,password=rispass,cucm=cucm,cucm_version=version)

输入一组电话

phones=['SEPF8A5C59E0F1C','SEP1CDEA78380DE','SEP01CD4EF58980']

输入一个或多个运行CallManager服务的“流程节点”数组
subs=['sub1','sub2','sub3']

您可以通过api使用相关的库抓取进程节点。

defgetSubs():nodes=axl.listProcessNodes()ifnodes['success']:returnnodes['response']subs=getSubs()

将电话分组为1000,并检查每个组的注册情况

limit=lambdaphones,n=1000:[phones[i:i+n]foriinrange(0,len(phones),n)]groups=limit(phones)forgroupingroups:registered=ris.checkRegistration(group,subs)user=registered['LoginUserId']regtime=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(registered['TimeStamp']))foriteminregistered['IPAddress']:ip=item[1][0]['IP']foriteminregistered['LinesStatus']:primeline=item[1][0]['DirectoryNumber']name=registered['Name']print('name: '+name)print('user: '+user)print('primary dn: '+primeline)print('ip address: '+ip)print('registration time: '+regtime)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在OSGI中使用cxf生成的客户端时出现Java类装入器问题和JaxB异常   java为什么要在javamail中迭代多部分电子邮件中的部分?   并发编程问题   JFileChooser&&System中未调用java windowClosing。退出功能不正常?   SQL查询的java语法分析   java如何使用AspectJ声明字段上的警告   什么是java向量。元素()C#等价物   java解析Android应用程序中tornado web服务中的CSV文件   java我试过c2dm,我需要服务器端   java调整JPanel大小以适应新的JLabel图标   Java与Python脚本的通信   java使用Saxon通过XSLT生成URL   java net::ERR_complete_CHUNKED_编码200(OK)来自struts应用程序中的tomcat   java如何为我的窗格设置不同的位置?   java使用Cypher Neo4j获取给定类型的所有节点(从SQL世界中的tablename中选择*)   nio使用Java解析文件值   java使用WSDL生成REST客户端会是错误的方向吗?   java如何在我的应用程序中构建类映射?   java按钮。setEnabled在第一个循环中不起作用   xPath适用于最后一页,但不适用于第一页