Merged revisions 44433 via svnmerge from
authorKevin P. Fleming <kpfleming@digium.com>
Thu, 5 Oct 2006 01:30:44 +0000 (01:30 +0000)
committerKevin P. Fleming <kpfleming@digium.com>
Thu, 5 Oct 2006 01:30:44 +0000 (01:30 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r44433 | kpfleming | 2006-10-04 20:30:05 -0500 (Wed, 04 Oct 2006) | 10 lines

Merged revisions 44432 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r44432 | kpfleming | 2006-10-04 20:27:57 -0500 (Wed, 04 Oct 2006) | 2 lines

fix Polycom presence notification again

........

................

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44434 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index b008c6f..13e88d1 100644 (file)
@@ -13888,10 +13888,12 @@ static int handle_request_subscribe(struct sip_pvt *p, struct sip_request *req,
                if (!strcmp(event, "presence") || !strcmp(event, "dialog")) { /* Presence, RFC 3842 */
 
                        /* Header from Xten Eye-beam Accept: multipart/related, application/rlmi+xml, application/pidf+xml, application/xpidf+xml */
-                       /* don't supply pidf+xml to Polycom phones until they fix their firmware to
-                          parse it properly
+                       /* Polycom phones only handle xpidf+xml, even if they say they can
+                          handle pidf+xml as well
                        */
-                       if (strstr(accept, "application/pidf+xml") && !strstr(p->useragent, "Polycom")) {
+                       if (strstr(p->useragent, "Polycom")) {
+                               p->subscribed = XPIDF_XML;
+                       } else if (strstr(accept, "application/pidf+xml")) {
                                p->subscribed = PIDF_XML;         /* RFC 3863 format */
                        } else if (strstr(accept, "application/dialog-info+xml")) {
                                p->subscribed = DIALOG_INFO_XML;