-- 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.
/* 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)
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) {
}
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);