From b3101fb8df3bccfd8bd690aca2583d47e7d520f2 Mon Sep 17 00:00:00 2001 From: Matt Jordan Date: Tue, 13 Oct 2015 14:13:54 -0500 Subject: [PATCH] channels/chan_sip: Set cause code to 44 on RTP timeout To quote Olle: "When issuing a hangup due to RTP timeouts the cause code is not set. I have selected 44 based on Cisco's implementation..." ASTERISK-25135 #close Reported by: Olle Johansson patches: rtp-timeout-cause-1.8.diff uploaded by Olle Johansson (License 5267) Change-Id: Ia62100c55077d77901caee0bcae299f8dc7375fc --- channels/chan_sip.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index b149c99c6a..53f802376d 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -29213,7 +29213,8 @@ static int check_rtp_timeout(struct sip_pvt *dialog, time_t t) ast_channel_name(dialog->owner), (long) (t - dialog->lastrtprx)); manager_event(EVENT_FLAG_CALL, "SessionTimeout", "Source: RTPTimeout\r\n" "Channel: %s\r\nUniqueid: %s\r\n", ast_channel_name(dialog->owner), ast_channel_uniqueid(dialog->owner)); - /* Issue a softhangup */ + /* Issue a softhangup - cause 44 (as used by Cisco for RTP timeouts) */ + ast_channel_hangupcause_set(dialog->owner, AST_CAUSE_REQUESTED_CHAN_UNAVAIL); ast_softhangup_nolock(dialog->owner, AST_SOFTHANGUP_DEV); ast_channel_unlock(dialog->owner); /* forget the timeouts for this call, since a hangup -- 2.47.2