From: Matt Jordan Date: Tue, 13 Oct 2015 19:13:54 +0000 (-0500) Subject: channels/chan_sip: Set cause code to 44 on RTP timeout X-Git-Tag: 11.21.0-rc1~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b3101fb8df3bccfd8bd690aca2583d47e7d520f2;p=thirdparty%2Fasterisk.git 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 --- 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