I need to setup push notifications to our desk phones and I'm trying to figure out where would be the right place to start. Any help is appreciated.
Thanks. I got the SDK from that page but one of the ASP files is asking for certain include files like text2cip.asp and axlquery.asp
Where can I find those file? Are they part of the SDK? Please let me know.
Specifically where is the CiscoIPServices folder located?
You can find those files in the SDK at ../ASP/includes/
However, note that while the IP Phone Services API portions of these samples should still be valid, that much of the ancillary stuff, like ASP technology, particulars of AXL requests, etc. may well be out-of-date as this SDK has not been updated in a long time. You may need to do some significant adaptation to get samples running.
Push notifications are affected by simply sending an HTTP POST to the phone's on-board web server, with the proper header and (URL form encoded) XML object. You can do this with virtually any language and framework which can communicate with web services.
If you have a particular language/platform/framework in mind, perhaps we can provide a short example. Here is an example of pushing a CiscoIPPhoneText object to the phone with 'Hello World' (note, the phone's IP address must be known:)
$ curl -v -u dstaudt:password -0 --data-urlencode XML="<CiscoIPPhoneText><Text>Hello World</Text></CiscoIPPhoneText>" http://10.24.144.247/CGI/Execute
* Trying 10.24.144.247...
* TCP_NODELAY set
* Connected to 10.24.144.247 (10.24.144.247) port 80 (#0)
* Server auth using Basic with user 'dstaudt'
> POST /CGI/Execute HTTP/1.0
> Host: 10.24.144.247
> Authorization: Basic ZHN0YXVkdDpwYXNzd29yZA==
> User-Agent: curl/7.52.1
> Accept: */*
> Content-Length: 87
> Content-Type: application/x-www-form-urlencoded
* upload completely sent off: 87 out of 87 bytes
< HTTP/1.1 200 OK
< Content-Type: text/xml; charset="utf-8"
< Date: Wed, 07 Jun 2017 17:36:15 GMT
< Expires: Thu, 26 Oct 1995 01:00:00 GMT
< Last-Modified: Wed, 07 Jun 2017 17:36:15 GMT
< Pragma: no-cache
< Content-Length: 165
< Server: Allegro-Software-RomPager/4.34
<?xml version="1.0" encoding="utf-8"?>
<ResponseItem URL="cip.xsi.XmlTextObject@10ca208" Data="SUCCESS" Status="0" />
* Curl_http_done: called premature == 0
* Connection #0 to host 10.24.144.247 left intact
The example I gave uses a command line utility called 'cURL' (https://curl.haxx.se/) to send an XML snippet embedded in the command to a single IP address.
You could certainly expand this - using shell or BAT-file scripting on the command line - to send messages to multiple phones in a loop (though note your script would need a list of phone IP addresses.)
However, note that IP Phone Services is an API, and necessarily will require some programming understanding in order to use effectively.
Would any type of programming require Web Access enabled on the phone? Currently we don't have that enabled and trying to see if there is a work around for it.
If you want to actively 'push' IP Phone Services requests to the phone as discussed here, then the phone's web server will need to be enabled.
The only other alternative would be to use the TAPI or JTAPI APIs, which include a 'passthrough' function to send XML to a phone (see JTAPI sendData() ).