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
_______________________________________________
--Bandwidth and Colocation Provided by http://www.api-digital.com--
asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-dev