res_pjsip_sdp_rtp: Set hangup cause for RTP timeouts
authorSean Bright <sean.bright@gmail.com>
Fri, 24 Mar 2017 16:29:10 +0000 (12:29 -0400)
committerSean Bright <sean.bright@gmail.com>
Fri, 24 Mar 2017 16:31:39 +0000 (10:31 -0600)
chan_sip sets the hangup cause code to AST_CAUSE_REQUESTED_CHAN_UNAVAIL
(44) when a channel is hung up due to an RTP timeout. So do the same
when it happens with PJSIP for parity.

Change-Id: I3546ebbde6460c22a27c9da1bf321711b5961ab8

res/res_pjsip_sdp_rtp.c

index a824757..b66c1ae 100644 (file)
@@ -163,6 +163,10 @@ static int rtp_check_timeout(const void *data)
        ast_log(LOG_NOTICE, "Disconnecting channel '%s' for lack of RTP activity in %d seconds\n",
                ast_channel_name(chan), elapsed);
 
+       ast_channel_lock(chan);
+       ast_channel_hangupcause_set(chan, AST_CAUSE_REQUESTED_CHAN_UNAVAIL);
+       ast_channel_unlock(chan);
+
        ast_softhangup(chan, AST_SOFTHANGUP_DEV);
        ast_channel_unref(chan);