Developer Program - OpenStage
The Wiki of Unify contains information on clients and devices, communications systems and unified communications. - Unify GmbH & Co. KG is a Trademark Licensee of Siemens AG.
OpenScape Voice | OpenScape SBC | OpenScape Branch | OpenScape 4000
OpenScape UC | OSCC-E Integration Connectors | OpenStage | OpenScape Contact Center | OpenScape First Response ESInet/NGCS Solution | OpenScape First Response PSAP Solution
The XML application platform allows for developing interactive applications using the graphical user interface of OpenStage 60/80 and OpenScape Desk Phone IP 55G phones. When an application is running, the phone receives XML messages from the server via HTTP(S) and displays them to the user. The user, in turn, enters data and commands using the TouchGuide, the TouchSlider, and keypad keys. The phone sends the data to the server via HTTP(S).
The programmable keys (FPKs) of OpenStage 60/80/40/15 and OpenScape Desk Phone IP 35/55G phones can be used to control any server or device that is accessible via HTTP(S). This is made possible by the 'Send URL' function. Moreover, with firmware version V2R2 onwards, the remote server has the possibility to provide feedback to the user by controlling the LED associated with the key. If desired, the status of the LED can also be changed in an unsolicited manner by sending a push request to the phone.
XML Application Platform
- OpenStage 60/80 Administration Manual
- OpenScape Desk Phone IP, Administration Manual
- OpenStage SIP Tracing Guide
- OpenScape Deployment Service
- OpenStage 60/80 Operating Manual
- OpenScape Desk Phone IP 55G, Operating Manual
- XML Schema for OpenStage XML Applications
- Example XML Snippets from the Developer's Guide
- Developer's Guide for OpenStage XML Applications
- Server Push SDK
Phone Documentation
The following documents provide information on using, configurating and deploying XML OpenStage phones:
Overview
OpenStage 60/80 and OpenScape Desk Phone IP 55G phones feature a graphical user interface and an XML application interface, which allows for developing interactive applications. When an OpenStage XML application is running, the phone acts as a front-end for a server-side program. The interaction can be initiated by the phone and also by the server-side program. This is made possible by the push feature, which enables the server-side program to start an application on the phone and send data in an unsollicited manner. Besides displaying, modifying, and submitting data, XML applications have the capability of initiating and ending calls on the phone. Possible uses for OpenStage XML Applications might be:
- Integration with groupware (e.g. Microsoft Exchange Server) or Unified Messaging systems (e.g. Unify OpenScape)
- phonebooks with access to address databases
- call recording
- presence applications
- collecting information provided by web services (e.g. news, weather, traffic, stocks)
- attendance clock
- and many more
Basic Operation
OpenStage XML applications are based on the client-server architecture, using HTTP for communication. The phone-side client requests an XML document from the server-side program. To facilitate identification by the server, the phone includes its IP address, call number, and device type in the HTTP GET request. A request from the phone might look like this:
GET /testxml/servlet?ipaddress=192.168.1.244&phonenumber=3338&devicetype=OpenStage
When the server-side program has received the request, it generates an XML document and sends it to the phone. The phone parses the XML document and displays the contents on its graphic display, or controls a LED, or initiates a call. If requested by the application, the user enters commands and data using the TouchGuide (TM) and the keypad. When data entry is completed, the phone transmits an HTTP GET request to the server-side program including the user data as key/value pairs.
For keeping the displayed data up-to-date, two methods are available: A periodical reload by the phone indicated in the XML document, or the push capability. The latter relies on an HTTP POST request sent by the server which prompts the phone to request a certain XML document.
Prerequisites
For developing applications for Unify phones, the following components and tools are required or recommended:
- OpenStage 60/80 SIP/HFA phone with appropriate firmware version (V3R0.x or higher)
- OpenScape Desk Phone IP 55G phone with appropriate firmware version (V3R2.x or higher)"
Connection to an IP network
- Web browser to set up the application on the phone using the phone's Web Based Management (WBM). Alternatively, the phone’s local admin menu can be used
- Web server for sending and receiving XML data, like Tomcat, Apache, Microsoft IIS. Please note that the MIME type for the XML documents has to be set to text/xml on the server
- Application platform running on the server, for instance Java Servlet, ASP, CGI, PHP
- A validating XML editor is recommended, like, for instance, Oxygen, XMLWriter, EditiX, XMLSpy
Development Resources
If you are planning on developing or maintaining an XML application for Unify phones, the following ressources are relevant:
Phone Request
OpenStage phones can send GET or POST requests, depending on the configuration. When GET is chosen, the specific request string is sent in the query string; when POST is chosen, it is sent in the message body. The Content-type of the POST request is text/xml
With firmware version V2R1, the phone sends an HTTP(S) request when the user presses the key configured for the Send URL function. The request string contains the parameters Web server user ID, Web server password, and Parameters; for example:
userid=jdoe&password=00secret&mode=remote&action=start
With firmware version V2R2 onwards, the phone sends an HTTP(S) request in any of the following cases:
The user presses the key configured for the Send URL function. The request string contains the Web server user ID, the Web server password, the Parameters, the phone’s IP address, the phone’s call number, and the Symbolic Name; for example: userid=jdoe&password=00secret&mode=remote&action=start& ipaddress=192.168.1.244&phonenumber=3338&symbn=key4
The server-side program has sent a push request to the phone. The request string is the same as in the case of key press.
The LED state must be updated or restored due to a configuration change or restart. The phone indicates this to the server by adding updt
to the request string. Thus, the request string contains the Web server user ID, the Web server password, the Parameters, the phone’s IP address, the phone’s call number, the Symbolic Name, and the updt flag; for example:
userid=jdoe&password=00secret&mode=remote&action=start& ipaddress=192.168.1.244&phonenumber=3338&symbn=key4&updt
XML and Push Request for LED Control
With firmware version V2R2 onwards, the desired state of the LED (glowing, blinking, or dark) is stored in a remote XML document. The phone will request this document if the user presses a Send URL key, or if it has received an appropriate push request, or an update is necessary due to configuration change or restart. This is a special HTTP POST message, similar to the push request for XML applications.