Cisco Support Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Announcements

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. If you'd prefer to explore, try our test area to get started. And see here for current known issues.

New Member

Starting from square one.

We are currently piloting a Cisco IP Telephony system and could use some assistance setting up the basic XML features. I am familiar with the section of the Call Manager that defines location of XML pages that perform specific functions, i.e.: information, directory and idle.

I currently have a web server setup to host the XML files, but have run into problems creating the XML components. Would anyone mind pointing me in the direction of an entry-level document regarding this? I have looked at various TAC documents, and cannot seem to find what I am looking for.

Or, if anyone is feeling generous with his or her time, would you mind providing an example of what I need to do to get the ‘idle’ screen display an image. I have converted a .bmp file into a .cip, which I believe to be the correct format, but the IP phone only displays errors when entering ‘idle’ mode.

Any suggestions or help are greatly appreciated.

Ryan Rose (via) Mike Kirby

mike.kirby@unco.edu

20 REPLIES
New Member

Re: Starting from square one.

I found this in the Voice & Video - IP Telephony forum... it might help:

Download and install the Cisco IP Phones Services

Software Developers Kit (SDK) on a seperate workstation.

The SDK tools will default to C:\CiscoIpServices\Tools.

Have your logo ready in .gif fomat. 130 X 65 pixels

maximum. example: logo.gif

Convert your gif to CIP format using the gif2cip.exe

tool

C:\CiscoIpServices\Tools>Gif2Cip logo.gif logo.xml

The tool will convert logo.gif to logo.xml and look

something like the following...

-1

-1

130

63

2

00000000000000AAAAAAAAa00000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000006666

6666000000000000000000000000000000000000000000000000000000000

00YYY000000000000000000000000000000000000000000000000000000

COMPANY NAME HERE

Place the logo.xml in Call Manager c:\InetPub\wwwroot

You must set each phone to the following... Setting

these settings in the enterprise parameters section will

not work!

---Cisco IP Phone - External Data Locations---

Idle http:\\callmanageripaddress\logo.xml

Idle Timer (seconds) 10 seconds.

Caveats: The missed caller ID and caller ID name will

not appear while the logo.xml is active.

New Member

Re: Starting from square one.

Thanks for the help.

I have a logo.xml file that looks like this:

-1

-1

130

63

2

0000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000

00000F0FF0300000000000000000000000000000000000000000000000000

000000C0FFFFFF3F000000000000000000000000000000000000000000000

000000000C0FFFFFFFFFF00000000000000000000000000000000000000

00000000000000C0FFFFFFFFFFFF00000000000000000000000000000000

00000000000000000000FFFFFFFFFFFF3F000000000000000000000000000

00000000000000000000000FFFFFFFFFFFFFF0F0000000000000000000000

00000000000000000000000000FCFFFFFFFFFFFFFF030000000000000000

000000000000000000000000000000C0FFFFFFFFFFFFFFFF0000000000000

00000000000000000000000000000000000FFFFFFFCFFFFFFFF3F00000000

00000000000000000000000000000000000000FCFFFF0000F0FFFFFF03

00000000000000000000000000000000000000000000C0FFFF030000F0FF

FFFF0000000000000000000000000000000000000000000000FCFF0F00000

000FFFF0F00000000000000000000000000000000000000000000C0FF3F

00000000F0FFFF0000000000000000000000000000000000000000000000F

C0300000000F0FFFF3F00000000000000000000000000000000000000000

000000000000000F0FFFFFF03000000000000000000000000000000000000

000000000000000000C0FFFFFF3F000000000000000000000000000000000

00000000000000000000000FCFFFFFF000000000000000000000000000000

00000000000000000000000000C0FFFFFF0F0000000000000000000000000

0000000000000000000000000000000FFFFFFFF0000000000000000000000

0000000000000000000000000000000000FFFFFFFF0F00000000000000000

0000000000000000000000000000000000000F0FFFFFFFF00000000000000

0000000000000000000000000000000000000000C0FFFFFFFF03000000000

000000000000000000000000000000000000000000000FCFFFFFF0F000000

00000000000000000000000000000000000000000000000000FFFFFF

3F00000000000000000000000000000000000000000000000000000000FC

FFFFFF0000000000000000000000000000000000000000000000000000000

0C0FFFFFF030000000000000000000000000000000000000000000000000

0000000FCFFFF0F000000000000000000000000000000000000000000000

00000000000C0FFFF0F00000000000000000000000000000000000000000

00000000000000000FCFF030000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000000000000000000000

0000000000000000000000000000000F00300000000000000000000000000

0000000000000000000000C00F00000000C0FF0000000000F003000000000

