[asterisk-dev] SIP Not Showing Disconnect
John Todd
jtodd at loligo.com
Mon Jul 23 15:19:33 CDT 2007
At 12:20 PM -0700 2007/7/22, Nicholas Blasgen wrote:
>
>I've been having some problems recently with Asterisk thinking a SIP
>phone is still connected. These are GrandStream Budge Tone 102's
>and even after someone hangs up the AGI script I have running for
>them is still looping. The AGI script keeps playing "beep" untill
>it's told to continue by the user. But if the user has hung up the
>phone, the script just keeps looping and looping, and that causes a
>bunch of problems for me. Is there any way to do something on the
>line that would make Asterisk realize the phone isn't connected
>anymore? I would have thought something like playing a file would
>fix it all. Thought Asterisk would require a response from the SIP
>phone saying it got the message, and when the SIP phone didn't reply
>it would hang up the line.
>
>=======================
>
> -- AGI Script Executing Application: (PLAYBACK) Options: (beep)
> -- <SIP/josh-08be5690> Playing 'beep' (language 'en')
> -- AGI Script Executing Application: (PLAYBACK) Options: (beep)
> -- <SIP/josh-08c391b8> Playing 'beep' (language 'en')
>www*CLI> sip show peers
>Name/username Host Dyn Nat ACL Port Status
>josh/josh <http://66.205.135.100> 66.205.135.100
>D N 1024 UNREACHABLE
>
>=======================
>
>As you can see I've even unplugged the SIP phone and Asterisk is
>still keeping TWO (2) lines open to user "josh" even though Josh
>isn't reachable anymore. So even removing the phone from the
>network doesn't make Asterisk realize the phone isn't there anymore.
>Suggestions please!
>
>--
>/Nick
I'm uncertain if you've implemented the user-prompted method
correctly, since you do not include enough data to discern what is
happening with your system (and I would not suggest forwarding it to
this list, as it does not sound like your core question is a
development issue.)
There is an existing solution for this which does not require prompts
if you don't mind the media travelling through your Asterisk system
instead of directly between endpoints - look at the descriptions for
"rtptimeout" in your sip.conf file. That can be discussed at length
in the Asterisk-Users mailing list if further explanation is required.
The second solution is to put a maximum call duration on calls so
that Asterisk hangs up the calls regardless of what the state of the
endpoint is - see the description of the function TIMEOUT(absolute).
That can be discussed at length in the Asterisk-Users mailing list if
further explanation is required.
The last method (that I can think of, at least) would require
Session-Timers, which currently do not exist in Asterisk. That has
been discussed on this list (asterisk-dev) within the past six days:
http://lists.digium.com/pipermail/asterisk-dev/2007-July/028574.html
If you are interested in creating a patch to support these features,
it would be greatly appreciated. However, if your methods or
questions regard any of the first three methods (prompts, RTPtimeout,
or absolute timeout) then I would suggest that asterisk-users is a
more appropriate forum for discussion.
JT
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-dev/attachments/20070723/51833b7e/attachment.htm
More information about the asterisk-dev
mailing list