The Cisco SPA 500 Series IP Phones support the SIP NOTIFY XML-Service event as a means to trigger XML services via SIP NOTIFY messages. On receipt of a SIP NOTIFY message with an XML-Service event, the IP phone challenges the SIP NOTIFY with a 401 Unauthorized response if the message does not contain correct credentials. The client must be furnished the correct credentials using MD5 digest with the SIP account password for the corresponding line of the IP phone.
The body of the message may contain the XML Service URL, which will be triggered at reception of the SIP NOTIFY message.
For example:
NOTIFY sip:159@192.168.0.10 5060 SIP/2.0
Via: SIP/2.0/[transport] [local_ip] [local_port];branch=[branch]
From: SPA9000 <9000@192.168.0.2 5061]>;tag=[call_number]
To: <sip:159@192.168.0.2>
Call-ID: [call_id]
CSeq: 1 INVITE
Contact: 9000@192.168.0.2 5061
Max-Forwards: 70
Event: XML-Service
Subject: XML NOTIFY TEST
Content-Type: text/html; charset=ISO-8859-4
Content-Length: [len]
http://wwwin-tools.cisco.com/dir/ipt/menu
Authentication:
challenge = MD5( MD5(A1) ":" nonce ":" nc-value ":" cnonce ":" qop-value ":" MD5(A2) )
where A1 = username ":" realm ":" passwd
and A2 = Method ":" digest-uri
Important note: There must not be an end of line character (like LF or CRLF) on the end of URL line (e.g. 'u' in word 'menu' needs to be last character of the message). Or things will not work.
For more information about phone provisioning and use of SIP NOTIFY for resynchronization, please read the Cisco SPA Provisioning Guide.
Note: We removed the direct support of XML syntax on the SIP NOTIFY message, based on security concern. Starting with 7.4.4, SPA500 phones will be able only to get a XML service URL (as highlighted in the example above), which will be "launched" to obtain the XML code.