000000000000000000000C00F00FF0300000000FC0F00000000FFFF0000

000000000000000000003F000000FF03F03F00000000C0FF0000FCFFFFFF

0F0000000000000000000000FC0F0000F03F00FF0300000000FC0F00F0FF

FFFFFF0300000000000000000000C0FF000000FF03F0FF00000000F0FF00

00FFFFFFFFFF0300000000000000000000FC3F0000F03F00FF0F00000000

FF0300F0FFFFFFFFFF0000000000000000000000FF030000FF03F0FF03000

000FC3F0000FFFF3FC0FF0F00000000000000000000F03F0000F03F00FFF

F000000C0FF0000FC3F0000C0FF0000000000000000000000FF0300C0FF0

3F0FF3F000000FF0F00C0FF000000F00300000000000000000000F03F000

0FC0F00FFFF0F0000F03F0000FF0F000000000000000000000000000000F

F0F00C0FF00F0FFFF0300C0FF0300F03F000000000000000000000000000

000C0FF0000FC0F00FFF33F0000FC0F00C0FF03000000000000000000000

000000000FC0F00C0FF00FC3FFF0F00F0FF0000FF0F00000000000000000

0000000000000C0FF0000FF0FC0FFC0FF0300FF0300FCFF0000000000000

0000000000000000000FC0F00F03F00FC0FF0FF00FC3F00C0FF030000003

F0000000000000000000000C0FF0300FF03C0FF00FC3FC0FF0000FC3F00

0000FC0F0000000000000000000000F03F00F03F00FC0F00FF0FFF0F00C0

FF030000C0FF000000000000000000000000FFFFFFFF03C0FF00C0FFF03F

0000F0FF000000FF0F0000000000000000000000F0FFFFFF3F00FC0F00FC

FFFF030000FC0F0000FC3F000000000000000000000000FFFFFFFF00C0FF

0000FFFF0F0000C0FF0300F0FF000000000000000000000000F0FFFFFF03

00FC0F00C0FFFF000000F0FF3FC0FF03000000000000000000000000FFFF

FF0F00F0FF0000F0FF03000000FFFFFFFF0F000000000000000000000000

C00F00000000FF0F0000FC3F000000F0FFFFFF3F00000000000000000000

image

----= U N C =----

When the phone I am testing (a 7960) enters idle, only the "Prompt" section of the code appears, displaying the text "-----=UNC=-----" and no image is displayed. Any ideas on what I may be doing wrong here? I have tried converting both a color and b&w .gif.

Much appreciated!

mike kirby

New Member

Re: Starting from square one.

<%@ Language=JavaScript%>

<%

//

// Copyright ©2001 Cisco Systems Inc. All rights reserved.

//

// File: logo.asp

// Author: BJH

// Purpose: Provide Logo Image for Idle Timeout

//

//

//

var serverIP;

serverIP = Request.ServerVariables("LOCAL_ADDR");

Response.Buffer = true;

Response.ContentType = "text/xml";

Response.Write("\r\n");

