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

Reply via email to