[commit] r3369 - freeswitch/trunk/src/mod/endpoints/mod_dingaling
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)) {
participants (1)
-
Freeswitch SVN