Response.Write("-1-155

652

000000000000000000000000000000000000000000000

000000000000000000000000000000200000000000000000000

000095010000000000000000000000442500000000000000000

000000054090000000000000000000000409501000000000000

000000004054250000000000000000000000405506000000000

00000000000005595000000000000000000000040551A000000

000000000000000054A5010000000000000000000000951A000

0000000000000000000806A010000000000000000000000A405

000000000000000000000000040000000000000000000055000

0000054050000000000001594060000A9EA6F00000000000400

005900595055BA0100000000005505A45A405555F9010000000

05555550040555555F901000000545555554555555555FA0100

00805655555555555555557A000000685555555555555555A90

60000805655555555555555956A000000645555555555555555

A9060000005A55555555555555956A000000D05555555555555

555A906000000685555555555555555A9010000405A55555555

555555A51A000000A0555555555555555565060000006955555

55555555555A6010000405A55555555555555555A000000A056

55555555555555651A000000A85555555555555555650600000

06A555555555555555569010000805A55555555555555556500

0000905655555555555555951A000000A455555555555555555

51600000069555555555555555565060000005AA55555555555

555565020000809A5655555555555555A601000090A66A55555

5555555559A010000A46955555555555555656A010000A8AA56

55555555555565AA010000AA6655555555555595A66A010040A

AAA55555555555555AAAA010080AA5955555555555566AAAA00

0090AA9A555555555555A6AA1A0000A0AA59555555555566AAA

A020000A4AA995555555555A6AAAA000000A89A595655559569

AAAA1A000000A9AA6A66555596A5A99A02000000AA6A6696995

996AAAA7900000040AAAA6A9A99656AAA5A0A00000040AAAA69

9A9966AA6AA50000000080AAAAAA99A9AA6A561E0000000080A

AAAAAAA555555A5010000000090AAAA6AAA6A55552900000000

0090AAAAAA56AA55E502000000000080AAAA0100A4961E00000

000000040AA06000050AA000000000000000000000000000000

000000000000000000000000000000000000000000000000000

000000000

2");

Response.Write("\r\n");

Response.Flush();

%>

New Member

Re: Starting from square one.

Nuditarian:

Is this an XML file or a java script? I assume the file should still be called logo.xml, but what variables, aside from that 'Data' itself, do I need to change?

Thanks for the help!

Mike Kirby

Silver

Re: Starting from square one.

An XML IP Phone service is simply a web page that outputs either text or text/xml. Most any web server (ie IIS, Apache, etc) can handle this.

To get up and running quickly, you need to rename the .cip file that was created by gif2cip to .asp (for IIS, or .jsp for Apache etc) and add a command at the top of this file that sets the output format to text/xml

ie In asp it's something similar to:

<% @LANGUAGE = VBScript %>

<%

Response.ContentType = "text/xml"

%>

Adding those 4 lines to the top of the asp file followed by the original contents of the .cip file should work.

Use that url when specifying the idle url and all should be good.

(ie http://servername/idle.asp)

Note that an idle url is simply an XML IP Phone service that is called automatically by the phone, and is otherwise no different from other services accessed using the "Services" button on the phone.

A great resource for creating these services is "Developing Cisco IP Phone Services: A Cisco AVVID Solution" by Cisco Press. You can find and preview this book on O'Reilly's Network Safari (http://safari.oreilly.com/). Safari offers a free 14-day trial, so you can get the full content of the book at no cost and get started right away!

http://safari.oreilly.com/JVXSL.asp?x=1&mode=section&sortKey=rank&sortOrder=desc&view=book&xmlid=1-58705-060-9&open=false&srchText=ip+phone+service&code=&h=&m=&l=1&catid=&s=1&b=1&f=1&t=1&c=1&u=1&r=&o=1&page=0

New Member

Re: Starting from square one.

Thanks for the advice Aaron, I will definetly check out that book later today.

Here is my current situation; I convert the gif, rename it to idle.asp, insert the code at the top, move the file to my c:\inetpub\wwwroot, define the path in the call manager, set the idle timer, reset the phone, and wait. Once the phone goes into idle mode, the screen area, where the image should appear, goes blank/stays emtpy, and the "Temporary Prompt" text appears at the bottom. When I hit the update button, I get a "Host Not Found" message in the same line as the "Temporary Prompt" text. Do you think this issue may be caused by a setting in IIS?

thanks again

mike

Silver

Re: Starting from square one.

Shouldn't be a setting in IIS. Looks more like your cip content perhaps. When trying to use the cip file you posted I am getting an xml parse error, and when I replace that with my own cip content (and change height/width properties as well) it works.

Perhaps try generating the cip file again? Ensure that the source image is within the correct size range (133x64) and copy the cip contents directly into the asp file. You could even try experimenting with a slightly smaller image though the image parameters you posted are within the right parameters. Hopefully that should work better... (crosses fingers).

Silver

Re: Starting from square one.

Well, your cip file works now (had a space char within the data). Sorry for any confusion.

Given that it works here now, it could be either your IIS or your XML parser. If you're running an older version of IE, you could try upgrading to 5.5 or 6.0, that has helped in the past as IE upgrades also include infrastructure upgrades such as the XML parser. In addition, check the service pack of windows 2000 (if that's your OS) and upgrading that may help as well. Just some shots in the dark that have worked for me with past problems...

Good luck!

New Member

Re: Starting from square one.

Aaron,

Having tried converting the gif to cip on two different installs of the SDK, and still getting the same error I am starting to wonder....

Here is a link to the image:

http://www.seldomsober.com/test2.gif

If you have some spare time, could you gif2cip it, and see if you end up with the same output I have been getting?

I appreciate it.... this does not seem that complicated, so I apologize for taking up your time with this.

thanks again,

mike kirby

mike.kirby-AT-unco.edu

Silver

Re: Starting from square one.

That one worked fine as well. Here it is just fyi, but when copying it from this forum you may have to remove spaces from the text (that may be introduced by posting here) between the data tags as there should be no spaces there or unpredicatable results can occur. Could email it as well.

-1

-1

133

64

2

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000001010000001000001010001100000015000410004000000100000000000000000009090000D1880011C04900980198015800295093414001050000000000000000000000201A01000056010400100910006000600028011005081010000000000000000000804404A0014404200590058026400180008005900200406000000000000000000201000A1015000580064015006400660002000A000801408000000000000000000804000040E40019001500040290024800180008002001614000000000000000000005900242000060006405600860156000A0006000A00005000000000000000000000500040000000000000540000001000000000001000004000000000000000000000000000000000000000000000000000000000000000005001000000000000000000000000000000000000000000000000000000000000004001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E40074000000000000000000000000000040061E0000000000000000000000000040078000000000000000000000000000008007600000000000000000000000000000790002100000001110100004000001100007400110400000010000000000000001E40708490A85204DE280819250092880000800004281079024B01980021C29606490782004101008308002060A404190030124000002380EA0008BA1001A6040110042824218004120C0000A182800054118049000000AD0398001288602A08001840008091C610008510003B86AE0091401C1114002002840EB0007E0190680030650032024C086011084000CA080810210080468001C00A4019D031C80620860091840188090002D09101005308002020A401110D001B0006407280EA40087715050608050008302A070804020C0000A08280405420009800B70282038640B04868600C24102028A0E00429681C2410739B0E025281C1A1000A4A58015E06664096C6907199B06680500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A4FEAF050000000000000000000000000000000000000000000000000000000040FAFFFFBF0200000000000000000000000000000000000000000000000000000080FFFAFFFF6F000000000000000000000000000000000000000000000000000000D0FF82FBFFFF1B0000000000000000000000000000000000000000000000000000E4BF0140E5FFFF0200000000000000000000000000000000000000000000000000F07F000000A9EA2F00000000000000000000000000000000000000000000000000E0BF0000000000FE01000000000000000000000000000000000000000000000000D0BF0000000000F80B000000000000000000000000000000000000000000000000806A0000000000E07F0000000000000000000000000000000000000000000000000000000000000080FF0200000000000000000000000000000000000000000000000000000000000000FE1F00000000000000000000000000000000000000000000000000000000000000FE7F00000000000000000000000000000000000000000000000000000000000000FDFF01000000000000000000000000000000000000000000000000000000000040FAFF07000000000000000000000000000000000000000000000000000000000040E5FF1F000000000000000000000000000000000000000000000000000000000000D0FF6F000000000000000000000000000000000000000000000000000000000000E0FF7F000000000000000000000000000000000000000000000000000000000000E4FFBF010000000000000000000000000000000000000000000000000000000000F9FFFF010000000000000000000000000000000000000000000000000000000000FDFFFF020000000000000000000000000000000000000000000000000000000000E0FFFF02000000000000000000000000000000000000000000000000000000000080FFBF01000000000000000000000000000000000000000000000000000000000000FEBF01000000000000000000000000000000000000000000000000000000000000FE6B00000000000000000000000000000000000000000000000000000000000000A81600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Temporary title

Temporary prompt

New Member

Re: Starting from square one.

Aaron,

If you don't mind, would you please email me a copy of it, to make sure the formatting is correct.

thanks

mike kirby

New Member

Re: Starting from square one.

Aaron,

Hi, my name is Larry McDowell and I worked with Mike Kirby. He has been working with you regarding our problem with posting our logo onto our 7960's. I've have been given the job to resolve this issue. I have went through what you and mike have talked about and the example that you sent to him has given us the same results.

Here is something that I don't think he tried:

- I put the url for the logo in both the services and the idle field in call manager, I update cm and reset the phonen and get the same results. No logo but the "temporary prompt" prompt will show at the bottom. I push on "update" and it says, "host not found."

- I will then push the services button on my phone and the logo will appear on the screen.

- I let my phone go to idle and it will be blank but this time I can push the "update" button and the logo will appear.

- I found that it will do this if I visit the "directories" section on the phone or "settings"

It seems to me like the idle is caching the data from the last visited feature. The good news is that I have confirmed I can see the image on the phone but I still can't get it to appear automatically without doing what I just discussed above. I've tried two different IIS servers with all the critical updates installed and not sure if it's the phone or IIS. Thanks again for your time and if anyone has a suggestion, it is greatly appreciated.

Larry McDowell

University of Northern Colorado

Larry.McDowell@unco.edu

Re: Starting from square one.

Larry,

What version of call manager are you using?

I'm having very similar problems with .asp files that I know work on 3.1 call manager but refuse to display on phones that have been upgraded to a phone load from either 3.2 or 3.3.

I'm wondering if Cisco have done something to the code on the phones as this is the only difference.

The images also fail when displayed on phones on a cm3.1 that have a load from a later version, again this backs up my "it's the phone loads" argument.

Anybody else any thoughts on this.

Paul

Silver

Re: Starting from square one.

The phone load version might have something to do with it, though since the communication is between the phone and the web server, the specific version of the CM shouldn't have anything to do with it.

The fact that it does display after the update button (or some other action) is pressed might indicate a phone load problem as Paul noted. Glad that it is finally displaying at least!

Ours works on CM 3.2(2c) at the moment, and Paul mentions that it works on his 3.1 system as well, though not with upgraded phone loads. What version of CM are you using, and what version is running on your phones? (note that you can bring up info on an IP Phone in a web browser- just type the IP address of the phone in your web browser).

FYI also reference this thread in the IP Telephony forum:

http://forum.cisco.com/eforum/servlet/NetProf?page=netprof&CommCmd=MB%3Fcmd%3Ddisplay_location%26location%3D.ee8b001

New Member

Re: Starting from square one.

Currently, we are running CM 3.3 and the version of software that the phone is running is 3.3(2.0) with a hardware revision of 2.4.

I talked with a couple of people about these concerns about the phones and we did notice there is a newer version of firmware for the 7960.

We are hesitant on pushing it out to all the phones at this time because today is our first day of "live" use in a building on compus.

Do you happen to know of a way to push out a firmware update to just one phone?

Thanks for all your ideas,

Larry McDowell

Silver

Re: Starting from square one.

Device defaults are configured in the CallManager Administration (on 3.2, choose the Device Defaults item under the System menu), and there you can identify the default device loads.

There is a variety of documentation available on the Cisco phone bootup process on the Cisco website, you may want to familiarize yourself with it before going ahead with something like this.

I'm not sure if theres an easier way, but here is one option that should change the load for a particular phone.

You'll need to obtain the new phone load bin file (ie P00303020204.bin). I am not sure if you can download just the .bin file any longer, it seems to download as a full installation program that runs on the CallManager, which would likely upgrade all phones at the same time which you probably don't want to do at this time (though perhaps you could change the default load back to its original value after the installation through the ccmadmin device defaults config screen? Possibly, but is that something you want to risk in a production environment?). Hopefully you can just get the .bin file.

By simply copying the .bin file into the tftp folder and editing one phone's config file you should limit the effects this could have on your CM environment, but as always be careful and remember that this is "unofficial advice". I've made modifications this way before, but I can't predict how it will go for you, etcetc.

You can change the load a specific phone uses by modifying its config file located in the tftp folder on the CallManager (ie C:\Program Files\Cisco\TFTPPath). You'll need to put the new phone load in this folder for access by the phone. The phone load file is in the format "P00303020204.bin".

Find the phone's xml config file (ie SEP000427D3FF51.cnf.xml) and open it with notepad. Note that the phone's config file is based on it's device name (so make sure you're editing the correct one!).

Find the loadinformation tag within the config file:

P00303020204

Note the version that is in there now so that you can reset it later. Replace the value such as P00303020204 with the new load version, and reset the phone (ie **#**), and it should pick up the new load.

Hope that's of some help.

New Member

Re: Starting from square one.

OK I DID IT!!!!! Unfortunately, the firmware upgrade did not work but the

documentation in the firware release notes had a workaround for the problem.

Apparently there is a know issue for xml documents not showing up in the

idle setting but if you add a header refresh statement in the .asp file, it will then

show up. Below is the document I found regarding this. The workaround is toward the bottom of the page.

http://www.cisco.com/en/US/products/hw/phones/ps379/prod_release_note09186a008012821f.html

Thanks for all your help. I do have one more question. Now that I have the picture showing when idle, is there a way to have it disapeer when someone

calls and show the caller ID instead of the caller ID showing up in the prompt.

Thanks again,

Larry McDowell

Silver

Re: Starting from square one.

Congratulations! (and thank you for posting information regarding the bug!)

Now that you have the idle url displaying properly, you realize how irritating it is that the idle url doesnt clear when a call comes in. There was a post concerning this issue in the Open Voice Applications thread, but no resolution was found. I agree with the poster in there suggesting that "a phone is not idle when it's ringing, so clear the idle url". Hopefully Cisco addresses this at some point in the future.

http://forum.cisco.com/eforum/servlet/NetProf?page=netprof&CommCmd=MB%3Fcmd%3Ddisplay_location%26location%3D.ee93703

New Member

Re: Starting from square one.

Thank you for all your help in resolving this problem. After looking at some of the things ahead of me, I see that my fun is just beginning.

Larry McDowell

New Member

Re: Starting from square one.

I am having the same problem which you have solved, but I cannot figure out how to add these HTTP headers to the ASP page. Would it be possible to get an example of what you did?

228
Views
5
Helpful
20
Replies