cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
822
Views
0
Helpful
8
Replies

ScreenShot.ASP

carijit
Level 1
Level 1

Hi All,

I dont have development background but am trying to get the sample screenshot.asp application working. When I try it putting the IP address of the phone it gives me an error saying "Error: -7fffbffb Description: CIP bad load".

Can someone help me out. Appreciate your help on this.

Regards,

Arijit

2 Accepted Solutions

Accepted Solutions

You have to use a username and password. You need to be authorized to view the information on the phone, which only the phone's owner, or another authorized user is allowed to do.

Otherwise, it would be a security hole, where any user could view the current display of any other users phone just by knowing the phone's IP address. Some organizations might not mind, but others would.

Try creating a user, and associating that user with your phone. Enter that username and password in the dialog, and it should work...

Unfortunately, the super provider doesn't work here, as it's meant for jtapi, and not this (to my knowledge, at least - I've tried using the superprovider account for this app and it didn't work...)

So you'll have to associate every phone you would like to access with this application with your user. You can use the same user for all of the phones, you don't need a separate user for each phone, at least! But you'll have to remember to add new phones to your user account...

View solution in original post

Make a user, and associate that user with every single device in your system (doesn't take too long, usually).

Otherwise, you can hack

c:\CiscoWebs\IPPhoneServices\CCMCIP\authenticate.asp to always return success for a given username/password combination, so that you can get around the administrative overhead. Obviously Cisco wouldn't approve of that but, as hacks go, its very easy and pretty straightforward as to what you are doing.

FYI, the phones ping that URL when they ask an HTTP requester to authenticate, whether it be for screenshots or for CiscoIPPhoneExecutes.

The authenticate hack is also bad for certain devices. The 7920, for instance, caches the users associated with it on its system, instead of sending a request to that asp file (maybe other devices as well? and maybe the 7920's behavior has changed since then? I don't know)

View solution in original post

8 Replies 8

aaronw.ca
Level 5
Level 5

First off, are you using a user that is associated with the phone you are trying to capture a screenshot for? The username and password you enter must have permissions to access that device. Using an invalid username/password will result in that error... so check that first!

What version of CallManager are you using? I'll assume CallManager 3.3(4) or newer... and that you are using IIS 4.0 or later, as part of the requirements for the app...

Did you install the Cisco IP Phone SDK 3.3(4)? When you ran the install, did you install the CIPImage com server? If you ran the install for the SDK, you probably did, but just checking.

Just a random thought - if you installed the SDK to C:\CiscoIPPhoneServices, then you could try running the command:

regsvr32 C:\CiscoIPPhoneServices\COMServers\CIPImage\cipimage.dll

That will register the cipimage com server, in case it isn't registered...

Aaron,

Thanks for the response.

I am not using username and password as the phone is not associated with any user.

In the screenshot.asp where from its gets the Call Manager information.

Also I registered the cipimage.dll successfully. I am running IIS 5.1 and CCM version is 4.1(3). SDK ver 3.3(4).

Its still shows the error. Any thougts.

Thanks

Arijit

You have to use a username and password. You need to be authorized to view the information on the phone, which only the phone's owner, or another authorized user is allowed to do.

Otherwise, it would be a security hole, where any user could view the current display of any other users phone just by knowing the phone's IP address. Some organizations might not mind, but others would.

Try creating a user, and associating that user with your phone. Enter that username and password in the dialog, and it should work...

Unfortunately, the super provider doesn't work here, as it's meant for jtapi, and not this (to my knowledge, at least - I've tried using the superprovider account for this app and it didn't work...)

So you'll have to associate every phone you would like to access with this application with your user. You can use the same user for all of the phones, you don't need a separate user for each phone, at least! But you'll have to remember to add new phones to your user account...

Aaron,

Great that works.

Is there any workaround instead of associating a phone with a user and then seeing the phone providing the username and password.

Cant we code that in a way so that it have Call Manager admin priviledge and can view all phones.

Also can we change the size of the picture.

Thanks for all your help.

Arijit

Make a user, and associate that user with every single device in your system (doesn't take too long, usually).

Otherwise, you can hack

c:\CiscoWebs\IPPhoneServices\CCMCIP\authenticate.asp to always return success for a given username/password combination, so that you can get around the administrative overhead. Obviously Cisco wouldn't approve of that but, as hacks go, its very easy and pretty straightforward as to what you are doing.

FYI, the phones ping that URL when they ask an HTTP requester to authenticate, whether it be for screenshots or for CiscoIPPhoneExecutes.

The authenticate hack is also bad for certain devices. The 7920, for instance, caches the users associated with it on its system, instead of sending a request to that asp file (maybe other devices as well? and maybe the 7920's behavior has changed since then? I don't know)

Hi,

Thanks for your solution.

I was wondering how can a send a **#** sequence to a phone through XML to reset phone remotely.

Is there a way to do that. Please let me know.

Thanks in advance.

Arijit

Yes you can. It's not quite straightforward though. As you may know, you can "push" buttons using the CiscoIPPhoneExecute. You can only put 3 uris into a such an element so you need to send two:

There is also an AXL command to reset the phone: doDeviceReset. It allows you to even control if you want to perform a hard or a soft reset. See this page for an overview of AXL: http://www.cisco.com/en/US/products/sw/voicesw/ps556/products_programming_usage_guide09186a0080409462.html

You can download an actual API from the developer support page: http://www.cisco.com/cgi-bin/dev_support/access_level/product_support

Hope that helps

My preference between the two options Stephan identified would be the AXL interface using doDeviceReset.

If you have the IP Phone SDK, then you have examples of pushing AXL messages in both ASP and Java. For ASP, see CiscoIPServices/ASP/includes/axlquery.asp. For Java, see CiscoIPServices/Java/src/com/cisco/ipphone/sdk/AXLProvider.java, and for a JSP example using this, see the JSP/speeddials/speeddials.jsp.

For a device reset, you just specify the name of the phone and a boolean value indicating whether or not you want the phone to perform a hard or soft reset:

SEP00304DE53F12

true

Here are a few recent threads about using the AXL interface:

http://forum.cisco.com/eforum/servlet/NetProf;jsessionid=ugqpmdqyu1.SJ1A?page=netprof&forum=IP%20Communications%20and%20Video&topic=IP%20Phone%20Services%20for%20Developers&CommCmd=MB%3Fcmd%3Ddisplay_location%26location%3D.1dd8a84a

http://forum.cisco.com/eforum/servlet/NetProf;jsessionid=ugqpmdqyu1.SJ1A?page=netprof&forum=IP%20Communications%20and%20Video&topic=IP%20Phone%20Services%20for%20Developers&CommCmd=MB%3Fcmd%3Ddisplay_location%26location%3D.1dd8338c

http://forum.cisco.com/eforum/servlet/NetProf;jsessionid=ugqpmdqyu1.SJ1A?page=netprof&forum=IP%20Communications%20and%20Video&topic=IP%20Phone%20Services%20for%20Developers&CommCmd=MB%3Fcmd%3Ddisplay_location%26location%3D.1dd85d2b