[Freeswitch-svn] [commit] r3227 - in freeswitch/trunk/src/mod/endpoints: mod_dingaling mod_sofia

Freeswitch SVN anthm at freeswitch.org
Sun Oct 29 12:57:56 EST 2006


Author: anthm
Date: Sun Oct 29 12:57:55 2006
New Revision: 3227

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

Log:
update

Modified: freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c	(original)
+++ freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.c	Sun Oct 29 12:57:55 2006
@@ -1497,6 +1497,12 @@
 		}
 
 		if ((mdl_profile = switch_core_hash_find(globals.profile_hash, profile_name))) {
+
+			if ((mdl_profile->user_flags & LDL_FLAG_COMPONENT) && strchr(outbound_profile->caller_id_number, '@')) {
+				snprintf(ubuf, sizeof(ubuf), "%s/talk", outbound_profile->caller_id_number);
+				user = ubuf;
+			}
+
 			if (!ldl_handle_ready(mdl_profile->handle)) {
 				switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Doh! we are not logged in yet!\n");
 				terminate_session(new_session,  __LINE__, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);

Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c
==============================================================================
--- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c	(original)
+++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c	Sun Oct 29 12:57:55 2006
@@ -3693,7 +3693,7 @@
 			char *username, *to_username = NULL;
 			char *url_user = (char *) from->a_url->url_user;
 			char *to_user, *to_host;
-			char *a,*b;
+
 			if (!(tech_pvt = (private_object_t *) switch_core_session_alloc(session, sizeof(private_object_t)))) {
 				switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Hey where is my memory pool?\n");
 				terminate_session(&session, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER, __LINE__);
@@ -3754,18 +3754,19 @@
 				}
 			}
 
-			if ((a = strchr(to_user, '+')) && (b = strrchr(to_user, '+')) && a != b) {
-				*b = '@';
-			}
-
 			attach_private(session, profile, tech_pvt, username);
 
 			channel = switch_core_session_get_channel(session);
 			switch_channel_set_variable(channel, "endpoint_disposition", "INBOUND CALL");
 			set_chat_hash(tech_pvt, sip);
 			
-			switch_channel_set_variable(channel, "sip_fromuser", (char *) from->a_url->url_user);
-			switch_channel_set_variable(channel, "sip_fromhost", (char *) from->a_url->url_host);
+			switch_channel_set_variable(channel, "sip_from_user", (char *) from->a_url->url_user);
+			if (from->a_url->url_user && *from->a_url->url_user == '+') {
+				switch_channel_set_variable(channel, "sip_from_user_stripped", (char *)(from->a_url->url_user+1));
+			} else {
+				switch_channel_set_variable(channel, "sip_from_user_stripped", (char *)from->a_url->url_user);
+			}
+			switch_channel_set_variable(channel, "sip_from_host", (char *) from->a_url->url_host);
 			if ((tech_pvt->caller_profile = switch_caller_profile_new(switch_core_session_get_pool(session),
 																	  (char *) from->a_url->url_user,
 																	  profile->dialplan,



More information about the Freeswitch-svn mailing list