mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-27 14:41:58 +00:00
Store route-set from provisional SIP responses so early-dialog requests can be routed properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@340576 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -19434,6 +19434,13 @@ static void handle_response_invite(struct sip_pvt *p, int resp, const char *rest
|
|||||||
case 182: /* 182 Queued */
|
case 182: /* 182 Queued */
|
||||||
if (!req->ignore && p->invitestate != INV_CANCELLED && sip_cancel_destroy(p))
|
if (!req->ignore && p->invitestate != INV_CANCELLED && sip_cancel_destroy(p))
|
||||||
ast_log(LOG_WARNING, "Unable to cancel SIP destruction. Expect bad things.\n");
|
ast_log(LOG_WARNING, "Unable to cancel SIP destruction. Expect bad things.\n");
|
||||||
|
/* Store Route-set from provisional SIP responses so
|
||||||
|
* early-dialog request can be routed properly
|
||||||
|
* */
|
||||||
|
parse_ok_contact(p, req);
|
||||||
|
if (!reinvite) {
|
||||||
|
build_route(p, req, 1);
|
||||||
|
}
|
||||||
if (!req->ignore && p->owner) {
|
if (!req->ignore && p->owner) {
|
||||||
if (get_rpid(p, req)) {
|
if (get_rpid(p, req)) {
|
||||||
/* Queue a connected line update */
|
/* Queue a connected line update */
|
||||||
@@ -19496,6 +19503,13 @@ static void handle_response_invite(struct sip_pvt *p, int resp, const char *rest
|
|||||||
case 183: /* Session progress */
|
case 183: /* Session progress */
|
||||||
if (!req->ignore && (p->invitestate != INV_CANCELLED) && sip_cancel_destroy(p))
|
if (!req->ignore && (p->invitestate != INV_CANCELLED) && sip_cancel_destroy(p))
|
||||||
ast_log(LOG_WARNING, "Unable to cancel SIP destruction. Expect bad things.\n");
|
ast_log(LOG_WARNING, "Unable to cancel SIP destruction. Expect bad things.\n");
|
||||||
|
/* Store Route-set from provisional SIP responses so
|
||||||
|
* early-dialog request can be routed properly
|
||||||
|
* */
|
||||||
|
parse_ok_contact(p, req);
|
||||||
|
if (!reinvite) {
|
||||||
|
build_route(p, req, 1);
|
||||||
|
}
|
||||||
if (!req->ignore && p->owner) {
|
if (!req->ignore && p->owner) {
|
||||||
if (get_rpid(p, req)) {
|
if (get_rpid(p, req)) {
|
||||||
/* Queue a connected line update */
|
/* Queue a connected line update */
|
||||||
|
|||||||
Reference in New Issue
Block a user