[mod_sofia] on call term optionally ignore Q.850 Reason

Currently SIP termination messages with Q.850 override the SIP
reason. Add chanvar ignore_q850_reason to ignore the Q.850 reason
and keep the SIP Reason Code.

Using the chan var avoids unexpected changes in behavior.

Co-authored-by: Brian West <brian@freeswitch.org>
This commit is contained in:
Ken 2022-06-07 11:56:54 -05:00 committed by Andrey Volk
parent 7f0edeafcc
commit 04df9c12f7
1 changed files with 1 additions and 1 deletions

View File

@ -8718,7 +8718,7 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
sofia_clear_flag_locked(tech_pvt, TFLAG_NOHUP);
} else if (switch_channel_up(channel)) {
int cause;
if (tech_pvt->q850_cause) {
if (tech_pvt->q850_cause && !switch_channel_var_true(channel, "ignore_q850_reason")) {
cause = tech_pvt->q850_cause;
} else {
cause = sofia_glue_sip_cause_to_freeswitch(status);