From f105444c7fd781a53cb9110112bac30bd69f37b4 Mon Sep 17 00:00:00 2001 From: Nadin Zajimovic Date: Wed, 20 Jan 2021 09:05:17 +0100 Subject: [PATCH 1/2] do not send BYE on early dialog --- plugins/janus_sip.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/janus_sip.c b/plugins/janus_sip.c index 03d9be6807..34fe7dc14b 100644 --- a/plugins/janus_sip.c +++ b/plugins/janus_sip.c @@ -2528,7 +2528,12 @@ static void janus_sip_hangup_media_internal(janus_plugin_session *handle) { session->media.ready = FALSE; session->media.on_hold = FALSE; janus_sip_call_update_status(session, janus_sip_call_status_closing); - nua_bye(session->stack->s_nh_i, TAG_END()); + + if(g_atomic_int_get(&session->established)) + nua_bye(session->stack->s_nh_i, TAG_END()); + else + nua_respond(session->stack->s_nh_i, 486, sip_status_phrase(486), TAG_END()); + /* Notify the operation */ json_t *event = json_object(); json_object_set_new(event, "sip", json_string("event")); From fc691660c66e30fe6c8d9b06f97f19ee8228135a Mon Sep 17 00:00:00 2001 From: Nadin Zajimovic Date: Wed, 20 Jan 2021 09:52:27 +0100 Subject: [PATCH 2/2] use 480 instead of 486 for SIP response on session destroy --- plugins/janus_sip.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/janus_sip.c b/plugins/janus_sip.c index 34fe7dc14b..dd5381efa0 100644 --- a/plugins/janus_sip.c +++ b/plugins/janus_sip.c @@ -2532,7 +2532,7 @@ static void janus_sip_hangup_media_internal(janus_plugin_session *handle) { if(g_atomic_int_get(&session->established)) nua_bye(session->stack->s_nh_i, TAG_END()); else - nua_respond(session->stack->s_nh_i, 486, sip_status_phrase(486), TAG_END()); + nua_respond(session->stack->s_nh_i, 480, sip_status_phrase(480), TAG_END()); /* Notify the operation */ json_t *event = json_object();