From 29e489e000a1c270a53ae6d03a7a639f502d50aa Mon Sep 17 00:00:00 2001 From: Olle Johansson Date: Sat, 28 Oct 2006 19:16:23 +0000 Subject: [PATCH] Merge from 1.4 : Don't send 183 reliably... git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46383 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 63cb61402d..6341b71c82 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -3546,7 +3546,7 @@ static int sip_write(struct ast_channel *ast, struct ast_frame *frame) if ((ast->_state != AST_STATE_UP) && !ast_test_flag(&p->flags[0], SIP_PROGRESS_SENT) && !ast_test_flag(&p->flags[0], SIP_OUTGOING)) { - transmit_response_with_t38_sdp(p, "183 Session Progress", &p->initreq, XMIT_RELIABLE); + transmit_response_with_t38_sdp(p, "183 Session Progress", &p->initreq, XMIT_UNRELIABLE); ast_set_flag(&p->flags[0], SIP_PROGRESS_SENT); } res = ast_udptl_write(p->udptl, frame); @@ -12899,7 +12899,7 @@ static int handle_invite_replaces(struct sip_pvt *p, struct sip_request *req, in /* We should answer something here. If we are here, the call we are replacing exists, so an accepted can't harm */ - transmit_response_with_sdp(p, "200 OK", req, 1); + transmit_response_with_sdp(p, "200 OK", req, XMIT_RELIABLE); /* Do something more clever here */ ast_channel_unlock(c); sip_pvt_unlock(p->refer->refer_call); @@ -12908,7 +12908,7 @@ static int handle_invite_replaces(struct sip_pvt *p, struct sip_request *req, in if (!c) { /* What to do if no channel ??? */ ast_log(LOG_ERROR, "Unable to create new channel. Invite/replace failed.\n"); - transmit_response_with_sdp(p, "503 Service Unavailable", req, 1); + transmit_response_reliable(p, "503 Service Unavailable", req); append_history(p, "Xfer", "INVITE/Replace Failed. No new channel."); sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT); sip_pvt_unlock(p->refer->refer_call); @@ -12933,7 +12933,7 @@ static int handle_invite_replaces(struct sip_pvt *p, struct sip_request *req, in Targetcall is not touched by the masq */ /* Answer the incoming call and set channel to UP state */ - transmit_response_with_sdp(p, "200 OK", req, 1); + transmit_response_with_sdp(p, "200 OK", req, XMIT_RELIABLE); ast_setstate(c, AST_STATE_UP); /* Stop music on hold and other generators */