i
i
Table of Contents
Table of Contents ....................................................................... i
About This Guide ...................................................................... iii
Who should use this guide? ........................................................................................ iii
Summary of Changes ................................................................................................. iv
Changes for Release 80, Guide Version 80.5 ....................................................... iv
Changes for Release 73, Guide Version 73.16 ..................................................... iv
Changes for Release 72, Guide Version 72.60 ..................................................... iv
Changes for Release 72, Guide Version 72.30 ..................................................... iv
Changes for Release 72, Guide Version 72.2 ........................................................ v
Changes for Release 72, Guide Version 72.1 ........................................................ v
Changes for Release 71, Guide Version 71.165 .................................................... v
Changes for Release 71, Guide Version 71.140 .................................................... v
Changes for Release 71, Guide Version 71.111 .................................................... v
Changes for Release 71, Guide Version 71.110 .................................................... v
XML and Yealink IP Phones ...................................................... 1
What is XML? ................................................................................................................ 1
XML Format ................................................................................................................... 2
Functionality .................................................................................................................. 3
How does it work? ........................................................................................................ 4
Phone initiated application ..................................................................................... 4
Server initiated application .................................................................................... 4
XML display control and keys on Yealink IP phones ................................................ 5
Yealink IP Phone XML Objects ................................................. 9
XML Object Definitions .............................................................................................. 10
TextMenu Object .................................................................................................... 10
TextScreen Object .................................................................................................. 17
InputScreen Object ................................................................................................ 22
Directory Object ..................................................................................................... 33
Status Object .......................................................................................................... 39
Execute Object ....................................................................................................... 44
Configuration Object ............................................................................................. 49
FormattedTextScreen Object ................................................................................ 51
ImageScreen Object ............................................................................................. 58
i
XML Browser Developer’s Guide for Yealink IP Phones
ImageMenu Object ............................................................................................... 62
Customizable Soft keys ............................................................................................. 68
XML Objects Pushed to the Phone ........................................................................... 72
Some Development Guidelines ............................................................................... 74
Configuring the HTTP Server .................................................. 75
Configuring the Push XML Server .......................................... 77
Yealink IP Phone XML Configurations .................................... 83
Configuring an XML Browser Key ............................................................................ 83
Configuring the Block XML In Calling ...................................................................... 88
Configuring the Push XML Server Address ............................................................. 90
Configuring the XML SIP Notify................................................................................. 92
Troubleshooting ...................................................................... 95
Troubleshooting Tools ................................................................................................. 95
Parsing Error Debug Example ................................................................................... 96
Appendix ................................................................................ 97
Customizing an Image File ....................................................................................... 97
ii
About This Guide
XML browser simply means that the SIP phones’ LCD screen display can be managed
by external applications.
This guide shows you how to use XML API to control the LCD screen display of Yealink
IP phones as well as its configuration. The XML API is intended to provide you with
flexibility in developing applications on the phones while tightly integrating into the
phone’s telephony capabilities and functions.
This guide applies to the following IP phones:

SIP-T23 (P/G) IP phones running firmware version X.80.0.5 or later

SIP-48G, SIP-46G, SIP-T42G, SIP-T41P, SIP-T28P, SIP-T26P, SIP-T22 (P) and SIP-T20 (P) IP
phones running firmware version X.73.0.16 or later

SIP-T21 (P) and SIP-T19 (P) IP phones running firmware version X.72.0.30 or later
This guide is designed specifically to provide development engineers, system
administrators, or network engineers with information for developing and deploying
customized client services to Yealink IP phones using the XML browser feature.
This guide is not intended for end users and does not provide user-level information on
how to use any specific XML applications.
Before reading this guide, you should be familiar with the following:

Basic text editors, or full IDE-like Eclipse or Microsoft Visual Studio for creating or
writing code.

General application and software development.

Adequate planning, creating, and testing resources needed to produce a fully
deployable web-based application.

Yealink IP phones and provisioning methods.

How to use an XML editor.

The XML-based schema and syntax.
iii
XML Browser Developer’s Guide for Yealink IP Phones
This section describes the changes to this guide for each release and guide version.
Documentations of the newly released SIP-T23 (P/G) IP phones have also been added.
Major updates have occurred to the following sections:

XML display control and keys on Yealink IP phones on page 5

Yealink IP Phone XML Objects on page 9

Customizable Soft keys on page 68

Configuring an XML Browser Key on page 83
This version is updated to remove SIP-T3xG and VP530 IP phones. Major updates have
occurred to the following section:

Yealink IP Phone XML Objects on page 9
Major updates have occurred to the following section:

Yealink IP Phone XML Objects on page 9
The following sections are new:

XML Format on page 2

Some Development Guidelines on page 74

Troubleshooting on page 95

Appendix on page 97
Major updates have occurred to the following section:

iv
Yealink IP Phone XML Objects on page 9
About This Guide
This version is updated to incorporate SIP-T48G IP phones. Major updates have
occurred to the following section:

Yealink IP Phone XML Objects on page 9
This version is updated to incorporate SIP-T46G, SIP-T42G and SIP-T41P IP phones. Major
updates have occurred to the following section:

Yealink IP Phone XML Objects on page 9
Major updates have occurred to the following section:

Yealink IP Phone XML Objects on page 9
Major updates have occurred to the following sections:

XML display control and keys on Yealink IP phones on page 5

Yealink IP Phone XML Objects on page 9

Customizable Soft keys on page 68

XML Objects Pushed to the Phone on page 72
Documentations of the newly released SIP-T19 (P) and SIP-T21 (P) IP phones have also
been added.
The following sections are new:

Configuring the Push XML Server on page 77

Configuring the Block XML In Calling on page 88
Major updates have occurred to the following section:
v
XML Browser Developer’s Guide for Yealink IP Phones

vi
Yealink IP Phone XML Objects on page 9
XML and Yealink IP Phones
XML stands for eXtensible Markup Language. It is a markup language much like HTML.
HTML is designed to display data and to focus on how data looks, while XML is
designed to describe data and to focus on what data is.
XML enables SIP phones to serve as output devices for many exciting applications.
The XML infrastructure allows the phones to interact with external applications in a
flexible and programmable manner.
The following are characteristics of XML:

XML tags are not predefined. You must define your own tags.

XML uses an XML schema to describe the data.

XML with an XML schema is designed to be self-descriptive.

XML is a W3C Standard Recommendation.
Sample of Basic XML document:
<?xml version="1.0" encoding="ISO-8859-1"?>
XML Declaration
<YealinkIPPhoneTextMenu
style="numbered"
Beep="no"
Timeout="30"
LockIn="no">
<Title wrap="yes">Phone Services</Title>
<MenuItem>
<Prompt>Ask Google</Prompt>
<URI>http://10.2.11.158/yealink/google/google.php?user=</URI>
<Dial>456</Dial>
</MenuItem>
<MenuItem>
<Prompt>CNN News</Prompt>
<URI>http://10.2.11.158/yealink/rss/rss.php?feed=cnn</URI>
<Dial>1001</Dial>
</MenuItem>
</YealinkIPPhoneTextMenu>
Root element
Child elements of the root
1
XML Browser Developer’s Guide for Yealink IP Phones
XML is written in the form of XML elements consisting of tags enclosed in angle
brackets (e.g., <YealinkIPPhoneTextMenu>). XML contains 3 kinds of tags: the start
tag, the end tag and the empty-element tag. The empty-element tag has two kinds of
form: in pairs (e.g., <MenuItem></MenuItem>) and not in pairs (e.g., <MenuItem />).
With the exception of the empty-element tag not in pairs, XML tags most commonly
come in pairs like <YealinkIPPhoneTextMenu> and </YealinkIPPhoneTextMenu>. The
first tag in a pair is the start tag (e.g., <YealinkIPPhoneTextMenu>), and the second
tag is the end tag (e.g., </YealinkIPPhoneTextMenu>). XML mainly follows rules as
below:

XML must have root element.

The end tag must have the character “/”.

XML tags are case-sensitive.

Each attribute value should be within double quotations.

The texts within <!-- --> are considered as comments.
XML provides escape facilities for including characters which are problematic to
include directly. For example, the characters "<" and "&" are key syntax markers and
may never appear in content. XML has five predefined entities.
XML conversion table is shown as below:
Character
Name
Escape Sequence
&
Ampersand
&amp;
“
Quote
&quot;
‘
Apostrophe
&apos;
<
Left angle bracket
&lt;
>
Right angle bracket
&gt;
To respect XML recommendations, the following header can be set at the beginning of
the XML document,
<?xml version="1.0" encoding="ISO-8859-1"?>
Or
<?xml version="1.0" encoding="UTF-8"?>
Yealink provides XML object files beginning with the XML declaration “<?xml
version="1.0" encoding="ISO-8859-1"?>”.
For more information on XML, refer to http://www.xml.com/.
2
XML and Yealink IP Phones
The XML browser feature on Yealink IP phones allows users to develop and deploy
custom services which meet user functional requirements on the server. Users can
customize practical applications, such as weather report, stock information, Google
search, news service, etc.
Phone service developers should take it into consideration that the phone is not a web
browser so it cannot parse HTML. Although the content is delivered to the phone
through HTTP messages using a web server, keep in mind that the content is not HTML.
All content comes to the IP phone either as plain text or text packaged in XML objects.
Yealink IP phones support 10 proprietary XML objects, which allow the creation of
powerful XML applications.
There are 2 types of XML objects:
UI objects: XML objects are used to control the LCD screen display of IP phones.
Non UI objects: XML objects have no direct impact on the current LCD screen display
of IP phones.
The supported objects are:
Note

TextMenu object (UI)

TextScreen object (UI)

InputScreen object (UI)

Directory object (UI)

ImageScreen object (UI)

ImageMenu object (UI)

FormattedTextScreen object (UI)

Status object (UI)

Execute object (Non UI)

Configuration object (Non UI)
UI objects are not applicable to SIP-T20 (P) IP phones.
3
XML Browser Developer’s Guide for Yealink IP Phones
Depending on the IP infrastructure, Yealink has supported developing the XML
browser capability of the phones using HTTP. Yealink IP phones support two modes for
XML browser applications:

Phone-initiated

Server-initiated
You can press the predefined XML Browser key to trigger the phone initiated
application of XML browser. After you press the key, the IP phone issues an HTTP(s)
GET request message to the server, waits for the answer, decodes and displays this
response message like any web browser, such as Microsoft Internet Explorer or Firefox,
and would do as a web client. For more information on how to configure an XML
Browser key, refer to Configuring an XML Browser Key.
Figure1 Yealink IP phone acting as a client
The server initiated application would be more frequently used on the network. In this
mode, end users do not need to do any configuration and operation.
The server can push an XML object to the phone via an HTTP POST. For more
information, refer to XML Objects Pushed to the Phone.
4
XML and Yealink IP Phones
In addition, Yealink IP phones support accepting SIP NOTIFY messages from a SIP
proxy server, and act as limited web servers. For more information on how to configure
the XML SIP Notify, refer to Configuring the XML SIP Notify.
Figure2 Yealink IP phone acting as a server (HTTP(s) post)
Figure3 Yealink IP phone acting as a server (SIP NOTIFY)
This chapter describes the available part of the LCD screen for each phone model of
Yealink IP phones as well as the keys that are controlled by the XML objects.
5
XML Browser Developer’s Guide for Yealink IP Phones
The LCD screen and keys available for XML applications on a Yealink SIP-T28P IP phone
are:

8 text lines and 1 soft key line for the LCD screen

The left and right arrow navigation keys

The up and down arrow navigation keys
The soft key line is a command line and will be used to display the labels of the
available actions. Depending on the XML object displayed on the phone, the X key
can also be interpreted as a “cancel” key, and the OK key as a “confirm” key.
The LCD screen and keys available for XML applications on a Yealink SIP-T26P/T23
(P/G)/T22 (P)/T21 (P) IP phone are:

4 text lines and 1 soft key line for the LCD screen

The left and right arrow navigation keys

The up and down arrow navigation keys
The soft key line is a command line and will be used to display the labels of the
available actions. Depending on the XML object displayed on the phone, the X key
can also be interpreted as a “cancel” key, and the OK key as a “confirm” key.
The LCD screen and keys available for XML applications on a Yealink SIP-T19 (P) IP
phone are:

4 text lines and 1 soft key line for the LCD screen

The left and right arrow navigation keys

The up and down arrow navigation keys
The soft key line is a command line and will be used to display the labels of the
available actions. Depending on the XML object displayed on the phone, the
as a “confirm” key.
The LCD screen and keys available for XML applications on a Yealink SIP-T48G IP
phone are:
6

13 text lines and 1 soft key line for the LCD screen

The left and right arrow navigation keys

The up and down arrow navigation keys
key
XML and Yealink IP Phones
The soft key line is a command line and will be used to display the labels of the
available actions. Depending on the XML object displayed on the phone, the X key
can also be interpreted as a “cancel” key, and the OK key as a “confirm” key.
The LCD screen and keys available for XML applications on a Yealink SIP-T46G IP
phone are:

9 text lines and 1 soft key line for the LCD screen

The left and right arrow navigation keys

The up and down arrow navigation keys
The soft key line is a command line and will be used to display the labels of the
available actions. Depending on the XML object displayed on the phone, the X key
can also be interpreted as a “cancel” key, and the OK key as a “confirm” key.
The LCD screen and keys available for XML applications on a Yealink SIP-T42G/T41P IP
phone are:

5 text lines and 1 soft key line for the LCD screen

The left and right arrow navigation keys

The up and down arrow navigation keys
The soft key line is a command line and will be used to display the labels of the
available actions. Depending on the XML object displayed on the phone, the X key
can also be interpreted as a “cancel” key, and the OK key as a “confirm” key.
7
XML Browser Developer’s Guide for Yealink IP Phones
8
Yealink IP Phone XML Objects
Creating interactive service applications is relatively easy when you understand the
XML objects that are defined for Yealink IP phones and the behavior that each XML
object generates.
Regardless of what causes the phone to load an XML page, the phone always
behaves appropriately after it loads a page. Appropriate behavior depends only on
the type of data delivered in the page.
This chapter details all the XML objects supported by Yealink IP phones.
In this chapter:
Yealink IP phones without soft keys are:

