cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2573
Views
2
Helpful
7
Replies

Incorrect Risport Registration status

fabien.bonic
Level 4
Level 4

Hi,

When I request the Risport to have the phone registration status, I have sometimes an incorrect response. Some nodes do not know the device, another knows the device but has no information and the last knows the device but as "Rejected". Why are there differents status and none correct ?

Thanks,

Fabien

REQUEST :

<?xml version="1.0" encoding="UTF-8"?>

<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 soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://schemas.cisco.com/ast/soap/">

            <StateInfo xsi:type="xsd:string" xsi:nil="true" />

            <CmSelectionCriteria href="#id0" />

        </ns1:SelectCmDevice>

        <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:CmSelectionCriteria" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://schemas.cisco.com/ast/soap/">

            <MaxReturnedDevices xsi:type="xsd:unsignedInt">1</MaxReturnedDevices>

            <Class xsi:type="xsd:string">Any</Class>

            <Model xsi:type="xsd:unsignedInt">255</Model>

            <Status xsi:type="xsd:string">Any</Status>

            <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">

<SelectItems href="#id1" />

            </SelectItems>

        </multiRef>

        <multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns3:SelectItem" xmlns:ns3="http://schemas.cisco.com/ast/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">

            <Item xsi:type="xsd:string">SEPBC671CDDDDDD</Item>

        </multiRef>

    </soapenv:Body>

</soapenv:Envelope>

RESPONSE :

<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:SelectCmDeviceResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://schemas.cisco.com/ast/soap/">

            <SelectCmDeviceResult xsi:type="ns1:SelectCmDeviceResult">

<TotalDevicesFound xsi:type="xsd:unsignedInt">1</TotalDevicesFound>

<CmNodes soapenc:arrayType="ns1:CmNode[6]" xsi:type="soapenc:Array" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">

<item xsi:type="ns1:CmNode">

<ReturnCode xsi:type="ns1:RisReturnCode">NotFound</ReturnCode>

<Name xsi:type="xsd:string">10.51.24.64</Name>

<NoChange xsi:type="xsd:boolean">false</NoChange>

<CmDevices soapenc:arrayType="ns1:CmDevice[0]" xsi:type="soapenc:Array" />

</item>

<item xsi:type="ns1:CmNode">

<ReturnCode xsi:type="ns1:RisReturnCode">NotFound</ReturnCode>

<Name xsi:type="xsd:string">10.51.25.64</Name>

<NoChange xsi:type="xsd:boolean">false</NoChange>

<CmDevices soapenc:arrayType="ns1:CmDevice[0]" xsi:type="soapenc:Array" />

</item>

<item xsi:type="ns1:CmNode">

<ReturnCode xsi:type="ns1:RisReturnCode">NotFound</ReturnCode>

<Name xsi:type="xsd:string">10.51.25.65</Name>

<NoChange xsi:type="xsd:boolean">false</NoChange>

<CmDevices soapenc:arrayType="ns1:CmDevice[0]" xsi:type="soapenc:Array" />

</item>

<item xsi:type="ns1:CmNode">

<ReturnCode xsi:type="ns1:RisReturnCode">Ok</ReturnCode>

<Name xsi:type="xsd:string">10.51.26.64</Name>

<NoChange xsi:type="xsd:boolean">false</NoChange>

<CmDevices soapenc:arrayType="ns1:CmDevice[1]" xsi:type="soapenc:Array">

<item xsi:type="ns1:CmDevice">

<Name xsi:type="xsd:string">SEPBC671CDDDDDD</Name>

<IpAddress xsi:type="xsd:string">10.135.75.102</IpAddress>

<DirNumber xsi:type="xsd:string" xsi:nil="true" />

<Class xsi:type="ns1:DeviceClass">Phone</Class>

<Model xsi:type="xsd:unsignedInt">404</Model>

<Product xsi:type="xsd:unsignedInt">303</Product>

<BoxProduct xsi:type="xsd:unsignedInt">0</BoxProduct>

<Httpd xsi:type="ns1:CmDevHttpd">Yes</Httpd>

<RegistrationAttempts xsi:type="xsd:unsignedInt">0</RegistrationAttempts>

<IsCtiControllable xsi:type="xsd:boolean">true</IsCtiControllable>

<LoginUserId xsi:type="xsd:string" xsi:nil="true" />

<Status xsi:type="ns1:CmDevRegStat">Rejected</Status>

<StatusReason xsi:type="xsd:unsignedInt">3</StatusReason>

<PerfMonObject xsi:type="xsd:unsignedInt">0</PerfMonObject>

<DChannel xsi:type="xsd:unsignedInt">0</DChannel>

<Description xsi:type="xsd:string" xsi:nil="true" />

<H323Trunk xsi:type="ns1:H323Trunk">

