Creating a Default Services Menu

Do you have a list of default services that should be available on all phones? Have you ever complained about how much work is involved to get those default services subscribed on all new phones? Well... complain no more. Use this method to provide default services on every single phone in your organization!

There are just two steps involved in creating a default service menu for your phones. The first step is to create a service menu that lists your desired options, and the second is to reconfigure CallManager to point phones to this new menu.

1. Creating the Service Menu

Below is an example configuration menu. It contains the necessary information to send the content to the phone in the required XML format, as well as having Option 2 send users to the default Cisco service menu so they can still access the subscribed services as normal.

<%@Language=VBScript %>
<%
name = Request.QueryString("Name")
Response.ContentType = "text/xml"
%>
<CiscoIPPhoneMenu>
<Title>Service Menu</Title>
<Prompt>Make Your Selection...</Prompt>
<MenuItem>
 <Name>Extension Mobility</Name>
 <URL>http://xxx.xxx.xxx.xxx/emapp/EMAppServlet?device=<% = name %></URL>
</MenuItem>
<MenuItem>
 <Name>Service Subscriptions</Name>
 <URL>http://xxx.xxx.xxx.xxx/CCMCIP/getservicesmenu.asp?Name=<% = name %></URL>
</MenuItem>
<MenuItem>
 <Name>Weather, News &amp; Stocks</Name>
 <URL>http://phone-xml.berbee.com/menu.xml?opts=13456</URL>
</MenuItem>
<MenuItem>
 <Name>adman.net</Name>
 <URL>http://xmlapps.adman.net</URL>
</MenuItem>
</CiscoIPPhoneMenu>

Once you have created your file it must be saved onto an IIS web server capable of serving ASP pages. If you do not have any other server available it can easily be served from the CallManager server itself. In this example the user will be shown four options on their service menu. If you wanted to actually use this example menu you would need to change xxx.xxx.xxx.xxx to be the IP address of your CallManager Publisher server.

To the right is a screen shot of what would appear on the screen of a phone that has been configured to use this default service menu. The first option allows them to log in and out of Extension Mobility. The second option gives them the ability to access the Cisco Service Menu to get to their subscribed services. The third option gives access to the public services provided by Berbee, which include Airport Delay Checks, local weather, area code lookup, stock quotes and news headlines. The last option is to access the xmlapps hosts by this site which currently include phone number lookups, weather and ringtone samplers.


You will notice that the second option for Service Subscriptions sends a QueryString parameter of Name=XXXX; this is so CallManager knows which phone to display the service menu for!

2. Configuring CallManager to Use the Service Menu

Now that you have a configured service menu that provides all the services that we want to show you need to configure CallManager to use this instead menu of it's built in default. To do this log into the CallManager Administration web page and select Enterprise Parameters from the System menu. This is the only location, other than on each individual phone, that you can set the URL Services parameter. To make the configuration change simply enter the http path to the file that we created. An example is shown below.



Once this option is configured you will need to reboot all the phones to activate the new menu. If you want to test how it works before rolling it out to the entire company you can configure the URL Services option on a specific phone and reboot it to make sure everything works!