]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-4428 --resolve
authorAnthony Minessale <anthm@freeswitch.org>
Mon, 16 Jul 2012 18:53:19 +0000 (13:53 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Mon, 16 Jul 2012 18:53:19 +0000 (13:53 -0500)
src/mod/endpoints/mod_sofia/sofia.c

index 5004fc8d27c80a3c7fa84d14e188c09cdc5700d8..fbd979c4b145d0357ea3db07480ac7a6d3bc93fa 100644 (file)
@@ -5137,7 +5137,11 @@ static void sofia_handle_sip_r_invite(switch_core_session_t *session, int status
                        return;
                }
 
-                if (status >= 500 && sip->sip_reason && sip->sip_reason->re_protocol && (!strcasecmp(sip->sip_reason->re_protocol, "Q.850")
+               if (status > 299) {
+                       switch_channel_set_variable(channel, "sip_hangup_disposition", "recv_refuse");
+               }
+
+               if (status >= 500 && sip->sip_reason && sip->sip_reason->re_protocol && (!strcasecmp(sip->sip_reason->re_protocol, "Q.850")
                                || !strcasecmp(sip->sip_reason->re_protocol, "FreeSWITCH")
                                || !strcasecmp(sip->sip_reason->re_protocol, profile->username)) && sip->sip_reason->re_cause) {
                        tech_pvt->q850_cause = atoi(sip->sip_reason->re_cause);