From 400372666dd13986fb1708d9bee8c21c9309c7eb Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Sat, 10 Feb 2007 23:16:43 +0000 Subject: [PATCH] add some better returns to invite failures. git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4195 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/mod/endpoints/mod_sofia/mod_sofia.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/mod/endpoints/mod_sofia/mod_sofia.c b/src/mod/endpoints/mod_sofia/mod_sofia.c index a9a31f6a98..83528e5af6 100644 --- a/src/mod/endpoints/mod_sofia/mod_sofia.c +++ b/src/mod/endpoints/mod_sofia/mod_sofia.c @@ -4215,6 +4215,7 @@ static void sip_i_invite(nua_t *nua, if (!(sip && sip->sip_contact && sip->sip_contact->m_url)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "NO CONTACT!\n"); + nua_respond(nh, 400, "Missing Contact Header", TAG_END()); return; } @@ -4226,12 +4227,13 @@ static void sip_i_invite(nua_t *nua, if (!(session = switch_core_session_request(&sofia_endpoint_interface, NULL))) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Session Alloc Failed!\n"); - return; + nua_respond(nh, SIP_503_SERVICE_UNAVAILABLE, TAG_END()); + return; } if (!(tech_pvt = (private_object_t *) switch_core_session_alloc(session, sizeof(private_object_t)))) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Hey where is my memory pool?\n"); - terminate_session(&session, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER, __LINE__); + terminate_session(&session, SWITCH_CAUSE_SWITCH_CONGESTION, __LINE__); return; }