Revision
17067
Author
anthm
Date
2010-03-22 12:28:22 -0500 (Mon, 22 Mar 2010)

Log Message

only allow barge-in on SCA mode when calls are from their own line

Modified Paths

Diff

Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c (17066 => 17067)


--- freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c	2010-03-22 16:39:15 UTC (rev 17066)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/sofia.c	2010-03-22 17:28:22 UTC (rev 17067)
@@ -6335,23 +6335,22 @@
 		char cid[512] = "";
 		char *str;
 		char *p = NULL;
-		const char *user = NULL, *host = NULL;
+		const char *user = NULL, *host = NULL, *from_user = NULL, *from_host = NULL;
 
 		if (sip->sip_to && sip->sip_to->a_url) {
 			user = sip->sip_to->a_url->url_user;
 			host = sip->sip_to->a_url->url_host;
 		}
 
-		if (!user || !host) {
-			if (sip->sip_from && sip->sip_from->a_url) {
-				if (!user)
-					user = sip->sip_from->a_url->url_user;
-				if (!host)
-					host = sip->sip_from->a_url->url_host;
-			}
+		if (sip->sip_from && sip->sip_from->a_url) {
+			from_user = sip->sip_from->a_url->url_user;
+			from_host = sip->sip_from->a_url->url_host;
 		}
 
-		if (user && host) {
+		if (!user) user = from_user;
+		if (!host) user = from_host;
+
+		if (user && host && from_user && !strcmp(user, from_user)) {
 			if ((p = strchr(call_info_str, ';'))) {
 				p++;
 			}