summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2005-02-25 16:37:34 +0000
committerMark Spencer <markster@digium.com>2005-02-25 16:37:34 +0000
commit8ea159cc2ecfe6b14ae70ce900e8fbe477e84fb2 (patch)
tree94f8e2d573d19d6f86d8525c814fd54859b33db0 /channels
parent5a9f337de05978833986a215611a77c1db18798a (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')
-rwxr-xr-xchannels/chan_sip.c22
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);