aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2006-11-21 15:25:38 +0000
committeroej <oej@f38db490-d61c-443f-a65b-d21fe96a405b>2006-11-21 15:25:38 +0000
commit217a902c1cffff5a26667ead4d5f5d93982a998a (patch)
treed770894a31ca04d1feb4408e662528f03c3506ce
parentff1233d501b60a2637911d777a1757cebf8dee36 (diff)
Treat 101 as 100, not 183 session progress
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@47893 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--channels/chan_sip.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 019ee581c..e7c7ef449 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -558,7 +558,7 @@ static char global_useragent[AST_MAX_EXTENSION]; /*!< Useragent for the SIP chan
static int allow_external_domains; /*!< Accept calls to external SIP domains? */
static int global_callevents; /*!< Whether we send manager events or not */
static int global_t1min; /*!< T1 roundtrip time minimum */
-static int global_autoframing; /*!< ?????????? */
+static int global_autoframing; /*!< Turn autoframing on or off. */
static enum transfermodes global_allowtransfer; /*!< SIP Refer restriction scheme */
/*! \brief Codecs that we support by default: */
@@ -11724,7 +11724,7 @@ static void handle_response_invite(struct sip_pvt *p, int resp, char *rest, stru
/* 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 != 180 && resp != 183)
+ if (resp > 100 && resp < 200 && resp!=101 && resp != 180 && resp != 183)
resp = 183;
/* Any response between 100 and 199 is PROCEEDING */
@@ -11738,6 +11738,7 @@ static void handle_response_invite(struct sip_pvt *p, int resp, char *rest, stru
switch (resp) {
case 100: /* Trying */
+ case 101: /* Dialog establishment */
if (!ast_test_flag(req, SIP_PKT_IGNORE))
sip_cancel_destroy(p);
check_pendings(p);
@@ -12232,6 +12233,7 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_
} else if (ast_test_flag(&p->flags[0], SIP_OUTGOING)) {
switch(resp) {
case 100: /* 100 Trying */
+ case 101: /* 101 Dialog establishment */
if (sipmethod == SIP_INVITE)
handle_response_invite(p, resp, rest, req, seqno);
break;
@@ -12940,6 +12942,7 @@ static int handle_request_notify(struct sip_pvt *p, struct sip_request *req, str
respcode = atoi(code);
switch (respcode) {
case 100: /* Trying: */
+ case 101: /* dialog establishment */
/* Don't do anything yet */
break;
case 183: /* Ringing: */