Yealink SIP-T20(P) IP phones
Yealink IP phones with soft keys are:

Yealink SIP-T28P IP phones

Yealink SIP-T26P IP phones

Yealink SIP-T23(P/G) IP phones

Yealink SIP-T22(P) IP phones

Yealink SIP-T21(P) IP phones

Yealink SIP-T19(P) IP phones

Yealink SIP-T46G IP phones

Yealink SIP-T42G IP phones

Yealink SIP-T41P IP phones
Yealink IP phones with a color graphical touch screen are:

Yealink SIP-T48G IP phones
9
XML Browser Developer’s Guide for Yealink IP Phones
This section details each proprietary XML object supported by Yealink IP phones. You
can ask the distributor or Yealink FAE for XML object files or obtain XML object files
online: http://www.yealink.com/DocumentDownload.aspx?CateId=142&flag=142.
Note
The size of an XML object cannot exceed 10000 bytes (10 kb).
Per XML specifications, only one XML object is supported in an XML document sent to the
phone.
XML objects do not support Chinese characters.
The TextMenu object allows users to create a list of menu items on the IP phones. You
can use the TextMenu object to customize some functions such as weather report,
stock information, new services, etc. You can browse the menu items by linking HTTP
requests.
XML description of the TextMenu object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneTextMenu
defaultIndex = "integer"
style = "numbered/none"
Beep = "yes/no"
wrapList="yes/no"
Timeout = "integer"
cancelAction = "URI"
LockIn = "yes/no"
>
<Title wrap = "yes/no">Menu Title</Title>
<MenuItem>
<Prompt>First menu item</Prompt>
<URI>HTTP(s) URL</URI>
<Dial>Number for dial</Dial >
<Selection>Selection</Selection>
</MenuItem>
<!--Additional menu items may be added (up to 30) -->
<!--Additional soft key items may be added -->
</YealinkIPPhoneTextMenu>
10
Yealink IP Phone XML Objects
The parameters of the TextMenu object are listed in the following table:
Parameter
Position
Type
Value
Root tag
mandatory
none
YealinkIPPh
oneTextMe
nu
Description
The root element of the
TextMenu object.
Position of the cursor. If
the value is not specified
defaultInde
x
or exceeds the number
Root tag
optional
Integer
of menu items, the cursor
will be positioned on the
first menu item. Default
value is 1.
numbered (default): Add
“numbered
style
Root tag
optional
”
“none”
a digit before each menu
item for index.
none: No sign before
each menu item.
Whether to play a tone
Beep
Root tag
optional
“yes”
when the XML object is
“no”
opened. Default value is
“yes”.
Whether to display the
title of the menu item
specified by the Prompt
parameter in multi-lines
when the content of the
wrapList
Root tag
optional
“yes”
title is more than one
“no”
line. Select “yes” to
display the title in
multi-lines, and “no” for
one line. Default value is
“yes”.(only for
SIP-T48G/T46G IP phones)
If there is no operation at
a fixed interval (in
seconds) on the phone,
Timeout
Root tag
optional
“integer”
the phone will
automatically exit from
the TextMenu screen. If it
is set to 0, the phone will
not exit from the
11
XML Browser Developer’s Guide for Yealink IP Phones
Parameter
Position
Type
Value
Description
TextMenu screen until
pressing the “Exit” soft
key. Default value is 45.
Define the URI to be
called when the user
cancelActi
on
cancels the XML object.
Root tag
optional
URI
(for
SIP-T28P/T26P/T23(P/G)/T2
2(P)/T21(P)/T4X IP phones
only)
If it is set to “yes”, the
phone ignores specified
function key events.
LockIn
Root tag
optional
“yes”
Default value is “no”. For
“no”
more information, refer
to the function keys and
soft keys table shown
next.
Title
Body
mandatory
string
The title of the text menu.
Whether to display the
title of the menu in
multi-lines when the
wrap
Title tag
optional
“yes”
“no”
content of the title is
more than one line.
Select “yes” to display in
multi-lines, and “no” for
one line. Default value is
“yes”.
The element of the menu
MenuItem
Body
mandatory
none
item.
(Up to 30 instances,
minimum is 1)
Prompt
MenuItem
body
mandatory
string
The label of the menu
item.
URI to be used if the user
URI
MenuItem
body
presses the “Select” soft
mandatory
URI
key or “OK/√” key with
the cursor on this menu
item.
12
Yealink IP Phone XML Objects
Parameter
Position
Type
Value
Description
Define what number will
be dialed when the user
Dial
MenuItem
body
optional
Phone
number
picks up the handset, or
presses the
speakerphone key or the
line key.
If “URI” is set to an HTTP
URL, the “?selection= xxx
(defined by the Selection
parameter)" will be
appended to the URI
when the user presses
the “Select” soft key or
the OK/√ key (not
locked).
Note: If a “?” already
exists in the URI, then a
“&” is used to separate
the URI and the Selection
parameters. The
parameter name
“selection” is automatic.
If the Selection attribute
Selection
MenuItem
body
optional
string
is omitted, then nothing
extra is appended to the
URI. If the Selection
parameter has more
than one parameter,
then these parameters
are appended to the
URI.
(e.g., if “URI” is set to
http://10.1.0.105/menu1.x
ml? and “Selection” is set
to 0&menu_pos=1, the
phone will send a
request
“http://10.1.0.105/menu1.
xml?&selection=0&menu
_pos=1” when the user
presses the “Select” soft
key.)
13
XML Browser Developer’s Guide for Yealink IP Phones
Parameter
Position
Type
Value
Description
Refer to Customizable
SoftKey
Body
optional
string
Soft keys for more
information.
If there is no soft key defined in the TextMenu object, the LCD screen displays the
following default soft keys:
For SIP-T28P/T26P/T23 (P/G)/T22 (P)/T21 (P)/T19 (P)/T46G/T42G/T41P IP phones:
SoftKey Index
Label
URI
1
Exit
SoftKey:Exit
4
Select
SoftKey:Select
SoftKey Index
Label
URI
1
Select
SoftKey:Select
For SIP-T48G IP phones:
The function keys and soft keys are listed in the following table:
Key Name
Operation
Up/Down
Pressing the
Key
up/down keys
Left/Right
Pressing the left/right
Key
keys
Function
Highlight the menu item up and down.
Turn pages.
If the value of the LockIn is “no”, the
function of the digit key is highlighting a
menu item. Only for SIP-T48G: If you press
the digit that exceeds the maximum of
the menu items of the current page, the
Digit Key
Pressing the digit
keys 1~9
phone will be no response.
If the value of the LockIn is “yes”, the
phone will be no response.
Note: IP phones support one-digit number
only. If you press the digit that exceeds
the maximum of the menu items, the
phone will be no response.
Select
Exit
14
Pressing the Select
soft key
Pressing the Exit soft
key
Execute the content of the URI field
assigned to the selected menu item.
Exit from the current XML screen.
Yealink IP Phone XML Objects
Key Name
Operation
Function
If the value of the LockIn is “no” and there
is a number contained in the Dial tag, the
phone will dial out the number.
If the value of the LockIn is “no” and there
is no number contained in the Dial tag:
For pressing the line key, the phone will
be no response (not applicable to SIP-T19
(P) IP phones).
For off hook and pressing hands-free key,
the phone will enter the pre-dialing
Off-hook/
Off hook
Line Key/
Hands-free
Key
Pressing the line
key/Hands-free key
screen.
If the value of the LockIn is “yes” and
there is a number contained in the Dial
tag:
For off hook and pressing the line key (not
applicable to SIP-T19 (P) IP phones), the
phone will dial out the number.
For pressing hands-free key, the phone
will be no response to any operation.
If the value of the LockIn is “yes” and
there is no number contained in the Dial
tag, the phone will be no response to any
operation.
If “cancelAction” is not left blank, the
function of “X” key is calling the URI
Cancel Key
Pressing the “X” key
defined by “cancelAction”.
If “cancelAction” is left blank, the function
of “X” key is returning to the idle screen.
(not applicable to SIP-T19 (P) IP phones)
OK Key/√
Pressing the “OK/√”
key
The function of “OK/√” key is the same as
that of “Select”.
An example of the TextMenu object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneTextMenu
style="numbered"
Beep="no"
Timeout="30"
15
XML Browser Developer’s Guide for Yealink IP Phones
LockIn="no">
<Title wrap="yes">Phone Services</Title>
<MenuItem>
<Prompt>Ask Google</Prompt>
<URI>http://10.2.11.158/yealink/google/google.php?user=</URI>
<Dial>456</Dial>
<Selection>12345</Selection>
</MenuItem>
<MenuItem>
<Prompt>CNN News</Prompt>
<URI>http://10.2.11.158/yealink/rss/rss.php?feed=cnn</URI>
<Dial>1001</Dial>
<Selection>4567</Selection>
</MenuItem>
</YealinkIPPhoneTextMenu>
In the example, with the first menu item selected and taking SIP-T28P IP phone for
reference:

Picking up handset, the phone will dial “456” using the first available account.

Pressing the hands-free key, the phone will dial “456” using the first available
account.

Pressing the first line key, the phone will dial “456” using the corresponding
account.

Pressing the Select soft key or OK key, the phone will call
http://10.2.11.158/yealink/google/google.php?user=&selection=12345.
The screenshot of the SIP-T28P IP phone user interface for reference is shown as below:
16
Yealink IP Phone XML Objects
The screenshot of the SIP-T48G IP phone user interface for reference is shown as below:
The screenshot of the SIP-T46G IP phone user interface for reference is shown as below:
The TextScreen object allows users to display some texts on the IP phones.
XML description of the TextScreen object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneTextScreen
Beep = "yes/no"
doneAction = "URI"
Timeout = "integer"
cancelAction = "URI"
LockIn = "yes/no">
<Title wrap = "yes/no">Text Title</Title >
<Text>The screen text goes here</Text>
<!--Additional soft key items may be added -->
</YealinkIPPhoneTextScreen >
17
XML Browser Developer’s Guide for Yealink IP Phones
The parameters of the TextScreen object are listed in the following table:
Parameter
Position
Type
Value
Root tag
mandatory
none
YealinkIPPh
oneTextScr
een
Description
The root element of the
TextScreen object.
Whether to play a tone
Beep
Root tag
optional
“yes”
when the XML object is
“no”
opened. Default value
is “yes”.
Define the URI to be
doneAction
Root tag
optional
URI
called when the user
presses the “OK/√” key.
If there is no operation
at a fixed interval (in
seconds) on the phone,
the phone will
automatically exit from
Timeout
Root tag
optional
“integer”
the TextScreen screen.
If it is set to 0, the
phone will not exit from
the TextScreen screen
until pressing the “Exit”
soft key. Default value
is 45.
cancelActi
on
Define the URI to be
Root tag
optional
URI
called when the user
cancels the XML object.
If it is set to “yes”, the
phone ignores
specified function key
LockIn
Root tag
optional
“yes”
events. Default value is
“no”
“no”. For more
information, refer to the
function keys and soft
keys table shown next.
18
Title
Body
mandatory
wrap
Title tag
optional
string
“yes”
“no”
The title of the screen
text.
Whether to display the
title in multi-lines when
the content of the title is
Yealink IP Phone XML Objects
Parameter
Position
Type
Value
Description
more than one line.
Select “yes” display in
multi-lines, and “no” for
one line. Default value
is “yes”.
The content of the
Text
Body
mandatory
screen text.
string
(Text length must be
within 2000 bytes.)
Refer to Customizable
SoftKey
Body
optional
Soft keys for more
string
information.
If there is no soft key defined in the TextScreen object, the LCD screen displays the
following default soft key (the SIP-T48G IP phone does not display the soft key):
For SIP-T28P/T26P/T23 (P/G)/T22 (P)/T21 (P)/T19 (P)/T46G/T42G/T41P IP phones:
SoftKey Index
Label
URI
1
Exit
SoftKey:Exit
The function keys and soft keys are listed in the following table:
Key Name
Operation
Up/Down
Pressing the
Key
up/down keys
Function
For SIP-T28P/T26P/ T23 (P/G)/T22 (P)/T21 (P)/T19
(P)/T46G/T42G/T41P: Browse texts line by line.
For SIP-T48G: Turn pages.
For SIP-T46G:
Left/Right
Pressing the
Key
left/right keys
Turn pages.
(not applicable to
SIP-T20(P)/T21(P)/T22(P)/T23(P/G)/T19(P)/T48G/T4
2G/T41P IP phones)
Exit
Pressing the Exit
soft key
Exit from the current XML screen.
If the value of the LockIn is “no”, the phone will
enter pre-dialing screen.
Off-hook/
Off hook
Line Key/
Pressing the line
If the value of the LockIn is “yes”, the phone will
Hands-free
key/ Hands-free
be no response to any operation.
Key
key
Note: Pressing the line key is not applicable to
SIP-T19 (P) IP phones.
19
XML Browser Developer’s Guide for Yealink IP Phones
Key Name
Operation
Function
If “cancelAction” is not left blank, the function of
“X” key is calling the URI defined by
Cancel Key
Pressing the “X”
key
“cancelAction”.
If “cancelAction” is left blank, the function of “X”
key is returning to the idle screen.
(not applicable to SIP-T19(P) IP phones)
OK/√ Key
Pressing the
The function of “OK/√” key is calling the URI
“OK/√” key
defined by “doneAction”.
An example of the TextScreen object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneTextScreen
doneAction="http://10.2.11.158/ cancel.php"
Timeout="15"
LockIn="no"
Beep="no">
<Title wrap="yes">Screen Title </Title>
<Text>The screen text goes here. When you see this, congratulations to you complete
the configuration.</Text>
</YealinkIPPhoneTextScreen>
The screenshot of the SIP-T28P IP phone user interface for reference is shown as below:
20
Yealink IP Phone XML Objects
The screenshot of the SIP-T48G IP phone user interface for reference is shown as below:
The screenshot of the SIP-T46G IP phone user interface for reference is shown as below:
21
XML Browser Developer’s Guide for Yealink IP Phones
The InputScreen object allows users to create a screen capable of gathering user input.
It constructs and displays an input form, which prompts the users to input content, then
sends the input content to the target URL. You can use InputScreen object for user login
or saving some information to server. You can define the content and format of the
input content.
XML description of the InputScreen object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneInputScreen
type = "IP/string/number/timeUS/timeInt/dateUS/dateInt”
Beep = "yes/no"
Password = "yes/no"
Timeout = "integer"
LockIn = "yes/no"
inputLanguage = "English"
cancelAction= "URL"
displayMode = "normal/condensed"
defaultIndex = "integer">
<Title wrap = "yes/no">Title string</Title>
<URL>Target receiving the input</URL>
<InputField
type = "IP/string/number/timeUS/timeInt/dateUS/dateInt/empty"
password = "yes/no"
editable = "yes/no">
<Prompt>Guidance for the input</Prompt>
<URL>Target receiving the input</URL>
<Parameter> parameter name add to URL</Parameter>
<Selection>Selection</Selection>
<Default>Default Value</Default>
</InputField>
<!--Additional input field Items may be added -->
<!--Additional soft key items may be added -->
</YealinkIPPhoneInputScreen >
22
Yealink IP Phone XML Objects
The parameters of the InputScreen object are listed in the following table:
Parameter
Position
Type
Value
Root tag
mandatory
none
YealinkIPPh
oneInputSc
reen
Description
The root element of the
InputScreen object.
Specifies the type of
input. Data input options:
1. IP
2. string(default)
3. number
4. timeUS, 12hour format
Format:
HH:MM:SS AM/PM
HH:1-12, MM:0-59, SS:0-59
AM/PM stand for the
forenoon/afternoon.
Example:
“IP”
“string”
“number”
type
Root tag
mandatory
“timeUS”
“timeInt”
“dateUS”
“dateInt”
02:00:23 AM
12:59:00 PM
5. timeInt, 24 hour format
Format:
HH:MM:SS
HH:0-23, MM:0-59, SS:0-59
Example:
23:25:00
6. dateUS
Format:
MM/DD/YYYY
MM:1-12,DD:1-31,YYYY:000
0-9999
Example:
12/31/2009
7. dateInt
Format:
DD/MM/YYYY
DD:1-31,MM:1-12,YYYY:000
0-9999
23
XML Browser Developer’s Guide for Yealink IP Phones
Parameter
Position
Type
Value
Description
Example:
31/01/2010
Note: The value in the
root tag takes effect only
if that in the InputField
tag is left blank.
Whether to play a tone
Beep
Root tag
optional
“yes”
when the XML object is
“no”
opened. Default value is
“yes”.
Whether to mask the
input by the “*”
character. Default value
Password
Root tag
optional
“yes”
“no”
is “no”.
Note: It applies to all
input fields and takes
effect only if that in the
InputField tag is left
blank.
If there is no operation at
a fixed interval (in
seconds) on the phone,
the phone will
automatically exit from
Timeout
Root tag
optional
“integer”
the InputScreen screen. If
it is set to 0, the phone
will not exit from the
InputScreen screen until
pressing the “Exit” soft
key. Default value is 45.
If it is set to “yes”, the
phone ignores specified
LockIn
Root tag
optional
“yes”
“no”
function key events.
Default value is “no”. For
more information, refer to
the function keys and soft
keys table shown next.
InputLangu
age
24
The language of user
Root tag
optional
“English”
input. Default value is
English.
Yealink IP Phone XML Objects
Parameter
Position
Type
Value
Description
Define the URI to be
called when the user
cancelActi
on
cancels the XML object.
Root tag
optional
URI
(for
SIP-T28P/T26P/T23(P/G)/T2
2(P)/T21(P)/T4X IP phones
only)
normal (default): Display
the prompt and input box
in two lines.
condensed: Display the
displayMo
de
Root tag
optional
“normal”
prompt and input box in
“condense
one line. (not applicable
d”
to
SIP-T26P/T23(P/G)/T22(P)/T
21(P)/T20(P)
/T19(P)/T42G/T41P IP
phones)
Position of the cursor. If
the value is not specified
defaultInde
x
or exceeds the number of
Root tag
optional
integer
input boxes, the cursor is
positioned on the first
input box. Default value is
1.
Title
Body
mandatory
string
The title of the screen
text.
Whether to display the
title in multi-lines when
the content of the title is
wrap
Title tag
optional
“yes”
more than one line.
“no”
Select “yes” display in
multi-lines, and “no” for
one line. Default value is
“yes”.
Specify the target URL to
URL
Body
mandatory
URL
InputField
Body
optional
none
Set several input boxes.
type
InputField
optional
“IP”
Specifies the type of
receive the user input.
25
XML Browser Developer’s Guide for Yealink IP Phones
Parameter
Position
tag
Type
Value
Description
“string”
input. Data input options:
“number”
1. IP
“timeUS”
2. string(default)
“timeInt”
3. number
“dateUS”
4. timeUS, 12hour format
“dateInt”
Format:
HH:MM:SS AM/PM
HH:1-12, MM:0-59, SS:0-59
AM/PM stand for the
forenoon/afternoon.
Example:
02:00:23 AM
12:59:00 PM
5. timeInt, 24 hour format
Format:
HH:MM:SS
HH:0-23, MM:0-59, SS:0-59
Example:
23:25:00
6. dateUS
Format:
MM/DD/YYYY
MM:1-12,DD:1-31,YYYY:000
0-9999
Example:
12/31/2009
7. dateInt
Format:
DD/MM/YYYY
DD:1-31,MM:1-12,YYYY:000
0-9999
Example:
31/01/2010
Note: The value in the
InputField tag has a
higher priority than that in
the root tag.
26
Yealink IP Phone XML Objects
Parameter
Position
Type
Value
Description
Whether to mask the
input by the “*”
character. Default value
password
InputField
tag
optional
“yes”
is “no”.
“no”
Note: The value in the
Inputfield tag has a
higher priority than that in
the root tag.
Whether to allow users to
input something. Default
value is “yes”. Users can
not input anything if it is
set to “no”.
editable
InputField
tag
optional
“yes”
Applicable scenario: only
“no”
allow some users to login.
Note: If the value of the
LockIn is “yes”, users can
not input anything no
matter what you set
“editable” to.
Prompt
InputField
body
optional
string
The prompt of user input.
Name of parameter to be
appended to the URL.
The “?parameter name=
the user input” will be
appended to the URL
when the user presses
the “Select” soft key or
Parameter
InputField
body
mandatory
string
the OK/√ key (not
locked).
Note: If a “?” already
exists in the URL, then a
“&” is used to separate
the parameters. If the
“Parameter” is omitted,
then nothing extra is
appended to the URL.
Selection
InputField
body
optional
string
The “selection= the value
of the Selection
27
XML Browser Developer’s Guide for Yealink IP Phones
Parameter
Position
Type
Value
Description
parameter" will also be
appended to the URL
when the user presses
the “Select” soft key or
the OK/√ key (not
locked).
Note: The parameter
name “selection” is
automatic. If the
Selection parameter is
omitted, then nothing
extra is appended.
Default value to be
displayed in input field.
If “Default” is left blank,
InputField
Default
body
the input field will be
optional
string
automatically filled with
corresponding data
when the type is set to
“timeUS”, “timeInt”,
“dateUS” or “dateInt”.
The soft keys displayed
will change according to
the attribute value of
SoftKey
Body
optional
string
type.
Refer to Customizable
Soft keys for more
information.
Note
The InputField parameter in the XML file is optional. You can use this parameter to
customize more input fields on the IP phone.
If there is no soft key defined in the InputScreen object, and the Type for input box is
“IP”, the LCD screen displays the following default soft keys:
For SIP-T28P/T26P/T23 (P/G)/T22 (P)/T21 (P)/T19 (P)/T46G/T42G/T41P IP phones:
28
SoftKey Index
Label
URI
1
Submit
SoftKey:Submit
2
Dot
SoftKey:Dot
3
BackSpace
SoftKey:BackSpace
Yealink IP Phone XML Objects
SoftKey Index
Label
URI
4
Exit
SoftKey:Exit
SoftKey Index
Label
URI
1
Dot
SoftKey:Dot
2
BackSpace
SoftKey:BackSpace
3
Submit
SoftKey:Submit
For SIP-T48G IP phones:
If there is no soft key defined in the InputScreen object, and the Type for input box is
“timeUS”, “timeInt”, “dateUS” or “dateInt”, the LCD screen displays the following
default soft keys:
For SIP-T28P/T26P/T23 (P/G)/T22 (P)/T21 (P)/T19 (P)/T46G/T42G/T41P IP phones:
SoftKey Index
Label
URI
1
Submit
SoftKey:Submit
2
2aB
SoftKey:ChangeMode
3
BackSpace
SoftKey:BackSpace
4
Exit
SoftKey:Exit
SoftKey Index
Label
URI
1
2aB
SoftKey:ChangeMode
2
BackSpace
SoftKey:BackSpace
3
Submit
SoftKey:Submit
For SIP-T48G IP phones:
If there is no soft key defined in the InputScreen object, and the Type for input box is
“number”, the LCD screen displays the following default soft keys:
For SIP-T28P/T26P/T23 (P/G)/T22 (P)/T21 (P)/T19 (P)/T46G/T42G/T41P IP phones:
SoftKey Index
Label
URI
1
Submit
SoftKey:Submit
2
BackSpace
SoftKey:BackSpace
4
Exit
SoftKey:Exit
29
XML Browser Developer’s Guide for Yealink IP Phones
For SIP-T48G IP phones:
SoftKey Index
Label
URI
1
BackSpace
SoftKey:BackSpace
2
Submit
SoftKey:Submit
If there is no soft key defined in the InputScreen object, and the Type for input box is
“string”, the LCD screen displays the following default soft keys:
For SIP-T28P/T26P/T23 (P/G)/T22 (P)/T21 (P)/T19 (P)/T46G/T42G/T41P IP phones:
SoftKey Index
Label
URI
1
Submit
SoftKey:Submit
2
2aB
SoftKey:ChangeMode
3
BackSpace
SoftKey:BackSpace
4
Dot
SoftKey:Dot
5
NextSpace
SoftKey:NextSpace
6
Exit
SoftKey:Exit
SoftKey Index
Label
URI
1
2aB
SoftKey:ChangeMode
2
BackSpace
SoftKey:BackSpace
3
Dot
SoftKey:Dot
4
NextSpace
SoftKey:NextSpace
5
Submit
SoftKey:Submit
For SIP-T48G IP phones:
The function keys and soft keys are listed in the following table:
Key Name
Operation
Up/Down
Pressing the
Key
up/down keys
Left/Right
Pressing the Left
Key
/right keys
Keypad
30
Highlight the input box up and down.
Move the cursor left and right.
Pressing the digit
If the value of the LockIn is “no” and the
keys 1~9, * and #
value of the “editable” is "yes", then input
keys
BackSpace
Function
Pressing the
character; otherwise no response.
Delete the character before the cursor in the
Yealink IP Phone XML Objects
Key Name
Dot
Submit
Exit
Operation
Function
BackSpace soft key
input box.
Pressing the Dot soft
Input a “.” in the input box at the cursor
key
Pressing the Submit
soft key
Pressing the Exit soft
key
position.
Execute the command comprised of the URI
and input content.
Exit from the current XML screen.
For SIP-T41P/T42G:
Input mode switch, e.g., switch the input
mode among “2aB”, “Abc”, “ABC”, “abc” or
2aB
Pressing the 2aB
soft key
“123”.
For
SIP-T48G/T46G/T28P/T26P/T23(P/G)/T22(P)/T21
(P)/T19(P):
Input mode switch, e.g., switch the input
mode among “2aB”, “ABC”, “abc” or “123”.
NextSpace
Pressing the
NextSpace soft key
Input a space in the input box at the cursor
position.
If the value of the LockIn is “no”, the phone
Off-hook/
Line Key/
Hands-free
Key
Off hook
Pressing the line
key/Hands-free key
will enter pre-dialing screen.
If the value of the LockIn is “yes”, the phone
will be no response to any operation.
Note: Pressing the line key is not applicable
to SIP-T19 (P) IP phones.
If “cancelAction” is not left blank, the function
of “X” key is calling the URI defined by
Cancel Key
Pressing the “X” key
“cancelAction”.
If “cancelAction” is left blank, the function of
“X” key is returning to the idle screen.
(not applicable to SIP-T19 (P) IP phones)
OK/√ Key
Pressing the “OK/√”
key
The function of “OK/√” key is the same as
that of “Submit”.
An example of the InputScreen object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneInputScreen
type="string"
31
XML Browser Developer’s Guide for Yealink IP Phones
Beep="yes"
Timeout="15"
LockIn="no">
<Title wrap="yes">Proxy Server</Title>
<URL>http://10.3.5.5/</URL>
<InputField>
<Prompt>User Name:</Prompt>
<Parameter>proxy</Parameter>
<Default></Default>
<Selection>1</Selection>
</InputField>
<InputField>
<Prompt>Password:</Prompt>
<Parameter>proxy</Parameter>
<Default></Default>
<Selection>2</Selection>
</InputField>
</YealinkIPPhoneInputScreen>
In this example, when the user presses the Submit soft key or OK/√ key on the phone
after entering “admin” for the User Name and “222” for the password, the phone will
call the following URLs:

http://10.3.5.5/?proxy=admin&proxy=222&selection=1, if the position of the cursor
is located in the User Name input box.

http://10.3.5.5/?proxy=admin&proxy=222&selection=2, if the position of the cursor
is located in the Password input box.
The screenshot of the SIP-T28P IP phone user interface for reference is shown as below:
32
Yealink IP Phone XML Objects
The screenshot of the SIP-T48G IP phone user interface for reference is shown as below:
The screenshot of the SIP-T46G IP phone user interface for reference is shown as below:
You can press the More soft key to find more soft keys.
The Directory object allows users to browse an online directory in real time. The
Directory object is just like a remote phonebook. It displays an automatically
numbered list of contacts. After selecting a contact with the cursor, the contact can be
dialed directly by pressing the “Send/Dial” soft key, picking up the handset or pressing
the line key or the speakerphone key.
XML description of the Directory object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneDirectory
defaultIndex = "integer"
next = "URI"
previous = "URI"
Beep = "yes/no"
33
XML Browser Developer’s Guide for Yealink IP Phones
cancelAction="URI"
Timeout = "integer"
LockIn = "yes/no">
<Title wrap = "yes/no">Directory Title</Title>
<MenuItem>
<Prompt>Contact Name</Prompt>
<URI>number</URI>
</MenuItem>
<!--Additional Menu Items may be added -->
<!--Additional soft key items may be added -->
</YealinkIPPhoneDirectory>
The parameters of the Directory object are listed in the following table:
Parameter
Position
Type
Value
Root tag
mandatory
none
YealinkIPPh
oneDirecto
ry
Description
The root element of the
Directory object.
Position of the cursor. If
the value is not specified
defaultInde
x
or exceeds the number
Root tag
optional
Integer
of menu items, the cursor
will position on the first
menu item. Default value
is 1.
Define the URI to be
next
Root tag
optional
URI
called when the user
presses the “Next” soft
key.
Define the URI to be
previous
Root tag
optional
URI
executed when the user
presses the “Previous”
soft key.
Whether to play a tone
Beep
Root tag
optional
“yes”
when the XML object is
“no”
opened. Default value is
“yes”.
cancelActi
on
34
Define the URI to be
Root tag
optional
URI
called when the user
cancels the XML object.
Yealink IP Phone XML Objects
Parameter
Position
Type
Value
Description
(for
SIP-T28P/T26P/T23(P/G)/T2
2(P)/T21(P)/T4X IP phones
only)
If there is no operation at
a fixed interval (in
seconds) on the phone,
the phone will
automatically exit from
Timeout
Root tag
optional
“integer”
the Directory screen. If it
is set to 0, the phone will
not exit from the
Directory screen until
pressing the “Exit” soft
key. Default value is 45.
If it is set to “yes”, the
phone ignores specified
function key events.
LockIn
Root tag
optional
“yes”
Default value is “no”. For
“no”
more information, refer
to the function keys and
soft keys table shown
next.
Title
Body
mandatory
string
The title of the address
book.
Whether to display the
title in multi-lines when
the content of the title is
wrap
Title tag
optional
“yes”
more than one line.
“no”
Select “yes” display in
multi-lines, and “no” for
one line. Default value is
“yes”.
Address item.
MenuItem
Body
mandatory
none
(Value ranges from 1 to
30.)
Prompt
URI
MenuItem
body
MenuItem
mandatory
string
mandatory
URI
The prompt of address
item.
The operation of address
item, such as the
35
XML Browser Developer’s Guide for Yealink IP Phones
Parameter
Position
Type
Value
body
Description
telephone number.
Refer to Customizable
SoftKey
Body
optional
string
Soft keys for more
information.
If there is no soft key defined in the Directory object, the LCD screen displays the
following default soft keys:
For SIP-T28P/T26P/T23 (P/G)/T22 (P)/T21 (P)/T19 (P)/T46G/T42G/T41P IP phones:
SoftKey
URI
Label
Index
Send (For
SoftKey:Dial
SIP-T28P/T26P/T22(P)/T21(P)/T19(P)/T46G/T42G/T41P
IP phones)
1
Dial (For SIP-T23(P/G) IP phones)
SoftKey:Previous
2
Execute the URI
Previous
defined by
“Previous”.
SoftKey:Next
3
Execute the URI
Next
defined by
“Next”.
4
Exit
SoftKey:Exit
For SIP-T48G IP phones:
SoftKey Index
Label
1
Send
2
Previous
3
Next
URI
SoftKey:Dial
SoftKey:Previous
Execute the URI defined by “Previous”.
SoftKey:Next
Execute the URI defined by “Next”.
The function keys and soft keys are listed in the following table:
36
Key Name
Operation
Up/Down
Pressing the
Key
up/down keys
Function
Highlight a contact up and down.
Yealink IP Phone XML Objects
Key Name
Operation
Left/Right
Pressing the
Key
left/right keys
Function
Turn pages.
If the value of the LockIn is “no”, the function of
the digit key is highlighting a contact. Only for
SIP-T48G: If you press the digit that exceeds the
maximum of the contact items of the current
Digit Key
Pressing the digit
keys 1~9
page, the phone will be no response.
If the value of the LockIn is “yes”, the phone will
be no response.
Note: IP phones support one-digit number only.
If you press the digit that exceeds the maximum
of the menu items, the phone will be no
response.
Send
Previous
Next
Exit
Pressing the
Send/Dial soft key
Pressing the
Previous soft key
Pressing the Next
soft key
Pressing the Exit
soft key
Dial out the number of the highlighted contact.
Execute the URI defined by “Previous”.
Execute the URI defined by “Next”.
Exit from the current XML screen.
If the value of the LockIn is “no” and there is a
number contained in the URI tag, the phone will
dial out the number.
If the value of the LockIn is “no” and there is no
number contained in the URI tag:
For pressing the line key, the phone will be no
Off-hook/
Off hook
Line Key/
Pressing the line
Hands-fre
key/Hands-free
e Key
key
response (not applicable to SIP-T19 (P) IP
phones).
For off hook and pressing hands-free key, the
phone will enter the pre-dialing screen.
If the value of the LockIn is “yes” and there is a
number contained in the URI tag:
For off hook and pressing the line key (not
applicable to SIP-T19 (P) IP phones), the phone
will dial out the number.
For pressing hands-free key, the phone will be
no response to any operation.
37
XML Browser Developer’s Guide for Yealink IP Phones
Key Name
Operation
Function
If the value of the LockIn is “yes” and there is no
number contained in the URI tag, the phone will
be no response to any operation.
If “cancelAction” is not left blank, the function of
“X” key is calling the URI defined by
Cancel
Pressing the “X”
Key
key
“cancelAction”.
If “cancelAction” is left blank, the function of “X”
key is returning to the idle screen.
(not applicable to SIP-T19 (P) IP phones)
OK/√ Key
Pressing the
The function of “OK/√” key is the same as that of
“OK/√” key
“Send/Dial”.
An example of the Directory object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneDirectory
defaultIndex="1"
next="http://10.3.5.198/ImageMenu.xml"
previous="http://10.3.5.198/ImageScreen.xml"
cancelAction="http://10.3.5.198/TextScreen.xml"
Timeout="15"
LockIn="no">
<Title>My Directory</Title>
<MenuItem>
<Prompt>Joy</Prompt>
<URI>10.2.11.163</URI>
</MenuItem>
<MenuItem>
<Prompt>John Doe</Prompt>
<URI>1003</URI>
</MenuItem>
</YealinkIPPhoneDirectory>
In the example, with the first item selected and taking SIP-T28P IP phone for reference:
38

Picking up handset, the phone will dial “10.2.11.163”.

Pressing the hands-free key, the phone will dial “10.2.11.163”.

Pressing the line key, the phone will dial “10.2.11.163”.

Pressing the Previous soft key, the phone will call
Yealink IP Phone XML Objects
http://10.3.5.198/ImageScreen.xml.

Pressing the Next soft key, the phone will call http://10.3.5.198/ImageMenu.xml.

