Load balancing SIP across Asterisk with BIG-IP


Topology

Participating hosts

* 1x BIG-IP VE
* 1x Debian Squeeze “Provisioning Server” serving DHCP, TFTP & DNS
* 3x Nortel/Avaya 1120E hard phones flashed to SIP1120e04.01.13.00
* 2x Debian Squeeze + digium asterisk packages:

$ grep asterisk /etc/apt/sources.list
deb http://packages.asterisk.org/deb squeeze main
deb-src http://packages.asterisk.org/deb squeeze main

DUNDi

*CLI> module reload pbx_dundi.so
*CLI> dundi show peers
*CLI> dundi show mappings
*CLI> dundi lookup 4012@extensions bypass
*CLI> dundi set debug on

SIP

*CLI> sip show peers

dialplan

*CLI> dialplan show RegisteredDevices

Work in progress

Yesterday, I installed a trixbox virtual machine using the quick install guide hosted on the fonality site. I happened to use VMware vCenter to host the VM, but I could have done it with KVM or Xen, I’m sure. I allocated 512M of memory and this seems sufficient.

I created two network interfaces. One for management and one for the SIP sessions.

Created two extensions: 4242 & 4343
http://trixbox0/admin/config.php?type=setup&display=extensions

Edit Extension
Display Name client0 client1
SIP Alias client0 client1
Extension Options
Outbound CID 4242 4343
Device Options
secret password password
Language
Language Code en_US en_US

Don’t forget to push the big orange “apply changes” button at the top of the web UI after you add these extensions.

Configure databases for load sharing:

http://dev.mysql.com/doc/refman/5.0/en/mysql-cluster-nodes-groups.html
http://dev.mysql.com/doc/refman/5.0/en/mysql-cluster-ndbd-definition.html

10:27 < cj> I need help getting a couple of asterisk boxes to play nice with one 
            another
10:28 < cj> if a client0 registers on asterisk0 and client1 registers on asterisk1, I 
            want calls placed by client0 destined for client1 to make client1 ring
10:28 < cj> what all do I need to do in order to make such a thing happen?
10:30 < orn> cj: I'm not too familiar with trixbox, haven't used it in a long long 
             time. I remember setting up trunks in it is harder than it has to be 
             though =)
10:31 < orn> but there should be some references as trixbox is very widely used

TODO: configure each asterisk server to trunk with the other one:

IAX2 Trunking Two Trixbox Servers

The IRC folks tell me that switchvox or asterisknow might be easier to configure.


Leave a Reply