cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1286
Views
4
Helpful
12
Replies

How request the service URL automatically?

at20050816
Level 1
Level 1

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

}

12 Replies 12

cronier.remy
Level 1
Level 1

Hi,

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.

What is your CCM version ?

try with https ...

Please rate this post

Thx

Remy

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

you can use it (getdevicelistx) but carefully not sure an upgrade will disable it. I think it is Not avalaible on CCM5.X

Always avalaible on CCM 4.2

It should work.

try first to push with an HTML browser :

http://@IP Phone/CGI/execute

then auth

then post via a form an xml request.

You will have the answer of the phone.

rate this post

Thx

Remy

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

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!

Hi,

Response should be OK and the IP Phone shoud press the key.

Try with another push like Dial:XXX or stg else

ADD Priority="0" on your ExecuteItem :

All your config seems to be OK

Rate this post

remy

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!

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.

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

In addition:

After the third comfirm, IE displayed:

Protected Object

This object on the RomPager server is protected.

Return to last page

FYI, Thanks

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.