Views

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.

Jump to: navigation, search
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 3 seconds and then turn it off again. This can be interesting for using the Desk Phone CP with IoT services like IFTTT or Zapier.
+
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.

WBM ’Send URL FPK’ configuration

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"