[Freeswitch-svn] [commit] r7022 - freeswitch/trunk/src/mod/endpoints/mod_sofia

Freeswitch SVN brian at freeswitch.org
Sat Dec 29 14:41:18 EST 2007


Author: brian
Date: Sat Dec 29 14:41:17 2007
New Revision: 7022

Modified:
   freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c

Log:
update for conference and parking presence for dialog-info

Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c	(original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia_presence.c	Sat Dec 29 14:41:17 2007
@@ -740,12 +740,27 @@
 					stream.write_function(&stream, "<param pname=\"+sip.rendering\" pvalue=\"%s\"/>\n", !strcasecmp(event_status, "hold") ? "no" : "yes" );
 					stream.write_function(&stream, "</target>\n</local>\n");  
 					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@%s\"/>\n", !strcasecmp(proto, "park") ? "park+" : "", clean_to_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);
+					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");
-					
 				}
-				
 			}
+
 			stream.write_function(&stream, "</dialog>\n");			
 			
 		}



More information about the Freeswitch-svn mailing list