12-11-2021 08:33 PM
Greetings Cisco Community,
I am trying to make an app that uses the RisPort70 API to get registration status of all 8821 phones on my system. I am able to use the AXL API to get a list of the 8821 device names, and use that to make a SelectCMDeviceExt call to the RisPort70 API. There are around 300 phones of this type on the system. But when I make the request, I only get about results for about 5-20 devices, depending on how I list my phones. No error message or anything. This is way under the 1000 device limit, so I'm not sure what the issue is.
Here is my XML (with a bunch more device names omitted in the ...):
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.cisco.com/ast/soap">
<soapenv:Header/>
<soapenv:Body>
<soap:selectCmDeviceExt>
<soap:StateInfo/>
<soap:CmSelectionCriteria>
<soap:MaxReturnedDevices>1000</soap:MaxReturnedDevices>
<soap:DeviceClass>Any</soap:DeviceClass>
<soap:Model>36216</soap:Model>
<soap:Status>Any</soap:Status>
<soap:NodeName/>
<soap:SelectBy>Name</soap:SelectBy>
<soap:SelectItems>
<soap:item>
<soap:Item>SEP14169DBFD652</soap:Item>
</soap:item>
<soap:item>
<soap:Item>SEPC4B9CDB5ABCA</soap:Item>
</soap:item>
...
<soap:item>
<soap:Item>SEPC4B9CDB5BCD4</soap:Item>
</soap:item>
<soap:item>
<soap:Item>SEP009AD2F10EB6</soap:Item>
</soap:item>
</soap:SelectItems>
<soap:Protocol>Any</soap:Protocol>
<soap:DownloadStatus>Any</soap:DownloadStatus>
</soap:CmSelectionCriteria>
</soap:selectCmDeviceExt>
</soapenv:Body>
</soapenv:Envelope>
Solved! Go to Solution.
12-13-2021 01:59 PM
I could never get it to work as expected, but I found a work-around. I split my list of phones into chunks of 10, and I get all the data back.
12-13-2021 09:19 AM
RIS will only report registration status for devices that are actively registered, or have registered (and subsequently unregistered) in the past (I believe these are purged after some time, maybe 24 hrs, and are certainly purged on a CUCM restart.) So, if the missing devices are ones that are in the database but not being reported by Risport, then the assumption should be that they are not registered. If this is contrary to your observations - e.g. if missing devices are in fact registered - then we may need to dig in a bit further to investigate, and I would recommend opening a DevNet developer support ticket: Support
12-13-2021 09:47 AM
Thanks for the reply!
There are quite a few more active devices than that. I can list the phones from my wireless controller, and there are about 200 on the network right now, which matches what I see in the CUCM web interface. Interestingly, if I set 'NodeName' to my subscriber (as opposed to not setting the field to query all cluster members) , I got 92 devices back. Better, but still way off from where it should be.
Maybe something wrong with the RIS data collector service?
Regards,
Ross
12-13-2021 10:31 AM
If none of the above turn up anything actionable, might be time to open a ticket...
12-13-2021 10:51 AM
Once again, thank you for your assistance.
Regards,
Ross
12-13-2021 01:59 PM
I could never get it to work as expected, but I found a work-around. I split my list of phones into chunks of 10, and I get all the data back.
12-14-2021 11:52 AM
Glad you found a workaround, though it's a bit worrisome that the original root issue may still remain...a few more thoughts in case you can share your observations:
* Does the issue occur when you do a wildcard '*' search instead of providing specific device names?
* Similarly, if you specify the wildcard '255' for <model> (while still providing specific device names) what do you see?
* The Risport responses use HTTP 1.1 chunked encoding, curious to know if you are using a well-known library for handling the requests (which should handled chunked encoding for you transparently), or, if you're doing something more low-level, possibly you are only receiving/reading the first chunk..?
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