<ConfigName xsi:type="xsd:string" xsi:nil="true" />

<TechPrefix xsi:type="xsd:string" xsi:nil="true" />

<Zone xsi:type="xsd:string" xsi:nil="true" />

<RemoteCmServer1 xsi:type="xsd:string" xsi:nil="true" />

<RemoteCmServer2 xsi:type="xsd:string" xsi:nil="true" />

<RemoteCmServer3 xsi:type="xsd:string" xsi:nil="true" />

<AltGkList xsi:type="xsd:string" xsi:nil="true" />

<ActiveGk xsi:type="xsd:string" xsi:nil="true" />

<CallSignalAddr xsi:type="xsd:string" xsi:nil="true" />

<RasAddr xsi:type="xsd:string" xsi:nil="true" />

</H323Trunk>

<TimeStamp xsi:type="xsd:unsignedInt">1415272686</TimeStamp>

</item>

</CmDevices>

</item>

<item xsi:type="ns1:CmNode">

<ReturnCode xsi:type="ns1:RisReturnCode">Ok</ReturnCode>

<Name xsi:type="xsd:string">10.51.27.64</Name>

<NoChange xsi:type="xsd:boolean">false</NoChange>

<CmDevices soapenc:arrayType="ns1:CmDevice[0]" xsi:type="soapenc:Array" />

</item>

<item xsi:type="ns1:CmNode">

<ReturnCode xsi:type="ns1:RisReturnCode">NotFound</ReturnCode>

<Name xsi:type="xsd:string">10.51.27.65</Name>

<NoChange xsi:type="xsd:boolean">false</NoChange>

<CmDevices soapenc:arrayType="ns1:CmDevice[0]" xsi:type="soapenc:Array" />

</item>

</CmNodes>

            </SelectCmDeviceResult>

            <StateInfo xsi:type="xsd:string">

&lt;StateInfo&gt;

&lt;Node Name="10.51.24.64" SubsystemStartTime="1408440556" StateId="957396" TotalItemsFound="0" TotalItemsReturned="0"/&gt;

&lt;Node Name="10.51.25.64" SubsystemStartTime="1408440562" StateId="674614" TotalItemsFound="0" TotalItemsReturned="0"/&gt;

&lt;Node Name="10.51.25.65" SubsystemStartTime="1408440563" StateId="17888" TotalItemsFound="0" TotalItemsReturned="0"/&gt;

&lt;Node Name="10.51.26.64" SubsystemStartTime="1399798409" StateId="95178" TotalItemsFound="1" TotalItemsReturned="1"/&gt;

&lt;Node Name="10.51.27.64" SubsystemStartTime="1399799585" StateId="264641" TotalItemsFound="1" TotalItemsReturned="0"/&gt;

&lt;Node Name="10.51.27.65" SubsystemStartTime="1399799578" StateId="157463" TotalItemsFound="0" TotalItemsReturned="0"/&gt;

&lt;/StateInfo&gt;</StateInfo>

        </ns1:SelectCmDeviceResponse>

    </soapenv:Body>

</soapenv:Envelope>

7 Replies 7

jocreed
Cisco Employee
Cisco Employee

Let me look into this and I will get back with you soon.  Thank You.

jocreed
Cisco Employee
Cisco Employee

What Version of CUCM are you using?

Thank you for the answer. The CUCM is a 9.1

Fabien

TDoan
Level 3
Level 3

Hi Fabien,

In your request you set Status = Any (<Status xsi:type="xsd:string">Any</Status>). This will show all

devices with status 'Registered', 'UnRegistered', 'Rejected', or 'Unknown.'...

If you want to list all registered devices you only need set status = 'Registered'

(<Status xsi:type="xsd:string">Registered</Status>). I hope this will help you.

Regards

Thuy Doan

Thank you for the answer. I will ask my client if I can do this test.

In fact we want to know the status of the device so it's why we put the status=Any. Otherwise, we have to do several request...

Fabien

dstaudt
Cisco Employee
Cisco Employee

It is possible for phones to register to multiple nodes over time (for instance due to failover or administrator re-assignment), and each node will retain the last known state of the device.  For example a new phone could attempt to register to Node 1 and be rejected (e.g. if the admin had not provisioned it), register to Node 2 successfully at Time1, then failover to Node 3 where it is currently registerd.  In this case you would see a device record on Nodes 1, 2 and 3, with status's Rejected, Un-Registered, and Registered.  The time stamps of the records will be helpful in reconciling this 'historical' view.

See also the 'SelectCmDeviceExt' version of the request, which automatically collates the data from multiple nodes and presents just the latest record.

David's assessment seems reasonable to me.  I would verify this with the customer for this specific device and give the SelectCMDeviceExt a try and let us know the status of that.