提交 4f670da1 authored 作者: Anthony Minessale's avatar Anthony Minessale

add some clarification

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9238 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 4a278c11
......@@ -1186,7 +1186,8 @@ typedef enum {
SWITCH_CAUSE_ALLOTTED_TIMEOUT = 602,
SWITCH_CAUSE_USER_CHALLENGE = 603,
SWITCH_CAUSE_MEDIA_TIMEOUT = 604,
SWITCH_CAUSE_PICKED_OFF = 605
SWITCH_CAUSE_PICKED_OFF = 605,
SWITCH_CAUSE_USER_NOT_REGISTERED = 606
} switch_call_cause_t;
typedef enum {
......
......@@ -1616,8 +1616,8 @@ SWITCH_STANDARD_API(sofia_contact_function)
char *p;
sofia_profile_t *profile = NULL;
const char *exclude_contact = NULL;
char *reply = "";
char *reply = "error/facility_not_subscribed";
if (!cmd) {
stream->write_function(stream, "%s", "");
return SWITCH_STATUS_SUCCESS;
......@@ -1696,8 +1696,14 @@ SWITCH_STANDARD_API(sofia_contact_function)
if (!switch_strlen_zero(reply) && end_of(reply) == ',') {
end_of(reply) = '\0';
}
if (switch_strlen_zero(reply)) {
reply = "error/user_not_registered";
}
stream->write_function(stream, "%s", reply);
reply = NULL;
switch_safe_free(mystream.data);
}
}
......@@ -1960,7 +1966,7 @@ static switch_call_cause_t sofia_outgoing_channel(switch_core_session_t *session
tech_pvt->local_url = switch_core_session_sprintf(nsession, "%s@%s", dest, host);
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Cannot locate registered user %s@%s\n", dest, host);
cause = SWITCH_CAUSE_NO_ROUTE_DESTINATION;
cause = SWITCH_CAUSE_USER_NOT_REGISTERED;
goto error;
}
} else if (!(host = strchr(dest, '@'))) {
......@@ -1972,7 +1978,7 @@ static switch_call_cause_t sofia_outgoing_channel(switch_core_session_t *session
host = profile_name;
} else {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Cannot locate registered user %s@%s\n", dest, profile_name);
cause = SWITCH_CAUSE_NO_ROUTE_DESTINATION;
cause = SWITCH_CAUSE_USER_NOT_REGISTERED;
goto error;
}
} else {
......
......@@ -101,6 +101,7 @@ static struct switch_cause_table CAUSE_CHART[] = {
{"USER_CHALLENGE", SWITCH_CAUSE_USER_CHALLENGE},
{"MEDIA_TIMEOUT", SWITCH_CAUSE_MEDIA_TIMEOUT},
{"PICKED_OFF", SWITCH_CAUSE_PICKED_OFF},
{"USER_NOT_REGISTERED", SWITCH_CAUSE_USER_NOT_REGISTERED},
{NULL, 0}
};
......
......@@ -536,10 +536,16 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_originate(switch_core_session_t *sess
char *loop_data = NULL;
uint32_t progress_timelimit_sec = 0;
*bleg = NULL;
if (!strncasecmp(bridgeto, "error/", 6)) {
*cause = switch_channel_str2cause(bridgeto + 6);
return SWITCH_STATUS_SUCCESS;
}
switch_zmalloc(write_frame.data, SWITCH_RECOMMENDED_BUFFER_SIZE);
write_frame.buflen = SWITCH_RECOMMENDED_BUFFER_SIZE;
*bleg = NULL;
odata = strdup(bridgeto);
if (!odata) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论