[Asterisk-Users] Dynamically limiting the number of outbound calls

James Taylor jltaylor at metrotel.net
Sat Mar 26 13:54:27 MST 2005


On Fri, 25 Mar 2005 10:07:47 +0000, tim panton <tpanton at attglobal.net>  
wrote:

> Jim Singh wrote:
>
>> In our setup, outbound call volume frequently exceeds
>> the line capacity of the DSL line. We do not want to
>> move to another codec to better utilize the line, but
>> instead wish to automatically divert overflow to the
>> Long Distance T1 when the DSL is "full". Ideally the
>> system would also be able to adjust automatically to
>> network conditions such as network outage, high
>> latency, jitter and/or packet loss. If the LD T1 was
>> also full or if there was no other path, Dial would
>> return busy/congestion instead of connecting a call of
>> low quality.
>>
>> I realize that one solution is to manage variables
>> using macros in the dialplan and keep a count of VOIP
>> calls. I believe that this a) difficult to maintain b)
>> can be difficult to dynamically adjust based on
>> parameters from the jitter buffer, round trip time,
>> and/or packet loss c) couldn't be "the best way to do
>> it".
>>
>> Before I go slinging code, does anyone know of a clean
>> solution? Do other people need / desire this
>> functionality?
>>
>> Our Setup:
>> 	Software: Suse 9.2 + Asterisk 1.0.7 (built from CVS)
>> 	Network: DSL measured to be 2 mbps up / 430 kbps down
>> 	Termination: IAX2 / G711 / nufone and voipjet
>> 	Zaptel: 2 digium 100 cards one connected to a Siemens
>> PBX and the other to a (long distance)
>> provider,signaling is E&M Wink
>>
> I'm from an SNMP background, so thats the way I'd be looking.
> Something like:
> Enable SNMP on your DSL router
> Select your scripting language with SNMP support (scotty, shell with  
> net-snmp, python,perl
> whatever)
> Write a script that queries the router, checking
> 1) outbound queue lenght,
> 2) outbound packets/sec
> 3) interface status
> 4) dropped udp packets
> also perhaps the ping your VOIP provider
> check to see if all of the above are within acceptable limits (tweaking  
> required)
> Get the script to set a value in the asterisk db based on the result of  
> the check.
> get cron to call the script every 60 secs (or whatever)
> In your dialplan check the value of the variable and dial outbound calls  
> accordingly.
>
> Tim.
>
> _______________________________________________
> Asterisk-Users mailing list
> Asterisk-Users at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-users
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users
>

I just calculated the maximum bandwidth that I wanted to allow for VOIP,  
divided that buy the amount required per call (ulaw 64k plus overhead -  
see wiki for examples), fingured I could support "x" number of calls.
Then I used the group function in the dial plan.

-- 
James Taylor
MetroTel
3505 Summerihll Road
Suite 11
Texarkana, Texas  75503
903-793-1956



More information about the asterisk-users mailing list