RIS inconsistent response

Version 1
    This document was generated from CDN thread

    Created by: Gitansh Chadha on 01-04-2010 06:56:32 PM
    We
    are using Cisco RIS API to collect device registration for all phone
    registered in CUCM cluster on different servers. There are 11 servers in the
    cluster and we are pointing to one of them (non-publisher). A  device is  registered to 10.50.120.13 while RIS reports it to be registered to
    10.53.34.139. This behavior is inconsistent and does not happen all the time. The StateInfo node at the bottom seems to show the correct numbers but doesn't match with the rest of the XML response.
     
    Ris Response:
     

    <?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: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">165</TotalDevicesFound>
            <CmNodes soapenc:arrayType="ns1:CmNode[22]" xsi:type="soapenc:Array" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
              <item xsi:type="ns1:CmNode">
                <ReturnCode xsi:type="ns1:RisReturnCode">Ok</ReturnCode>
                <Name xsi:type="xsd:string">10.50.120.13</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.53.34.139</Name>
                <NoChange xsi:type="xsd:boolean">false</NoChange>
                <CmDevices soapenc:arrayType="ns1:CmDevice[61]" xsi:type="soapenc:Array">
                            <item xsi:type="ns1:CmDevice">
    ...
    ...
    ...
                    <Name xsi:type="xsd:string">SEP001818D87CEE</Name>
                    <IpAddress xsi:type="xsd:string">10.50.195.127</IpAddress>
                    <DirNumber xsi:type="xsd:string">36615-Registered,96615-Registered</DirNumber>
                    <Class xsi:type="ns1eviceClass">Phone</Class>
                    <Model xsi:type="xsd:unsignedInt">30018</Model>
                    <Product xsi:type="xsd:unsignedInt">30044</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">ChinJ2</LoginUserId>
                    <Status xsi:type="ns1:CmDevRegStat">Registered</Status>
                    <StatusReason xsi:type="xsd:unsignedInt">0</StatusReason>
                    <PerfMonObject xsi:type="xsd:unsignedInt">2</PerfMonObject>
                    <DChannel xsi:type="xsd:unsignedInt">0</DChannel>
                    <Description xsi:type="xsd:string">Jeffrey Chin  235/15/24</Description>
                    <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">1269943569</TimeStamp>
                  </item>
    ...
    ...
    ...
    </CmDevices>

       </SelectCmDeviceResult>
          <StateInfo xsi:type="xsd:string">&lt;StateInfo&gt;&lt;Node Name="10.50.120.13" SubsystemStartTime="1254107592" StateId="153925" TotalItemsFound="65" TotalItemsReturned="65"/&gt;&lt;Node Name="10.50.200.15" SubsystemStartTime="1254107731" StateId="62229" TotalItemsFound="0" TotalItemsReturned="0"/&gt;&lt;Node Name="10.50.95.15" SubsystemStartTime="1254107671" StateId="61905" TotalItemsFound="15" TotalItemsReturned="15"/&gt;&lt;Node Name="10.51.16.109" SubsystemStartTime="1254107036" StateId="36616" TotalItemsFound="0" TotalItemsReturned="0"/&gt;&lt;Node Name="10.51.16.77" SubsystemStartTime="0" StateId="0" TotalItemsFound="0" TotalItemsReturned="0"/&gt;&lt;Node Name="10.51.16.78" SubsystemStartTime="1254106979" StateId="26032" TotalItemsFound="0" TotalItemsReturned="0"/&gt;&lt;Node Name="10.53.34.106" SubsystemStartTime="0" StateId="0" TotalItemsFound="0" TotalItemsReturned="0"/&gt;&lt;Node Name="10.53.34.107" SubsystemStartTime="0" StateId="0" TotalItemsFound="0" TotalItemsReturned="0"/&gt;&lt;Node Name="10.53.34.108" SubsystemStartTime="1254105486" StateId="293914" TotalItemsFound="5" TotalItemsReturned="5"/&gt;&lt;Node Name="10.53.34.138" SubsystemStartTime="1254106077" StateId="144702" TotalItemsFound="79" TotalItemsReturned="79"/&gt;&lt;Node Name="10.53.34.139" SubsystemStartTime="1254106400" StateId="38962" TotalItemsFound="0" TotalItemsReturned="0"/&gt;&lt;/StateInfo&gt;</StateInfo>
        </ns1:SelectCmDeviceResponse>
      </soapenv:Body>
    </soapenv:Envelope>

    Subject: RE: RIS inconsistent response
    Replied by: Keith Lunn on 08-04-2010 12:32:29 PM
    I have built tools that use the RIS API interface and have found no problems. However, my tools always query the cluster Publisher and it is my understanding that is the correct procedure.