Cancel self destruct on provisional responses too (bug #1722)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
parent
682913a1f3
commit
1b5d2d4667
1 changed files with 11 additions and 4 deletions
|
@ -5925,9 +5925,13 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_
|
||||||
}
|
}
|
||||||
switch(resp) {
|
switch(resp) {
|
||||||
case 100:
|
case 100:
|
||||||
|
if (!strcasecmp(msg, "INVITE")) {
|
||||||
|
sip_cancel_destroy(p);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 183:
|
case 183:
|
||||||
if (!strcasecmp(msg, "INVITE")) {
|
if (!strcasecmp(msg, "INVITE")) {
|
||||||
|
sip_cancel_destroy(p);
|
||||||
if (!ast_strlen_zero(get_header(req, "Content-Type")))
|
if (!ast_strlen_zero(get_header(req, "Content-Type")))
|
||||||
process_sdp(p, req);
|
process_sdp(p, req);
|
||||||
if (p->owner) {
|
if (p->owner) {
|
||||||
|
@ -5937,10 +5941,13 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 180:
|
case 180:
|
||||||
if (p->owner) {
|
if (!strcasecmp(msg, "INVITE")) {
|
||||||
ast_queue_control(p->owner, AST_CONTROL_RINGING);
|
sip_cancel_destroy(p);
|
||||||
if (p->owner->_state != AST_STATE_UP)
|
if (p->owner) {
|
||||||
ast_setstate(p->owner, AST_STATE_RINGING);
|
ast_queue_control(p->owner, AST_CONTROL_RINGING);
|
||||||
|
if (p->owner->_state != AST_STATE_UP)
|
||||||
|
ast_setstate(p->owner, AST_STATE_RINGING);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 200:
|
case 200:
|
||||||
|
|
Loading…
Reference in a new issue