4-15
Cisco Unified IP Phone Services Application Development Notes
OL-18696-01
Chapter 4 Internal URI Features
Application Management URIs
You can also specify the Notify URI in place of most fields that accept a generic URI, including softkeys
and menu items. For example, you can call the Notify URI from a softkey or menu item to trigger a
back-end event that does not require an interface change, such as manipulating the state of audio streams
or other non-visual resources. The Notify URI also works in conjunction with the QueryStringParam
URI, such that the exact contents of the QueryStringParam data will be used as the Notify URI data.
The Notify URI is not made in the context of an XSI application session and does not contain any HTTP
cookie or session information. Thus, the back-end application cannot rely on HTTP cookies or session
information to uniquely identify the client or application. Instead, the application must embed any
necessary information in the Notify path and data fields, or leave the data field empty and rely on any
default information provided by the specific event handler.
Note
The Notify URI is not supported in the Execute object.
URI Format
Notify:protocol:host:port:path:credentials:data
Where
protocol
= network protocol to use for the Notify connection; http is the only supported protocol.
host
= network host designated to receive the notification. Value must be entered as a hostname or IP
address.
port
= network port to use for the Notify connection. Value must be a number from 1-65535.
path
= protocol-specific information. Value cannot contain colons or semicolons.
credentials
= optional protocol-specific credentials used to authenticate to the server. For HTTP, this is
a base64-encoded version of
userid:password
. Value cannot contain colors or semicolons. If the
credentials parameter is not specified or if it is null, no Authorization header will be included in the
request. The HTTP notification service will retry the request 3 times before failing and logging an error
message.
data
= optional application-specific event data. Value cannot contain semicolons.
For example:
•
Called from RTP onStreamStopped Event Handler, no credentials, with data:
Notify:http:myserver:8080:path/streamhandler?event=stopped:
:myStreamStoppedData
HTTP POST /path/streamhandler?event=stopped HTTP/1.1
Accept: */*
Content-Type: application/x-www-form-urlencoded; charset=”UTF-8”
Host: myserver:8080
Content-Length: 23
DATA=myStreamStoppedData
•
Called from RTP onStreamStopped Event Handler, no credentials, no data:
Notify:http:server:8080:path/streamhandler?event=stopped
HTTP POST /path/streamhandler?event=stopped HTTP/1.1
Accept: */*
Content-Type: application/x-www-form-urlencoded; charset=”UTF-8”
Host: myserver:8080
Content-Length: 40