Frequently Asked Questions

This document contains the Frequently Asked Questions on Avaya 4600 and 9600 Series IP Telephones.

4600 and 9600 Series IP Telephone Web Browser

The Web Browser supports the WML 1.3 (June 2002) release.

WML (Wireless Markup Language) is a markup language based on XML. WML is a XML specification proposed by the Open Mobile Alliance (http://www.wapforum.org/) and follows the XML rules and specifications. WML uses tag pairs and attributes for all language features. Essentially, WML is an XML application.

Since WML is an XML application, the Web browser is a XML browser that supports WML tags. Avaya supports industry standard WML specifications on the Web Browser.

HTML is a specification that was first proposed by w3c org. HTML is not based on an XML specification.

WML is an application of XML (EXtensible Markup Language), Essentially WML is a stripped down version of syntactically valid HTML with 35 strictly applied semantic tags.

HTML has well over 120 tags (three times that of WML) helping to give its characteristically messy ad-hoc nesting syntax. Rules for HTML tag nesting are loose.

EXtensible Markup Language (XML) presents a solution to the HTML mess. Using XML developers can define their own markup languages by referencing to an external DTD (Document Type Definition). The DTD is a sequence of rules describing the markup language. However this enforces strict rules governing language syntax in stark contrast to HTML.

  • HTML has a comparatively deep and complex nesting structure.
  • HTML is not well-formed allowing tagsets to remain unclosed.
  • HTML can display special Unicode characters not recognized in WML.
  • WML tags must all be in lowercase.
  • WML is unforgiving of incorrectly nested tags.

HTML and WML also share a lot of features together. The WML set of tags was designed to cover most of the functionality that could be achieved using HTML. The list of functionality includes features such as: Text Presentation and layout, Images, User Input (Form controls such as choice lists, multilevel choice lists, text entry and task controls), Navigation, and Hyperlinks etc.

WML supports six key areas:

  • Text presentation and layout - Line breaks, basic text formatting and alignment are supported by WML.
  • Images - WML supports Wireless Bitmap images and alignment on the screen. NOTE: 4625 Color set also supports JPEG color images
  • User Input - WML supports choice lists, multilevel choice lists, text entry and task controls.
  • Cards and decks - User interaction is divided into cards. Navigation is primarily between cards. Decks are related sets of cards and are saved as a single file
  • Navigation - WML supports the standard Internet URL naming scheme and anchored links, allowing navigation between cards in a deck, between decks, or between other resources on the network such as databases.
  • State and context management - WML allows for variables to be passed between files. Instead of sending a complete string, variables can be sent and substituted at runtime. The user agent can cache both variables and WML files, minimizing cache hits and server requests. It is also possible to pass variables between different cards in the same deck.

The "4600 Series IP Telephone Interfaces API Guide" describes the WML tags and attributes supported by the 4600 IP Telephone's Web Browser. The "Avaya one-X Deskphone Edition for 9600 Series IP Telephones Application Programmer Interface (API) Guide" describes the WML tags and attributes supported by the 9600 IP Telephone's Web Browser.These documents are available on the DevConnect web site, http://devconnect.avaya.com . In addition, there are several good web sites with WML language references and tutorials. Among them, at the time of this writing, are:

http://www.devguru.com/Technologies/wml/quickref/wml_intro.html
http://www.developershome.com/wap/wml/

There are also books available on WML programming.

Yes, WBMP images are supported on all models of the 4600 and 9600 series IP phones. The 4625 IP phone also supports JPEG images. All 9600 Series IP Telephones support JPEG iamges.

The Web Browser will only store the current WML file (or the current deck of cards) in memory.

When a user tries to go back in history and if the page corresponds to a different WML page from that corresponding to the one that is displayed on the screen, the Web Browser will retrieve/fetch a new copy of the page. Any user selection or text entry made by the user will be lost.

To set up a Web server for the Avaya IP Telephones, just add two MIME types for wml and wbmp extensions to the web servers configuration. For more information on setting up MIME types or setting up a Web server, see the "WML Server (MIME Types) Setup Guide - 4600 Series" document available on the DevConnect web site, http://devconnect.avaya.com/ . Note that the information in this guide also applies to the 9600 Series IP Telephones as well.

Cookies are not supported on the Web Browser.

A browser handles "Session" and "Session variables" by storing temporary cookies. Since cookies are not supported on the Web Browser, sessions and session variables are not supported.

It is not possible to change the typeface itself on the browser. Also there is no WML tag specifically to do this.

Alternatively, you can create a WBMP image with the choice of your font and display it on the phone.

With the 4625SW phone, you can create a color JPEG image with different font style and display it on the phone. On the 4625SW, you can also change the font color.

There are four settings in the 46xxsettings.txt which affect Web Browser applications: WMLHOME, WMLPROXY, WMLPORT and WMLEXCEPT.

WMLHOME contains the URL of the home page for the Web application. The IP phone will not display the Web softkey label if the value of WMLHOME is null.

WMLPROXY contains the IP address, in dotted-decimal or DNS name format, of an HTTP proxy server. If the web pages accessed by the 4620 are completely on the customer's intranet, then WMLPROXY, WMLPORT, and WMLEXCEPT need not be set. If WMLPROXY is null, then the values of WMLPORT and WMLEXCEPT do not matter.

WMLPORT contains the TCP port number used for the HTTP proxy server. The default value is "8000".

WMLEXCEPT contains Web application HTTP proxy server exception domains (domains for which the proxy server will not be used), which is a list of one or more domains, separated by commas without any intervening spaces (up to 127 total ASCII characters, including commas).

The Web Browser sets the User-Agent HTTP header field included in all HTTP messages initiated by the browser. The User-Agent field is formatted as follows for the 4600 Series IP telephones.

The general format of the User_Agent field is: "AVAYA/IGEN/Firmware Version+(SetType)/MinorRelease"

For the 4610SW IP Telephone for example: "AVAYA/IGEN/v2.2+(4610x)/0.0"
For the 4620/4620SW, 4621SW and 4622SW IP Telephones for example: "AVAYA/IGEN/v2.2+(4620x)/0.0"
Note that 4620SW, 4621SW, and 4622SW are aliased as 4620 IP Telephones, andtherefore use the same header as that phone.
For the 4625SW IP Telephone for example: "AVAYA/IGEN/v2.5+(4625x)/0.0"

The User-Agent field is formatted as follows for the 9600 Series IP telephones.

The general format of the User_Agent field is: "AVAYA/SPICE/Firmware Version+(SetType)/Browser Type/MinorRelease"

For the 9620 IP Telephone for example: "AVAYA/SPICE/v1.0+(9620)/Std/0.1"
For the 9630 IP Telephone for example: "AVAYA/SPICE/v1.0+(9630)/Std/0.1"

Yes. It supports variables of the form $(variablename).

Both HTTP GET and POST methods are supported.

The Web Browser for the 4610SW, 4620/4620SW, 4621SW and 4622SW do not support CSS. However, the <template> tag can be used to define deck-level event bindings, i.e. characteristics that apply to all cards in the deck. You can override these characteristics for a particular card by specifying the same event bindings within the <card> definition.

The Web Browser for the 4625SW supports CSS2. See http://www.w3.org/TR/CSS21/cascade.html for further details about CSS2. The 4625SW phone does not support the external linkage of stylesheets. Only in-line stylesheets are supported. See "4600 Series IP Telephone Interfaces API Guide" which describes the use of CSS2 by the 4625SW IP Telephone's Web Browser. This document is available on the DevConnect web site, http://devconnect.avaya.com .

The Web Browser for the 9600 Series IP Telephones support CSS2. See http://www.w3.org/TR/CSS21/cascade.html for further details about CSS2. The 9600 phones do not support the external linkage of stylesheets. Only in-line stylesheets are supported. See "Avaya one-X Deskphone Edition for 9600 Series IP Telephones Application Programmer Interface (API) Guide" which describes the use of CSS2 by the 9600 Series IP Telephone's Web Browser. This document is available on the DevConnect web site, http://devconnect.avaya.com .

Yes, the font coloring is supported by using the ?foreground? as the selector for CSS. Please see the example below.

Example:
In this case, the background is set to blue color and the text ?Sample Text? is displayed in red color.
<p style=?background-color:blue; text:red;?> Sample Text </p>

You can also have a style for an <a> tag as below:

Example:
<a style="color:blue;" href="wtai://wp/mc; 7325551234">Call 7325551234</a>

So, in this case, the phone number ?Call 7325551234? is displayed in blue color.

In order to perform a push operation the "cURL" handle needs to be initialized. Check if the libcurl library is installed with the PHP module that allows you to connect and communicate to different types of servers using protocols like HTTP, HTTPS, FTP, FTPS, GOPHER, LDAP, DICT, TELNET and FILE.

"cURL" can then be enabled by uncommenting the line 'extension=php_curl.dll' in the "php.ini file". From PHP version 4.2.3 on, you need a "cURL" version of at least 7.9.0. From PHP version 4.3.0 on, you need a "cURL" version of at least 7.9.8.

The < table > tag is not supported on the Avaya IP Phones WML Browser. Also, other related tags like < tr > and < td > are not supported by the Avaya IP phone.

Refer to the Programmer's Guide for more details on tags that are supported by the WML browser - Application Programmer Interface (API) Guide - 4600 Series, Avaya one-X Deskphone Edition for 9600 Series IP Telephones Application Programmer Interface(API) Guide.

This can be configured in the "46xxsettings.txt" file. Set the "WMLIDLEURI" variable to the URL of the web page that needs to be displayed when the idle period expires. Depending on how your "46xxsettings.txt" file is organized, this variable can appear globally, affecting all phones, or within a section specific to a particular model.

The idle time out can be set in the "46xxsettings.txt" file. Set the "WMLIDLETIME" variable to the required time out period in minutes. Depending on how your "46xxsettings.txt" file is organized, this variable can appear globally, affecting all phones, or within a section specific to a particular model.

Depending on how the 46xxsettings.txt file is set up, the 'WMLHOME' parameter, which sets the URL of the homepage, can be different for each set type so as to take advantage of the capabilities of the individual sets. 'WMLHOME' must be set in the section for the individual set types in the '46xxsettings.txt' file.

Check whether the 'WMLHOME' parameter has been set in the appropriate section based on the set type of the Avaya 4600 or 9600 Series IP telephones in the '46xxsettings.txt' file.

Make sure the 46xxsetting.txt file is being read by the phone. Depending on which mechanism you are using, make sure either the TFTP or HTTP server is running that the phone is configured to use to retrieve the settings file. Ensure that the phone is reading this file by using a network sniffer such as WireShark. Make sure you reboot the phone after modifying the settings file.

Always make sure that you are using the most current release of the phone firmware which is available for download at support.avaya.com.

The current release of the firmware for the Avaya IP Telephone does not support this. The default input type is alpha. You must use the alpha-num softkey to change the input mode after entering the input field.

Right now, on the Avaya 4600 Series IP Telephones, it is NOT possible to configure additional URLs as new buttons. On the Avaya 9600 Series IP Telephones, additional links can be configured as shown under the 'A Menu'.

On the 9600 Series IP Telephones, all additional links to applications show up when the 'A Menu' button is pressed. These buttons are configured using the 'AMenuAdmin.txt' file. The package containing this file can be downloaded from the Avaya support website (http://support.avaya.com).

WML Coding Issues

Here is a sample of a simple Deck. It is made up of an XML Prolog section containing the standard XML header information and a <wml> body containing one or more <card> tags.

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd">
<wml>
<template>
<!-- the template causes the softkey (do tag) -->
<!-- to appear on all cards in this deck -->
<do type="accept" label="Home" name="home">
<go href="thisfile.wml"/>
</do>
</template>

<card id="card1" title="Sample App"> <p align="center">Welcome </p> <p> This is the first card. </p> <p><a href="another.wml">A link to another deck</a></p>
<p><a href="#card2">A link to another card</a></p>
</card>

<card id="card2" title="Card Two">
<p>
This is the second card.
</p>
</card>
</wml>

No, the <do> tag's {optional="true|false"} attribute is not implemented.

Example:

<do type="prev" name="prev1" label="prev1" optional="true"> <prev/> </do>

By definition, when the optional attribute is set to true in a <do> tag, that particular <do> tag is not supposed to be displayed. But, in this case, the <do> tag is displayed and the optional attribute is ignored while parsing.

There are several reasons why you can get this error. The following list gives some of the most common:

  • There is a syntax error somewhere in your WML. Remember that WML is far more strict and less forgiving than HTML. WML files are case sensitive and type attributes must be in lower case. Also, all tags must be closed with a slash ( /) like this:
    <example/>
    or followed by a closing tag like this:
    <example>close the tag on your way out </example>.
    WML also has much stricter rules governing the nesting of tags.
  • Make sure that your WML is consistent with the WML supported by the Web Browser. The Web Browser does not support every tag and attribute as proposed by the Open Mobile Alliance (http://www.wapforum.org/). Consult the "4600 Series IP Telephone Interfaces API Guide" or the "Avaya one-X Deskphone Edition for 9600 Series IP Telephones Application Programmer Interface (API) Guide"which describes the WML tags and attributes supported by the 4600 IP Telephone's Web Browser. This document is available on the DevConnect web site, http://devconnect.avaya.com/ .
  • Make sure you search this FAQ for any know issues with the Web Browser's handling of WML.
  • Check to see that the WMLHOME setting in the 46xxsettings.txt or 96xxsettings.txt file is a valid WML file
  • Check to see that the WMLPROXY setting in the 46xxsettings.txt or 96xxsettings.txt file is correct
  • Check to see that the WMLPORT setting in the 46xxsettings.txt or 96xxsettings.txt file is the correct port
  • Check to see that the DNSSRVR setting in the 46xxsettings.txt or 96xxsettings.txt file is set to a valid DNS server
  • If the 46xxsettings.txt or 96xxsettings.txt settings above are valid, check to see that the TFTP or HTTP server that the IP phone uses to get this file is running.

Check to see that the WMLHOME value in the 46xxsettings.txt file is a valid URL

For example:
Set WMLHOME http://
will generate the above error.

The "Web" softkey only appears if WMLHOME is defined in the 46xxsettings.txt or 96xxsettings.txt file. If the WMLHOME parameter is missing or empty then the "Web" softkey does not appear on the screen.

If the WMLHOME setting is valid, check to see that the TFTP or HTTP server that the IP phone uses to get this file is running.

No. All <onevent> attributes such as "ontimer", "onenterbackward", "onenterforward", are not functional when used inside the <template> tag. Any action implemented by these events will not be carried out. Please use alternate form to execute these events outside of the <template> tag.

For example,
<wml>
<template onenterforward="index.wml" />
.
.
.
</wml>
will not work. However the following form, will work.
<wml>
<template>
<onevent type="onenterforward"><go href="index.wml" /> </onevent> </template>
.
.
.
</wml>

No. The CSS background color style for the <br/> tag is not supported. That is the <br/> tag will inherit color information from the parent tags such as <p> tag.

That sample is not coded correctly. The <timer> tag can NOT be inside the <onevent> tag.

The example in the API Guide is:

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.3//EN" "http://www.wapforum.org/DTD/wml13.dtd">
<wml>
<card id="callid3" title="Incorrect Login">
<onevent type="ontimer">
<timer value="50"/>
<go href="wtai://wp/mc;+1888 555 1212"/>
</onevent>
<p>
You have exceeded number of tries.
A call will be automatically launched in 5 seconds.
</p>
</card>
</wml>

The correct version is:

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="callid3" title="Incorrect Login">
<onevent type="ontimer">
<go href="wtai://wp/mc;+1888 555 1212"/>
</onevent>
<timer value="50"/>
<p>
You have exceeded number of tries.
A call will be automatically launched in 5 seconds.
</p>
</card>
</wml>

The 'accesskey' attribute is supported only with the < a > tag and the < anchor > tag. The 'accesskey' attribute cannot be used along with the < go > tag because it is not a valid attribute for the < go > tag. For more information, refer to the "Avaya one-X Deskphone Edition for 9600 Series IP Telephones Application Programmer Interface (API) Guide", or the "Application Programmer Interface (API) Guide - 4600 Series".

Push API Issues

Push is the ability of an external application to send content to the telephone using the HTTP protocol without the user requesting it. Content can be pushed to the phone as a text message, WML Web page, or an audio stream through the handset or speaker. The Web Browser interface requires users to "Pull" data from an application, such as when a user clicks a link to access information. By using the Push API, an application can spontaneously deliver information to the telephone without depending on user input. In addition, there is a Subscription Push type which causes the phone to re-subscribe with its Subscription Servers. The Subscription service allows external applications to dynamically become aware of the IP Telephones and build databases of users.

There are three types of Push Messages: Topline, Display and Audio. A Topline push sends a single line of text to the top line of the IP phone screen. A Display push send content such as WML pages, images, click-to-dial links, and forms. Any Web content supported by the browser can be pushed. The Audio push type sends one-way RTP audio streams.

All the Push types can be configured to have optional alerts sound upon their arrival. The Push API supports the notion of message priority.

The Push API employs standards based interfaces, including HTTP, XML, WML, and standard Web servers. There are no proprietary servers, languages or protocols used. This helps make the Push API easy to learn and support as no special skills are required.

A Push Message consists of a very simple XML message sent to the IP phone using an HTTP Post command.

The Push interface can be used to:

  • Broadcast company news
  • Send meeting reminders with click-to-dial conference bridge numbers
  • Stream music, such as wake-up alarms in hotel rooms
  • Stream audio announcements
  • Send news information such as stock prices
  • Broadcast weather alerts
  • Build databases to target information to an individual or groups of phones

Here is the generic template for a Push Message:

<?xml version="1.0"?>
<Push
alert="0|1|2|3"
type="display|topline|audio"
mode="normal|barge"
>
<go href=http://trusted_push_server/filename.wml method="get|post">
>postfield name="name1" value="value1"/>
>postfield name="name2" value="value2"/>
</go>
</Push>

The Push Message has atttributes for how many alert "pings" to sound, the priority and the type of Push. It contains a URL for the location of the actual Push Content, i.e., the information to display on the phone.

For example, to send a high priority Topline Push with 3 alerts to an IP phone, an application would send an HTTP Post request to the URL of the phone (http://<IP_Address_of_the_telephone>/forms/push) with the following XML message as the value of the HTTP POST pre-defined variable called "XMLData":

<?xml version="1.0"?>
<Push
alert="3"
type="topline"
mode="barge"
>
<go href=http://trusted_push_server/filename.wml method="get" />
</Push>

Where the text to display is contained in the Push Content file, filename.wml on the server, trusted_push_server. The phone retrieves the Push Content for display.

Please see the "4600 Series IP Telephone Interfaces API Guide" or the "Avaya one-X Deskphone Edition for 9600 Series IP Telephones Application Programmer Interface (API) Guide" for a full description of the Push API.

For a Topline or Audio push, the Push Content file is a simple XML file.

For example, a Push Content file for a Topline Push is shown below.

<Response>
<Topline>
Stock Alert: AV @ $15
</Topline>
</Response>

Here is a generic example of the Push content for an Audio push type:
<?xml version="1.0"?>
<Response>
<Audio
packetsize="10|20|30|40|50|60"
codec = "PCMU | PCMA"
>
<AudioTimer value="30"/>
<Url href="RTPRx://rtpserver_ip_address:rtpLPort">
</Audio>
</Response>

For a Display type push, the Push Content is a WML file where the entire range of features of an IP Telephone's Web browser can be used.

Please see the "4600 Series IP Telephone Interfaces API Guide" or the "Avaya one-X Deskphone Edition for 9600 Series IP Telephones Application Programmer Interface (API) Guide" for a full description of the Push API

The Avaya 4600 Series and the Avaya 9600 Series IP telephones support a subscription service, whereby they provide a set of identifying values (such as IP address) to subscription servers. This allows intelligent applications to dynamically build a database of all IP telephones. The subscription occurs automatically when the IP phone registers with the media server (Avaya Communication Manager). The subscription Service makes the administration of IP phones and their associated applications much easier by automating the discovery process.

Once an application builds a database of information about all telephones in a network, it can target Push Content to specific phones or groups of phones.

The phone makes the following values known to the trusted subscription service server(s):

  • IP Address of the Phone
  • User's Extension
  • MAC Address
  • Set ID, a fixed eight-character model number

The IP Phone uses a standard HTTP GET Message to send its subscription values to a subscription server. The Subscription Message Syntax is as follows:
GET:http//<subscription_server>/

Miscellaneous

An IP phone can only be logged in to a single extension at any given time. In order for it to log in as a different extension, it has to log out first, using the 'Options' button on the IP phone and then selecting 'Logoff'.

4625 and 4621 IP phones have the same form factor (that is, same size, same number of buttons and same layout of buttons). The only difference between them is the screen. The 4625 IP phone has a VGA backlit display supporting 256 colors and is capable of displaying JPEG format files. The comparison between the various 4600 Series IP telephones can be found at: http://support.avaya.com/elmodocs2/4620/ Web_Browser_faq_2.2_2.5.pdf.

There is no provision in JTAPI, TSAPI or DMCC to accomplish this, but this can be achieved using RTCP Monitoring. Configure the IP address of the server that will receive RTCP information from Avaya Communication Manager (CM) on the 'ip-network-region' page. The IP phones will obtain the RTCP server settings from the Avaya CM based on the IP-network-region that it belongs to. When the IP phone is in a call, it will send RTCP information directly to the RTCP server. This is the way to check if there is actual audio between two IP end-points as the actual packet loss for the call can be monitored.

By default, an extension is configured with three call appearances - the first two for answering calls and the third reserved for transferring/conferencing calls. This can be changed using the 'change station xxxx' form on the Communication Manager (CM). Similarly, an extension can be configured with one or many bridge appearances. This allows the extension to answer calls on behalf of the extensions that have a bridge appearance. The configuration is done on the 'change station xxxx' form. A bridge appearance is programmed using the option 'brdg-appr'.

For more information, see: http://support.avaya.com/japple/css/japple?PAGE=Document&temp.bucketID=160257&temp.productID=107755&temp.documentID=300566

The 4690 IP phones use the same MIB as the rest of the 46xx series. For more information, see: http://support.avaya.com/elmodocs2/MIB/46xxmib28.txt

The protocol used with Avaya IP Telephones includes proprietary extensions.

However, the documentation cannot be provided without a special approval. If there is an application that requires Avaya's proprietary extensions, one can contact the respective DevConnect Business Development Manager to get the necessary approval. Avaya does support connectivity to generic H.323 endpoints without the use of the proprietary extensions, but this limits the feature set that the endpoints can support.

If the Avaya IP Phone PushSDK is used for developing a sample application, then Tomcat or some other servlet container will have to be used. If the Avaya IP Phone PushSDK is not used for developing sample applications, then a server-side scripting language like PHP or VB Script can be used to develop the applications. In this case, Tomcat would not be required, i.e., any other web server like Apache or Microsoft IIS can be used.

For more information, refer to the "Avaya one-X Deskphone Edition for 9600 Series IP Telephones Application Programmer Interface (API) Guide", or the "Application Programmer Interface (API) Guide - 4600 Series" and the documentation for the Avaya IP Phone PushSDK Version 1.0 available at the Devconnect Web site: www.avaya.com/devconnect.

Refer the following link for downloading the images of all Avaya products:

http://www1.avaya.com/enterprise/photo_library/

No, it is not possible to render an image and text together on a single line of the Avaya IP Telephone.

In the '46xxsettings.txt' file, there is an area called DISPLAY SETTINGS which allows setting logos as the display background for Avaya IP Telephones. Refer the Avaya 4600 Series IP Telephone Administrators Guide for additional information on this parameter.

The 'PUSHCAP' parameter is used for the 'Push' capabilities setting. 'PUSHCAP' consists of 3 bits (each 0, 1, or 2). The rightmost bit controls the Top Line Push mode. The middle bit controls the Web Browser Push mode. The leftmost bit controls the Audio Push mode.

When 'PUSHCAP' is set to 000, all Push modes are disabled. When 'PUSHCAP' is set to 111, barge in only is allowed in all Push modes. When 'PUSHCAP' is set to 222, both barge in and normal pushes are allowed in all Push modes.

Example: SET PUSHCAP 111

To enable SNMP on Avaya IP Telephones, follow the steps below:

  • Edit the '46xxsettings.txt' file
  • Add the following line under the SNMP SETTINGS section:"SET SNMPSTRING public"
  • Reset IP Telephone to download the changed settings file (Mute-R-E-S-E-T).