[asterisk-commits] file: trunk r85278 - in /trunk: ./ channels/chan_sip.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Oct 10 09:30:05 CDT 2007
Author: file
Date: Wed Oct 10 09:30:05 2007
New Revision: 85278
URL: http://svn.digium.com/view/asterisk?view=rev&rev=85278
Log:
Merged revisions 85277 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r85277 | file | 2007-10-10 11:28:18 -0300 (Wed, 10 Oct 2007) | 6 lines
Add support for handling a 182 Queued response.
(closes issue #10924)
Reported by: ramonpeek
Patches:
queued-182.diff uploaded by ramonpeek (license 266)
........
Modified:
trunk/ (props changed)
trunk/channels/chan_sip.c
Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.
Modified: trunk/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_sip.c?view=diff&rev=85278&r1=85277&r2=85278
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Wed Oct 10 09:30:05 2007
@@ -13100,7 +13100,7 @@
/* RFC3261 says we must treat every 1xx response (but not 100)
that we don't recognize as if it was 183.
*/
- if (resp > 100 && resp < 200 && resp!=101 && resp != 180 && resp != 183)
+ if (resp > 100 && resp < 200 && resp!=101 && resp != 180 && resp != 182 && resp != 183)
resp = 183;
/* Any response between 100 and 199 is PROCEEDING */
@@ -13121,6 +13121,7 @@
break;
case 180: /* 180 Ringing */
+ case 182: /* 182 Queued */
if (!req->ignore)
sip_cancel_destroy(p);
if (!req->ignore && p->owner) {
@@ -13133,7 +13134,7 @@
p->invitestate = INV_EARLY_MEDIA;
res = process_sdp(p, req);
if (!req->ignore && p->owner) {
- /* Queue a progress frame only if we have SDP in 180 */
+ /* Queue a progress frame only if we have SDP in 180 or 182 */
ast_queue_control(p->owner, AST_CONTROL_PROGRESS);
}
}
@@ -13684,6 +13685,10 @@
break;
case 180: /* 180 Ringing */
if (sipmethod == SIP_INVITE)
+ handle_response_invite(p, resp, rest, req, seqno);
+ break;
+ case 182: /* 182 Queued */
+ if (sipmethod == SIP_INVITE)
handle_response_invite(p, resp, rest, req, seqno);
break;
case 200: /* 200 OK */
More information about the asterisk-commits
mailing list