diff options
author | Sean Bright <sean.bright@gmail.com> | 2017-03-24 12:29:10 -0400 |
---|---|---|
committer | Sean Bright <sean.bright@gmail.com> | 2017-03-24 12:29:10 -0400 |
commit | d9d2beba1c0d9aa93382dc4ec8b54627b2a301fa (patch) | |
tree | 695b1e8638e071e80123603eb2608c626f7f44ba | |
parent | 68d523a1af4a523c038ae7e9294e27723a00ac37 (diff) |
res_pjsip_sdp_rtp: Set hangup cause for RTP timeouts
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
-rw-r--r-- | res/res_pjsip_sdp_rtp.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/res/res_pjsip_sdp_rtp.c b/res/res_pjsip_sdp_rtp.c index d44171cf8..52ae65cc7 100644 --- a/res/res_pjsip_sdp_rtp.c +++ b/res/res_pjsip_sdp_rtp.c @@ -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); |