01-27-2015 03:16 AM
I am using AXL in order to get status of CUCM devices, using AXL api realtimeservice/services/RisPort
CUCM's release is 9.1.
On every request I get status of 200 devices.
All device are SEPs.
Often in axl response then Status of many devices in a null string.
Devices for with I receive that response is not fix, but change.
Why are there missing status in the response ?
Is there a particular meaning of a string null in device status ?
Thanks - Rosario
01-27-2015 11:29 PM
Hi Rosario,
I do not know what you set in Status (<Status xsi:type="tns:CmDevRegStat">Registered</Status>). If you set the Status is
Registered then it only shows all registered devices. Else if you do not have any registered devices then it will not response.
Device Status in Search Criteria
Specify registered/unregistered status devices. The following example shows status 'Any', 'Registered', 'UnRegistered', 'Rejected', and 'Unknown.'
I give you an sample to try. This is SoapBody
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:SelectCmDevice xmlns:ns1="http://schemas.cisco.com/ast/soap/" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<CmSelectionCriteria href="#id0"/>
</ns1:SelectCmDevice>
<multiRef xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://schemas.cisco.com/ast/soap/" id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:CmSelectionCriteria">');
<MaxReturnedDevices xsi:type="xsd:unsignedInt">200</MaxReturnedDevices>
<Class xsi:type="xsd:string">Phone</Class>
<Model xsi:type="xsd:unsignedInt">255</Model>
<Status xsi:type="xsd:string">Any</Status> ---> I set Status = Any - this will list all devices
<NodeName xsi:type="xsd:string" xsi:nil="true"/>
<SelectBy xsi:type="xsd:string">Name</SelectBy>
<SelectItems soapenc:arrayType="ns2:SelectItem[1]" xsi:type="soapenc:Array"
<item><Item>*</Item></item>
</SelectItems>
</multiRef>
</soapenv:Body>
Regards
Thuy Doan
01-29-2015 03:56 AM
Hi
Thanks for your support
I am yet querying for Any Status and max 200 devices
Here is a snippet of the request:
<SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/'
xmlns:tns='http://schemas.cisco.com/ast/soap/' xmlns:types='http://schemas.cisco.com/ast/soap/encodedTypes'>
<SOAP-ENV:Body SOAP-ENV:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'>
<tns:SelectCmDevice><StateInfo xsi:type='xsd:string' />
<CmSelectionCriteria xsi:type='tns:CmSelectionCriteria'>
<MaxReturnedDevices xsi:type='xsd:unsignedInt'>200</MaxReturnedDevices>
<Class xsi:type='xsd:string'>Phone</Class>
<Model xsi:type='xsd:unsignedInt'>255</Model>
<Status xsi:type='xsd:string'>Any</Status>
<NodeName xsi:type='xsd:string' />
<SelectBy xsi:type='xsd:string'>Name</SelectBy>
<SelectItems soapenc:arrayType='tns:SelectItem[200]' xsi:type='soapenc:Array' xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/'>
<item xsi:type='tns:SelectItem'><Item xsi:type='xsd:string'>SEP000000000000</Item></item>
<item xsi:type='tns:SelectItem'><Item xsi:type='xsd:string'>SEP000000134910</Item></item>
<item xsi:type='tns:SelectItem'><Item xsi:type='xsd:string'>SEP000000137119</Item></item>
<item xsi:type='tns:SelectItem'><Item xsi:type='xsd:string'>SEP00070E16350B</Item></item>
<item xsi:type='tns:SelectItem'><Item xsi:type='xsd:string'>SEP00070E165E8D</Item></item>
.......
.......
<item xsi:type='tns:SelectItem'><Item xsi:type='xsd:string'>SEP00192FB9BB03</Item>
</item><item xsi:type='tns:SelectItem'><Item xsi:type='xsd:string'>SEP00192FB9BB34</Item>
</item><item xsi:type='tns:SelectItem'><Item xsi:type='xsd:string'>SEP00192FB9BB43</Item></item>
</SelectItems></CmSelectionCriteria></tns:SelectCmDevice></SOAP-ENV:Body></SOAP-ENV:Envelope>"
Regards - Rosario
01-29-2015 08:34 AM
You will have to combine AXL and RisPort to get to the full picture. You do need AXL anyway in order to be able to limit your query to 200 (now 1000 in the 10.x train iirc) - and then you create your query, specifying the 200 devices, and then you compare the result you get from risport with all the devices you asked for. Any device that is not part of the list, is not registered. I've been generating my registered/unregistered list like that since CUCM4. I haven't tried against 10.x yet, but on 9.1 (my last big project), things still worked as expected.
I guess that it's a matter of how long this data is being kept in the cache.. devices that are registered, are obviously known. Then there's those that recently unregistered - they should show up as well. But long time offline devices won't be returned no matter the filter.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide