Yealink SIP-T4X Specifications

i
i
Table of Contents
Table of Contents....................................................................i
About This Guide ...................................................................1
Who should use this guide? ............................................................................................ 1
Summary of Changes ..................................................................................................... 1
Changes for Release 71.0, Guide Version 71.155................................................... 1
Changes for Release 71.0, Guide Version 71.150................................................... 2
XML and Yealink IP Phones ....................................................3
What is XML? ................................................................................................................... 3
Functionality..................................................................................................................... 4
How does it work? ........................................................................................................... 4
Phone initiated application ....................................................................................... 5
Server initiated application ...................................................................................... 5
XML display control on Yealink IP phones ..................................................................... 7
Yealink IP Phone XML Objects ...............................................9
XML Object Definitions.................................................................................................... 9
TextMenu Object ........................................................................................................ 9
TextScreen Object .................................................................................................... 14
InputScreen Object .................................................................................................. 17
PhoneDirectory Object ............................................................................................ 24
PhoneStatus Object ................................................................................................. 28
PhoneExecute Object .............................................................................................. 31
PhoneConfiguration Object .................................................................................... 34
FormattedTextScreen Object .................................................................................. 36
ImageMenu Object ................................................................................................. 40
Customizable Soft Keys................................................................................................. 43
XML Objects Pushed to the Phone ............................................................................... 46
Configuring the HTTP Server ................................................ 49
Configuring the Push XML Server......................................... 51
i
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
Yealink IP Phone XML Configurations ................................... 55
Configuring an XML Browser Key ................................................................................. 55
Configuring the Block XML In Calling ........................................................................... 56
Configuring the Push XML Server Address .................................................................. 57
Configuring the XML SIP Notify ..................................................................................... 57
ii
About This Guide
XML browser simply means that the SIP phones’ LCD screen display can be managed
by external applications.
This Developers’ 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 is intended for Yealink SIP-T4X IP phones with firmware version 71or 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 SIP-T4X IP phones via 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 T4X IP phones and provisioning methods.

How to use an XML editor.

The XML-based schema and syntax.
This section describes the changes to this guide for each release and guide version.
Major updates have occurred to the following sections:

Yealink IP Phone XML Objects on page 9.
1
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones

Customizable Soft Keys on page 43.

Configuring the Push XML Server on page 51.
The following sections are new:

Configuring the Block XML In Calling on page 56
Major updates have occurred to the following sections:

2
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 was designed to display data and to focus on how data looks. XML was
designed to describe data and to focus on what data is.
XML enables the 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:
<YealinkIPPhoneTextMenu>
<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
3
XML Browser Developer’s Guide for Yealink SIP-T4X 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 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 either as plain text or packaged in XML objects.
Yealink IP phones support 9 proprietary XML objects, which allows the creation of
powerful XML applications.
There are 2 types of XML objects:
UI objects: XML objects used to control the LCD screen display of the IP phone.
Non UI objects: XML objects which have no direct impact on the current LCD screen
display.
The supported objects are:

TextMenu object (UI)

TextScreen object (UI)

InputScreen object (UI)

PhoneDirectory object (UI)

ImageMenu object (UI)

FormattedTextScreen object (UI)

PhoneExecute object (Non UI)

PhoneConfiguration object (Non UI)

PhoneStatus object (Non UI)
Depending on the IP infrastructure, Yealink has supported developing the XML
browser capability of the phones using HTTP. The Yealink IP phones support two types
of XML browser applications:
4

Phone-initiated

Server-initiated
XML and Yealink IP Phones
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 command to the server, waits for the answer, decodes and displays this answer
as any web browser, such as Microsoft Internet Explorer or Firefox 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
Server initiated application would be more frequently used on the network. The end
users do not need to operate.
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.
5
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
In addition, Yealink IP phones support accepting SIP NOTIFY messages from a SIP
proxy server, and act as a limited web server. 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)
6
XML and Yealink IP Phones
This chapter describes the available part of the LCD screen for Yealink SIP-4X IP
phones as well as the keys that are controlled by the XML objects.
The LCD screen and keys available for XML applications on a Yealink SIP-T46G IP
phone are:

10 lines for the LCD screen

The left and right arrow navigation keys

The up and down arrow navigation keys
The LCD screen and keys available for XML applications on a Yealink SIP-T42G IP
phone are:

4 lines for the LCD screen

The left and right arrow navigation keys

The up and down arrow navigation keys
The LCD screen and keys available for XML applications on a Yealink SIP-T41P IP phone
are:

4 lines for the LCD screen

The left and right arrow navigation keys

