提交 7e5befc2 authored 作者: Moises Silva's avatar Moises Silva

freetdm: use ftdm_channel_hangup_with_cause for CAS channels (ftmod_r2)

上级 4793c697
...@@ -493,7 +493,6 @@ static switch_status_t channel_on_hangup(switch_core_session_t *session) ...@@ -493,7 +493,6 @@ static switch_status_t channel_on_hangup(switch_core_session_t *session)
switch (chantype) { switch (chantype) {
case FTDM_CHAN_TYPE_FXO: case FTDM_CHAN_TYPE_FXO:
case FTDM_CHAN_TYPE_EM: case FTDM_CHAN_TYPE_EM:
case FTDM_CHAN_TYPE_CAS:
{ {
ftdm_channel_call_hangup(tech_pvt->ftdmchan); ftdm_channel_call_hangup(tech_pvt->ftdmchan);
} }
...@@ -510,6 +509,7 @@ static switch_status_t channel_on_hangup(switch_core_session_t *session) ...@@ -510,6 +509,7 @@ static switch_status_t channel_on_hangup(switch_core_session_t *session)
} }
} }
break; break;
case FTDM_CHAN_TYPE_CAS:
case FTDM_CHAN_TYPE_B: case FTDM_CHAN_TYPE_B:
{ {
ftdm_call_cause_t hcause = switch_channel_get_cause_q850(channel); ftdm_call_cause_t hcause = switch_channel_get_cause_q850(channel);
...@@ -521,8 +521,7 @@ static switch_status_t channel_on_hangup(switch_core_session_t *session) ...@@ -521,8 +521,7 @@ static switch_status_t channel_on_hangup(switch_core_session_t *session)
break; break;
default: default:
{ {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Unhandled channel type %d for channel %s\n", chantype, switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Unhandled channel type %d for channel %s\n", chantype, switch_channel_get_name(channel));
switch_channel_get_name(channel));
} }
break; break;
} }
......
...@@ -307,6 +307,7 @@ static openr2_call_disconnect_cause_t ftdm_r2_ftdm_cause_to_openr2_cause(ftdm_ch ...@@ -307,6 +307,7 @@ static openr2_call_disconnect_cause_t ftdm_r2_ftdm_cause_to_openr2_cause(ftdm_ch
return OR2_CAUSE_NORMAL_CLEARING; return OR2_CAUSE_NORMAL_CLEARING;
case FTDM_CAUSE_USER_BUSY: case FTDM_CAUSE_USER_BUSY:
case FTDM_CAUSE_CALL_REJECTED:
return OR2_CAUSE_BUSY_NUMBER; return OR2_CAUSE_BUSY_NUMBER;
case FTDM_CAUSE_SWITCH_CONGESTION: case FTDM_CAUSE_SWITCH_CONGESTION:
...@@ -334,7 +335,7 @@ static openr2_call_disconnect_cause_t ftdm_r2_ftdm_cause_to_openr2_cause(ftdm_ch ...@@ -334,7 +335,7 @@ static openr2_call_disconnect_cause_t ftdm_r2_ftdm_cause_to_openr2_cause(ftdm_ch
return OR2_CAUSE_GLARE; return OR2_CAUSE_GLARE;
} }
ftdm_log_chan(fchan, FTDM_LOG_WARNING, "freetdm hangup cause %d mapped to openr2 cause %s\n", ftdm_log_chan(fchan, FTDM_LOG_NOTICE, "freetdm hangup cause %d mapped to openr2 cause %s\n",
fchan->caller_data.hangup_cause, openr2_proto_get_disconnect_string(OR2_CAUSE_UNSPECIFIED)); fchan->caller_data.hangup_cause, openr2_proto_get_disconnect_string(OR2_CAUSE_UNSPECIFIED));
return OR2_CAUSE_UNSPECIFIED; return OR2_CAUSE_UNSPECIFIED;
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论