Ticket #3617 (new Feature Requests)

Opened 4 years ago

Last modified 4 years ago

Allow setting of SIP call time limits (system-wide or per trunk)

Reported by: wiseoldowl Assigned to: p_lindheimer
Priority: minor Milestone: Undetermined
Component: Core - Trunks/Routing Version:
Keywords: Cc:
Confirmation: Unreviewed Distro:
Backend Engine: All Distro Ver:
Backend Ver: SVN Revision (if applicable):

Description (Last modified by wiseoldowl)

I was not aware, until reading this thread at BroadbandReports.com, that it is possible to limit the time of a SIP call. Quoting Nitzan Kon, CEO of Future Nine Corporation:

Example: Dial(SIP/number@some-host.com|60|L(7200000:61000:30000))

# L(x[:y][:z]): Limit the call to 'x' ms, warning when 'y' ms are left, repeated every 'z' ms) Only 'x' is required, 'y' and 'z' are optional.

Optional variables:

* LIMIT_PLAYAUDIO_CALLER - yes|no (default yes) - Play sounds to the caller.
* LIMIT_PLAYAUDIO_CALLEE - yes|no - Play sounds to the callee.
* LIMIT_TIMEOUT_FILE - File to play when time is up.
* LIMIT_CONNECT_FILE - File to play when call begins.
* LIMIT_WARNING_FILE - File to play as warning if 'y' is defined. If LIMIT_WARNING_FILE is not defined, then the default behaviour is to announce ("You have [XX minutes] YY seconds").

To my knowledge this is not supported in FreePBX at all. However, it might be desirable to have a system-wide maximum call length that can be set in the general settings (I'd say 6 hours would be a good default for any system not supporting dial-up Internet users) :-) and perhaps a way to override that on certain (unusually expensive) trunks. The idea would be to simply modify the current Dial string to include the L option and associated parameters.

I don't know if this would work with any other technologies (IAX2, etc.), but if so this could be applicable to those as well.

The main reason would be to avoid "runaway" call times - the rare case where someone accidentally leaves a phone off-hook and for whatever reason the other end never sends a hangup or other call termination signal, and you use up a huge number of minutes for no good reason. (I once knew someone who had a modem or computer malfunction, and it left a toll call to a dial-up service connected for three days, running up a $600+ phone bill. Of course that was in pre-VoIP days!).

By the way, the linked thread has another possibly good suggestion for controlling unterminated/"lost in the system" calls, which is adding rtptimeout=120 and rtpholdtimeout=300 to sip.conf (or in FreePBX, I put those in /etc/asterisk/sip_general_custom.conf).

Change History

04/06/09 18:42:33 changed by wiseoldowl

  • description changed.

04/06/09 19:16:32 changed by wiseoldowl

  • description changed.

08/18/09 17:20:25 changed by p_lindheimer

  • version deleted.
  • milestone changed from 2.6 to 2.7.