[asterisk-users] Handling a non-responsive peer after it answers

David P davidswalkabout at gmail.com
Mon Dec 30 15:47:44 CST 2019


Response below...

On Fri, Dec 27, 2019 at 12:02 PM David P <davidswalkabout at gmail.com> wrote:
>
> >
> > I'm looking for a way of detecting in my dialplan when a peer becomes
> > non-responsive after answering. [deleted] Is there a way to configure
> > a handler for this state?
> >
> > We use v14.7.6 and we dial the peer this way:
> >
> >  same =>
> >
> n,Set(CHANNEL(hangup_handler_push)=${CONTEXT},handleHangupByCaller,1(args))
> >  same =>
> >
> n,Dial(${AddressToReachPeer},2,b(${CONTEXT}^afterDialingPeerLogIpOfCb^1(${UUID}^${StartEpoch})))
> >  same => n,Goto(handle${DIALSTATUS},1)
> >
>

"Joshua C. Colp" <jcolp at sangoma.com> replied:

> [deleted] As for hanging up a call when the remote
> goes away that depends on the channel driver. For SIP both chan_sip and
> chan_pjsip provide session timers which use SIP messages to determine if
> the call is no longer valid, or RTP timeout which hangs up the call if
> media is not flowing for a period of time. These are configured in the
> respective channel driver configuration file.
>

Thanks, Joshua.

We want to check if a peer is responsive every few seconds, because it's a
person-to-bot call and we want to respond gracefully if the bot fails.

I tried adding
rtptimeout=4
to the config of the peer in sip.conf, but this causes hangup during the
person's turn.

Then I looked into session timers, and found that
https://issues.asterisk.org/jira/secure/attachment/28201/AsteriskSipSessionTimers.pdf
says the shortest period supported for such checks is 90 seconds, which is
much too long for us.

Is there another option? Would it allow calling a script or playing a
prompt on the way to hanging up?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20191230/b02288b4/attachment.html>


More information about the asterisk-users mailing list