The up and down arrow navigation keys
The last line of the LCD screen 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 SIP-T4X 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 the 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 section details each proprietary XML objects supported by Yealink IP phones.
Note
The size of an XML object cannot exceed 10000 bytes (10 kb).
Per XML specifications, only one XML object is supported in the XML document sent to
the phone.
The texts within <!--
--> are considered as comments.
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, news 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”
Timeout = “integer”
LockIn = “yes/no”
wrapList = “yes/no”
cancelAction = “URI”
>
<Title wrap = “yes/no”>Menu Title</Title>
9
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
<MenuItem>
<Prompt>First Choice</Prompt>
<URI>http://somepage.xml</URI>
<Dial>Number to dial</ Dial >
<Selection>Selection</ Selection >
</MenuItem>
<!--Additional Menu Items may be added (up to 30) -->
<!--Additional soft key items may be added -->
</YealinkIPPhoneTextMenu>
The parameters of the TextMenu object are listed in the following table:
Parameter
YealinkIPPhon
eTextMenu
Type
Value
mandatory
none
Description
The root element of the TextMenu
object.
Position of the cursor before a
specified menu item index. If not
defaultIndex
optional
Integer
specified, the cursor is positioned
on the first menu item. Default
value is 1.
style
Beep
optional
optional
“numbered”
“none”
“yes”
“no”
numbered (default): Add a digit
before each menu item for index.
none: No sign before the menu.
Whether to play a tone when the
XML object is opened. Default
value is “yes”.
Whether to display the title of the
menu item specified by the Prompt
wrapList
optional
“yes”
“no”
parameter in multi-lines, when the
content of the title is more than one
line. Select “yes” to display the
title in multi-lines, and “no” for one
line. Default value is “yes”.
If there is no operation at a fixed
interval on the phone, the phone
Timeout
optional
“integer”
Unit: second
will automatically exit the
TextMenu interface. If set to be 0,
the phone will not exit the
TextMenu interface until pressing
the “Exit” soft key. Default value is
10
Yealink IP Phone XML Objects
Parameter
Type
Value
Description
45.
If set to be “yes”, the phone
LockIn
optional
“yes”
“no”
ignores all events that would cause
the screen to exit, except the soft
key events defined by the XML
object. Default value is “no”.
cancelAction
optional
URI
Title
mandatory
string
Defines the URI to be called when
the user cancels the XML object.
The title of the text menu.
Whether to display the title in
multi-lines when the content of the
wrap
optional
“yes”
title is more than one line. Select
“no”
“yes” to display in multi-lines, and
“no” for one line. Default value is
“yes”.
The element of menu item.
MenuItem
mandatory
none
The number of menu item ranges
from 1 to 30.
Prompt
mandatory
string
The label of menu item, its display
is controlled by “wrapList”.
The URI to be used if the user
URI
mandatory
URI
presses “Select” soft key with the
cursor on this menu item.
Defines the number to be dialed
Dial
optional
Phone
number
out when an off-hook action is
performed or the “Dial” soft key is
pressed.
If the URI is an HTTP server
address, the phone will send a
request with the
"selection=parameter".
(e.g., URI:
Selection
optional
string
http://10.1.0.105/menu1.xml?
Selection=0&menu_pos=1
The phone will send a request
“http://10.1.0.105/menu1.xml?select
ion=0&menu_pos=1” when the
user presses the Select soft key.)
11
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
Parameter
Type
Value
SoftKey
optional
string
Description
Refer to Customizable 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:
SoftKey Index
Label
URI
1
Exit
SoftKey: Exit
4
Select
SoftKey: Select
The function keys are listed in the following table:
Key Name
Statement
Up/Down
Up and down keys
Digitkey
Digit keys 1~9
Description
To move the cursor up and down.
No response.
Soft key,
Select
URI=”SoftKey:
Dial out the URI in the menu item.
Select”
Exit
Soft key,
Redisplay the previous XML interface,
URI=”SoftKey: Exit”
otherwise return to the idle interface.
If there is a number contained in the Dial tag,
the phone will dial out the number. If no
Offhook/
LineKey/
Handfree
Off hook/Line Key/
Handfree Key
number contained in the Dial tag and the
value of the LockIn is “yes”, there will be no
responses to any operation. The phone will
enter into pre-dial interface when the value
of the LockIn is “no”.
If the value of the LockIn is “no”, the function
Cancel
The “X” key of the
of “X” key returns to the idle interface, if the
phone
value of the LockIn is “yes”, there will be no
response.
If the value of the LockIn is “no”, the function
OK
The “OK” key of the
of “OK” key is the same as that of “Select”, if
phone
the value of the LockIn is “yes”, there will be
no response.
If the value of the LockIn is “no”, it will
DSS key
DSS keys (include the
Expansion keys)
execute the operation of DSS key. If the
value of the LockIn is “yes”, there will be no
response.
12
Yealink IP Phone XML Objects
An example of the TextMenu object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneTextMenu
style="numbered"
Beep="no"
wrapList="yes"
Timeout="30"
LockIn="yes">
<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>
The screenshot of the SIP-T46G IP phone user interface for reference is shown as below:
13
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
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
doneAction = “URI”
wrapList = “yes/no”
cancelAction = “URI”
Beep = “yes/no”
Timeout = “integer”
LockIn = “yes/no”
>
<Title wrap = “yes/no”>Screen Title</Title >
<Text>The screen text goes here</Text>
<!--Additional soft key items may be added -->
</YealinkIPPhoneTextScreen >
The parameters of the TextScreen object are listed in the following table:
Parameter
YealinkIPPhoneTex
tScreen
Beep
Type
Value
mandatory
none
optional
“yes”
“no”
Description
The root element of the
TextScreen object.
Whether to play a tone when
the XML object is opened.
Default value is “yes”.
Defines the URI to be called
doneAction
optional
URI
when the user presses the
“OK” key.
Whether to display the text
specified by the Text
parameter in multi-lines,
wrapList
optional
“yes”
when the content of the title is
“no”
morer than one line. Select
“yes” to display in multi-lines,
and “no” for one line. Default
value is “yes”.
cancelAction
14
optional
URI
Defines the URI to be called
Yealink IP Phone XML Objects
Parameter
Type
Value
Description
when the user cancels the
XML object.
If there is no operation at a
fixed interval on the phone,
the phone will automatically
“integer”
Timeout
optional
Unit:
second
exit the TextScreen interface.
If set to be 0, the phone will
not exit the TextScreen
interface until pressing the
“Exit” soft key. Default value
is 45.
If set to be “yes”, the phone
ignores all events that would
LockIn
optional
“yes”
cause the screen to exit
“no”
without using the keys
defined by the XML object.
Default value is “no”.
Title
mandatory
string
The title of the screen text..
Whether to display the title in
multi-lines when the content
wrap
optional
“yes”
of the title is more than one
“no”
line. Select “yes” to display in
multi-lines, and “no” for one
line. Default value is “yes”.
The content of the screen
Text
mandatory
string
text.
(Text length must be within
2000B)
SoftKey
optional
string
Refer to Customizable Soft
Keys for more information.
If there is no soft key defined in the TextScreen object, the LCD screen displays the
following default soft key:
SoftKey Index
Label
URI
1
Exit
SoftKey: Exit
15
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
The function keys are listed in the following table:
Key Name
Statement
Up/Down
Up and down keys
Digitkey
Digit keys 1~9
Soft key,
Exit
URI=”SoftKey:
Exit”
Description
To see the content of text tips by pressing up
and down.
No response.
Redisplays the previous XML interface,
otherwise returns to the idle interface.
If there is a number contained in the Dial tag,
Offhook/
LineKey/
the phone will dial out the number. If no number
Off hook/Line Key/
Handfree Key
Handfree
contained in the Dial tag and the value of the
LockIn is “yes”, there will be no responses to any
operation. The phone will enter into pre-dial
interface when the value of the LockIn is “no”.
Cancel
The “X” key of the
phone
If the value of the LockIn is “no”, the function of
“X” key returns to the idle interface, if the value
of the LockIn is “yes”, there will be no response.
If the value of the LockIn is “no”, the function of
OK
The “OK” key of
“OK” key is the same as that of “doneAction”, if
the phone
the value of the LockIn is “yes”, there will be no
response.
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>
16
Yealink IP Phone XML Objects
The screenshot of the SIP-T46G IP phone user interface for reference is shown as below:
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 something 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”
password = “yes/no”
editable = “yes/no”
Beep = “yes/no”
Timeout = “integer”
LockIn = “yes/no”
defaultIndex = “integer from 1 to 6”
displayMode = “normal/condensed”
inputLanguage = “English”
>
<Title wrap = “yes/no”>Title string</Title>
<Prompt>Guidance for the input</Prompt>
<URL>Target receiving the input</URL>
<Parameter>name of the parameter add to URL</Parameter>
<Default>Default Value (1) </Default>
<InputField
type = “IP/string/number/timeUS/timeInt/dateUS/dateInt/empty”
17
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
password = “yes/no”
editable = “yes/no”
>
<Prompt>Guidance for the input</Prompt>
<Parameter> parameter name add to URL</Parameter>
<Default>Default Value</Default>
<Selection>Selection</Selection>
<!-Additional soft key items may be added - ->
</InputField>
<!--Additional input field items may be added -->
<!--Additional soft key items may be added -->
</YealinkIPPhoneInputScreen >
The parameters of the InputScreen object are listed in the following table:
Parameter
YealinkIPPhoneInp
utScreen
Type
Value
mandatory
none
Description
The root element of the
InputScreen object.
Data input options:
1. IP
2. String(default)
3. number
4. timeUS, 12hour format
Format:
“IP”
“string”
Type
mandatory
HH:MM:SS AM/PM
HH:1-12, MM:0-59, SS:0-59
“number”
AM/PM stand for the
“timeUS”
forenoon/afternoon.
“timeInt”
Example:
“dateUS”
02:00:23 AM
“dateInt”
12:59:00 PM
“empty”
5. timeInt, 24 hour format
Format:
HH:MM:SS
HH:0-23, MM:0-59, SS:0-59
Example:
23:25:00
6. dateUS
18
Yealink IP Phone XML Objects
Parameter
Type
Value
Description
Format:
MM/DD/YYYY
MM:1-12,DD:1-31,YYYY:0000-9999
Example:
12/31/2009
7. dateInt
Format:
DD/MM/YYYY
DD:1-31,MM:1-12,YYYY:0000-9999
Example:
31/01/2010
8. empty, null string, the line
number is determined by
“displayMode”.
Beep
Password
optional
optional
“yes”
“no”
“yes”
“no”
Whether to play a tone when
the XML object is opened.
Default value is “yes”.
Whether to mask the input by
“*” characters. Default value is
“no”.
If there is no operation at a
fixed interval on the phone, the
phone will automatically exit
Timeout
optional
“integer”
the InputScreen interface. If set
Unit: second
to be 0, the phone will not exit
the InputScreen interface until
pressing the “Exit” soft key.
Default value is 45.
If set to be “yes”, the phone
ignores all events that would
LockIn
optional
“yes”
cause the screen to exit without
“no”
using the keys defined by the
XML object. Default value is
“no”.
InputLanguage
optional
displayMode
optional
“English”
The language of user input.
Default value is English.
“normal”
normal (default): Display the
“condensed”
prompt and input box in two
19
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
Parameter
Type
Value
Description
lines.
condensed: Display the prompt
and input box in one line
Position of the cursor. If not
defaultIndex
optional
integer
specified, the cursor is
positioned on the first input box.
Default value is 1.
Title
mandatory
string
The title of input object.
Whether to display the title in
multi-lines when the content of
wrap
optional
“yes”
the title is longer than one line.
“no”
Select “yes” to display in
multi-lines, and “no” for one
line. Default value is “yes”.
Prompt
optional
string
The prompt of user input.
Send the content to the URL
URL
mandatory
URL
after user completed his/her
input.
Name of parameter to be
Parameter
mandatory
string
added after the URL. (e.g.,
http://10.1.0.105/menu1.xml ?
parameter)
Default
optional
string
InputField
optional
none
Default value to be displayed in
input field.
Set several input boxes.
(Value ranges from 1 to 6.)
Whether to allow users to input
something. Default value is
editable
optional
“yes”
“yes”. Users can not input
“no”
anything if it is set to “no”.
Applicable scenario: only allow
some users to login.
If the URI is an HTTP server
address, the phone will send a
Selection
optional
string
request with the "selection= the
parameter".
(e.g., URI:
http://10.1.0.105/menu1.xml?
20
Yealink IP Phone XML Objects
Parameter
Type
Value
Description
Selection: 0&menu_pos=1
The phone will send a request
“http://10.1.0.105/menu1.xml?sel
ection=0&menu_pos=1” when
the user presses “Select”.)
When the cursor moves to the
input box, the soft keys
displayed will change
SoftKey
optional
string
accordingly.
(e.g., add the input mode.)
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:
SoftKey Index
Label
URI
1
Exit
SoftKey: Exit
2
Dot
SoftKey: Dot
3
BackSpace
SoftKey: BackSpace
4
Submit
SoftKey: Submit
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:
SoftKey Index
Label
URI
1
Exit
SoftKey: Exit
2
2aB
SoftKey: ChangeMode
3
BackSpace
SoftKey: BackSpace
4
Submit
SoftKey: Submit
21
XML Browser Developer’s Guide for Yealink SIP-T4X 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:
SoftKey Index
Label
URI
1
Exit
SoftKey: Exit
2
BackSpace
SoftKey: BackSpace
4
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:
SoftKey Index
Label
URI
1
Exit
SoftKey: Exit
2
2aB
SoftKey: ChangeMode
3
BackSpace
SoftKey: BackSpace
4
Dot
SoftKey: Dot
5
NextSpace
SoftKey: NextSpace
6
Submit
SoftKey: Submit
The function keys are listed in the following table:
Key Name
Statement
Up/Down
Up and down keys
To move the cursor up and down.
Left/Right
Left and right keys
To move the cursor left and right.
Keypad
Digit keys 0~9, *
and #
Soft key, URI=
Backspace
“SoftKey:
Backspace”
Dot
Submit
Exit
2aB
22
Description
If “editable” of the cursor input item is set to
be "yes", then input character; otherwise no
response.
Delete the character before the cursor in the
input box.
Soft key, URI=
Inserts a “.” in the input box at the cursor
“SoftKey: Dot”
position.
Soft key, URI=
Execute the command comprised of the URI
“SoftKey: Submit”
Soft key,
URI=”SoftKey: Exit”
Soft key, URI=
“SoftKey:
and input content.
Return to the last XML interface, otherwise
return to the idle interface.
Input mode switch, i.e. switch the input mode
among “2aB”, “ABC”, “abc” or “123”.
Yealink IP Phone XML Objects
Key Name
Statement
Description
ChangeMode”
Soft key, URI=
NextSpace
“SoftKey:
NextSpace”
Inserts a space in the input box at the cursor
position.
If the value of the LockIn is “yes”, there will
Offhook/
Off hook/Line Key/
LineKey/
Handfree Key
Handfree
be no responses to any operation. The
phone will enter into pre-dial interface when
the value of the LockIn is “no”.
If the value of the LockIn is “no”, the function
Cancel
The “X” key of the
of “X” key returns to the idle interface, if the
phone
value of the LockIn is “yes”, there will be no
response.
If the value of the LockIn is “no”, the function
OK
The “OK” key of the
of “OK” key is the same as that of “Submit”, if
phone
the value of the LockIn is “yes”, there will be
no response.
If the value of the LockIn is “no”, it will
DSS key
DSS keys (include
the Expansion keys)
execute the operation of DSS key. If the
value of the LockIn is “yes”, there will be no
response.
An example of the InputScreen object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneInputScreen
type="string"
Timeout="15"
Beep="yes"
LockIn="yes">
<Title wrap="yes">Proxy Server</Title>
<Prompt>Server IP:</Prompt>
<URL>http://10.1.0.105/menu.php</URL>
<Parameter>proxy</Parameter>
<Selection>1</Selection>
<Default>10.1.0.105</Default>
<InputField>
<Prompt>User Name:</Prompt>
<Parameter>proxy</Parameter>
23
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
<Default></Default>
</InputField>
<InputField>
<Prompt>Password:</Prompt>
<Parameter>proxy</Parameter>
<Default></Default>
</InputField>
</YealinkIPPhoneInputScreen>
The screenshot of the SIP-T46G IP phone user interface for reference is shown as below:
The PhoneDirectory object allows users to browse an online directory in real time. The
PhoneDirectory object is just like a remote phonebook. It displays an automatically
numbered list of contacts. By selecting a contact with the cursor, the contact can be
dialed directly by pressing the “Dial” soft key, picking up the handset or pressing line
key.
XML description of the PhoneDirectory object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneDirectory
next = “URI”
previous = “URI”
Beep = “yes/no”
Timeout = “integer”
LockIn = “yes/no”>
<Title wrap = “yes/no”>Directory Title</Title>
<MenuItem>
<Prompt>Contact Name</Prompt>
24
Yealink IP Phone XML Objects
<URI>number</URI>
</MenuItem>
<!--Additional Menu Items may be added -->
<!--Additional soft key items may be added -->
</YealinkIPPhoneDirectory>
The parameters of the PhoneDirectory object are listed in the following table:
Parameter
Type
Value
mandatory
none
next
optional
URI
previous
optional
URI
YealinkIPPhone
Directory
Beep
cancelAction
optional
optional
“yes”
“no”
URI
Description
The root element of the
PhoneDirectory object.
The URI corresponding to “Next” soft
key.
The URI corresponding to “Previous”
soft key.
Whether to play a tone when the XML
object is opened. Default value is
“yes”.
Defines the URI to be called when the
user cancels the XML object.
If there is no operation at a fixed
interval on the phone, the phone will
Timeout
optional
“integer”
automatically exit the PhoneDirectory
Unit:
interface. If set to be 0, the phone will
second
not exit the PhoneDirectory interface
until pressing the “Exit” soft key.
Default value is 45.
If set to be “yes”, the phone ignores
LockIn
optional
“yes”
“no”
all events that would cause the screen
to exit without using the keys defined
by the XML object. Default value is
“no”.
Title
mandatory
string
The title of the address book.
Whether to display the title in
wrap
optional
“yes”
“no”
multi-lines when the 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”.
25
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
Parameter
Type
Value
MenuItem
mandatory
none
Prompt
mandatory
string
URI
mandatory
URI
SoftKey
optional
string
Description
Address item.
(Value ranges from 1 to15.)
The prompt of address item.
The operation of address item, such as
the telephone number.
Refer to Customizable Soft Keys for
more information.
If there is no soft key defined in the PhoneDirectory object, the LCD screen displays the
following default soft keys:
SoftKey Index
Label
URI
1
Dial
SoftKey: Dial
2
Previous
3
Next
4
Exit
The URI specified by “Previous” of the
PhoneDirectory Object, “SoftKey: Previous”
The URI specified by “Next” of the
PhoneDirectory Object, “SoftKey: Next”
SoftKey: Exit
The function keys are listed in the following table:
Key Name
Statement
Up/Down
Up and down keys
Digitkey
Digit keys 1~9
Description
To move the cursor up and down.
No response.
Soft key,
Dial
URI=”SoftKey:
Dial out the number of the highlighted address.
Dial”
Soft key,
previous
URI=”SoftKey:
Previous”
Soft key,
next
URI=”SoftKey:
Next”
Soft key,
Exit
URI=”SoftKey:
Exit”
Offhook/
26
Off hook/Line Key/
Dial out the URI of “Previous” command, such as
“http”.
Dial out the URI of “Next” command, such as
“http”.
Redisplay the previous XML interface, otherwise
return to the idle interface.
Dial out the number of the highlighted address.
Yealink IP Phone XML Objects
Key Name
Statement
LineKey/
Handfree Key
Description
Handfree
Cancel
The “X” key of the
phone
If the value of the LockIn is “no”, the function of
“X” key returns to the idle interface, if the value
of the LockIn is “yes”, there will be no response.
If the value of the LockIn is “no”, the function of
OK
The “OK” key of
“OK” key is the same as that of “Dial”, if the
the phone
value of the LockIn is “yes”, there will be no
response.
DSS keys (include
DSS key
the Expansion
keys)
If the value of the LockIn is “no”, it will execute
the operation of DSS key. If the value of the
LockIn is “yes”, there will be no response.
An example of the PhoneDirectory object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneDirectory
next="http://myserver.com/more.php"
previous="http://myserver.com/back.xml"
LockIn="yes"
>
<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>
27
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
The screenshot of the SIP-T46G IP phone user interface for reference is shown as below:
The PhoneStatus 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 PhoneStatus object can remind users of received messages, missed calls,
news, notify, etc.
XML description of the PhoneStatus object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneStatus
Beep = “yes/no”
SessionID = “string”
Timeout = “integer”
wrapList=" yes/no">
<Message
Index = “index”
Type = “alert”
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>
28
Yealink IP Phone XML Objects
The parameters of the PhoneStatus object are listed in the following table:
Parameter
YealinkIPPh
oneStatus
Beep
Type
Value
mandatory
none
optional
“yes”
“no”
Description
The root element of the
PhoneStatus object.
Whether to play a tone when the
XML object is opened. Default
value is “yes”.
Whether to display the title in
multi-lines when the content of the
wrapList
optional
“yes”
title is longer than one line. Select
“no”
“yes” to display in multi-lines, and
“no” for one line. Default value is
“yes”.
The time for status information
displaying. The phone will
automatically exit the status
Timeout
optional
“integer”
Unit: second
interface at a fixed interval on the
phone. Default value is 30.
If set to be 0, the phone will not exit
the status interface until the server
sends cancel request or the phone
reboots.
SessionID
optional
string
Session ID, it is used to mark
different Status Objects.
Message to be displayed or empty
Message
optional
string
to reset the message.
(Up to 10 instances)
The index of message. Default
Index
optional
Integer
value is 1.
(Value ranges from 1 to 10)
Type of message, only supports
“alert”. If not specified, the status
information will be displayed all
Type
optional
“alert”
time until there are some key
operations or the phone receives
new messages, and the messages
will be displayed instead. Default
value is “alert”.
Account
optional
string
Specify the default account on the
29
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
Parameter
Type
Value
Description
IP phone.
Font size of the message.
Size
optional
“normal”
“small”: 12 pt
“small”
“normal”: 18 pt
“double”
“double”: 24 pt
“large”
“large”: 28 pt
Default value is “normal”.
“center”
Align
optional
“left”
“right”
Alignment of the message display.
Default value is “center”.
“white”
“black”
“red”
“green”
“brown”
“blue”
“magenta”
Color
optional
“cyan”
Font color of the message.
For T42G/T41P: This parameter will
be ignored and the text displayed
“lightgray”
is always black.
“darkgray”
Default value is “white” for T46G.
“lightred”
“lightgreen”
“yellow”
“lightblue”
“lightmagenta”
“lightcyan”
Forward
Icon
optional
DND
Message
SoftKey
optional
string
An example of the PhoneStatus object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneStatus
Beep="yes"
30
Index of the icon to be used for this
message.
Refer to Customizable Soft Keys for
more information.
Yealink IP Phone XML Objects
Timeout = 60
SessionID=2
wrapList="no">
<Message
Size="large"
Align="center"
Color="red"
Icon="DND"
Account=“10001@10.2.1.199”
>DND is enabled</Message>
<Message
Size="small"
Align="right"
Color="white"
Account=“10001@10.2.1.199”
Icon="Forward">Forward to 10003</Message>
</YealinkIPPhoneStatus>
The screenshot of the SIP-T46G IP phone user interface for reference is shown as below:
The PhoneExecute 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 PhoneExecute object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneExecute
Beep = “yes/no”>
31
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
<ExecuteItem URI = “URI”/>
<!--Additional Execute Items may be added -->
</YealinkIPPhoneExecute>
The parameters of the PhoneExecute object are listed in the following table:
Parameter
YealinkIPPhon
eExecute
Beep
Type
Value
mandatory
none
optional
“yes”
“no”
Description
The root element of the PhoneExecute
object.
Whether to play a tone when beginning
to execute the commands. Default value
is “yes”.
The operation of command item, such as
ExecuteItem
URI
call user, data download from server
mandatory
URI
according to the URL, etc.
Valid values are listed in the following
tables.
Commonly used command:
Name
URI Value
Function
http(s)://myserver.com/myscript.pl
Dial out the URL
Dial: XXXXX
Dial out the number
Control the LEDs
Led: XXXX=on/off/slowflash/fastflash
commands.
Supported
URI
Key: XXXX
Wav.Play:[tftp|http://[username[:password]
@]<host>[:port][/<Path>]/<file>
Phone Reset
Phone Fast
Reboot
Phone Lock
Phone
Unlock
32
according to the
Execute XXXX key
operation.
Play the .wav file.
Wav.Stop:[tftp|http://[username[:password]
Stop playing
@]<host>[:port][/<Path>]/<file>
the .wav file
Command: Reset
Reset to the factory
Command: Reboot
Phone reboot
Command: Lock
Command: Unlock
Lock the keypad of
the phone
Unlock the keypad
of the phone
Yealink IP Phone XML Objects
Name
URI Value
Function
Clear local call
Command: ClearCallersList
Clear
record list
Command: ClearDirectory
Clear contact list
Clear redial list
Command: ClearRedialList
Do nothing
(dialed call)
none
none
Specification of “XXXX” in “Led: XXXX=on/off/slowflash/fastflash”:
Setting Method
EXP-%d-%d2-%s
Indicator
Example
%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”.
%d: It represents the serial number
LINE%d
of corresponding line key, value
range: 1~27 (for T46G) and 1~15
(for T42G/T41P).
SMS
HEADSET
HANDFREE
POWER
“Led:LINE3=on”:
Lighten the line key3
LED. (It takes effect
when the line key is
configured.)
Power indicator LED
Headset switch indicator LED
Handfree indicator LED
Power indicator LED
Specification of “XXXX” in “Key: XXXX”:
Setting Method
EXP40-%d-%d2
Indicator
%d: the “%d”th expansion module, value
“Key: EXP40-2-3”: It
range: 1~6
means the third key
%d2: the “%d”th key of expansion module,
of the second
value range: 1~40
expansion module
OFF_HOOK
Off hook
ON_HOOK
On hook
OK
CANCEL
Example
Ok key
X key
33
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
Setting Method
UP
DOWN
LEFT
RIGHT
Indicator
Up key
Down key
Left key
Right key
INCREASE
Increase volume
DECREASE
Decrease volume
REDIAL
Redial key
HOLD
Hold key
MUTE
Mute key
TRANSFER
Example
Transfer key
SMS
Message key
HEADSET
Headset key
HANDFREE
Handfree key
Line key,
LINE%d
For T46G: 1~27
For T42G/T41P: 1~15
HOTKEY%d
Soft key, value 1~4
KEY_%d
Digit key, value 0~9
STAR
‘*’ key
POUND
‘#’ key
An example of the PhoneExecute object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneExecute Beep="yes">
<ExecuteItem URI="Key:OK"/>
</YealinkIPPhoneExecute>
The IP phone enters into the phone status interface.
The PhoneConfiguration object allows an external application to modify configuration
of the IP phones dynamically. The configuration parameters are the ones that are used
in the configuration files (Common.cfg and Mac.cfg) detailed in the Yealink SIP-T4X IP
34
Yealink IP Phone XML Objects
Phones Auto Provisioning Guide.
XML description of the PhoneConfiguration 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 PhoneConfiguration object are listed in the following table:
Parameter
YealinkIPPhoneConfi
guration
Beep
Item
Type
Value
mandatory
none
optional
mandatory
“yes”
“no”
none
Description
The root element of the
PhoneConfiguration object.
Whether to play a tone when
applying the configuration. Default
value is “yes”.
Configuration item.
An example of the PhoneConfiguration object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneConfiguration
Beep="yes"
>
<Item>account.3.enable = 1</Item>
<Item>account.3.label = 10008</Item>
<Item>account.3.display_name = 10008 </Item>
<Item>account.3.user_name = 10008</Item>
<Item>account.3.user_name = 10008</Item>
<Item>account.3.password = 10008</Item>
<Item>account.3.sip_server_host = 10.2.1.199</Item>
</YealinkIPPhoneConfiguration>
35
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
The screenshot of the SIP-T46G IP phone user interface for reference is shown as below:
The IP phone registers account 10008 on line 3.
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- ->
36
Yealink IP Phone XML Objects
<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"
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 soft key items may be added -->
</YealinkIPPhoneFormattedTextScreen >
The parameters of the FormattedTextScreen object are listed in the following table:
Parameter
Type
Value
YealinkIPPhoneFor
mattedTextScree
Description
The root element of the
mandatory
none
n
FormattedTextScreen
object.
Whether to play a tone
Beep
optional
“yes”
“no”
when entering into the
FormattedTextScreen
object. Default value is
“yes”.
Defines the URI to be called
doneAction
optional
URI
when the user presses the
“OK” key.
If there is no operation at a
fixed interval on the phone,
Timeout
optional
“integer”
Unit: second
the phone will automatically
exit the
FormattedTextScreen
interface. If set to be 0, the
phone will not exit the
37
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
Parameter
Type
Value
Description
FormattedTextScreen
interface until pressing the
“Exit” soft key. Default value
is 45.
If set to be “yes”, the phone
ignores all events that
LockIn
optional
“yes”
would cause the screen to
“no”
exit without using the keys
defined by the XML object.
Default value is “no”.
Text to be displayed on the
line. If the length of the text
is too long to be displayed
on the LCD screen, the line
Line
mandatory
string
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.
“normal”
Size
optional
“small”: 12 pt
“small”
“normal”: 18 pt
“double”
“double”: 24 pt
“large”
“large”: 28 pt
Default value is “normal”.
“center”
Align
optional
“left”
“right”
Alignment of the text.
Default value is “left”.
“white”
“black”
“red”
Color
optional
“green”
“brown”
“blue”
“magenta”
“cyan”
38
Color of the text.
For T42G/T41P: This
parameter will be ignored
and the text displayed is
always black.
Default value is “white” for
T46G.
Yealink IP Phone XML Objects
Parameter
Type
Value
Description
“lightgray”
“darkgray”
“lightred”
“lightgreen”
“yellow”
“lightblue”
“lightmagenta”
“lightcyan”
Defines the scrolling content
Scroll
optional
none
for display. The Line above
the Scroll is as header,
under the Scroll is as Footer.
SoftKey
optional
string
Refer to Customizable 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:
SoftKey Index
Label
URI
1
Exit
SoftKey: Exit
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" Color="lightblue" Align="center">Header line</Line>
<Scroll>
<Line Size="normal" Align="left" Color="red">Scroll line1</Line>
</Scroll>
<Line Size=" large" Align="center" Color="white">Footer line</Line>
</YealinkIPPhoneFormattedTextScreen>
39
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
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.
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"
verticalAlign="top" >access URL of image</Image>
<URIList base=”URL”>
<URI key=” 0-9,* or #”>URL</URI>
<!—Additional URI entries may be added (0-9,* and #)-->
</URIList>
<!—Additional soft key items may be added -->
</YealinkIPPhone ImageMenu>
The parameters of the ImageMenu object are listed in the following table:
40
Parameter
Type
YealinkIPPhoneI
mandator
mageMenu
y
Beep
optional
Value
none
“yes”
Description
The root element of the
ImageMenu object.
Whether to play a tone when the
Yealink IP Phone XML Objects
Parameter
Type
Value
“no”
Description
XML object is opened. Default
value is “yes”.
doneAction
optional
URI
Defines the URI to be called when
the user presses the “OK” key.
If there is no operation at a fixed
interval on the phone, the phone
will automatically exit the
Timeout
optional
“integer”
Unit: second
ImageMenu interface. If set to be
0, the phone will not exit the
ImageMenu interface until
pressing the “Exit” soft key. Default
value is 45.
If set to be “yes”, the phone
LockIn
optional
“yes”
“no”
ignores all events that would cause
the screen to exit without using the
keys defined by the XML object.
Default value is “no”.
mode
optional
“regular”
”fullscreen”
The display mode of the image. If
not specified, the default value is
“regular”.
The URL of image menu item.
Image
mandator
y
string
The image format must be .jpg
or .png, and the size of the image
file must be within 500K.
“left”
horizontalAlign
optional
“middle”
“right”
“top”
verticalAlign
optional
“middle”
“bottom”
URIList
Base
URI
Key
SoftKey
mandator
y
optional
mandator
y
mandator
y
optional
none
string
string
0-9,* and #
string
Vertical position of the image.
Default value is “middle”.
Horizontal position of the image.
Default value is “middle”.
Master tag of the URI list linked to
a keypad key (0-9, * and #)
The Base value is the parent
directory of the URI value.
URI to be used if the user presses
the value of Key.
Defines the key to trigger the URI.
Refer to Customizable Soft Keys for
41
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
Parameter
Type
Value
Description
more information.
If there is no soft key defined in the ImageMenu object, the LCD screen displays the
following default soft key:
SoftKey Index
Label
URI
1
Exit
SoftKey: Exit
An example of the ImageMenu object:
<?xml version="1.0" encoding="ISO-8859-1"?>
<YealinkIPPhoneImageMenu
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>
The screenshot of the SIP-T46G IP phone user interface for reference is shown as below:
You can press the pound key to enter into the text menu, digit key 0 to access the
directory or digit key 1 to enter into the input screen.
42
Yealink IP Phone XML Objects
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 objects.
XML descriptions of customizable soft keys:
<SoftKey index = “1-6”>
<Label>Text</Label>
<URI>http://someserver/somepage OR SoftKey: someaction</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 are not
displayed anymore. This means they have to be recreated as customizable soft keys.
When the customizable soft keys are used with InputScreen Object, the definitions of the
soft keys should be placed in the InputField element to take effect.
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 soft key.
The soft key.
Indicates the soft key number.
(Value ranges from 1 to 6.)
The supported actions for each UI XML object are described in the following table:
Name
Action
Function
TextMenu Object
Select
SoftKey: Select
Dial
SoftKey: Dial
Exit
SoftKey: Exit
Previous
SoftKey: Previous
Dial out the URI command in the menu
item.
Dial out the number of the highlighted
address.
Redisplay the previous XML interface,
otherwise return to the idle interface.
Dial out the URI of “Previous” command,
43
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
Name
Action
Function
such as “http”.
Next
SoftKey: Next
Dial out the URI of “Next” command, such
as “http”.
TextScreen Object
Exit
SoftKey: Exit
Previous
SoftKey: Previous
Next
SoftKey: Next
Redisplay the previous XML interface,
otherwise return to the idle interface.
Dial out the URI of “Previous” command,
such as “http”.
Dial out the URI of “Next” command, such
as “http”.
InputScreen Object
BackSpace
SoftKey: BackSpace
Submit
SoftKey: Submit
NextSpace
SoftKey: NextSpace
Dot
SoftKey: Dot
2aB
SoftKey: ChangeMode
Delete the character before the cursor in
the input box.
Execute the command comprised of the
URI and input content.
Inserts a space in the input box at the
cursor position.
Inserts a “.” in the input box at the cursor
position.
Input mode switch, i.e. switch the input
mode among “2aB”, “ABC”, “abc” or
“123”.
Dial
SoftKey: Dial
Exit
SoftKey: Exit
Previous
SoftKey: Previous
Next
SoftKey: Next
Dial out the number of the highlighted
address.
Redisplay the previous XML interface,
otherwise return to the idle interface.
Dial out the URI of “Previous” command,
such as “http”.
Dial out the URI of “Next” command, such
as “http”.
PhoneDirectory Object
44
Dial
SoftKey: Dial
Previous
SoftKey: Previous
Dial out the number of the highlighted
address.
Dial out the URI of “Previous” command,
such as “http”.
Yealink IP Phone XML Objects
Name
Action
Next
SoftKey: Next
Exit
SoftKey: Exit
Function
Dial out the URI of “Next” command, such
as “http”.
Redisplay the previous XML interface,
otherwise return to the idle interface.
ImageMenu Object
Roll
SoftKey: Roll
Exit
SoftKey: Exit
Scroll the image.
Redisplay the previous XML interface,
otherwise return to the idle interface.
An example of the customizable soft keys used with the TextMenu object:
<YealinkIPPhoneTextMenu
style="none"
Beep="no"
wrapList="yes"
Timeout="30"
LockIn="yes">
<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>
45
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
</SoftKey>
</YealinkIPPhoneTextMenu>
The screenshot of the SIP-T46G 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.
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. Any applications that construct
HTTP packets on the fly 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:
<?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);
46
Yealink IP Phone XML Objects
if($fp)
{
fputs($fp, $post.$xml);
flush();
fclose($fp);
}
}
##############################
# The above codes are fixed, please just edit the following codes according to requirement.
$xml = "XML item\n";
$xml = "XML item\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)
{
47
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
fputs($fp, $post.$xml);
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);
?>
48
Configuring the HTTP Server
Yealink IP phones support downloading 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 to configure the HTTP server and how
to obtain the access URL of the XML files to be 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:
49
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
50
Configure the Push XML Server
We recommend that you configure the Apache server acting as the push XML server.
You can download the Apache installation application from:
http://prdownloads.sourceforge.net/appserv/appserv-win32-2.5.5.exe?download, and
then follow the instructions to install it.
To configure the Apache server:
1.
Double click appserv-win32-2.5.5.exe to run the application.
2.
Follow the setup wizard shown as below:
Remember the installation path of the Apache server. In this example, the
installation path is C:\AppServ.
51
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
52
Configure the Push XML Server
3.
Click Close to finish the installation.
53
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
The screen pops up the following window:
4.
You can validate that the installation is successful. Enter “Http://localhost/” 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 Apache server is installed in your local system, you can find the www
directory in the installation path (For example, C:\AppServ.) of the Apache server.
1.
Place the php file used to send an XML object to the phone (For example,
TextScreen.php) in the www 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
the address bar of the web browser, and press the Enter key to push an XML
object to the phone.
54
Yealink IP Phone XML Configurations
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 or phone user interface.
To configure an XML Browser key via web user interface (take the SIP-T46G IP phone as
an example):
1.
Access the web user interface of the phone.
2.
Click on DSSKey->Line Key.
3.
Select XML Browser from the pull-down list of Type.
4.
Enter the available access URL in the Value field.
5.
(Optional.) Enter the string that will appear on the LCD screen in the Label field.
6.
Click Confirm to accept the change.
To configure an XML Browser key via phone user interface (take the SIP-T46G IP phone
as an example):
1.
Press Menu->Call Features->DSS Keys.
2.
Select the desired DSS Key.
3.
Press
or
, or the Switch soft key to select Key Event from the Type field.
4.
Press
or
, or the Switch soft key to select XML Browser from the Key Event
field.
5.
(Optional.) Enter the string that will appear on the LCD screen in the Label field.
55
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
6.
Enter the available access URL in the Value field.
7.
Press the Save soft key to accept the change.
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:
56
1.
Access the web user interface of the phone.
2.
Click on Features->Remote Control.
3.
Select Enabled from the pull-down list of Block XML In Calling field.
4.
Click Confirm to accept the change.
Yealink IP Phone XML Configurations
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 (take the SIP-T46G IP phone as
an example):
1.
Access the web 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 leaving this field blank, the phone will reject HTTP
POST messages from any server.
4.
Click Confirm to accept the change.
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 (take the SIP-T46G IP phone as
an example):
1.
Access the web interface of the phone.
2.
Click on Features->Remote Control.
57
XML Browser Developer’s Guide for Yealink SIP-T4X IP Phones
3.
Select Enabled from the pull-down list of SIP Notify field.
4.
Click Confirm to accept the change.
Upon receiving the XML SIP NOTIFY message, the phone will display the information
or execute the command contained in the NOTIFY message.
Example of a SIP Notify with XML content:
58
Yealink IP Phone XML Configurations
We are striving to improve our documentation quality and we appreciate your feedback. Email
your opinions and comments to DocsFeedback@yealink.com.
59