aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_sip.c
diff options
context:
space:
mode:
Diffstat (limited to 'channels/chan_sip.c')
-rw-r--r--channels/chan_sip.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 02d2e966a..7a27168d4 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -2970,7 +2970,7 @@ static int retrans_pkt(const void *data)
if (pkt->owner->owner) {
sip_alreadygone(pkt->owner);
ast_log(LOG_WARNING, "Hanging up call %s - no reply to our critical packet.\n", pkt->owner->callid);
- ast_queue_hangup(pkt->owner->owner);
+ ast_queue_hangup(pkt->owner->owner, AST_CAUSE_PROTOCOL_ERROR);
ast_channel_unlock(pkt->owner->owner);
} else {
/* If no channel owner, destroy now */
@@ -3112,7 +3112,7 @@ static int __sip_autodestruct(const void *data)
if (p->owner) {
ast_log(LOG_WARNING, "Autodestruct on dialog '%s' with owner in place (Method: %s)\n", p->callid, sip_methods[p->method].text);
- ast_queue_hangup(p->owner);
+ ast_queue_hangup(p->owner, AST_CAUSE_PROTOCOL_ERROR);
} else if (p->refer) {
ast_debug(3, "Finally hanging up channel after transfer: %s\n", p->callid);
transmit_request_with_auth(p, SIP_BYE, 0, XMIT_RELIABLE, 1);
@@ -15695,7 +15695,7 @@ static void handle_response_invite(struct sip_pvt *p, int resp, char *rest, stru
*/
xmitres = transmit_request(p, SIP_ACK, seqno, XMIT_UNRELIABLE, FALSE);
if (p->owner && !req->ignore) {
- ast_queue_hangup(p->owner);
+ ast_queue_hangup(p->owner, AST_CAUSE_NORMAL_CLEARING);
append_history(p, "Hangup", "Got 487 on CANCEL request from us. Queued AST hangup request");
} else if (!req->ignore) {
update_call_counter(p, DEC_CALL_LIMIT);
@@ -15776,7 +15776,7 @@ static void handle_response_notify(struct sip_pvt *p, int resp, char *rest, stru
if (p->owner) {
if (!p->refer) {
ast_log(LOG_WARNING, "Notify answer on an owned channel? - %s\n", p->owner->name);
- ast_queue_hangup(p->owner);
+ ast_queue_hangup(p->owner, AST_CAUSE_NORMAL_UNSPECIFIED);
} else {
ast_debug(4, "Got OK on REFER Notify message\n");
}
@@ -16338,7 +16338,7 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_
default:
/* Send hangup */
if (owner && sipmethod != SIP_MESSAGE && sipmethod != SIP_INFO && sipmethod != SIP_BYE)
- ast_queue_hangup(p->owner);
+ ast_queue_hangup(p->owner, AST_CAUSE_PROTOCOL_ERROR);
break;
}
/* ACK on invite */
@@ -16392,7 +16392,7 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_
ast_debug(1, "Got 200 OK on NOTIFY for transfer\n");
} else
ast_log(LOG_WARNING, "Notify answer on an owned channel?\n");
- /* ast_queue_hangup(p->owner); Disabled */
+ /* ast_queue_hangup(p->owner, -1); Disabled */
} else {
if (!p->subscribed && !p->refer)
p->needdestroy = 1;
@@ -18242,7 +18242,7 @@ static int handle_request_cancel(struct sip_pvt *p, struct sip_request *req)
stop_media_flows(p); /* Immediately stop RTP, VRTP and UDPTL as applicable */
if (p->owner)
- ast_queue_hangup(p->owner);
+ ast_queue_hangup(p->owner, -1);
else
sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
if (p->initreq.len > 0) {
@@ -18401,15 +18401,15 @@ static int handle_request_bye(struct sip_pvt *p, struct sip_request *req)
ast_queue_control(c, AST_CONTROL_UNHOLD);
ast_async_goto(bridged_to, p->context, p->refer->refer_to, 1);
} else
- ast_queue_hangup(p->owner);
+ ast_queue_hangup(p->owner, -1);
}
} else {
ast_log(LOG_WARNING, "Invalid transfer information from '%s'\n", ast_inet_ntoa(p->recv.sin_addr));
if (p->owner)
- ast_queue_hangup(p->owner);
+ ast_queue_hangup(p->owner, AST_CAUSE_PROTOCOL_ERROR);
}
} else if (p->owner) {
- ast_queue_hangup(p->owner);
+ ast_queue_hangup(p->owner, -1);
ast_debug(3, "Received bye, issuing owner hangup\n");
} else {
sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);