Pressing the X key, the phone will call http://10.3.5.198/TextScreen.xml.
The screenshot of the SIP-T28P IP phone user interface for reference is shown as below:
The screenshot of the SIP-T48G IP phone user interface for reference is shown as below:
The screenshot of the SIP-T46G IP phone user interface for reference is shown as below:
The Status object allows users to display a status message on a single designated line
on the phone’s idle screen when XML information is pushed from the servers. The
39
XML Browser Developer’s Guide for Yealink IP Phones
Status object can remind users of received messages, missed calls, news, notify, etc.
XML description of the Status object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneStatus
Beep = "yes/no"
SessionID="String"
Timeout = "timeout"
>
<Message
Account = "user@server URI"
Icon= "icon index"
Size="normal/small/double/large"
Align="center/left/right"
Color="white/black/red/green/brown/blue/magenta/cyan/lightgray
/darkgray/lightred/lightgreen/yellow/lightblue/lightmagenta/lightcyan">
Message</Message>
<!--Additional Message Items may be added -->
</YealinkIPPhoneStatus>
The parameters of the Status object are listed in the following table:
Parameter
YealinkIPPh
oneStatus
Position
Type
Value
Root tag
mandatory
none
Description
The root element of the
Status object.
Whether to play a tone
Beep
Root tag
optional
“yes”
when the XML object is
“no”
opened. Default value is
“yes”.
Session ID is used to mark
different Status Objects. It
allows message change
and message reset. For
more information, refer to
SessionID
Root tag
optional
string
remove status messages
from the display using the
same Session ID.
Note: The Session ID must
be unique to the
application sending the
40
Yealink IP Phone XML Objects
Parameter
Position
Type
Value
Description
XML object to the phone.
The time for status
information display. The
phone will automatically
exit from the status
screen at a fixed interval
(in seconds) on the
Timeout
Root tag
optional
“integer”
phone. Default value is
30.
If it is set to 0, the phone
will not exit from the
status screen until the
server sends a cancel
request or the phone
reboots.
Message to be displayed
or empty to reset the
message.
(Up to 10 instances for
SIP-T48G with small font
size.
Message
Body
optional
string
Up to 5 instances for
SIP-T46G with small font
size.
Up to 3 instances for
SIP-T28P with small font
size.
Only 1 instance for other
phone models)
Specify the registered
Account
Message
tag
account for the status.
optional
string
(To display the message,
this account must be
registered on the phone.)
Icon
Size
Message
tag
Message
tag
Forward
optional
DND
Message
optional
“normal”
“small”
Icon used to index status
message.
Font size of the text.
“small”: 12 pt
41
XML Browser Developer’s Guide for Yealink IP Phones
Parameter
Position
Type
Value
Description
“double”
“normal”: 18 pt
“large”
“double”: 24 pt
“large”: 28 pt
Default value is “normal”.
For SIP-T28P/T26P/T23
(P/G)/T22 (P)/T21 (P)/T20
(P)/T19 (P)/T42G/T41P: This
parameter will be
ignored.
Align
Message
tag
“center”
optional
Alignment of the
“left”
message display. Default
“right”
value is “left”.
“white”
“black”
“red”
“green”
“brown”
“blue”
“magenta”
Color
Message
tag
optional
“cyan”
Color of the line.
For SIP-T28P/T26P/T23
(P/G)/T22 (P)/T21 (P)/T20
(P)/T19 (P)/T42G/T41P: This
parameter will be
“lightgray”
ignored and the text
“darkgray”
displayed is always
“lightred”
black.
“lightgreen
For SIP-T48G/T46G:
” “yellow”
Default value is “black”.
“lightblue”
“lightmage
nta”
“lightcyan”
An example of the Status object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneStatus
Beep="yes"
SessionID="125"
Timeout="600">
<Message Size="large" Align="left" Color="red" Account="" Icon="Forward">Forward
42
Yealink IP Phone XML Objects
to 321</Message>
<Message Size="normal" Align="center" Color="black" Account="" Icon="DND">DND
is enabled</Message>
<Message Size="small" Align="right" Color="green" Account="" Icon="Message">1
New Message</Message>
</YealinkIPPhoneStatus>
The screenshot of the SIP-T28P IP phone user interface for reference is shown as below:
The screenshot of the SIP-T48G IP phone user interface for reference is shown as below:
The screenshot of the SIP-T46G IP phone user interface for reference is shown as below:
The status messages will be erased when the phone is restarted.
43
XML Browser Developer’s Guide for Yealink IP Phones
You can also remove status messages from the display using the same Session ID. This
can be accomplished by setting an empty tag for the Message tag. For example, here
is the XML object to remove the first message.
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneStatus
Beep="yes"
SessionID="125"
Timeout="600">
<Message/>
<Message Size="normal" Align="center" Color="black" Account="" Icon="DND">DND
is enabled</Message>
<Message Size="small" Align="right" Color="green" Account="" Icon="Message">1
New Message</Message>
</YealinkIPPhoneStatus>
The Execute object allows an external application to ask the phone to execute a
sequence of local commands using URIs. The phone will execute each specified
command in order.
XML description of the Execute object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneExecute
Beep = "yes/no">
<ExecuteItem URI = "URI"/>
<!--Additional Execute Items may be added (up to 30)-->
</YealinkIPPhoneExecute>
The parameters of the Execute object are listed in the following table:
Parameter
Position
Type
Value
Root tag
mandatory
none
YealinkIPPh
oneExecut
e
Description
The root element of the
Execute object.
Whether to play a tone
Beep
Root tag
optional
“yes”
when beginning to
“no”
execute the commands.
Default value is “yes”.
44
Yealink IP Phone XML Objects
Parameter
Position
Type
Value
Description
The operation of
command item, such as
ExecuteIte
ExecuteIte
m URI
m tag
call user, data download
mandatory
URI
from server according to
the URL, etc.
Valid values are listed in
the following tables.
Commonly used commands:
Name
URI Value
Function
Execute the object
“TextMenu.xml” from the
root directory on the
server “myserver.com”.
Note: If more than one
http(s)://myserver.com/TextMenu.xml
object is executed, we
recommend you
separate the object
which requires a reboot.
Otherwise, other objects
will not to be executed
after a reboot.
Dial out the number
using the first available
Supported
URI
account. If you execute
Dial:XXXXX
this command during an
active call, the original
call will be automatically
placed on hold.
Control the LEDs
Led:XXXX=on/off/slowflash/fastflash
according to the
commands.
Key:XXXX
Wav.Play:[tftp|http://[username[:passw
ord]@]<host>[:port][/<Path>]/<file>
Wav.Stop:[tftp|http://[username[:passw
ord]@]<host>[:port][/<Path>]/<file>
Execute XXXX key
operation.
Play the WAV file
Stop playing the WAV file
45
XML Browser Developer’s Guide for Yealink IP Phones
Name
Phone Reset
Phone Fast
Reboot
URI Value
Command: Reset
Command: Reboot
Function
Reset to the factory when
the phone is idle.
Reboot the phone when
the phone is idle.
Command: Lock
(not applicable to SIP-T48G IP phones)
Phone Lock
Note: For SIP-T20 (P)/T21 (P)/T22 (P)/T23
(P/G)/T26P/T28P/T19 (P) IP phones, you
Lock the phone key
need to enable phone lock feature in
advance.
Command: Unlock
Phone
Unlock
(not applicable to SIP-T48G IP phones)
Note: To unlock the phone key using
Unlock the phone key
this command, make sure the XML
Browser key is unlocked.
Command: ClearCallersList
Clear
Clear local call history
list.
Command: ClearDirectory
Clear contact list.
Command: ClearRedialList
Clear placed calls list.
Specification of “XXXX” in “Led:XXXX=on/off/slowflash/fastflash”:
Setting
Indicator
Example
Method
EXP-%d-%d2%s
%d: the “%d”th expansion module,
“Led:EXP-2-3-RED=on”:
value range: 1~6;
Lighten the indicator of
%d2: the “%d”th key of expansion
the third key of the
module, value range: 1~40;
second expansion
%s: the light color, values: “RED”,
module to be red.
“GREEN” and “ORANGE”.
(for EXP39 and EXP40)
LINE%d
%d: It represents the serial number of
“Led:LINE3=on”:
corresponding line key, value range:
Lighten the line key3
1~6 (for SIP-T28P), 1~3 (For
LED.
SIP-T26P/T22(P)) and 1~2 (For
SIP-T21(P)/T20(P))
(for SIP-T20(P)/T21(P)/T22(P)/T26P/T28P
IP phones)
46
Yealink IP Phone XML Objects
Setting
Indicator
Example
Method
%d: It represents the serial number of
corresponding line key, value range:
1~29 (for SIP-T48G), 1~27 (for
SIP-T46G), 1~15 (For SIP-T42G/T41P)
LINE%d_%s
and 1~3 (For SIP-T23 (P/G))
%s: The light color, values: “RED”,
“GREEN” and “ORANGE”.
(for SIP-T48G/T46G/T42G/T41P/T23(P/G)
IP phones)
MEMO%d_%s
For SIP-T48G:
“Led:LINE5_GREEN=on
”:
Lighten the line key5
background to be
green.
For others:
“Led:LINE5_GREEN=on
”: Lighten the line key5
LED to be green.
%d: It represents the memory key’s
“Led:MEMO5_GREEN
serial number, value range: 1~10.
=on”: Lighten the
%s: The light color, values: “RED”,
memory key5 LED to
“GREEN” and “ORANGE”.
be green.
(for SIP-T28P/T26P IP phones)
Message indicator LED
SMS
(for
SIP-T20(P)/T21(P)/T22(P)/T23(P/G)/T26P/T
28P IP phones)
HEADSET
HANDFREE
POWER
Headset indicator LED
(for SIP-T28P/T26P/T4X IP phones)
Hands-free indicator LED (for SIP-T4X IP
phones only)
Power indicator LED
Specification of “XXXX” in “Key:XXXX”:
Setting Method
OFF_HOOK
Indicator
Off hook
Example
Key: OFF_HOOK
On hook
ON_HOOK
(not applicable to SIP-T19(P) IP
phones)
OK
OK/√ key
X key
CANCEL
(not applicable to SIP-T20(P)/T19(P)
IP phones)
47
XML Browser Developer’s Guide for Yealink IP Phones
Setting Method
UP
DOWN
LEFT
RIGHT
Indicator
Up key
Down key
Left key
Right key
Trigger to display the volume bar
when you set the command once.
INCREASE
Increase volume when you set the
command more than once.
Note: For SIP-T48G, just trigger to
display the volume bar.
Trigger to display the volume bar
when you set the command once.
DECREASE
Decrease volume when you set
the command more than once.
Note: For SIP-T48G, just trigger to
display the volume bar.
REDIAL
Redial key
Hold the line
HOLD
(not applicable to SIP-T19(P) IP
phones)
Mute
MUTE
(not applicable to SIP-T19(P) IP
phones)
Conference
CONFERENCE
(not applicable to SIP-T19(P) IP
phones)
Transfer
TRANSFER
(not applicable to SIP-T19(P) IP
phones)
SMS
Message key
Remote phone book (for
PHONEBOOK
SIP-T48G/T46G/T42G/T41P IP
phones)
HEADSET
48
Activate the headset mode
Note: For SIP-T19 (P) IP phones, it
Example
Yealink IP Phone XML Objects
Setting Method
Indicator
Example
takes effect only when the phone
is in the idle screen.
Hands-free key
HANDFREE
Note: For SIP-T19 (P) IP phones, it
takes effect only when the phone
is in the idle screen.
Line key, 1~29 (for SIP-T48G), 1~27
(for SIP-T46G), 1~15 (for
LINE%d
SIP-T42G/T41P), 1~6 (for SIP-T28P),
1~3 (For SIP-T26P/T23 (P/G)/T22 (P))
Key:LINE2
and 1~2 (For SIP-T21 (P)/T20 (P)).
(not applicable to SIP-T19 (P))
Soft key, value 1~4
HOTKEY%d
(not applicable to SIP-T20(P) IP
phones)
MEMORY%d
KEY_%d
Memory key, 1~10 (for
SIP-T28P/T26P IP phones).
Digit key, value 0~9
‘*’ key
STAR
Note: For SIP-T19 (P) IP phones, it
takes effect only when the phone
is in the idle screen.
‘#’ key
POUND
Note: For SIP-T19 (P) IP phones, it
takes effect only when the phone
is in the idle screen.
An example of the Execute object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneExecute Beep="yes">
<ExecuteItem URI="Key:OK"/>
</YealinkIPPhoneExecute>
The IP phone enters the phone status screen.
The Configuration object allows an external application to modify configuration of the
49
XML Browser Developer’s Guide for Yealink IP Phones
IP phones dynamically. The configuration parameters are ones that are used in
configuration files (Common.cfg and Mac.cfg) detailed in Yealink IP Phones Auto
Provisioning Guide available online:
http://www.yealink.com/DocumentDownload.aspx?CateId=142&flag=142 .
XML description of the Configuration object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneConfiguration
Beep = "yes/no">
<Item>parameter= value</Item>
<!--Additional Configuration Items may be added (up to 1300)-->
</YealinkIPPhoneConfiguration>
The parameters of the Configuration object are listed in the following table:
Parameter
Position
Type
Value
Root tag
mandatory
none
YealinkIPPh
oneConfigu
ration
Description
The root element of the
Configuration object.
Whether to play a tone
Beep
Root tag
optional
“yes”
when applying the
“no”
configuration. Default
value is “yes”.
Item
Body
mandatory
none
An example of the Configuration object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneConfiguration
Beep="yes" >
<Item>account.2.enable = 1</Item>
<Item>account.2.label = 7002</Item>
<Item>account.2.display_name = 7002 </Item>
<Item>account.2.user_name = 7002</Item>
<Item>account.2.auth_name = 7002</Item>
<Item>account.2.sip_server_host = 10.2.1.199</Item>
</YealinkIPPhoneConfiguration>
The IP phone registers account 7002 on line 2.
50
Configuration item.
Yealink IP Phone XML Objects
The FormattedTextScreen object allows IP phones to display formatted (alignment,
size, color and scrolling) texts on the LCD screen.
This text is divided into the following 3 distinct blocks, any of which can be empty:

The Header block is displayed at the top of the LCD screen and contains static
text. This block can display 2-line texts at most.

The Scroll block is displayed under the Header block. How many lines of text can
be displayed on this block depends on the size of the LCD screen.

