Difference between revisions of "Send URL"
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.
Line 84: | Line 84: | ||
In order to make use of the Send URL FPK specific features (LED colour and blink mode), the server needs to reply with a specific XML content. Also the HTTP header needs to contain the 'Content-Type', which is 'text/xml'. The HTTP response code needs to be 200, in order for the CP phone to process the XML body. | In order to make use of the Send URL FPK specific features (LED colour and blink mode), the server needs to reply with a specific XML content. Also the HTTP header needs to contain the 'Content-Type', which is 'text/xml'. The HTTP response code needs to be 200, in order for the CP phone to process the XML body. | ||
− | There is a special handling of server responses, which have a response code of 200, but an empty or invalid XML body. In this case, the Desk Phone CP will make it's LED lid green for | + | There is a special handling of server responses, which have a response code of 200, but an empty or invalid XML body. In this case, the Desk Phone CP will make it's LED lid green for 2 seconds and then turn it off again. This can be interesting for using the Desk Phone CP with IoT services like IFTTT or Zapier. |
<Batch> | <Batch> | ||
Line 129: | Line 129: | ||
| e.g. "My new label" | | e.g. "My new label" | ||
|} | |} | ||
+ | |||
+ | == Push support == | ||
+ | If the LED colour and state are used to represent a status, you might want to push new information to the phone (to change the colour or LED state). This is what we call "push support". Via the push support, you can make the phone trigger the configured Send URL FPK without user interaction, and download new data from the Send URL application server. | ||
+ | |||
+ | For security reasons, it is not allowed to send new data directly to the phone. Via the push support feature, we make sure the phone only contacts the configured server. | ||
+ | |||
+ | A sample HTTPS request directed at the phones web server, that hosts the web based management. This push support feature works, even if the web based management has been disabled on the phone. | ||
+ | |||
+ | curl --insecure --url "https://<IP-OF-PHONE>/server_push.html/ServerPush" --data "MidletName=MySymbolicName&ServerProtocol=https&ServerAddr=10.10.0.255&ServerPort=443&ProgramName=MySymbolicName&RequestType=sendURL" |
Revision as of 15:47, 19 January 2017
Introduction
The Send URL function on the OpenScape Desk Phone CP devices, allows a user to send a predefined HTTP or HTTPS request to a server in order to trigger a remote action. The functionality is available from a free programmable key (FPK), that has been configured for this feature. In the server response to a phones HTTP or HTTPS request, the phone can be triggered to (e.g.)
- turn on the LED of the configured FPK (in different colours)
- use a different blinking mode
- overwrite the FPK label (CP600 only)
Technical details
- The request can be sent in plain HTTP or encrypted HTTPS
- The request can be of type GET or POST
- The phone will not follow any type of redirect (3XX)
- Authentication User ID and password will be sent as Parameters (no HTTP Basic Authentication)
- When using HTTPS, the connected server can be validated according to the Authentication Policy (see Administration Guide)
Configuration
A Send URL FPK can be configured via web based management or DLS. Please see example screenshot from WBM.
This FPK (if pressed) will trigger the following request
https://10.10.0.255:443/?userid=MyUsername&password=MyPassword&id=1&item=2&ipaddress=<IP-OF-DEVICE>&phonenumber=<E164-OF-DEVICE>&devicetype=OpenStage&symbn=MySymbolicName
The parts of the URL linked to the configuration items can be seen in the following table
URL part | Configuration Item | Example Value |
---|---|---|
Method | Method | GET |
Protocol | Protocol | https |
Hostname | Web server address | 10.10.0.255 |
Port | Port | 443 |
Path | Path | / |
Parameter | Parameters | id=1&item=2 |
Parameter | Web server user ID | userid=MyUsername |
Parameter | Web server password | password=MyPassword |
Parameter | Symbolic name | symbn=MySymbolicName |
Parameter | not configurable | ipaddress=<IP-OF-DEVICE> |
Parameter | not configurable | phonenumber=<E164-OF-DEVICE> |
Parameter | not configurable | devicetype=OpenStage |
Server response
In order to make use of the Send URL FPK specific features (LED colour and blink mode), the server needs to reply with a specific XML content. Also the HTTP header needs to contain the 'Content-Type', which is 'text/xml'. The HTTP response code needs to be 200, in order for the CP phone to process the XML body.
There is a special handling of server responses, which have a response code of 200, but an empty or invalid XML body. In this case, the Desk Phone CP will make it's LED lid green for 2 seconds and then turn it off again. This can be interesting for using the Desk Phone CP with IoT services like IFTTT or Zapier.
<Batch> <Capabilities_Req TYPE="ALL_OF"> <Capability NAME="XML_LED_STATE_CONTROL" /> </Capabilities_Req> <Remote_Control> <Turnled ID="MySymbolicName" WAKE="FALSE" STATE="FLASH" COLOUR="GREEN" LABEL="FPK label" /> </Remote_Control> </Batch>
The interesting part for a Send URL application developer is the <Turnled> element. Let's see the different attributes and their possible values.
Attribute | Description | Type | Possible values |
---|---|---|---|
ID | Should contain the symbolic name configured. | String | as configured for the FPK |
WAKE | Wakes up the device from power saving or screen saver mode. | Boolean | TRUE or FALSE |
STATE | Defines the state of the LED | Enumeration | ON, OFF, FLASH or FLUTTER |
COLOUR | Defines the colour of the LED. Requires STATE to be ON, FLASH or FLUTTER | Enumeration | RED, YELLOW or GREEN |
LABEL | Defines the FPK label text. Only applicable for Desk Phone CP600 | String | e.g. "My new label" |
Push support
If the LED colour and state are used to represent a status, you might want to push new information to the phone (to change the colour or LED state). This is what we call "push support". Via the push support, you can make the phone trigger the configured Send URL FPK without user interaction, and download new data from the Send URL application server.
For security reasons, it is not allowed to send new data directly to the phone. Via the push support feature, we make sure the phone only contacts the configured server.
A sample HTTPS request directed at the phones web server, that hosts the web based management. This push support feature works, even if the web based management has been disabled on the phone.
curl --insecure --url "https://<IP-OF-PHONE>/server_push.html/ServerPush" --data "MidletName=MySymbolicName&ServerProtocol=https&ServerAddr=10.10.0.255&ServerPort=443&ProgramName=MySymbolicName&RequestType=sendURL"