cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1932
Views
0
Helpful
3
Replies

AXL RisPort query don't show status for some devices

Rosario velardi
Level 1
Level 1

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

3 Replies 3

TDoan
Level 1
Level 1

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

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

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.