如何通过AXL查询状态为None的所有设备?求对应官方文档
解决AXL查询CUCM时遗漏状态为None的电话设备问题
嘿,我刚好熟悉CUCM的AXL API,你的问题我能帮到你!
你当前的SelectCmDevice请求之所以没返回状态为None的设备,是因为AXL默认只会返回**已注册(Registered)**的设备。这类None状态的设备通常是未注册、配置后从未上线,或者暂时离线的设备,需要调整查询参数才能获取。
调整后的SOAP请求
你只需要在CmSelectionCriteria节点里添加Status参数,并将其值设为Any,就能获取所有状态的电话设备,包括状态为None的:
<SOAP-ENV:Envelope xmlns:ns3="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns0="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://schemas.cisco.com/ast/soap/" xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Header/> <ns2:Body> <ns1:SelectCmDevice> <CmSelectionCriteria xsi:type="ns1:CmSelectionCriteria"> <Class xsi:type="tns:DeviceClass">Phone</Class> <ns1:SelectBy xsi:type="ns3:string">Name</ns1:SelectBy> <Status xsi:type="ns3:string">Any</Status> </CmSelectionCriteria> </ns1:SelectCmDevice> </ns2:Body> </SOAP-ENV:Envelope>
关键参数说明
- 默认情况下,
SelectCmDevice的Status参数隐含值为Registered,所以只会返回已上线的设备。 - 当你设置
Status="Any"时,会返回所有状态的设备,包括None、Unregistered、Rejected等类型。 - 如果你只想单独筛选状态为
None的设备,直接把Status的值设为None即可。
文档指引方向
在Cisco官方的AXL API参考文档中,你可以重点查看:
SelectCmDevice操作的详细定义,了解该接口的所有可选参数。CmSelectionCriteria结构体的字段说明,其中Status字段的可选枚举值都有明确解释,包括每个值对应的设备状态范围。
如果你的Python应用是用zeep这类SOAP库来封装AXL请求的,也可以直接在构造请求参数时指定status="Any",不用手动编写XML,会更简洁。
内容的提问来源于stack exchange,提问作者PRASANNA SARAF
相关产品推荐
相关产品推荐

