cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
70
Views
0
Helpful
0
Comments
cdnadmin
Level 11
Level 11
This document was generated from CDN thread

Created by: Davide Fiumi on 29-07-2010 06:56:13 PM
HI,
i developed an xml service to intercom (multicast) form ccm 7
so, using an admin console and db, I create a lot of phone-groups where i insert phones.
In this case i create a group with 30 devices.
 
For avery device I query SOAP/RispPort to get registrationStatus and IpAddress
 
registrStatus = risPort_QueryByPhoneName("getStatus",rs_ListGroupDevices("DeviceName"), callManagerIP, GIPFonoUser, GIPFonoPwd);
thePhoneIP = risPort_QueryByPhoneName("getIPAddress",rs_ListGroupDevices("DeviceName"), callManager, GIPFonoUser, GIPFonoPwd);
 
 
the function that i use is this:
 
function risPort_QueryByPhoneName(action,phoneName, cm, cmUserID, cmPassword){
var authstring = text2base64(cmUserID + ":" + cmPassword);
var xmlDoc = new ActiveXObject("msxml2.DOMDocument.3.0");
xmlDoc.async = false;
var xmlhttp = new ActiveXObject("Msxml2.ServerXMLHTTP.3.0");
xmlhttp.setOption(2, 13056);
var soaprequest;
var queryResult;
var objNodeList,objNode,index;
soaprequest = '<?xml version=\"1.0\" encoding=\"utf-8\"?>'; 
soaprequest = soaprequest + '<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:soapenc=\"[url=http://schemas.xmlsoap.org/soap/encoding\">']http://schemas.xmlsoap.org/soap/encoding\">'; 
soaprequest = soaprequest + '<SOAP-ENV:Header/>'; 
soaprequest = soaprequest + '<SOAP-ENV:Body>'; 
soaprequest = soaprequest + '<SelectCmDevice sequence=\"123456\">'; 
soaprequest = soaprequest + '<CmSelectionCriteria>'; 
soaprequest = soaprequest + '<Class>Phone</Class>'; 
soaprequest = soaprequest + '<Model>255</Model>'; 
soaprequest = soaprequest + '<NodeName>' + cm + '</NodeName>'; 
soaprequest = soaprequest + '<SelectBy>Name</SelectBy>'; 
soaprequest = soaprequest + '<MaxReturnedDevices>10</MaxReturnedDevices>';  
soaprequest = soaprequest + '<SelectItems soapenc:arrayType=\"SelectItems[1]\">';  
soaprequest = soaprequest + '<Item>' + phoneName + '</Item>'; 
soaprequest = soaprequest + '</SelectItems>';  
soaprequest = soaprequest + '</CmSelectionCriteria>'; 
soaprequest = soaprequest + '</SelectCmDevice>'; 
soaprequest = soaprequest + '</SOAP-ENV:Body>'; 
soaprequest = soaprequest + '</SOAP-ENV:Envelope>'; 
xmlhttp.open("POST", "https://" + cm + ":8443/realtimeservice/services/RisPort", false );
xmlhttp.setRequestHeader("Content-Type", "text/xml;charset=utf-8");
xmlhttp.setRequestHeader("Content-Length",soaprequest.length);
xmlhttp.setRequestHeader("SOAPAction", "http://schemas.cisco.com/ast/soap/action/#RisPort#SelectCmDevice");
xmlhttp.setRequestHeader("Authorization", "Basic " + authstring);
xmlDoc.loadXML(soaprequest);
xmlhttp.send(xmlDoc);
xmlDoc.loadXML(xmlhttp.responseText);
             switch(action){
    
       case"getIPAddress":
       try{
                     queryResult = xmlDoc.selectSingleNode("//IpAddress").text;
         break;
           }
           catch(err){
       queryResult = "";
       break;
           }
     
    case"getStatus":
       try{
                    queryResult =  xmlDoc.selectSingleNode("//Status").text;
     break;
           }
           catch(err){
       queryResult = "";
       break;
           } 
    
    case"getModel":
       try{
                      queryResult = xmlDoc.selectSingleNode("//Model").text;
       break;
           }
           catch(err){
       queryResult = "";
       break;
           } 
     
    case"getDescription":
      try{
                      queryResult = xmlDoc.selectSingleNode("//Description").text;
          break;
           }
           catch(err){
       queryResult = "";
       break;
           }
    
     }
return queryResult;
}
 
 
the problem is that i can't receive response for more then 7 devices
if i query only ip address i get more responses so i think that there is a limit to max query...
 
Can you help me?

Subject: RE: SOAP RispPort - max query - ccm7
Replied by: David Staudt on 29-07-2010 09:44:07 PM
True, there is a throttle limit on requests, I believe 15/minute by default.  Note, you can request multiple device names (up to 200) per a single SelectCmDevice request.  

Subject: RE: SOAP RispPort - max query - ccm7
Replied by: Davide Fiumi on 30-07-2010 07:16:57 AM
True, there is a throttle limit on requests, I believe 15/minute by default.  Note, you can request multiple device names (up to 200) per a single SelectCmDevice request.  


how can i solve my problem?
i have to get ipaddress and registration status for every device.
How can I modify my function?

Subject: RE: SOAP RispPort - max query - ccm7
Replied by: Srinivas Reddy on 15-01-2011 12:39:56 PM
Hello,
Did you get the solution for this, also can you tell me, how i can get the RISService.cs file? and also wsdl file for RisPort?
 
Thanks for your immediate help!
 


True, there is a throttle limit on requests, I believe 15/minute by default.  Note, you can request multiple device names (up to 200) per a single SelectCmDevice request.  



how can i solve my problem?
i have to get ipaddress and registration status for every device.
How can I modify my function?

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Quick Links