mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-07 10:28:32 +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.
|
-- 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.
|
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.
|
-- 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:
|
-- chan_zap:
|
||||||
-- During a certain scenario when using flash and '#' transfers you would hear the
|
-- 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.
|
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 */
|
/* We do NOT destroy p here, so that our response will be accepted */
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/* Process the SDP portion */
|
|
||||||
if (!ignore) {
|
if (!ignore) {
|
||||||
/* Use this as the basis */
|
/* Use this as the basis */
|
||||||
if (debug)
|
if (debug)
|
||||||
@@ -7269,16 +7268,6 @@ static int handle_request(struct sip_pvt *p, struct sip_request *req, struct soc
|
|||||||
p->pendinginvite = seqno;
|
p->pendinginvite = seqno;
|
||||||
copy_request(&p->initreq, req);
|
copy_request(&p->initreq, req);
|
||||||
check_via(p, 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)
|
} else if (debug)
|
||||||
ast_verbose("Ignoring this request\n");
|
ast_verbose("Ignoring this request\n");
|
||||||
if (!p->lastinvite && !ignore && !p->owner) {
|
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;
|
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 */
|
/* Initialize the context if it hasn't been already */
|
||||||
if (ast_strlen_zero(p->context))
|
if (ast_strlen_zero(p->context))
|
||||||
strncpy(p->context, default_context, sizeof(p->context) - 1);
|
strncpy(p->context, default_context, sizeof(p->context) - 1);
|
||||||
|
|||||||
Reference in New Issue
Block a user