I have a situation where I have an Asterisk box which receives 8 analog lines from a Mitel PBX and then drives 8 cordless SIP phones in a 1-to-1 mapping (a call coming in on port 1 of the digium FXO board is delivered to SIP phone 1, an outgoing call on SIP phone 2 goes out FXO line 2, etc. This works fine normally, but every once in a while (no set time, or pattern that I can see -- It may be caused by the wifi sip phone going out of range of an access point and not coming back into range fast enough) the FXO port does not hangup after the call is terminated and just sits in an in-use state. Since it's a 1-to-1 mapping, the SIP phone associated with the in-use line now produces a fast busy when you attempt to make a call because it cannot get an outbound line. Is there a way to detect that there is no longer really an active call happening and force a hangup or reset the channel? It'd be great if this could happen automatically. Or as a temporary fix , is there a way to setup and extension that the SIP phone could dial which would clear any active calls associated with it? Right now if this happens, I need to login to the Asterisk CLI and issue a hangup command. If I don't, the channel appears to be in-use forever. Thanks Shawn The setup is fairly straight-forward Extensions [in-phone2] exten => s,1,Answer() exten => s,n,Noop(CALLERID(name)) exten => s,n,Noop(CALLERID(num)) exten => s,n,Dial(SIP/cordless2,25,tTo) exten => s,n,Hangup [out-phone2] exten => _[*#0-9]!,1,Dial(${LINE2}/${EXTEN}) exten => _[*#0-9]!,2,Congestion() exten => _[*#0-9]!,102,Congestion() [cordless2] type=friend qualify=yes rtptimeout=1 secret=XXXX call-limit=1 nat=no host=dynamic canreinvite=no context=out-phone2 callerid="cordless2" <102>
> Is there a way to detect that there is no longer really an > active call happening and force a hangup or reset the > channel? It'd be great if this could happen automatically. > Or as a temporary fix , is there a way to setup and extension > that the SIP phone could dial which would clear any active > calls associated with it? Right now if this happens, I need > to login to the Asterisk CLI and issue a hangup command. If > I don't, the channel appears to be in-use forever.This may be the answer sip.conf: ;--------------------------- RTP timers ---------------------------------------------------- ; These timers are currently used for both audio and video streams. The RTP timeouts ; are only applied to the audio channel. ; The settings are settable in the global section as well as per device ; rtptimeout=60 ; Terminate call if 60 seconds of no RTP or RTCP activity ; on the audio channel ; when we're not on hold. This is to be able to hangup ; a call in the case of a phone disappearing from the net, ; like a powerloss or grandma tripping over a cable. Alec Davis
On Fri, Jul 08, 2011 at 10:58:06AM -0400, Shawn L wrote:> I have a situation where I have an Asterisk box which receives 8 > analog lines from a > Mitel PBX and then drives 8 cordless SIP phones in a 1-to-1 mapping (a > call coming in > on port 1 of the digium FXO board is delivered to SIP phone 1, an > outgoing call on SIP > phone 2 goes out FXO line 2, etc. > > This works fine normally, but every once in a while (no set time, or > pattern that I can > see -- It may be caused by the wifi sip phone going out of range of an > access point and > not coming back into range fast enough) the FXO port does not hangup > after the call is > terminated and just sits in an in-use state. Since it's a 1-to-1 > mapping, the SIP phone > associated with the in-use line now produces a fast busy when you > attempt to make a > call because it cannot get an outbound line. > > Is there a way to detect that there is no longer really an active call > happening and force a > hangup or reset the channel? It'd be great if this could happen > automatically. Or as a > temporary fix , is there a way to setup and extension that the SIP > phone could dial which > would clear any active calls associated with it? Right now if this > happens, I need to login > to the Asterisk CLI and issue a hangup command. If I don't, the > channel appears to be > in-use forever.look for 'busydetect' in chan_dahdi.conf . -- Tzafrir Cohen icq#16849755 jabber:tzafrir.cohen at xorcom.com +972-50-7952406 mailto:tzafrir.cohen at xorcom.com http://www.xorcom.com iax:guest at local.xorcom.com/tzafrir