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:

http://keystoneit.wordpress.com/2006/08/16/trunking-two-trixbox-servers/

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

This entry was posted in Databases, ESXi, irc, mysql, Networking, open source, Telephony, virtualization, work. Bookmark the permalink.