mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-07 02:18:15 +00:00
move the processing of SDP data to after determining the user (bug #3660)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-0@5096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
3
CHANGES
3
CHANGES
@@ -18,6 +18,9 @@ Asterisk 1.0.6
|
||||
-- Asterisk was not sending the same From: line in SIP messages during certain times.
|
||||
Fixed to make sure it stays the same. This makes some providers happier, to a working state.
|
||||
-- Certain circumstances involving a blank callerid caused asterisk to segmentation fault.
|
||||
-- There was a problem incorrectly matching codec availablity when global preferences were
|
||||
different from that of the user. To fix this, processing of SDP data has been moved
|
||||
to after determining who the call is coming from.
|
||||
-- chan_zap:
|
||||
-- During a certain scenario when using flash and '#' transfers you would hear the
|
||||
other person and the music they were hearing. This has been fixed.
|
||||
|
||||
@@ -7257,7 +7257,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)
|
||||
@@ -7269,16 +7268,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) {
|
||||
@@ -7295,6 +7284,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);
|
||||
|
||||
Reference in New Issue
Block a user