[Freeswitch-svn] [commit] r3432 - freeswitch/trunk/src/mod/endpoints/mod_dingaling

Freeswitch SVN anthm at freeswitch.org
Tue Nov 21 14:01:55 EST 2006


Author: anthm
Date: Tue Nov 21 14:01:54 2006
New Revision: 3432

Modified:
   freeswitch/trunk/src/mod/endpoints/mod_dingaling/mod_dingaling.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	Tue Nov 21 14:01:54 2006
@@ -1487,25 +1487,28 @@
 			*dnis++ = '\0';
 		}
 
-		if ((mdl_profile->user_flags & LDL_FLAG_COMPONENT)) {
-			if ((p = strchr(profile_name, '@'))) {
-				*p++ = '\0';
-				u = profile_name;
-				profile_name = p;
-				snprintf(ubuf, sizeof(ubuf), "%s@%s/talk", u, profile_name);
-				user = ubuf;
-			} else {
-				terminate_session(new_session,  __LINE__, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
-				return SWITCH_STATUS_GENERR;
-			}
-		} 
 
+		if ((p = strchr(profile_name, '@'))) {
+			*p++ = '\0';
+			u = profile_name;
+			profile_name = p;
+			snprintf(ubuf, sizeof(ubuf), "%s@%s/talk", u, profile_name);
+			user = ubuf;
+		}
+
 		if ((mdl_profile = switch_core_hash_find(globals.profile_hash, profile_name))) {
-			if (strchr(outbound_profile->caller_id_number, '@')) {
-				snprintf(ubuf, sizeof(ubuf), "%s/talk", outbound_profile->caller_id_number);
-				user = ubuf;
-			} else {
+			if (!(mdl_profile->user_flags & LDL_FLAG_COMPONENT)) {
 				user = ldl_handle_get_login(mdl_profile->handle);
+			} else {
+				if (!user) {
+					if (strchr(outbound_profile->caller_id_number, '@')) {
+						snprintf(ubuf, sizeof(ubuf), "%s/talk", outbound_profile->caller_id_number);
+						user = ubuf;
+					} else {
+						switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Invalid User!\n");
+						terminate_session(new_session,  __LINE__, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER);
+					}
+				}
 			}
 
 			if (!ldl_handle_ready(mdl_profile->handle)) {



More information about the Freeswitch-svn mailing list