{"id":1009,"date":"2011-03-15T15:27:27","date_gmt":"2011-03-15T22:27:27","guid":{"rendered":"http:\/\/wp.colliertech.org\/cj\/?p=1009"},"modified":"2011-07-01T15:10:40","modified_gmt":"2011-07-01T22:10:40","slug":"load-balancing-sip-across-trixbox","status":"publish","type":"post","link":"https:\/\/wp.c9h.org\/cj\/?p=1009","title":{"rendered":"Load balancing SIP across Asterisk with BIG-IP"},"content":{"rendered":"<h2>Topology<\/h2>\n<h3>Participating hosts<\/h3>\n<p>* 1x <a href=\"https:\/\/www.f5.com\/trial\/\">BIG-IP VE<\/a><br \/>\n* 1x Debian Squeeze &#8220;Provisioning Server&#8221; serving DHCP, TFTP &#038; DNS<br \/>\n* 3x Nortel\/Avaya 1120E hard phones flashed to SIP1120e04.01.13.00<br \/>\n* 2x Debian Squeeze + digium asterisk packages:<\/p>\n<pre>\r\n$ grep asterisk \/etc\/apt\/sources.list\r\ndeb http:\/\/packages.asterisk.org\/deb squeeze main\r\ndeb-src http:\/\/packages.asterisk.org\/deb squeeze main\r\n<\/pre>\n<h3>DUNDi<\/h3>\n<pre>\r\n*CLI> module reload pbx_dundi.so\r\n*CLI> dundi show peers\r\n*CLI> dundi show mappings\r\n*CLI> dundi lookup 4012@extensions bypass\r\n*CLI> dundi set debug on\r\n<\/pre>\n<h3>SIP<\/h3>\n<pre>\r\n*CLI> sip show peers\r\n<\/pre>\n<h3>dialplan<\/h3>\n<pre>\r\n*CLI> dialplan show RegisteredDevices\r\n<\/pre>\n<h2>Work in progress<\/h2>\n<p>Yesterday, I installed a trixbox virtual machine using the <a href=\"http:\/\/fonality.com\/trixbox\/wiki\/trixbox-quick-install-guide\">quick install guide<\/a> 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&#8217;m sure.  I allocated 512M of memory and this seems sufficient.<\/p>\n<p>I created two network interfaces.  One for management and one for the SIP sessions.<\/p>\n<p>Created two extensions: 4242 &#038; 4343<br \/>\n<a href=\"http:\/\/trixbox0\/admin\/config.php?type=setup&#038;display=extensions\">http:\/\/trixbox0\/admin\/config.php?type=setup&#038;display=extensions<\/a><\/p>\n<table>\n<tr>\n<td colspan=\"3\">Edit Extension<\/td>\n<\/tr>\n<tr>\n<td>Display Name<\/td>\n<td>client0<\/td>\n<td>client1<\/td>\n<\/tr>\n<tr>\n<td>SIP Alias<\/td>\n<td>client0<\/td>\n<td>client1<\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\"><\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\">Extension Options<\/td>\n<\/tr>\n<tr>\n<td>Outbound CID<\/td>\n<td>4242<\/td>\n<td>4343<\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\"><\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\">Device Options<\/td>\n<\/tr>\n<tr>\n<td>secret<\/td>\n<td>password<\/td>\n<td>password<\/td>\n<\/tr>\n<tr>\n<td colspan=\"3\"><\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\">Language<\/td>\n<\/tr>\n<tr>\n<td>Language Code<\/td>\n<td>en_US<\/td>\n<td>en_US<\/td>\n<\/tr>\n<\/table>\n<p>Don&#8217;t forget to push the big orange &#8220;apply changes&#8221; button at the top of the web UI after you add these extensions.<\/p>\n<p>Configure databases for load sharing:<\/p>\n<p>http:\/\/dev.mysql.com\/doc\/refman\/5.0\/en\/mysql-cluster-nodes-groups.html<br \/>\nhttp:\/\/dev.mysql.com\/doc\/refman\/5.0\/en\/mysql-cluster-ndbd-definition.html<\/p>\n<pre>\r\n10:27 &lt; cj&gt; I need help getting a couple of asterisk boxes to play nice with one \r\n            another\r\n10:28 &lt; cj&gt; if a client0 registers on asterisk0 and client1 registers on asterisk1, I \r\n            want calls placed by client0 destined for client1 to make client1 ring\r\n10:28 &lt; cj&gt; what all do I need to do in order to make such a thing happen?\r\n10:30 &lt; orn&gt; cj: I'm not too familiar with trixbox, haven't used it in a long long \r\n             time. I remember setting up trunks in it is harder than it has to be \r\n             though =)\r\n10:31 &lt; orn&gt; but there should be some references as trixbox is very widely used\r\n<\/pre>\n<p>TODO: configure each asterisk server to trunk with the other one:<\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"0yEDO0pdhV\"><p><a href=\"https:\/\/keystoneit.wordpress.com\/2006\/08\/16\/trunking-two-trixbox-servers\/\">IAX2 Trunking Two Trixbox&nbsp;Servers<\/a><\/p><\/blockquote>\n<p><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;IAX2 Trunking Two Trixbox&nbsp;Servers&#8221; &#8212; Keystone IT Tech\" src=\"https:\/\/keystoneit.wordpress.com\/2006\/08\/16\/trunking-two-trixbox-servers\/embed\/#?secret=iUEliGQJ8Y#?secret=0yEDO0pdhV\" data-secret=\"0yEDO0pdhV\" width=\"500\" height=\"282\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/p>\n<p>The IRC folks tell me that switchvox or asterisknow might be easier to configure.<\/p>\n\n<div class=\"twitter-share\"><a href=\"https:\/\/twitter.com\/intent\/tweet?via=cjamescollier\" class=\"twitter-share-button\">Tweet<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Topology Participating hosts * 1x BIG-IP VE * 1x Debian Squeeze &#8220;Provisioning Server&#8221; serving DHCP, TFTP &#038; 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 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[165,220,181,12,163,102,170,184,8],"tags":[],"class_list":["post-1009","post","type-post","status-publish","format-standard","hentry","category-databases","category-esxi","category-irc","category-mysql","category-networking","category-open-source","category-telephony","category-virtualization","category-work"],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1YDIB-gh","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/posts\/1009","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1009"}],"version-history":[{"count":18,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/posts\/1009\/revisions"}],"predecessor-version":[{"id":1020,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=\/wp\/v2\/posts\/1009\/revisions\/1020"}],"wp:attachment":[{"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1009"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1009"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.c9h.org\/cj\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1009"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}