diff options
author | Mark Spencer <markster@digium.com> | 2005-02-25 16:37:34 +0000 |
---|---|---|
committer | Mark Spencer <markster@digium.com> | 2005-02-25 16:37:34 +0000 |
commit | 8ea159cc2ecfe6b14ae70ce900e8fbe477e84fb2 (patch) | |
tree | 94f8e2d573d19d6f86d8525c814fd54859b33db0 /channels/chan_sip.c | |
parent | 5a9f337de05978833986a215611a77c1db18798a (diff) |
Handle SDP *after* authentication (bug #3660)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5075 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_sip.c')
-rwxr-xr-x | channels/chan_sip.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index a1f401424..56de6713f 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -7988,7 +7988,6 @@ static int handle_request(struct sip_pvt *p, struct sip_request *req, struct soc /* We do NOT destroy p here, so that our response will be accepted */ return 0; } - /* Process the SDP portion */ if (!ignore) { /* Use this as the basis */ if (debug) @@ -8000,16 +7999,6 @@ static int handle_request(struct sip_pvt *p, struct sip_request *req, struct soc p->pendinginvite = seqno; copy_request(&p->initreq, req); check_via(p, req); - if (!ast_strlen_zero(get_header(req, "Content-Type"))) { - if (process_sdp(p, req)) - return -1; - } else { - p->jointcapability = p->capability; - ast_log(LOG_DEBUG, "Hm.... No sdp for the moment\n"); - } - /* Queue NULL frame to prod ast_rtp_bridge if appropriate */ - if (p->owner) - ast_queue_frame(p->owner, &af); } else if (debug) ast_verbose("Ignoring this request\n"); if (!p->lastinvite && !ignore && !p->owner) { @@ -8026,6 +8015,17 @@ static int handle_request(struct sip_pvt *p, struct sip_request *req, struct soc } return 0; } + /* Process the SDP portion */ + if (!ast_strlen_zero(get_header(req, "Content-Type"))) { + if (process_sdp(p, req)) + return -1; + } else { + p->jointcapability = p->capability; + ast_log(LOG_DEBUG, "Hm.... No sdp for the moment\n"); + } + /* Queue NULL frame to prod ast_rtp_bridge if appropriate */ + if (p->owner) + ast_queue_frame(p->owner, &af); /* Initialize the context if it hasn't been already */ if (ast_strlen_zero(p->context)) strncpy(p->context, default_context, sizeof(p->context) - 1); |