]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
generic code for various presence protocols we support
authorBrian West <brian@freeswitch.org>
Mon, 31 Dec 2007 20:33:08 +0000 (20:33 +0000)
committerBrian West <brian@freeswitch.org>
Mon, 31 Dec 2007 20:33:08 +0000 (20:33 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7044 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/endpoints/mod_sofia/sofia_presence.c

index 9bde6d33f02e1f7a3757a8a53cf0f07b70f182d8..156b5f555e549310e9ac64192fd6b8a40eb86849 100644 (file)
@@ -742,21 +742,13 @@ static int sofia_presence_sub_callback(void *pArg, int argc, char **argv, char *
                                        stream.write_function(&stream, "<remote>\n<identity display=\"%s\">sip:%s@%s</identity>\n", clean_from_user, clean_from_user, host);
                                        stream.write_function(&stream, "<target uri=\"sip:**%s@%s\"/>\n", clean_to_user, host);
                                        stream.write_function(&stream, "</remote>\n");
-                               } else if (!strcasecmp(proto, "park")) {
-                                       stream.write_function(&stream, "<local>\n<identity display=\"parking\">sip:parking@%s;fifo=%s</identity>\n", 
-                                                                                 host, !switch_strlen_zero(clean_to_user) ? clean_to_user : "unknown");
-                                       stream.write_function(&stream, "<target uri=\"sip:parking@%s\">\n", host);
+                               } else if (!strcasecmp(proto, "park") | !strcasecmp(proto, "conf") | !strcasecmp(proto, "ext")) {
+                                       stream.write_function(&stream, "<local>\n<identity display=\"%s\">sip:%s@%s;%s=%s</identity>\n", 
+                                                                                 proto, proto, host, proto, !switch_strlen_zero(clean_to_user) ? clean_to_user : "unknown");
+                                       stream.write_function(&stream, "<target uri=\"sip:%s@%s\">\n", proto, host);
                                        stream.write_function(&stream, "<param pname=\"+sip.rendering\" pvalue=\"no\"/>\n</target>\n</local>\n");  
-                                       stream.write_function(&stream, "<remote>\n<identity display=\"parking\">sip:%s</identity>\n", uuid);
-                                       stream.write_function(&stream, "<target uri=\"sip:park+%s\"/>\n", uuid);
-                                       stream.write_function(&stream, "</remote>\n");
-                               } else if (!strcasecmp(proto, "conf")) {
-                                       stream.write_function(&stream, "<local>\n<identity display=\"conference\">sip:conference@%s;conference=%s</identity>\n", 
-                                                                                 host, !switch_strlen_zero(clean_to_user) ? clean_to_user : "unknown");
-                                       stream.write_function(&stream, "<target uri=\"sip:conference@%s\">\n", host);
-                                       stream.write_function(&stream, "<param pname=\"+sip.rendering\" pvalue=\"yes\"/>\n</target>\n</local>\n");  
-                                       stream.write_function(&stream, "<remote>\n<identity display=\"conference\">sip:%s@%s</identity>\n", uuid, host);
-                                       stream.write_function(&stream, "<target uri=\"sip:conf+%s@%s\"/>\n", uuid, host);
+                                       stream.write_function(&stream, "<remote>\n<identity display=\"%s\">sip:%s@%s</identity>\n", proto, uuid, host);
+                                       stream.write_function(&stream, "<target uri=\"sip:%s+%s@%s;%s=%s\"/>\n", proto, uuid, host, proto, uuid);
                                        stream.write_function(&stream, "</remote>\n");
                                }
                        }