06-30-2005 02:16 PM - edited 03-13-2019 09:39 AM
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
Solved! Go to Solution.
06-30-2005 03:05 PM
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...
06-30-2005 04:18 PM
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)
06-30-2005 02:34 PM
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...
06-30-2005 02:53 PM
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
06-30-2005 03:05 PM
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...
06-30-2005 03:41 PM
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
06-30-2005 04:18 PM
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)
07-05-2005 06:26 PM
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
07-05-2005 11:13 PM
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
07-06-2005 05:04 AM
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:
Here are a few recent threads about using the AXL interface:
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide