提交 f04fd38c authored 作者: Anthony Minessale's avatar Anthony Minessale

FS-3594 if this does not work you will need to give me access to your box

上级 8e2793b4
...@@ -808,7 +808,7 @@ static void our_sofia_event_callback(nua_event_t event, ...@@ -808,7 +808,7 @@ static void our_sofia_event_callback(nua_event_t event,
int check_destroy = 1; int check_destroy = 1;
if (sofia_private && sofia_private->de) { if (sofia_private && sofia_private->is_call && sofia_private->de) {
sofia_dispatch_event_t *qde = sofia_private->de; sofia_dispatch_event_t *qde = sofia_private->de;
sofia_private->de = NULL; sofia_private->de = NULL;
sofia_process_dispatch_event(&qde); sofia_process_dispatch_event(&qde);
......
...@@ -68,6 +68,10 @@ static void sofia_reg_new_handle(sofia_gateway_t *gateway_ptr, int attach) ...@@ -68,6 +68,10 @@ static void sofia_reg_new_handle(sofia_gateway_t *gateway_ptr, int attach)
static void sofia_reg_kill_reg(sofia_gateway_t *gateway_ptr) static void sofia_reg_kill_reg(sofia_gateway_t *gateway_ptr)
{ {
if (gateway_ptr->nh) {
nua_handle_bind(gateway_ptr->nh, NULL);
}
if (gateway_ptr->state != REG_STATE_REGED) { if (gateway_ptr->state != REG_STATE_REGED) {
if (gateway_ptr->nh) { if (gateway_ptr->nh) {
nua_handle_destroy(gateway_ptr->nh); nua_handle_destroy(gateway_ptr->nh);
...@@ -76,19 +80,10 @@ static void sofia_reg_kill_reg(sofia_gateway_t *gateway_ptr) ...@@ -76,19 +80,10 @@ static void sofia_reg_kill_reg(sofia_gateway_t *gateway_ptr)
return; return;
} }
/*
if (!gateway_ptr->nh) {
sofia_reg_new_handle(gateway_ptr, SWITCH_FALSE);
}
*/
if (gateway_ptr->nh) { if (gateway_ptr->nh) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "UN-Registering %s\n", gateway_ptr->name); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "UN-Registering %s\n", gateway_ptr->name);
nua_unregister(gateway_ptr->nh, NUTAG_URL(gateway_ptr->register_url), NUTAG_REGISTRAR(gateway_ptr->register_proxy), TAG_END()); nua_unregister(gateway_ptr->nh, NUTAG_URL(gateway_ptr->register_url), NUTAG_REGISTRAR(gateway_ptr->register_proxy), TAG_END());
} }
} }
void sofia_reg_fire_custom_gateway_state_event(sofia_gateway_t *gateway, int status, const char *phrase) void sofia_reg_fire_custom_gateway_state_event(sofia_gateway_t *gateway, int status, const char *phrase)
...@@ -114,6 +109,10 @@ void sofia_reg_unregister(sofia_profile_t *profile) ...@@ -114,6 +109,10 @@ void sofia_reg_unregister(sofia_profile_t *profile)
switch_mutex_lock(mod_sofia_globals.hash_mutex); switch_mutex_lock(mod_sofia_globals.hash_mutex);
for (gateway_ptr = profile->gateways; gateway_ptr; gateway_ptr = gateway_ptr->next) { for (gateway_ptr = profile->gateways; gateway_ptr; gateway_ptr = gateway_ptr->next) {
if (gateway_ptr->nh) {
nua_handle_bind(gateway_ptr->nh, NULL);
}
if (gateway_ptr->sofia_private) { if (gateway_ptr->sofia_private) {
sofia_private_free(gateway_ptr->sofia_private); sofia_private_free(gateway_ptr->sofia_private);
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论