XML API for Tiptel.com SIP Phones 31xx 5.4 HOW TO trigger remote action URL on Asterisk via SIP NOTIFY.............44 6 XML Schema, XSL Model...........................45 7 History..................................46 List of tables Table 1: Customizable hard keys in object “SoftKey”....................39 Table 2: Customizable hard keys in object “SoftKeyItem”..................40...
XML API for Tiptel.com SIP Phones 31xx 2 XML Services The phone provides two methods to run the XML service, initiated by phone device – initiated by external server – There are basically 3 types of XML objects: 1) User Interface objects are XML objects which will use the display of the phone to show the content of XML file.
Please consider that URL-Variable {ip} should be escaped in form of %7Bip%7D to be RFC conform. 2.2.2 SIP NOTIFY Remote Action-URL The downloading of XML file can be triggered by using proprietary SIP NOTIFY event "tiptel-actionurl" Example: Page 4 / 50...
This example will turn the display back light on, See IPPhoneExecute object and URI Led for more details. 2.2.4 SIP NOTIFY Push XML XML data can be send directly to the phone using proprietary SIP NOTIFY event "tiptel-xml" with XML content. Example: Page 5 / 50...
XML API for Tiptel.com SIP Phones 31xx NOTIFY sip:3020@192.168.1.101:5060 SIP/2.0 Via: SIP/2.0/UDP 192.168.1.101:5060;branch=ad5jh4ut9dsnf3jtf;rport From: <sip:3020@192.168.1.101:5060>;tag=54dg7853c4 To: 3030 <sip:200@10.30.100.103:5060> Contact: <sip:3020@192.168.1.101> Call-ID: 65835h8s46f2x429 CSeq: 20 NOTIFY Event: tiptel-xml Content-Type: application/xml Content-Length: 140 <?xml version="1.0" encoding="UTF-8"?> <TiptelIPPhoneExecute Beep="yes"> <ExecuteItem URI="Led:BACKLIGHT=on"/> </TiptelIPPhoneExecute> 2.3 XML Format The XML data must be well-formed according W3C XML 1.0 specifications.
XML API for Tiptel.com SIP Phones 31xx tftp://xxxx/yyy/file.xml ftp://xxxx/yyy/file.xml http://xxxx/yyy/file.cgi?querykey=queryvar https://xxxx/yyy/file.php?querykey=queryvar sip:xxxx tel:xxxx Please note that http URIs with query parameters in XML files must be written in escape encoding (e.g. & → &). 2.4.1 URL variables Any external URL may contain runtime variables. This variables will be dynamically replaced by the phone with the valid values at runtime shortly before download the resource.
XML API for Tiptel.com SIP Phones 31xx 2.5 Internal call control URI formats Phones supports some proprietary URI schemas to allow the call control. Dial:XXXXXX initiates a new call to the specified phone number/address – SendDigits:XXXXXX generates DTMF tones –...
XML API for Tiptel.com SIP Phones 31xx Key:XXX emulate a key event – Led:XXX control the LED state – Command: XXX execute commands – 2.6.1 Internal URI "Key:" The internal proprietary URI "Key:" allows to emulate the pressing a button that physically exists on a device.
XML API for Tiptel.com SIP Phones 31xx Example: <?xml version="1.0" ?> <TiptelIPPhoneExecute> <ExecuteItem URI="Key:fkey2"/> <ExecuteItem URI="Key:line3"/> </TiptelIPPhoneExecute> 2.6.2 Internal URI "Led:" The internal proprietary URI "Led:" allows to control the LED status of free programmable function keys on the phone and extension modules, message waiting indicator, as well as display back light.
XML API for Tiptel.com SIP Phones 31xx 2.6.3 Internal URI "Command:" The internal proprietary URI "Command:" allows to execute service commands. URI format: Command:XXXXXX Where XXXXXX variable is one of the following predefined commands: Command Description Example Reset Reset the configuration to factory defaults and reboot Command:Reset The command will be executed only if there are no voice connections.
Page 13
XML API for Tiptel.com SIP Phones 31xx ➢ "SoftKey:Submit " is available for TiptelPPhoneInputScreen only and calls the URL tag . ➢ "SoftKey:Edit_and_Dial " is available to screens that allow input. The dial string for the "Dial" function is taken from the menu items URI on the Menu Screen and copied to the dialing preparation view.
XML API for Tiptel.com SIP Phones 31xx triggerDestroyOnExit optional Set = "yes" to exit the XML UI view. If the XML object is sent as an answer to a user interface object this will trigger the currently presented UI object to exit if its attribute destroyOnExit is set “yes”.
Page 16
XML API for Tiptel.com SIP Phones 31xx <?xml version="1.0" encoding="UTF-8"?> <TiptelIPPhoneTextMenu Beep = "yes" style = "numbered" Timeout="30"> <Title>Menu</Title> <MenuItem> <Prompt>Item 1</Prompt> <URI>http://server/item_1.xml</URI> </MenuItem> <MenuItem> <Prompt>Item 2</Prompt> <URI>http://server/item_2.xml</URI> </MenuItem> </TiptelIPPhoneTextMenu> XML file example 2: Phone register <?xml version="1.0" encoding="UTF-8"?> <TiptelIPPhoneTextMenu Beep = "yes" style = "numbered">...
Page 17
XML API for Tiptel.com SIP Phones 31xx <?xml version="1.0" encoding="UTF-8"?> <TiptelIPPhoneTextMenu Beep = "yes" style = "numbered" defaultIndex="1"> <Title>Menu</Title> <MenuItem> <Prompt>First selection</Prompt> <URI>http://server/item_1.xml</URI> <Selection>dataToAppend_1</Selection> </MenuItem> <MenuItem> <Prompt>Second selection</Prompt> <URI>http://server/item_2.xml</URI> <Selection>dataToAppend_2</Selection> </MenuItem> <SoftKey index="3"> <Label>Custom key</Label> <URI>http://server/do_handle_selection.php</URI> </SoftKey> </TiptelIPPhoneTextMenu> When the user selects item 1 and presses soft key 3, the URI requested is http://server/do_handle_selection.php?selection=dataToAppend_1...
Page 18
XML API for Tiptel.com SIP Phones 31xx XML object Position Type Description Title Body Mandatory Title of menu MenuItem Body Mandatory Up to 30 items Prompt MenuItem body Mandatory Text of menu item MenuItem body Optional Internal or external URI describing the action to be...
XML API for Tiptel.com SIP Phones 31xx Function description dialing preparation view. There the user can edit the number and dial the number. Selection keys Select the corresponding menu item and dial the the corresponding number in <dial>. If there is no <dial> entry call the URI.
Page 20
XML API for Tiptel.com SIP Phones 31xx <?xml version="1.0" encoding="UTF-8"?> <TiptelIPPhoneTextScreen Beep = "yes"> <Title>Title of screen</Title> <Text>Text of screen\nthis was a manually set newline</Text> <SoftKey index="3"> <Label>Custom key</Label> <URI>http://myserver2.de/get_it.php</URI> </SoftKey> </TiptelIPPhoneTextScreen> XML file example 2: user defined soft keys and hard keys <?xml version="1.0"...
XML API for Tiptel.com SIP Phones 31xx XML object Position Type Description LockIn Root tag Optional See section 3.14.2 for details. Default is "no". cancel Action Root tag Optional Defines the URI to be called when the user cancels the view.
Page 24
XML API for Tiptel.com SIP Phones 31xx XML object Position Type Description Timeout Root tag Optional If there are no operations from users after entering into the view within the time, the phone will exit to the standby interface. Default is 45 s See section 3.14.1 for more details.
Page 25
XML API for Tiptel.com SIP Phones 31xx The following default soft keys will be presented if the XML file of IPPhoneInputScreen does not include any soft ley description: Note: the name varies according the default language of the phone Default soft keys: type = IP...
XML API for Tiptel.com SIP Phones 31xx Function description Digit key 1-9, 0 If input field is selected Alpha key, +, - Backspace, "SoftKey:BackSpace" Space, "SoftKey:NextSpace" "SoftKey:Dot" Add "." at the cursor’s position on the focused-on item. "SoftKey:Colon" Add ":" at the cursor’s position on the focused-on item.
Page 27
XML API for Tiptel.com SIP Phones 31xx <?xml version="1.0" encoding="UTF-8"?> <TiptelIPPhoneDirectory Next = "http://myserver.de/next_page.xml" Previous = "http://myserver.de/previous_page.xml" > <Title>Title of directory"</Title> <MenuItem> <Prompt>Tiptel.com</Prompt> <URI>021024280</URI> </MenuItem> <SoftKey index="1"> <Label>Exit</Label> <URI>SoftKey:Exit</URI> </SoftKey> <SoftKey index="2"> <Label>Previous</Label> <URI>SoftKey:Previous</URI> </SoftKey> <SoftKey index="3"> <Label>Next</Label> <URI>SoftKey:Next</URI> </SoftKey>...
Page 28
XML API for Tiptel.com SIP Phones 31xx XML object Position Type Description See section 3.14.3 for more details. Title Body Mandatory The title of text notes MenuItem Body Mandatory Up to 15 items Prompt MenuItem Body Mandatory The text to be displayed...
XML API for Tiptel.com SIP Phones 31xx Function description If LockIn is set "no", the function of the "OK" key will be the same as SoftKey "Dial", if it is "yes", there will be no response OffHook/ Linekey/ Handfree key/ If LockIn is set "no", the function of the key will be the same as SoftKey...
Page 30
XML API for Tiptel.com SIP Phones 31xx <?xml version="1.0" encoding="UTF-8"?> <TiptelIPPhoneStatus Beep="yes" Embedded="yes"> <Message index="0">This message is presented\non the idle screen</Message> </Message> </TiptelIPPhoneStatus> If the message does not fit to the output area the full message can be seen after pressing soft key “Messages”...
XML API for Tiptel.com SIP Phones 31xx Function description Cursor up/down Scrolling in text messages up/down SoftKey "Exit", Esc, Ok Returns to standard idle screen. The internal list of messages is not removed and will be shown again if any content of the list is changed.
Page 32
XML API for Tiptel.com SIP Phones 31xx <?xml version="1.0" encoding="UTF-8"?> <IPPhoneDirectory> <Title>Title of directory"</Title> <DirectoryEntry> <Name>Tiptel.com</Name> <Telephone>021024280</Telephone> </DirectoryEntry> <DirectoryEntry> <Name>Police</Name> <Telephone>110</Telephone> </DirectoryEntry> <SoftKeyItem> <Name>F1</Name> <Label>exit</Label> <URL>SoftKey:Exit</URL> </SoftKeyItem> <SoftKeyItem> <Name>1</Name> <Label>exit</Label> <URL>http://myserver.com/phones/phonebook.php?key=1</URL> </SoftKeyItem> </IPPhoneDirectory> Used XML objects: XML object Position Type...
XML API for Tiptel.com SIP Phones 31xx SoftKey index Name Dial SoftKey:Dial Key processing: Function description Cursor up/down Move focus in list up/down Digit key 1-9, 0 Select menu item whose index value equals to number's key press and dial the the corresponding number.
Page 34
XML API for Tiptel.com SIP Phones 31xx <?xml version="1.0" encoding="UTF-8"?> <IPPhoneText> <Title>Title of screen</Title> <Text>Press *, # to search name in all phone books.</Text> <SoftKeyItem> <Name>#</Name> <URL>http://myserver2.de/get_pb.php?key=B</URL> </SoftKeyItem> <SoftKeyItem> <Name>*</Name> <URL>http://myserver2.de/get_pb.php?key=A</URL> </SoftKeyItem> <SoftKeyItem> <Name>F1</Name> <Label>Softkey 1</Label> <URL>http://myserver2.de/get_it.php?opt=1</URL> </SoftKeyItem> <SoftKeyItem> <Name>F2</Name>...
XML API for Tiptel.com SIP Phones 31xx Function description Return to idle screen. Present previous displayed XML view if available. Else return to idle screen. 1-9, 0, *, # If hard keys are user defined, URI is executed. (See 3.13.3) 3.10...
XML API for Tiptel.com SIP Phones 31xx XML object Position Type Description If not specified or set “yes” the object is kept in the XML browser after exit. Title Body Mandatory The title of text notes MenuItem Body Mandatory The text to be displayed...
XML API for Tiptel.com SIP Phones 31xx <****IPPhoneDirectory> <DirectoryEntry> <Name>The name of the entry</Name> <Telephone>The telephone number</Telephone> <Telephone>Optional 2. telephone number</Telephone> <Telephone>Optional 3. telephone number</Telephone> </DirectoryEntry> <!-up to 1000 DirectoryEntries may follow -> </***IPPhoneDirectory> XML file example: <?xml version="1.0" encoding="UTF-8"?>...
XML API for Tiptel.com SIP Phones 31xx XML file example: <?xml version="1.0" encoding="UTF-8"?> <TiptelIPPhoneDeviceInfo> <Firmware>2.0.0</Firmware> <Vendor>Tiptel</Vendor> <Device>t3130</Device> <MAC>000CC4300087</MAC> <SipUser1>201</SipUser1> </TiptelIPPhoneDeviceInfo> Used XML objects XML object Type Description TiptelIPPhoneDeviceInfo mandatory The root element Firmware mandatory Firmware Version Major.Minor.Revisioin Vendor mandatory Vendor string “Tiptel” or OEM-String...
XML API for Tiptel.com SIP Phones 31xx <SoftKey index = "1-8" name="key"> <Label>text</Label> <URI>any uri</URI> </SoftKey> Used XML objects XML object Position Type Description SoftKey Body Optional index SoftKey root tag Optional Indicates the SoftKey number valid values: 1-8 If "index" is skipped then the defined SoftKeys get indexes automatically starting at index 1.
XML API for Tiptel.com SIP Phones 31xx XML object Position Type Description name SoftKey root tag Optional Indicates setting up a hard key. The supported hard keys are listed in Table 1: Customizable hard keys in object “SoftKey” SoftKey Body Mandatory External URI describing the action to be executed An example can be found in 3.4...
XML API for Tiptel.com SIP Phones 31xx <SoftKeyItem> <Name>addresses the soft key or hard key</Name> <Label>text</Label> <URI>any internal or external uri</URI> </SoftKeyItem> Used XML objects XML object Position Type Description SoftKeyItem Body Optional Name SoftKeyItem root tag Mandatory Adresses the key: ➢...
XML API for Tiptel.com SIP Phones 31xx applications. Setting Timeout to "0" will disable the timeout feature. This timeout is reset by button presses. 3.14.2 LockIn The LockIn attribute is an optional root tag attribute for all of the current UI XML objects. This attribute allows the XML designer to specify that a screen can not be cancelled.
XML API for Tiptel.com SIP Phones 31xx 4 HTTP API 4.1 HTTP GET Device control URLs /cgi-bin/remote/devctl?minibrowserurl=<url> Action URL /cgi-bin/remote/devctl?makecall=<number>&line=<id> Make call /cgi-bin/remote/devctl?drop Drop activ call /cgi-bin/remote/devctl?reboot Reboot /cgi-bin/remote/devctl?screenshot Make screenshot Example: Make call using browser URL to Number 110 using SIP-Account 2 http://192.168.1.100/cgi-bin/remote/devctl?makecall=110&line=2...
XML API for Tiptel.com SIP Phones 31xx 5 HOW TO 5.1 HOW TO push XML file via HTTP Phone IP: 192.168.1.30 XML file to push: ./push.xml" #!/bin/sh postfile="./push.xml" response="./result.htm" pushurl="http://192.168.1.30/xmlservice" addhdr="Content-Type: text/xml" usr=admin pw=admin wget -–user $usr –-password $pw -O ${response} --header "${addhdr}"...
XML API for Tiptel.com SIP Phones 31xx 5.3 HOW TO trigger remote action URL via HTTP Phone IP: 192.168.1.30 HTTP Server IP: 192.168.1.1 #!/bin/sh response="./result.htm" aurl="http://192.168.1.1/tiptel3020xml/TestAction.php?devip={ip}" phoneurl="http://192.168.1.30/cgi-bin/remote/devctl?minibrowserurl="$aurl usr=admin pw=admin wget -–user $usr –-password $pw -O ${response} $phoneurl Note: Although the URL Variable {ip} use brace notation wget will convert it to proper hex codes before send to device.
XML API for Tiptel.com SIP Phones 31xx </xs:schema> 7 History Date Firmwar Chapter Changes Version 24.05.2013 1.1.40 type 'number' includes 0-9, '*', '#' Writing corrected: “Softkey:BackSpace”, “Softkey:NextSpace”, “Softkey:ChangeMode”, 29.05.2013 1.1.48 Make screenshot using HTTP GET Device control URL 14.06.2013 1.1.62 Optional attribute “line”...
Page 48
XML API for Tiptel.com SIP Phones 31xx Page 47 / 50...
Page 49
XML API for Tiptel.com SIP Phones 31xx Tiptel.com GmbH Business Solutions Halskestraße 1 D - 40880 Ratingen Tel.: 0900 100 – 84 78 35* *(1,49 Euro/Min. aus dem Festnetz der Deutschen Vanity Tel.: 0900 100 – TIPTEL* Telekom, abweichende Mobilfunkpreise möglich) Internet: www.tiptel.de...
Need help?
Do you have a question about the 31xx and is the answer not in the manual?
Questions and answers