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

Freeswitch SVN anthm at freeswitch.org
Tue Nov 14 12:41:36 EST 2006


Author: anthm
Date: Tue Nov 14 12:41:35 2006
New Revision: 3369

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 14 12:41:35 2006
@@ -1486,21 +1486,28 @@
 			*dnis++ = '\0';
 		}
 
-		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 {
-			user = (char *) modname;
-		}
+		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 ((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 (!user) {
+				user = mdl_profile->login;
 			}
 
 			if (!ldl_handle_ready(mdl_profile->handle)) {



More information about the Freeswitch-svn mailing list