The Footer block is displayed at the bottom of the LCD screen with static text. This
block can display one line only.
XML description of the FormattedTextScreen object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneFormattedTextScreen
doneAction = "URI"
Beep = "yes/no"
Timeout = "integer"
LockIn = "yes/no">
<Line
Size="normal/small/double/large"
Align="center/left/right"
Color="white/black/red/green/brown/blue/magenta/cyan/lightgray/darkgray
/lightred/lightgreen/yellow/lightblue/lightmagenta/lightcyan"
>Header Line</Line>
<!-Additional Line may be added- ->
<Scroll>
<Line
Size="normal/small/double/large"
Align="center/left/right"
Color="white/black/red/green/brown/blue/magenta/cyan/lightgray
/darkgray/lightred/lightgreen/yellow/lightblue/lightmagenta/lightcyan"
>Scroll Line</Line>
<!-Additional Line may be added- ->
</Scroll>
<Line
Size="normal/small/double/large"
51
XML Browser Developer’s Guide for Yealink IP Phones
Align="center/left/right"
Color="white/black/red/green/brown/blue/magenta/cyan/lightgray/darkgray
/lightred/lightgreen/yellow/lightblue/lightmagenta/lightcyan"
>Footer Line</Line>
<!--Additional Line may be added-->
<!--Additional Softkey Items may be added (softkey phones) -->
</YealinkIPPhoneFormattedTextScreen >
The parameters of the FormattedTextScreen object are listed in the following table:
Parameter
Position
Type
Value
Root tag
mandatory
none
YealinkIPPh
oneFormatt
edTextScre
Description
The root element of the
FormattedTextScreen
object.
en
Define the URI to be
doneAction
Root tag
optional
URI
called when the user
presses the “OK/√” key.
Whether to play a tone
Beep
Root tag
optional
“yes”
“no”
when entering into the
FormattedTextScreen
object. Default value is
“yes”.
If there is no operation at
a fixed interval (in
seconds) on the phone,
the phone will
automatically exit from
Timeout
Root tag
optional
“integer”
the FormattedTextScreen
screen. If it is set to 0, the
phone will not exit from
the FormattedTextScreen
screen until pressing the
“Exit” soft key. Default
value is 45.
If it is set to “yes”, the
phone ignores specified
LockIn
Root tag
optional
“yes”
function key events.
“no”
Default value is “no”. For
more information, refer
to the function keys and
52
Yealink IP Phone XML Objects
Parameter
Position
Type
Value
Description
soft keys table shown
next.
Text to be displayed on
the line. If the length of
the text is too long to be
displayed on the LCD
Line
Body
mandatory
string
screen, the line will be
cropped to the last word.
The Header block can
display two lines at most,
and the Footer block can
display only one line.
Font size of the text.
“small”: 12 pt
“normal”: 18 pt
“normal”
Size
Line tag
optional
“small”
“double”
“large”
“double”: 24 pt
“large”: 28 pt
Default value is
“normal”.
For SIP-T19 (P)/T20 (P)/T21
(P)/T22 (P)/T23
(P/G)/T26P/T28P/T42G/T41
P: This parameter will be
ignored.
Alignment of the text.
Align
Line tag
optional
“center”
Default value is “center”
“left”
(for SIP-T48G IP phones).
“right”
Default value is “left” (for
other phone models).
“white”
“black”
“red”
Color
Line tag
optional
Color of the text.
For SIP-T19 (P)/T20 (P)/T21
(P)/T22 (P)/T23
(P/G)/T26P/T28P/T42G/T41
“green”
P: This parameter will be
“brown”
ignored and the text
“blue”
“magenta”
“cyan”
displayed is always
black.
For SIP-T48G/T46G:
Default value is “black”.
53
XML Browser Developer’s Guide for Yealink IP Phones
Parameter
Position
Type
Value
Description
“lightgray”
“darkgray”
“lightred”
“lightgreen
” “yellow”
“lightblue”
“lightmage
nta”
“lightcyan”
Define the scrolling
content for display. The
Scroll
Body
optional
none
Line above the Scroll is
as Header, under the
Scroll is as Footer.
Text to be displayed on
the line in the scrolled
zone. If the length of the
Line
Scroll body
optional
string
text is too long to be
displayed on the LCD
screen, the line will be
cropped to the last word.
Font size of the text.
“small”: 12 pt
“normal”: 18 pt
“normal”
Line tag
Size
nested in
optional
scroll body
“small”
“double”
“large”
“double”: 24 pt
“large”: 28 pt
Default value is
“normal”.
For SIP-T19 (P)/T20 (P)/T21
(P)/T22 (P)/T23
(P/G)/T26P/T28P/T42G/T41
P: This parameter will be
ignored.
Alignment of the text.
“center”
Line tag
Align
nested in
scroll body
optional
“left”
“right”
Default value is “center”
(for SIP-T48G/T46G IP
phones).
Default value is “left” (for
other phone models).
54
Yealink IP Phone XML Objects
Parameter
Position
Type
Value
Description
“white”
“black”
“red”
“green”
Color of the text.
“brown”
For SIP-T19 (P)/T20 (P)/T21
“blue”
(P)/T22 (P)/T23
“magenta”
Line tag
Color
nested in
optional
scroll body
(P/G)/T26P/T28P/T42G/T41
“cyan”
P: This parameter will be
“lightgray”
ignored and the text
“darkgray”
displayed is always
black.
“lightred”
“lightgreen
For SIP-T48G/T46G:
” “yellow”
Default value is “black”.
“lightblue”
“lightmage
nta”
“lightcyan”
Refer to Customizable
SoftKey
Body
optional
string
Soft keys for more
information.
If there is no soft key defined in the FormattedTextScreen object, the LCD screen
displays the following default soft key (the SIP-T48G IP phone does not display the soft
key):
SoftKey Index
Label
URI
1
Exit
SoftKey:Exit
The function keys and soft keys are listed in the following table:
Key Name
Operation
Function
For SIP-T28P/T26P/T23 (P/G)/T22 (P)/T21 (P)/T19
Up/Down
Pressing the
Key
up/down keys
(P)/T46G/T42G/T41P: Highlight texts up and
down line by line.
For SIP-T48G: Turn pages.
For SIP-T23 (P/G)/T46G:
Left/Right
Pressing the
Key
left/right keys
Turn pages.
(not applicable to SIPSIP-T19(P)/T20(P)/T21(P)/T22(P)/T26P/T28P/T48G/T
55
XML Browser Developer’s Guide for Yealink IP Phones
Key Name
Operation
Function
42G/T41P IP phones)
Exit
Pressing the ”Exit”
soft key
Exit from the current XML screen.
If the value of the LockIn is “no”, the phone will
enter pre-dialing screen.
Off-hook/
Off hook
Line Key/
Pressing the line
If the value of the LockIn is “yes”, the phone will
Hands-fre
key/Hands-free
be no response to any operation.
e Key
key
Note: Pressing the line key is not applicable to
SIP-T19 (P) IP phones.
Cancel
Pressing the “X”
Key
key
OK/√ Key
Return to the idle screen.
(not applicable to SIP-T19 (P) IP phones)
Pressing the
The function of “OK/√” key is calling the URI
“OK/√” key
defined by “doneAction”.
An example of the FormattedTextScreen object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneFormattedTextScreen
doneAction="http://10.1.0.105/menu.php"
Beep="yes"
Timeout="60"
LockIn="no">
<Line Size="large" Align="center">Header line1</Line>
<Scroll>
<Line Size="large" Align="center">Scroll line1</Line>
<Line Align="left" Color="black">Scroll line2</Line>
<Line Size="small" Align="right" Color="white">Scroll line3</Line>
</Scroll>
<Line Size="small" Align="right" Color="white">Footer line1</Line>
</YealinkIPPhoneFormattedTextScreen>
In this example, when you press the OK key, the phone will call
http://10.1.0.105/menu.php.
If you use the SIP-T19 (P) IP phone, you should press
56
key.
Yealink IP Phone XML Objects
The screenshot of the SIP-T28P IP phone user interface for reference is shown as below:
The screenshot of the SIP-T48G IP phone user interface for reference is shown as below:
The screenshot of the SIP-T46G IP phone user interface for reference is shown as below:
57
XML Browser Developer’s Guide for Yealink IP Phones
The ImageScreen object allows users to display simple image on the IP phones. The
user can specify where the image should be placed by setting horizontal and vertical
alignment of the upper left hand corner, along with the height and width of the image.
Note
For SIP-T28P, SIP-T26P, SIP-T23 (P/G), SIP-T22 (P), SIP-T21 (P), SIP-T19 (P), SIP-T42G and
SIP-T41P IP phones, the image is a “dob” file, which is specified as a series of
hexadecimal characters. For more information on converting a “dob” file to
hexadecimal string, refer to Customizing an Image File on page 97.
For SIP-T46G and SIP-T48G IP phones, the image is a “jpg”, “bmp” or “png” file located
on a server, which can be downloaded by the phone.
XML description of the ImageScreen object:
<YealinkIPPhoneImageScreen
doneAction = "URI"
Beep = "yes/no"
Timeout = "integer"
LockIn = "yes/no"
mode="regular/fullscreen">
<Image
horizontalAlign="right/middle/left"
verticalAlign="top/middle/bottom"
height="integer"
width="integer"
>Image as hexadecimal characters or URL</Image>
<!--Additional Softkey Items may be added -->
</YealinkIPPhoneImageScreen>
The parameters of the ImageScreen object are listed in the following table:
Parameter
Position
Type
Value
Root tag
mandatory
none
YealinkIPPh
oneImageS
creen
Description
The root element of the
ImageScreen object.
Define the URI to be
doneAction
Root tag
optional
URI
called when the user
presses the “OK” key.
Beep
58
Root tag
optional
“yes”
Whether to play a tone
“no”
when the XML object is
Yealink IP Phone XML Objects
Parameter
Position
Type
Value
Description
opened. Default value is
“yes”.
If there is no operation at
a fixed interval (in
seconds) on the phone,
the phone will
automatically exit from
Timeout
Root tag
optional
“integer”
the ImageScreen screen.
If it is set to 0, the phone
will not exit from the
ImageScreen screen until
pressing the “Exit” soft
key. Default value is 45.
If it is set to “yes”, the
phone ignores specified
LockIn
Root tag
optional
“yes”
“no”
function key events.
Default value is “no”. For
more information, refer to
the function keys and soft
keys table shown next.
The display mode of the
Mode
Root tag
optional
“regular”
“fullscreen”
image. If not specified,
the default value is
“regular”.
Image as hexadecimal
characters (for
Image
Body
mandatory
string
SIP-T28P/T26P/T23
(P/G)/T22 (P)/T21 (P)/T19
(P)/T42G/T41P) or URL (for
SIP-T48G/T46G).
horizontalA
lign
verticalAlig
n
Image tag
Image tag
optional
optional
“left”
Vertical position of the
“middle”
image. Default value is
“right”
“middle”.
“top”
Horizontal position of the
“middle”
image. Default value is
“bottom”
“middle”.
mandatory
height
Image tag
(For
SIP-T28P/T2
integer
Height in pixels. Must
match the image height.
6P/T23
59
XML Browser Developer’s Guide for Yealink IP Phones
Parameter
Position
Type
Value
Description
(P/G)/T22
(P)/T21
(P)/T19
(P)/T42G/T4
1P)
mandatory
(For
SIP-T28P/T2
6P/T23
width
Image tag
(P/G)/T22
Width in pixels. Must
integer
match the image width.
(P)/T21
(P)/T19
(P)/T42G/T4
1P)
Refer to Customizable
SoftKey
Body
optional
Soft keys for more
string
information.
If there is no softkey defined in the ImageScreen object, the LCD screen displays the
following default soft key (the SIP-T48G IP phone does not display the soft key):
For SIP-T28P/T26P/T23 (P/G)/T22 (P)/T21 (P)/T19 (P)/T46G/T42G/T41P IP phones:
SoftKey Index
Label
URI
1
Exit
SoftKey:Exit
The function keys and soft keys are listed in the following table:
Key Name
Exit
Operation
Pressing the Exit
soft key
Function
Exit from the current XML screen.
If the value of the LockIn is “no”, the phone will
Off-hook/
Off hook
enter pre-dialing screen.
Line Key/
Pressing the line
If the value of the LockIn is “yes”, the phone will
Hands-fre
key/Hands-free
be no response to any operation.
e Key
key
Note: Pressing the line key is not applicable to
SIP-T19 (P) IP phones.
60
Cancel
Pressing the “X”
Key
key
OK Key
Pressing the “OK”
Return to the idle screen.
(not applicable to SIP-T19 (P) IP phones)
The function of “OK” key is calling the URI
Yealink IP Phone XML Objects
Key Name
Operation
key
Function
defined by “doneAction”.
An example of the ImageScreen object (for SIP-T28P/T26P/T23 (P/G)/T22 (P)/T21 (P)/T19
(P)/T42G/T41P):
<YealinkIPPhoneImageScreen
doneAction="http://10.1.0.105/menu.php"
Beep="yes"
Timeout="120"
LockIn="no"
mode="regular">
<Image
verticalAlign="middle"
horizontalAlign=" middle "
height="12"
width="8">
00555500005555000000000000aaaa0000aaaa0000ffff0000ffff0000ffff00fffffffff0ffff0f00ffff0
000f00f00</Image>
</YealinkIPPhoneImageScreen>
In this example, when you press the OK key, the phone will call
http://10.1.0.105/menu.php.
If you use the SIP-T19 (P) IP phone, you should press
key.
The screenshot of the SIP-T28P IP phone user interface for reference is shown as below:
An example of the ImageScreen object (for SIP-T48G/T46G):
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneImageScreen
doneAction="http://10.1.0.105/menu.php"
Beep="yes"
Timeout="60"
61
XML Browser Developer’s Guide for Yealink IP Phones
LockIn="no"
mode="regular">
<Image
horizontalAlign="middle"
verticalAlign="middle"
>http://10.3.5.198/test.jpg</Image>
</YealinkIPPhoneImageScreen>
In this example, when you press the OK key, the phone will call
http://10.1.0.105/menu.php.
The screenshot of the SIP-T48G IP phone user interface for reference is shown as below:
The screenshot of the SIP-T46G IP phone user interface for reference is shown as below:
The ImageMenu object allows users to create an image list of menu items on the IP
phones. The user can specify the image menu items to link HTTP requests.
Note
62
ImageMenu object is applicable to SIP-T28P, SIP-T26P, SIP-T22 (P), SIP-T21 (P), SIP-T19 (P),
SIP-T46G, SIP-T42G and SIP-T41P IP phones running firmware version 71 or later and is
applicable to SIP-T48G IP phones running firmware version 72 or later and is applicable
to SIP-T23 (P/G) IP phones running firmware version 80 or later.
For SIP-T28P, SIP-T26P, SIP-T23 (P/G), SIP-T22 (P), SIP-T21 (P), SIP-T19 (P), SIP-T42G and
SIP-T41P, the image is a “dob” file, which is specified as hexadecimal string. For more
information on converting a “dob” file to hexadecimal string, refer to Customizing an
Image File on page 97.
For SIP-T46G and SIP-T48G IP phones, the image is a “jpg”, “bmp” or “png” file located
Yealink IP Phone XML Objects
XML description of the ImageMenu object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneImageMenu
doneAction = "URI"
Beep = "yes/no"
Timeout = "integer"
LockIn = "yes/no"
mode="regular/fullscreen"
>
<Image
horizontalAlign="right/middle/left"
verticalAlign="top/middle/bottom"
height="integer"
width="integer"
> Image as hexadecimal characters or URL </Image>
<URIList base="URL">
<URI key=" 0-9,* or #">URL</URI>
<!--Additional URI entries may be added (0-9,* and #)-->
</URIList>
<!--Additional Softkey Items may be added -->
</YealinkIPPhoneImageMenu>
The parameters of the ImageMenu object are listed in the following table:
Parameter
Position
Type
Value
Root tag
mandatory
none
YealinkIPPh
oneImage
Menu
Description
The root element of the
ImageMenu object.
Define the URI to be
doneAction
Root tag
optional
URI
called when the user
presses the “OK” key.
Whether to play a tone
Beep
Root tag
optional
“yes”
when the XML object is
“no”
opened. Default value is
“yes”.
If there is no operation at
a fixed interval (in
Timeout
Root tag
optional
“integer”
seconds) on the phone,
the phone will
automatically exit from
63
XML Browser Developer’s Guide for Yealink IP Phones
Parameter
Position
Type
Value
Description
the ImageMenu screen.
If it is set to 0, the phone
will not exit from the
ImageMenu screen until
pressing the “Exit” soft
key. Default value is 45.
If it is set to “yes”, the
phone ignores specified
function key events.
LockIn
Root tag
optional
“yes”
Default value is “no”. For
“no”
more information, refer
to the function keys and
soft keys table shown
next.
The display mode of the
mode
Root tag
optional
“regular”
”fullscreen”
image. If it is not
specified, the default
value is “regular”.
Image as hexadecimal
characters (for
Image
Body
mandatory
string
SIP-T28P/T26P/T23
(P/G)/T22 (P)/T21 (P) /T19
(P)/T42G/T41P) or URL
(for SIP-T48G/T46G).
horizontalA
lign
verticalAlig
n
Image tag
Image tag
optional
optional
“left”
Vertical position of the
“middle”
image. Default value is
“right”
“middle”.
“top”
Horizontal position of the
“middle”
image. Default value is
“bottom”
“middle”.
mandatory
(For
SIP-T28P/T2
6P/T23
height
Image tag
(P/G)/T22
integer
(P)/T21
Height in pixels. Must
match the image height.
(P)/T19
(P)/T42G/T4
1P)
width
64
Image tag
mandatory
integer
Width in pixels. Must
Yealink IP Phone XML Objects
Parameter
Position
Type
Value
Description
(For
match the image width.
SIP-T28P/T2
6P/T23
(P/G)/T22
(P)/T21
(P)/T19
(P)/T42G/T4
1P)
Master tag of the URI list
URIList
Body
mandatory
none
linked to a keypad key
(0-9, * and #).
The Base value is the
Base
URIList tag
optional
string
parent directory of the
URI value.
URI
Key
URIList
body
URI tag
URI to be used if the user
mandatory
string
presses the key defined
in the “Key” tag.
mandatory
0-9,* and #
Define the key to trigger
the URI.
Refer to Customizable
SoftKey
Body
optional
string
Soft keys for more
information.
If there is no soft key defined in the ImageMenu object, the LCD screen displays the
following default soft key (the SIP-T48G IP phone does not display the soft key):
SoftKey Index
Label
URI
1
Exit
SoftKey:Exit
The function keys and soft keys are listed in the following table:
Key Name
Operation
Pressing the digit
Keypad
keys 0~9 * and #
keys.
Exit
Pressing the Exit
soft key
Off-hook/
Off hook
Line Key/
Pressing the line
Function
If the value of the LockIn is “no”, the function is
triggering the pre-defined URI. If the value of the
LockIn is “yes”, the phone will be no response to
any operation.
Exit from the current XML screen.
If the value of the LockIn is “no”, the phone will
enter pre-dialing screen.
65
XML Browser Developer’s Guide for Yealink IP Phones
Key Name
Operation
Function
Hands-fre
key/Hands-free
If the value of the LockIn is “yes”, the phone will
e Key
key
be no response to any operation.
Note: Pressing the line key is not applicable to
SIP-T19 (P) IP phones.
Cancel
Pressing the “X”
Key
key
OK Key
Pressing the “OK”
key
Return to the idle screen.
(not applicable to SIP-T19 (P) IP phones)
The function of “OK” key is calling the URI
defined by “doneAction”.
An example of the ImageMenu object (for SIP-T28P/T26P/T23 (P/G)/T22 (P)/T21 (P)/T19
(P)/T42G/T41P):
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneImageMenu
doneAction="http://10.1.0.105/menu.php"
Beep = "yes"
Timeout = "120"
LockIn = "no"
mode="regular">
<Image
verticalAlign="middle"
horizontalAlign="middle"
height="81"
width="59">
000000000000000000000000000000…50ff08b2fd2db301780000</Image>
<!--Here just provide portion of hexadecimal string, use Yealink-supplied tool
“Dob2Text.exe” to convert a “dob” file to the hexadecimal string-->
<URIList base="http://10.3.6.129:8080/XML/new/">
<URI key="#">TextMenu.xml</URI>
<URI key="0">Directory.xml</URI>
<URI key="1">InputScreen.xml</URI>
</URIList>
</YealinkIPPhoneImageMenu>
In this example, you can do the followings:
66

Press the pound key to enter the TextMenu screen.

Press the digit key 0 to enter the Directory screen.

Press the digit key 1 to enter the InputScreen screen.
Yealink IP Phone XML Objects

Press the OK key, the phone will call http://10.1.0.105/menu.php. If you use the
SIP-T19 (P) IP phone, you should press
key.
The screenshot of the SIP-T28P IP phone user interface for reference is shown as below:
An example of the ImageMenu object (for SIP-T48G/T46G):
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneImageMenu
doneAction="http://10.1.0.105/menu.php"
Beep = "yes"
Timeout = "120"
LockIn = "no"
mode="regular">
<Image
verticalAlign="middle"
horizontalAlign="left"
>http://10.3.6.129:8080/XML/new/ImageMenu.jpg</Image>
<URIList base="http://10.3.6.129:8080/XML/new/">
<URI key="#">TextMenu.xml</URI>
<URI key="0">Directory.xml</URI>
<URI key="1">InputScreen.xml</URI>
</URIList>
</YealinkIPPhoneImageMenu>
67
XML Browser Developer’s Guide for Yealink IP Phones
In this example, you can do the followings:

Press the pound key to enter the TextMenu screen.

Press the digit key 0 to enter the Directory screen.

Press the digit key 1 to enter the InputScreen screen.

Press the OK key, the phone will call http://10.1.0.105/menu.php.
The screenshot of the SIP-T48G IP phone user interface for reference is shown as below:
The screenshot of the SIP-T46G IP phone user interface for reference is shown as below:
Yealink IP phones allow users to create soft keys with customizable labels, positions
and actions to be taken when the soft keys are pressed. The customizable soft keys
can override the default soft keys in each XML object.
68
Yealink IP Phone XML Objects
XML descriptions of customizable soft keys:
<SoftKey index = "1-6">
<Label>Text</Label>
<URI>http://someserver/somepage/SoftKey: action/Key:action</URI>
</SoftKey>
Note
Customizable soft keys are only available for the UI XML objects.
If you use the customizable soft keys, the default soft keys of the XML object will not be
displayed anymore. This means they have to be recreated as customizable soft keys.
The URI of the custom soft key is case sensitive.
For more information on available values of “Key:action”, refer to Execute Object on
page 44.
The parameters of the soft key are listed in the following table:
Parameter
Type
Value
Description
SoftKey
mandatory
none
Index
mandatory
Integer
Label
mandatory
String
The label of the soft key.
URI
mandatory
String
The action of the soft key.
The soft key.
Indicate the soft key number.
(Value ranges from 1~6.)
The supported actions for each UI XML object are described in the following table:
Label
URI
Function
TextMenu Object
Select
SoftKey:Select
Exit
SoftKey:Exit
Execute the URI defined by “Selection”.
Exit from the current XML screen.
Send(For
SIP-T19(P)/T21
(P)/T22(P)/T26
P/T28P/T41P/T
42G/T46G/T48
G IP phones)
SoftKey:Dial
Dial out the number of the highlighted
menu item.
Dial(For
SIP-T23(P/G)
IP phones)
TextScreen Object
69
XML Browser Developer’s Guide for Yealink IP Phones
Label
URI
Exit
SoftKey:Exit
Function
Exit from the current XML screen.
InputScreen Object (soft keys cannot be customized on SIP-T48G IP phones)
BackSpace
SoftKey:BackSpace
Submit
SoftKey:Submit
NextSpace
SoftKey:NextSpace
Dot
SoftKey:Dot
Delete the character before the cursor in
the input box.
Execute the command comprised of the
URI and input content.
Insert a space in the input box at the
cursor position.
Input a “.” in the input box at the cursor
position.
For SIP-T41P/T42G:
Input mode switch, e.g., switch the input
mode among “2aB”, “Abc”, “ABC”, “abc”
or “123”.
2aB
SoftKey:ChangeMod
e
For
SIP-/T46G/T28P/T26P/T23/T23P/T23G/T22P/T
21P/T19P:
Input mode switch, e.g., switch the input
mode among “2aB”, “ABC”, “abc” or
“123”.
Exit
SoftKey:Exit
Exit from the current XML screen.
Directory Object
Send(For
SIP-T19(P)/T21
(P)/T22(P)/T26
P/T28P/T41P/T
42G/T46G/T48
SoftKey:Dial
G IP phones)
Dial out the number of the highlighted
contact.
Dial(For
SIP-T23(P/G)
IP phones)
Previous
SoftKey:Previous
Execute the URI defined by “Previous”.
Next
SoftKey:Next
Execute the URI defined by “Next”.
Exit
SoftKey:Exit
Exit from the current XML screen.
FormattedTextScreen Object
Exit
70
SoftKey:Exit
Exit from the current XML screen.
Yealink IP Phone XML Objects
Label
URI
Function
ImageScreen Object
Exit
SoftKey:Exit
Exit from the current XML screen.
SoftKey:Exit
Exit from the current XML screen.
ImageMenu Object
Exit
An example of the customizable soft keys used with the TextMenu object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneTextMenu
style="none"
Beep="no"
Timeout="30"
LockIn="no">
<Title wrap="yes">Phone Services</Title>
<MenuItem>
<Prompt>Ask Google</Prompt>
<URI>http://10.2.11.158/yealink/google/google.php?user=</URI>
<Dial>456</Dial>
</MenuItem>
<MenuItem>
<Prompt>CNN News</Prompt>
<URI>http://10.2.11.158/yealink/rss/rss.php?feed=cnn</URI>
<Dial>1001</Dial>
</MenuItem>
<SoftKey index="1">
<Label>Select</Label>
<URI>SoftKey:Submit</URI>
</SoftKey>
<SoftKey index="2">
<Label>Custom</Label>
<URI>http://10.1.0.105/8.8.8.54.rom</URI>
</SoftKey>
</YealinkIPPhoneTextMenu>
71
XML Browser Developer’s Guide for Yealink IP Phones
The screenshot of the IP phone user interface for reference is shown as below:
The phone can request an XML object via HTTP GET, or an object can be pushed to the
phone via a POST. The phone parses this object immediately upon receipt and
displays the information on the screen. You can ask the distributor or Yealink FAE for
php source code or obtain php source code online:
http://www.yealink.com/DocumentDownload.aspx?CateId=142&flag=142.
The HTTP POST packet must contain an “xml=” line in the message body. XML data is
located after the equals sign in the message. HTML forms that post objects to the
phone must use a field named “xml” to send data. The applications that construct
HTTP packets must also specify this line.
To accept a pushed message, the “PushXML_ServerIP” parameter on the phone must
be configured as the IP address of the push XML server. For more information, refer to
Configuring the Push XML Server Address.
Description of the object oriented php class (the red contents are needed to modify):
<?php
#
function push2phone($server,$phone,$data)
{
$xml = "xml=".$data;
$post = "POST / HTTP/1.1\r\n";
$post .= "Host: $phone\r\n";
$post .= "Referer: $server\r\n";
$post .= "Connection: Keep-Alive\r\n";
$post .= "Content-Type: text/xml\r\n";
$post .= "Content-Length: ".strlen($xml)."\r\n\r\n";
$fp = @fsockopen ( $phone, 80, $errno, $errstr, 5);
if($fp)
{
72
Yealink IP Phone XML Objects
fputs($fp, $post.$xml);
flush();
fclose($fp);
}
}
##############################
# The above codes are fixed, please just edit the following codes according to requirement.
$xml = "the beginning of the root element in the XML object\n";
$xml . = "the child elements in the XML object\n";
$xml . = "the end of the root element in the XML object\n ";
<!--Additional XML Items may be added -->
<!--All XML Items added here construct an XML object -->
push2phone("Server IP Address, Phone IP Address ",$xml);
# replace IP address of the push XML server with ”Server IP Address”
# replace IP address of the phone with “Phone IP Address”
?>
Sample php source code:
In this example, the IP address of the push XML server is 192.168.0.112, and the server
is defined to send a XML message to the IP phone with IP address 192.168.0.150.
<?php
#
function push2phone($server,$phone,$data)
{
$xml = "xml=".$data;
$post = "POST / HTTP/1.1\r\n";
$post .= "Host: $phone\r\n";
$post .= "Referer: $server\r\n";
$post .= "Connection: Keep-Alive\r\n";
$post .= "Content-Type: text/xml\r\n";
$post .= "Content-Length: ".strlen($xml)."\r\n\r\n";
$fp = @fsockopen ( $phone, 80, $errno, $errstr, 5);
if($fp)
{
fputs($fp, $post.$xml);
73
XML Browser Developer’s Guide for Yealink IP Phones
flush();
fclose($fp);
}
}
##############################
$xml = "<YealinkIPPhoneTextScreen Beep=\"yes\">\n";
$xml .= "<Title>Push test</Title>\n";
$xml .= "<Text>This is a test for pushing text to a phone.</Text>\n";
$xml .= "</YealinkIPPhoneTextScreen>\n";
#The above 4 lines prefixed with “$xml =” constructs a TextScreen object to be pushed to the
#phone.
#You can construct your own XML object using the same method.
push2phone("192.168.0.112","192.168.0.150",$xml);
?>
There are some simple rules that you had better follow when you develop XML
applications for Yealink IP phones.

Do not forget the "Exit" soft key when you customize soft keys.

Place custom soft keys as they are for the standard objects, also it is better to use
the same labels.

If you want to access data from the internet, it is preferable to use a RSS feed or a
SOAP interface than Web scraping as Web sites frequently change their layout
interface.
74
Configuring the HTTP Server
Yealink IP phones support downloading by using the HTTP (HTTPS) protocol. You can
set up the HTTP(s) server, and place some XML files on the server for downloading.
This section provides you with some instructions on how to configure the HTTP server
and obtain the access URL of the XML files downloaded by the IP phones.
To configure the HTTP server using HFS application:
1.
Double click the HFS.exe.
2.
Click Menu in the main page and select the IP address of the PC from IP address.
The default HTTP port is 80. You can also reset the HTTP port (make sure the port
isn’t in use before reset).
3.
Right click the
icon on the left of the main page, select Add folder from disk to
add the HTTP Server root directory.
4.
Locate the root directory from your local computer. Select your desired folder.
5.
Select one of the XML files, then the access URL of the selected XML file displays in
the address bar.
The screenshot for reference is shown as below:
75
XML Browser Developer’s Guide for Yealink IP Phones
76
Configure the Push XML Server
XAMPP is a free, cross-platform, easy-to-use web server capable of serving dynamic
pages. XAMPP consists mainly of the Apache HTTP Server, MySQL database and
interpreters for scripts written in the PHP and Perl programming languages. XAMPP is
an acronym for X (any of the four operating systems Windows, Linux, Sun Solaris and
Mac OS X), Apache, MySQL, PHP and Perl.
This section shows you how to install XAMPP on Microsoft Windows system. The XAMPP
software is available for free. You can download it from
http://www.apachefriends.org/index.html. We recommend that you configure the
XAMPP as the push XML server, and then follow the instructions to push an XML object
to the phone.
To install the XAMPP:
1.
Double click xampp-win32-1.8.3-3-VC11-installer.exe to run the application.
2.
Follow the setup wizard shown as below:
Remember the installation path of the XAMPP. In this example, the installation path
is C:\xampp.
77
XML Browser Developer’s Guide for Yealink IP Phones
78
Configure the Push XML Server
79
XML Browser Developer’s Guide for Yealink IP Phones
3.
Click Finish to finish the installation.
To start the XAMPP:
80
1.
Double click xampp-control.exe in the installation path of the XAMPP.
2.
Click Start next to the Apache module.
Configure the Push XML Server
Apache is running as shown below:
You can also click Stop to stop Apache.
Note
Ensure ports 80 and 443 are not being used when starting the Apache server.
To test the installation of the XAMPP:
1.
Enter “http://localhost/xampp/”in the address bar of the web browser and press
the Enter key.
The web page should be shown as below:
To push an XML object to the phone:
After the XAMPP server is installed in your local system and Apache is already started,
you can find the htdocs directory in the installation path (For example, C:\xampp.) of
the XAMPP.
1.
Place the php file used to send an XML object to the phone (For example,
TextScreen.php) in the htdocs directory.
2.
Enter the access URL (For example, http://localhost/TextScreen.php. Replace
“TextScreen.php” with the name of the XML object to be pushed.) of the php file in
81
XML Browser Developer’s Guide for Yealink IP Phones
the address bar of the web browser, and press the Enter key to push an XML
object to the phone.
82
Yealink IP Phone XML Configurations
The followings take configurations of a SIP-T28P IP phone running firmware version 72
as examples.
To use the XML browser feature, you must configure an XML key in advance. You can
configure an XML Browser key via web user interface, phone user interface or
configuration files.
To configure an XML Browser key via web user interface:
1.
Access the web user interface of the phone.
2.
Click on DSSKey->Memory Key (Line Key or Programable Key).
SIP-T19 (P) IP phones only support programable keys and SIP-T23 (P/G)/T22 (P)/T21
(P)/T20 (P)/T4X IP phones only support line keys and programable keys.
3.
In the desired DSS key field, select XML Browser from the pull-down list of Type.
4.
Fill in the available access URL in the Value field.
5.
Click Confirm to accept the change.
To configure an XML Browser key via phone user interface:
1.
Press Menu->Features->DSS Keys->Memory Keys (Line Keys).
2.
Select the desired DSS Key.
3.
Press
or
, or the Switch soft key to select XML Browser from the Type field.
83
XML Browser Developer’s Guide for Yealink IP Phones
4.
Enter the available access URL in the Value field.
5.
Press the Save soft key to accept the change.
To configure an XML Browser key using configuration files:
1.
Add/Edit XML Browser key parameters in configuration files.
The following table shows the information of parameters:
Parameters
Permitted Values
memorykey.X.type/
linekey.X.type/
27
programablekey.X.type
Default
Refer to the
following content
Description:
Configures a DSS key X as an XML Browser key on the IP phone.
The digit 27 stands for the key type XML Browser.
For memory keys:
X ranges from 1 to 10 (for SIP-T28/T26P).
For line keys:
X ranges from 1 to 6 (for SIP-T28P)
X ranges from 1 to 3 (for SIP-T26P/T23 (P/G)/T22 (P)).
X ranges from 1 to 2 (for SIP-T21 (P)/T20 (P)).
X ranges from 1 to 29 (for SIP-T48G).
X ranges from 1 to 27 (for SIP-T46G).
X ranges from 1 to 15 (for SIP-T42G/T41P).
For programable keys:
X ranges from 1 to 14 (for SIP-T28/T26P)
X=1-9, 14 (for SIP-T22 (P)/T21 (P))
X=1-10, 14 (for SIP-T23 (P/G))
X=5-12, 14 (for SIP-T20 (P))
X=1-9, 13, 14 (for SIP-T19 (P))
84
Yealink IP Phone XML Configurations
Parameters
Permitted Values
Default
X=1-10, 12-14 (for SIP-T48G/T46G)
X=1-10, 13 (for SIP-T42G/T41P)
Example:
memorykey.1.type = 50
Default:
For memory keys:
The default value is 0.
For line keys:
For SIP-T19 (P)/T20 (P)/T21 (P)/T22 (P)/T23 (P/G)/T26P/T28P IP phones:
The default value is 15.
For SIP-T48G IP phones:
The default value of the line key 1-16 is 15, and the default value of the line key
17-29 is 0.
For SIP-T46G IP phones:
The default value of the line key 1-16 is 15, and the default value of the line key
17-27 is 0.
For SIP-T42G IP phones:
The default value of the line key 1-12 is 15, and the default value of the line key
13-15 is 0.
For SIP-T41P IP phones:
The default value of the line key 1-6 is 15, and the default value of the line key
7-15 is 0.
For programable keys:
For SIP-T28P/T26P IP phones:
When X=1, the default value is 28 (History).
When X=2, the default value is 61 (Directory).
When X=3, the default value is 5 (DND).
When X=4, the default value is 30 (Menu).
When X=5, the default value is 28 (History).
When X=6, the default value is 61 (Directory).
When X=7, the default value is 31 (Switch Account).
When X=8, the default value is 31 (Switch Account).
When X=9, the default value is 65 (Status).
When X=10, the default value is 0 (NA).
When X=11, the default value is 0 (NA).
When X=12, the default value is 0 (NA).
85
XML Browser Developer’s Guide for Yealink IP Phones
Parameters
Permitted Values
When X=13, the default value is 0 (NA).
When X=14, the default value is 2 (Forward).
For SIP-T22 (P)/T21 (P) IP phones:
When X=1, the default value is 28 (History).
When X=2, the default value is 61 (Directory).
When X=3, the default value is 5 (DND).
When X=4, the default value is 30 (Menu).
When X=5, the default value is 28 (History).
When X=6, the default value is 61 (Directory).
When X=7, the default value is 31 (Switch Account).
When X=8, the default value is 31 (Switch Account).
When X=9, the default value is 65 (Status).
When X=14, the default value is 2 (Forward).
For SIP-T23 (P/G) IP phones:
When X=1, the default value is 28 (History).
When X=2, the default value is 61 (Directory).
When X=3, the default value is 5 (DND).
When X=4, the default value is 30 (Menu).
When X=5, the default value is 28 (History).
When X=6, the default value is 61 (Directory).
When X=7, the default value is 51 (Switch Account Up).
When X=8, the default value is 52 (Switch Account Down).
When X=9, the default value is 65 (Status).
When X=10, the default value is 0 (NA).
When X=14, the default value is 2 (Forward).
For SIP-T20 (P) IP phones:
When X=5, the default value is 28 (History).
When X=6, the default value is 61 (Directory).
When X=7, the default value is 31 (Switch Account).
When X=8, the default value is 31 (Switch Account).
When X=9, the default value is 65 (Status).
When X=10, the default value is 0 (NA).
When X=11, the default value is 0 (NA).
When X=12, the default value is 0 (NA).
When X=14, the default value is 2 (Forward).
86
Default
Yealink IP Phone XML Configurations
Parameters
Permitted Values
Default
For SIP-T19 (P) IP phones:
When X=1, the default value is 28 (History).
When X=2, the default value is 61 (Directory).
When X=3, the default value is 5 (DND).
When X=4, the default value is 30 (Menu).
When X=5, the default value is 28 (History).
When X=6, the default value is 61 (Directory).
When X=7, the default value is 31 (Switch Account).
When X=8, the default value is 31 (Switch Account).
When X=9, the default value is 65 (Status).
When X=13, the default value is 0 (NA).
When X=14, the default value is 2 (Forward).
For SIP-T48G/T46G IP phones:
When X=1, the default value is 28 (History).
When X=2, the default value is 61 (Directory).
When X=3, the default value is 5 (DND).
When X=4, the default value is 30 (Menu).
When X=5, the default value is 28 (History).
When X=6, the default value is 61 (Directory).
When X=7, the default value is 51 (Switch Account Up).
When X=8, the default value is 52 (Switch Account Down).
When X=9, the default value is 65 (Status).
When X=10, the default value is 0 (NA).
When X=12, the default value is 0 (NA).
When X=13, the default value is 0 (NA).
When X=14, the default value is 2 (Forward).
For SIP-T42G/T41P IP phones:
When X=1, the default value is 28 (History).
When X=2, the default value is 61 (Directory).
When X=3, the default value is 5 (DND).
When X=4, the default value is 30 (Menu).
When X=5, the default value is 28 (History).
When X=6, the default value is 61 (Directory).
When X=7, the default value is 51 (Switch Account Up).
When X=8, the default value is 52 (Switch Account Down).
87
XML Browser Developer’s Guide for Yealink IP Phones
Parameters
Permitted Values
Default
When X=9, the default value is 65 (Status).
When X=10, the default value is 0 (NA).
When X=13, the default value is 0 (NA).
Web User Interface:
DSSKey->Memory Key/ Line Key/Programable Key->Type
Phone User Interface:
Menu->Features->DSS Keys->Memory Keys (or Line Keys)->DSS Key X (or
Line Key X)->Type
The following shows an example of configuring an XML Browser key using
configuration files:
memorykey.1.type = 27
memorykey.1.value = http://10.3.6.166:8080/TextScreen.xml
2.
Upload configuration files to the root directory of the provisioning server and
trigger IP phones to perform an auto provisioning for configuration update.
For more information on auto provisioning, refer to Yealink IP Phones Auto
Provisioning Guide.
You can configure the Block XML In Calling via web user interface. It enables or
disables the phone to block XML applications during a call. For example, if it is
enabled, press a XML browser key when there is an active call on the phone, the XML
application will be blocked.
To configure the Block XML In Calling via web user interface:
88
1.
Access the web user interface of the phone.
2.
Click on Features->Remote Control.
Yealink IP Phone XML Configurations
3.
Select the desired value from the pull-down list of Block XML In Calling field.
4.
Click Confirm to accept the change.
To configure the Block XML In Calling using configuration files:
1.
Add/Edit Block XML In Calling parameters in configuration files.
The following table shows the information of parameters:
Parameter
push_xml.block_in_calling
Permitted Values
Default
0 or 1
0
Description:
Enables or disables the phone to block XML applications during a call.
0-Disabled
1-Enabled
The default value is 0.
Web User Interface:
Features->Remote Control->Block XML In Calling
Phone User Interface:
None
The following shows an example of configuring Block XML In Calling using
configuration files:
push_xml.block_in_calling = 1
2.
Upload configuration files to the root directory of the provisioning server and
trigger IP phones to perform an auto provisioning for configuration update. For
more information on auto provisioning, refer to Yealink IP Phones Auto Provisioning
89
XML Browser Developer’s Guide for Yealink IP Phones
Guide.
The IP address or domain name of the push XML server is specified in the Push XML
Server IP Address field. After configuration, the IP phone will be able to accept the
HTTP(s) POST from the server.
To configure the Push XML Server via web user interface:
1.
Access the web user interface of the phone.
2.
Click on Features->Remote Control.
3.
Enter IP addresses or domain names in the Push XML Server IP Address field.
The valid values must be within 512 characters. Each IP address or domain name
is separated by a comma. If this field is left blank or the value is set as “any”, the
phone will reject HTTP POST messages from any server.
4.
Click Confirm to accept the change.
To configure the Push XML Server using configuration files:
1.
Add/Edit the Push XML Server parameters in configuration files.
The following table shows the information of parameters:
Parameter
push_xml.server
90
Permitted Values
Default
IP address
Blank
Yealink IP Phone XML Configurations
Parameter
Permitted Values
Default
Description:
Configures the IP address of the push XML server.
Note: Each IP address or domain name is separated by a comma. If this field
is left blank or the value is set as “any”, the phone will reject HTTP POST
messages from any server.
Web User Interface:
Features->Remote Control->Push XML Server IP Address
Phone User Interface:
None
The following shows an example of configuring Block XML In Calling using
configuration files:
push_xml.server = 10.2.8.25
2.
Upload configuration files to the root directory of the provisioning server and
trigger IP phones to perform an auto provisioning for configuration update. For
more information on auto provisioning, refer to Yealink IP Phones Auto Provisioning
Guide.
Upon receiving the POST message, the phone will display the information or execute
the command contained in the POST message.
Example of a POST message with the XML content:
91
XML Browser Developer’s Guide for Yealink IP Phones
In this example, the phone will play a tone and display the information shown as
below:
You can configure the XML SIP Notify via web user interface. It will enable or disable
SIP NOTIFY messages to be processed by the phone.
To configure the XML SIP Notify via web user interface:
1.
Access the web user interface of the phone.
2.
Click on Features->Remote Control.
3.
Select Enabled from the pull-down list of SIP Notify field.
4.
Click Confirm to accept the change.
To configure the XML SIP Notify using configuration files:
1.
92
Add/Edit the XML SIP Notify parameters in configuration files.
Yealink IP Phone XML Configurations
The following table shows the information of parameters:
Parameter
push_xml.sip_notify
Permitted Values
Default
0 or 1
0
Description:
Enables or disables the phone to process the push XML via SIP NOTIFY
message.
0-Disabled
1-Enabled
Web User Interface:
Features->Remote Control->SIP Notify
Phone User Interface:
None
The following shows an example of configuring Block XML In Calling using
configuration files:
push_xml.sip_notify = 1
2.
Upload configuration files to the root directory of the provisioning server and
trigger IP phones to perform an auto provisioning for configuration update. For
more information on auto provisioning, refer to Yealink IP Phones Auto Provisioning
Guide.
Upon receiving the XML SIP NOTIFY message, the phone will display the information
or execute the command contained in the NOTIFY message.
93
XML Browser Developer’s Guide for Yealink IP Phones
Example of a SIP Notify with the XML content:
In this example, the phone will play a tone and display the information shown as
below:
94
Troubleshooting
This chapter provides general troubleshooting information to help to solve the
problems you might encounter when developing XML applications for Yealink IP
phones. Besides, it also provides related troubleshooting tools and parsing error
debug example for you to trace errors. If you require additional information or
assistance, contact your system administrator.
Why does the phone display" Loading error !" when executing the XML object?

Ensure that the network is reachable.

Ensure that the server is running properly.

Ensure that the HTTP server application is running properly.

Ensure that the URI is resolved.

Ensure that the XML object file exists on the server.

Ensure that the URI is parsed.
Why does the phone display" File layout error !" when executing the XML object?

Check whether the XML object files’ syntax is right. For example, XML tags are in
pairs.
The following tools will help you troubleshoot problems with the XML services.


Standard web browser (Microsoft Internet Explorer 6.0 or a later version)
-
Verify the connectivity.
-
Verify the validity of the URI called by the phone.
Network packet analyzer such as Wireshark
-


Verify what is exchanged between the phone and the server.
HTTP Server log
-
Verify if the HTTP GET is reached the server.
-
Verify the parameters of the HTTP GET.
Phone log (syslog)
-
Verify how the phone processes a XML request.
95
XML Browser Developer’s Guide for Yealink IP Phones
Some of the XML editors (such as UltraEdit and Dreamweaver) can also verify the XML
syntax and detail the related error in the output window. The following takes the
Dreamweaver tool as an example for reference.
After you execute the XML object, the LCD screen will prompt” File layout error !”.
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneStatus
Beep="yes"
SessionID="125"
Timeout="600">
<Message />
<Message Size="normal" Align="center" Color="black" Account="" Icon="DND">DND
is enabled</Message>
<Message Size="small" Align="right" Color="green" Account="" Icon="Message">1
New Message</Message>
<YealinkIPPhoneStatus>
The Dreamweaver tool tells us where the problem is. The error is on the last line, it
should be </YealinkIPPhoneStatus>.
96
Appendix
Yealink provides a tool called “PictureExDemo” to convert a “jpg”/”bmp”/”png” file to a
“dob” file, and also provides a tool called “Dob2Text.exe” to convert a “dob” file to
the hexadecimal string to be used for the ImageScreen and ImageMenu objects. Ask
Yealink reseller or FAE for these two tools. For more information on how to convert a
“bmp” file to a “dob” file, refer to Yealink IP Phones Auto Provisioning Guide, available
online: http://www.yealink.com/DocumentDownload.aspx?CateId=142&flag=142.
To convert a “dob” file to the hexadecimal string:
1.
Place the tool “Dob2Text.exe” and the “dob” file to be converted in the same
directory of your local system.
2.
Double click “Dob2Text.exe” to launch the application.
3.
Enter the name of the “dob” file (e.g. Yealink.dob), and press the Enter key.
If the conversion is successful, a file will be generated in the same directory, whose
content is the hexadecimal string to be used to specify the image in the
ImageScreen object and ImageMenu Object. In addition, you can obtain the
width and height of the image from the name of the generated file, for example,
yealink.dob_206_80.out, where 206 represents the width of the image and 80
represents the height of the image. As well, specify the width and height of the
image in the object with these two values obtained from the name of the
generated file (e.g. 206 and 80), otherwise the image will not be displayed
correctly.
97
XML Browser Developer’s Guide for Yealink IP Phones
We are striving to improve our documentation quality and we appreciate your feedback. Email your
opinions and comments to DocsFeedback@yealink.com.
98
Open as PDF
Similar pages