How request the service URL automatically?

Unanswered Question
Aug 16th, 2007
User Badges:

Hi, Everyone,


How can I let the 79** serials phone auto request the service URL without user press the 'Services' button?

(Except using 'IDLE & IDLE Timeout')


BTW, base on this idea, i'm try to using the push2phone application (ASP) which is in CiscoIPService SDK, but i'm failed;

Trace the codes, i'm found the problem is in the 'getDeviceList()', see the symbol("-->") marked:

function getDeviceList(callManager, userID, password, protocol)

{

// [callManager: *.*.*.*] [UserID: "pusher"] [password: "pusher"] [protocol: "https"]

var authstring = text2base64(userID + ":" + password);


var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");

var xmlDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.3.0");

xmlDoc.async = false;


xmlhttp.Open("GET", protocol + "://" + callManager + "/CCMAdmin/Reports/devicelistx.asp", false);

xmlhttp.setRequestHeader("Authorization", "Basic " + authstring);

xmlhttp.setRequestHeader("Connection", "close");

--> xmlhttp.Send(); // Error occured

--> xmlDoc.loadXML(xmlhttp.responseText);

--> Application("deviceList") = xmlDoc; // Application("deviceList") is NULL

}


  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 4 (1 ratings)
Loading.
at20050816 Thu, 08/16/2007 - 01:20
User Badges:

Hi, Remy, Thank you for your reply:)


About my CCM:

CCM System version: 4.1(3)

CCM Administration version: 4.1(0.11)


You say:

"You have to know taht since CCM 4.1.3 the devicelistx is no longer supported.

The page is always present but no longer supported by cisco. "


Is that meaning i cannot call the function 'getDeviceList()' in this CCM version and subsequent?!

(Yes, i can access the devicelistx.asp by: "https://*.*.*.*/ccmadmin/Reports/devicelistx.asp")


On the other hand, I try to call the 'phonepush()' directly, it looks like:

<%@ Language=JavaScript %>

<%

function phonePush(phoneIP, URI, userID, password)

{

//

// URI: Spec service URL, such as: http://*.*.*.*/CIP/index.asp

//

var authstring = text2base64(userID + ":" + password);

var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");


var pushxml;

pushxml = "";

pushxml = "XML=" + Server.URLEncode(pushxml);


xmlhttp.Open("POST", "http://" + phoneIP + "/CGI/Execute", false);

xmlhttp.setRequestHeader("Authorization", "Basic " + authstring);

xmlhttp.setRequestHeader("Connection", "close");

xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

xmlhttp.Send(pushxml);


return xmlhttp.responseText;

}


phonePush(phoneIP, URI, userID, password); // calling

%>


But it has not succeeded:( Is that can works well?! Or is there has anyway that can perform the automation?


Thanks!!!

at20050816 Thu, 08/16/2007 - 20:55
User Badges:

Hi, Remy,


I'm sorry to trouble you again, and i hoped you can help me as far as possible, thank you!


When i call the 'phonepush()' directly, there are three errors occured:

1. Error occurs in IE: "msxml3.dll (0x80070005), Accecc Denied"; OR:

2. The response time of IE is so long, and the phone has no response(it's means: phone does not accept the XML); OR:

3. Sometimes the phone will reboot immediately when i call the 'phonepush()';


I do not know what can i do for it... so, please give me some suggestion, thank you very much!

I'll try to help you :



1) Are you sur you can acces to IP Phone no VLAN restrictions or something like that ? Try a ping first


2) Verify that the wab access is enable on the phone (device configuration on ccmadmin or just try : http://IP PHONE)


3)Create another user and associate it to the phone and try to push MANUALLY (if you don't know how i'll explain on an other post).

=> Phone Reboot : You have to know that a phone will protect itself and not accept too much push per minute.

I never test the max push it accept (he somebody should tell me how many ...) but after a cetain number the phone don't accept them and SOMETIMES reboot.


No documentations on Cisco about that. I think it is the limitation of the web server of the phone.


=> If the pushes are too frequent, you should receive an XML response 6 from the phone.


RATE THIS POST PLEASE


Regards


Remy

at20050816 Fri, 08/17/2007 - 00:50
User Badges:

Hi, Remy,


1. Yes, I can access to the IP Phone(CP-7970G), either ping or by IE;

(Access by IE: 'http://PhoneIP/', i can see the 'Device Information' at first page)


2. Yes, the 'Web Access' is Enabled

(Follow: Press the 'Settings' button -> '7970G SETTINGS' -> 'Device Configuration'

-> 'Security Configuration' -> 'Web Access Enabled': Yes)


3. I do not know what's your mean: push manually, but i guesst it is the 'test.asp' file below,

is that right?


// FILENAME: test.asp




http://phoneIP/CGI/Execute" Method="POST">








// EOF


Before access this file, i fill the blank 'URL Authentication' in CCM's

'Enterprise Parameters' with 'http://myWebsiteIP/myAuthen.asp';


// FILENAME: myAuthen.asp

Response.Write("AUTHORIZED");

Response.End();

// EOF


Then access the file test.asp by IE: http://myWebsiteIP/test.asp, press the 'POST', then it

prompt me to input the Username & Password; Complete this, sometimes i can get

the request: "", but the IP Phone still has no response...


FYI, Thank you!


at20050816 Fri, 08/17/2007 - 02:23
User Badges:

Hi, Remy,


My heart wat broken ...


It was failure after me input the username and password which associated with the IP Phone, but sometimes the response displayed...


I'm so gloomy about it...

Thanks for your help, if you has good suggestion or solution, post it please.

Thanks!

msabir Fri, 08/17/2007 - 11:32
User Badges:
  • Bronze, 100 points or more

1. Make sure that you create a user in CCM and associate that user with the phone you are trying to push the service.


2. Make sure that you can open this URL on the browser:

http://ip_of_phone/CGI/Screenshot


This would work on 7940/41/60/61/70/71 as 7912/05/21 do not support Screenshot.


You should see a bunch of XML code on the browser. If you can see it, that will confirm that you do not have any authentication issue. If you get a not-authorized error, get back to me.


at20050816 Fri, 08/17/2007 - 22:14
User Badges:

Hi, msabir,


Thanks for your help!


1. I'm sure that i had created a user(Username: pusher, Password: 12345) in CCM, and the user has been associated with the IP Phone which i want to push the service.


2. When i open the IE with 'http://PhoneIP/CGI/Screenshot', it prompt me to confirm the Username and Password, but it prompt me again after me input the Username("pusher") and Password("12345"), it will repeat 3 times and at the last i can not get the result that i want...


FYI, Thanks


at20050816 Fri, 08/17/2007 - 22:47
User Badges:

In addition:


After the third comfirm, IE displayed:


Protected Object

This object on the RomPager server is protected.

Return to last page


FYI, Thanks


msabir Sat, 08/18/2007 - 08:14
User Badges:
  • Bronze, 100 points or more

If your authentication is working fine, it shouldn't ask for user name more than once. Check this:


1. Authentication URL on your CCM, and make sure it is reachable.


2. Reconfirm that "pusher" user is associated with the phone you are trying to push to.

Actions

This Discussion