From 04df9c12f7e1a786875a6f3299dc766c314b73c1 Mon Sep 17 00:00:00 2001 From: Ken Date: Tue, 7 Jun 2022 11:56:54 -0500 Subject: [PATCH] [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 --- src/mod/endpoints/mod_sofia/sofia.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mod/endpoints/mod_sofia/sofia.c b/src/mod/endpoints/mod_sofia/sofia.c index 5066a13ef8..09d877527a 100644 --- a/src/mod/endpoints/mod_sofia/sofia.c +++ b/src/mod/endpoints/mod_sofia/sofia.c @@ -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);