{"id":2659,"date":"2015-01-26T03:58:17","date_gmt":"2015-01-26T03:58:17","guid":{"rendered":"http:\/\/www.randomnoun.com\/wp\/?p=2659"},"modified":"2023-12-18T05:22:05","modified_gmt":"2023-12-18T05:22:05","slug":"lets-talk-about-pbxes","status":"publish","type":"post","link":"https:\/\/www.randomnoun.com\/wp\/2015\/01\/26\/lets-talk-about-pbxes\/","title":{"rendered":"Let&#8217;s talk about PBXes"},"content":{"rendered":"<p><a href=\"https:\/\/www.youtube.com\/watch?v=ydrtF45-y-g\">Baby<\/a>.<\/p>\n<p>So let&#8217;s say you&#8217;ve got a phone bill that&#8217;s quite large, so you want to convert your vast number of analog phone lines to <a href=\"http:\/\/en.wikipedia.org\/wiki\/Voice_over_IP\">VOIP<\/a>, except for the one analog line you&#8217;re keeping around in case anything goes horribly pear-shaped. <\/p>\n<p>There&#8217;s a product out there called <a href=\"http:\/\/www.yeastar.com\/Products\/MyPBX-SOHO.asp\">MyPBX Soho<\/a> which will do that for you, unless you want to also record phone calls for Training Purposes, in which case you have to shell out <a href=\"http:\/\/www.yeastar.com\/Products\/MyPBX-Enterprise.asp\">$3,000 for a MyPBX Enterprise<\/a>, which you&#8217;re not going to do because you&#8217;ve developed cheapness as some kind of innate sixth sense.<\/p>\n<p>Why not set up an Asterisk server on a virtual machine, hook that up to your VOIP provider, get a MyPBX Soho box to handle your analog calls, and start raking in the cash, assuming you pay your phone bills in cash and you own a rake.<\/p>\n<h2>What do I need ?<\/h2>\n<figure id=\"attachment_2675\" aria-describedby=\"caption-attachment-2675\" style=\"width: 219px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-setup.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-setup.png\" alt=\"things\" width=\"219\" height=\"597\" class=\"size-full wp-image-2675\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-setup.png 219w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-setup-110x300.png 110w\" sizes=\"auto, (max-width: 219px) 100vw, 219px\" \/><\/a><figcaption id=\"caption-attachment-2675\" class=\"wp-caption-text\">MyPBX Soho + FXS\/FSO Module + PoE router + VOIP phones + analog phone + VOIP provider + Asterisk = slightly manic but apparently happy woman from the clipart factory<\/figcaption><\/figure>\n<pre style=\"display:none\"><style>.rn-gap LI { margin-bottom: 10px; margin-left: 250px; }<\/style><\/pre>\n<ul class=\"rn-gap\">\n<li>First of all, pick up a <a href=\"http:\/\/www.yeastar.com\/products\/mypbx-soho.asp\">MyPBX Soho<\/a> server<a name=\"fn1back\" href=\"#fn1\" class=\"footnoteref\">[1]<\/a> (USD$281.03 on ebay, you could probably get them cheaper).\n<li>You&#8217;ll also need an <a href=\"http:\/\/www.yeastar.com\/products\/module.asp\">FXS\/FXO Module<\/a> (USD$77.68, also on ebay). This is a little circuit board that clips into the MyPBX box and allows you to plug it into both a landline phone (FXS) and the hole in the wall (FXO). You can get more FXS modules or FXO modules if that&#8217;s the sort of thing you want to do, or a GSM or UMTS module if you want to slot in a SIM card to create a mobile phone that never moves.\n<li>You&#8217;ll also need a router that <a href=\"http:\/\/en.wikipedia.org\/wiki\/Power_over_Ethernet\">supports PoE<\/a> to power the phones, so let&#8217;s say a <a href=\"http:\/\/www.tp-link.com\/en\/products\/details\/?model=TL-SF1008P\">TP-Link TL-SF1008P<\/a> from Umart ($59.00)\n<li>Then you&#8217;ll need some <a href=\"http:\/\/www.yealink.com\/product_info.aspx?ProductsCateID=185\">Yealink T26P VOIP handsets<\/a> from ebay ($99.00 each, Free P&#038;P).\n<li>If you don&#8217;t have one, grab an analog phone, preferably one that still operates when the mains power is out (i.e. has a handset connected via a cable).\n<li>Purchase a <a href=\"https:\/\/wdpvoip.net.au\/business_plan.php\">wdpvoip $15.00\/month pre-paid business plan<\/a>, and throw another <a href=\"https:\/\/wdpvoip.net.au\/phone_numbers.php\">$7.95 a month<\/a> at them for a phone number that looks like a phone number. This will give you 15 concurrent calls, with 10c\/call to landlines and 18c\/minute to mobiles. Feel free to shop around.\n<li>You&#8217;ll also need an <a href=\"http:\/\/www.asterisk.org\/\">asterisk<\/a> server. I opted for the <a href=\"http:\/\/www.freepbx.org\/\">FreePBX<\/a> web frontend running on <a href=\"http:\/\/www.ubuntu.com\/\">Ubuntu<\/a>, running in a <a href=\"http:\/\/www.vmware.com\/au\/products\/workstation\">VMWare Workstation<\/a> hypervisor.\n<li>Extraordinary amounts of spare time\n<\/ul>\n<p><br style=\"clear:left;\"\/><br \/>\nWhat you want to do, apparently, is to set up a PBX in which asterisk will handle all calls (so that everything is recorded) predominantly over the VOIP provider to save cash, but has bypasses in place if you want to use the analog line, what with your internet provider being as flaky as an exzhema patient from <a href=\"https:\/\/www.google.com.au\/maps\/place\/467+94+Flakeberg,+Sweden\/@58.3164186,12.7527895,14z\">flakeberg<\/a> who just dropped out of the flake academy and started a diet consisting of nothing but cadbury flakes. That flaky.<\/p>\n<p>Anyway.<\/p>\n<h2>I dub thee bnepbx01<\/h2>\n<p>Once you&#8217;ve got all the bits and pieces listed above, you can start plugging things in, assigning names and numbers to things, putting stickers onto those things so you don&#8217;t forget what their names are, and ensure that you can communicate to everything on the network. These days I generally name things in the form <code><a href=\"http:\/\/en.wikipedia.org\/wiki\/Three-letter_acronym\">data-centre-TLA<\/a><\/code>+<code><a href=\"http:\/\/en.wikipedia.org\/wiki\/International_Air_Transport_Association_airport_code\">closest-IATA-airport-code<\/a><\/code>+<code><a href=\"http:\/\/en.wikipedia.org\/wiki\/Three-letter_acronym\">what-the-hell-it-is-TLA<\/a><\/code>+<code>(sequence number)<\/code>, omitting the data centre prefix for anything that I can physically touch with my own hands. <\/p>\n<p>My initial setup, with two digital handsets and one analog handset, will look like this:<\/p>\n<pre style=\"display:none\"><style>\r\n.rn-mtable { margin-top: 10px; margin-bottom: 10px; }\r\n.rn-mtable TD, .rn-mtable TH { text-align: left; vertical-align: top; }\r\nTD.rn-chk { font-size: 20pt; }\r\n<\/style><\/pre>\n<table class=\"rn-mtable\">\n<tr>\n<th>DNS name<\/p>\n<th>IP address<\/p>\n<th>Thing<\/tr>\n<tr>\n<td>bneast01<\/p>\n<td>192.168.0.120<\/p>\n<td>The Asterisk server<\/tr>\n<tr>\n<td>bnepho01<\/p>\n<td>192.168.0.121<\/p>\n<td>VOIP phone (extension 101)<\/tr>\n<tr>\n<td>bnepho02<\/p>\n<td>192.168.0.122<\/p>\n<td>VOIP phone (ext 102)<\/tr>\n<tr>\n<td>bnepbx01<\/p>\n<td>192.168.0.123<\/p>\n<td>Soho MyPBX (ext 103)<\/tr>\n<\/table>\n<p>The imaginary phone numbers I&#8217;ll be using below are<\/p>\n<table class=\"rn-mtable\">\n<tr>\n<th>Provider<\/p>\n<th>Number<\/p>\n<th>Thing<\/tr>\n<tr>\n<td>wdpvoip<\/p>\n<td>07 5555 1111<\/p>\n<td>The digital wdpvoip line<\/tr>\n<tr>\n<td>telstra<\/p>\n<td>07 5555 2222<\/p>\n<td>The analog wall-socket line<\/tr>\n<\/table>\n<p>(Because I know nothing about telephones, I&#8217;m going to call a standard telephone handset and line &#8216;analog&#8217;, and anything that goes over the internet &#8216;digital&#8217;).<\/p>\n<h2>Setting up FreePBX \/ Asterisk (bneast01)<\/h2>\n<p>For the Asterisk server, download a <a href=\"http:\/\/www.ubuntu.com\/download\/server\">32-bit Ubuntu 14.04.1 (trusty) LTS image<\/a>, fire that up with about 16GB HDD and 1GB RAM. <\/p>\n<p>Then run these commands (mostly sourced from the instructions at <a href=\"http:\/\/wiki.freepbx.org\/pages\/viewpage.action?pageId=1409028\">Installing FreePBX on Ubuntu 12.04 Server (Precise Pangolin)<\/a> ):<\/p>\n<pre class=\"rn_pre\" style=\"height:200px;\">\r\nsudo apt-get install openssh-server\r\ncd \/usr\/local\/src\r\nsudo wget https:\/\/iksemel.googlecode.com\/files\/iksemel-1.4.tar.gz\r\nsudo tar xzf iksemel-1.4.tar.gz\r\ncd iksemel-1.4\/\r\nsudo .\/configure\r\nsudo make\r\nsudo make install\r\ncd \/usr\/local\/src\r\nsudo wget http:\/\/downloads.asterisk.org\/pub\/telephony\/dahdi-linux-complete\/dahdi-linux-complete-current.tar.gz\r\nsudo tar xvzf dahdi-linux-complete-current.tar.gz\r\ncd dahdi-linux-complete-2.10.0+2.10.0\/\r\nsudo make all\r\nsudo make install\r\nsudo make config\r\ncd \/usr\/local\/src\r\nsudo tar xvzf libpri-1.4-current.tar.gz\r\ncd libpri-1.4.15\/\r\nsudo make\r\nsudo make install\r\ncd \/usr\/local\/src\r\nsudo git clone http:\/\/git.freepbx.org\/scm\/freepbx\/framework.git freepbx\r\nexport VER_FREEPBX=2.11\r\ncd freepbx\r\nsudo git checkout release\/${VER_FREEPBX}\r\nsudo adduser asterisk --disabled-password --gecos \"Asterisk User\"\r\nsudo chown asterisk. \/var\/run\/asterisk\r\nsudo chown -R asterisk. \/etc\/asterisk\r\nsudo chown -R asterisk. \/var\/{lib,log,spool}\/asterisk\r\nsudo chown -R asterisk. \/usr\/lib\/asterisk\r\nsudo mkdir \/var\/www\/html\r\nsudo chown -R asterisk \/var\/ww\r\nsudo chown -R asterisk \/var\/www\r\nsudo sed -i 's\/(^upload_max_filesize = \\).*\/\\120M\/' \/etc\/php5\/apache2\/php.ini\r\nsudo sed -i 's\/\\(^upload_max_filesize = \\).*\/\\120M\/' \/etc\/php5\/apache2\/php.ini\r\nsudo cp \/etc\/apache2\/apache2.conf \/etc\/apache2\/apache2.conf.orig\r\nsudo sed -i 's\/\\(User\\|Group\\).*\/\\1 asterisk\/' \/etc\/apache2\/apache2.conf\r\nsudo service apache2 restart\r\nsudo vi \/etc\/apache2\/apache2.conf\r\nsudo cp \/etc\/apache2\/apache2.conf.orig \/etc\/apache2\/apache2.conf\r\nsudo sed -i 's\/^\\(User\\|Group\\).*\/\\1 asterisk\/' \/etc\/apache2\/apache2.conf\r\nsudo service apache2 restart\r\nexport ASTERISK_DB_PW=abc123\r\nmysqladmin -u root create asterisk -p\r\nmysqladmin -u root create asteriskcdrdb -p\r\nmysql -u root asterisk -p < SQL\/newinstall.sql\r\nmysql -u root asteriskcdrdb -p < SQL\/cdr_mysql_table.sql\r\nmysql -u root -p -e \"GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';\"\r\nmysql -u root -p -e \"GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY '${ASTERISK_DB_PW}';\"\r\nmysql -u root -p -e \"FLUSH PRIVILEGES;\"\r\nsudo .\/start_asterisk start\r\nsudo .\/install_amp --webroot \/var\/www\r\nsudo amportal a ma installall\r\nsudo amportal a reload\r\nsudo ln -s \/var\/lib\/asterisk\/moh \/var\/lib\/asterisk\/mohmp3\r\nsudo amportal start\r\ncd \/usr\/lib\/asterisk\/modules\/\r\nsudo wget http:\/\/asterisk.hosting.lv\/bin\/codec_g729-ast110-gcc4-glibc-pentium4.so\r\nsudo chown asterisk:asterisk codec_g729-ast110-gcc4-glibc-pentium4.so\r\nsudo chmod a+x codec_g729-ast110-gcc4-glibc-pentium4.so\r\nsudo \/etc\/init.d\/asterisk restart\r\nsudo asterisk -rx 'core show translation'\r\nsudo asterisk -rx 'sip show channels'\r\nsudo asterisk -rx 'sip show peers'\r\nsudo asterisk -r -vvvv\r\n<\/pre>\n<p>That last command will put asterisk into remote verbose mode, so you'll be able to see on the command-line what's currently not working properly. There's also logs in \/var\/log\/asterisk.<\/p>\n<p>Now that you've got FreePBX, Asterisk and the G729 codec installed, try connecting via a web browser to your FreePBX installation, to MyPBX and to your phones, update your firmware, set up your SIP accounts, trunks, extensions and incoming\/outgoing routes, and then everything will work first time honest. <\/p>\n<p>Despite FreePBX and MyPBX both being based on Asterisk, you'll find they have slightly different terminology for the same thing, so that will make things more entertaining.<\/p>\n<h2>Huh?<\/h2>\n<p>Here's a network diagram describing the proposed configuration, using industry-standard white-puffy-clouds to depict anything you don't have direct and complete control over. <\/p>\n<p>Select the big chunky buttons on the side to view the different trunks and routes you'll be configuring for this thing. <\/p>\n<pre style=\"display:none\"><style>\r\n.overlayBackground { position: relative; }\r\n.overlay { position: absolute; top: 0px; left: 0px; display: none; opacity: 0.7;  }\r\n#overlayText { position: absolute; top: 200px; left: 75px; width: 150px; height: 100px; \/* border: solid 1px black; *\/ }\r\n.trunkDescs { position: relative; margin-top: 20px; }\r\n.trunkDesc { position: absolute: top:0px; left: 0px; display: none; }\r\n.chunkyButton { \r\n  \/* display: inline-block; border-radius: 3px; background-color: #008800; border-radius: 10px; color: white; text-align:center;  *\/\r\n    width: 40px; height: 40px; padding-top: 10px; margin: 5px; \r\n    font-size: 30px; font-family: Arial; font-weight: bold; \r\n    \/* from bootstrap 2 *\/\r\n    background-color: #5bb75b;\r\n    background-image: linear-gradient(to bottom, #62c462, #51a351);\r\n    background-repeat: repeat-x;\r\n    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\r\n    color: #ffffff;\r\n    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\r\nborder-image: none;\r\n    border-radius: 4px;\r\n    border-style: solid;\r\n    border-width: 1px;\r\n    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px rgba(0, 0, 0, 0.05);\r\ncursor: pointer;\r\n    display: inline-block;\r\n    \/*font-size: 14px;*\/\r\n    line-height: 20px;\r\n    \/*margin-bottom: 0; *\/\r\n    \/*padding: 4px 12px;*\/\r\n    text-align: center;\r\nvertical-align: middle;\r\n}\r\n.chunkyButton:hover { background-color: #51a351; }\r\n.chunkyButton.active { background-color: #51a351; background-image: none;\r\n    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) inset, 0 1px 2px rgba(0, 0, 0, 0.05);\r\n    outline: 0 none;\r\n}\r\n.rhs-small { font-size: 8pt; line-height: 1.5; }\r\n<\/style><\/pre>\n<p><script>\njQuery(document).ready(function($){\n  $(document).on('click', '.chunkyButton', function(e) {\n    var trunkId = jQuery(this).attr('data-trunkId');\n    var trunkText = jQuery(this).attr('data-trunkText');\n    jQuery('.chunkyButton').removeClass('active'); \n    jQuery(this).addClass('active'); \n    jQuery('.overlay').hide(); \n    jQuery('.trunkDesc').hide(); \n    jQuery('#trunk' + trunkId).show();\n    jQuery('#trunkDesc' + trunkId).show();\n    jQuery('#overlayText').html('<b> Path ' + trunkId + '<\/b><br \/>' + trunkText);\n  });\n});\n<\/script><\/p>\n<div id=\"attachment_2685\" class=\"wp-caption alignleft\" style=\"width: 380px\">\n<a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-configuration-2.png\"><\/p>\n<div class=\"overlayBackground\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-configuration-2.png\" alt=\"The Network Diagram\" width=\"370\" height=\"623\" class=\"size-full wp-image-2685\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-configuration-2.png 370w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-configuration-2-178x300.png 178w\" sizes=\"auto, (max-width: 370px) 100vw, 370px\" \/><\/p>\n<div id=\"overlayText\"><\/div>\n<p><img decoding=\"async\" class=\"overlay\" id=\"trunk1\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/trunk1.png\" \/><img decoding=\"async\" class=\"overlay\" id=\"trunk2\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/trunk2.png\" \/><img decoding=\"async\" class=\"overlay\" id=\"trunk3\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/trunk3.png\" \/><img decoding=\"async\" class=\"overlay\" id=\"trunk4\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/trunk4.png\" \/><img decoding=\"async\" class=\"overlay\" id=\"trunk5\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/trunk5.png\" \/><img decoding=\"async\" class=\"overlay\" id=\"trunk6\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/trunk6.png\" \/><img decoding=\"async\" class=\"overlay\" id=\"trunk7\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/trunk7.png\" \/><img decoding=\"async\" class=\"overlay\" id=\"trunkPO\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/trunkPO.png\" \/><\/div>\n<p><\/a><\/p>\n<p class=\"wp-caption-text\">The Network Diagram<\/p>\n<\/div>\n<div style=\"display: inline-block; width:170px;\">\n<div class=\"chunkyButton\" data-trunkId=\"1\" data-trunkText=\"Outgoing analog-analog (extToPstn2RO over pstn2)\">1<\/div>\n<div class=\"chunkyButton\" data-trunkId=\"2\" data-trunkText=\"Incoming analog-digital (pstn2ToBneast01TrunkRouteIn over pstn2, pstn2ToBneast01 over bneast01Trunk, allRouteIn over bnepbx01Trunk)\">2<\/div>\n<div class=\"chunkyButton\" data-trunkId=\"3\" data-trunkText=\"Outgoing digital-digital (wdpvoipRouteOut over wdpvoipTrunk)\">3<\/div>\n<div class=\"chunkyButton\" data-trunkId=\"4\" data-trunkText=\"Incoming digital-digital (wdpvoipRouteIn over wdpvoipTrunk)\">4<\/div>\n<div class=\"chunkyButton\" data-trunkId=\"5\" data-trunkText=\"Outgoing digital-analog (bnepbx01RouteOut over bnepbx01Trunk, bneast01TrunkToPstn2OutRouteIn over bneast01Trunk, extToPstn2RO over pstn2)\">5<\/div>\n<div class=\"chunkyButton\" data-trunkId=\"6\" data-trunkText=\"Internal digital-analog (bnepbx01RouteOut over bnepbx01Trunk, bneast01TrunkToExt103RouteIn over bneast01Trunk)\">6<\/div>\n<div class=\"chunkyButton\" data-trunkId=\"7\" data-trunkText=\"Internal analog-digital (extToBneast01RO over bneast01Trunk, allRouteIn over bnepbxTrunk)\">7<\/div>\n<div class=\"chunkyButton\" style=\"width:95px;\" data-trunkId=\"PO\" data-trunkText=\"\">PO<\/div>\n<\/div>\n<div class=\"trunkDescs\">\n<div id=\"trunkDesc1\" class=\"trunkDesc\">\nThis path allows you to dial from the analog extension (103) through the FXS\/FXO module on the MyPBX through to the outside world on the analog line.<\/p>\n<p><span class=\"rhs-small\"><br \/>\n<b>MyPBX Outbound Route:<\/b> extToPstn2RO<br \/>\n<b>MyPBX Trunk:<\/b> pstn2<\/span>\n<\/div>\n<div id=\"trunkDesc2\" class=\"trunkDesc\">\nThis path allows calls to originate from the outside world, pass through the MyPBX to the Asterisk server to the digital phones. You've set up a ringgroup (600) that causes all the phones to ring at the same time.<\/p>\n<p><span class=\"rhs-small\"><br \/>\n<b>MyPBX Inbound Route:<\/b> pstn2ToBneast01Trunk&shy;RouteIn<br \/>\n<b>MyPBX Trunk (Inbound):<\/b> pstn2<br \/>\n<b>MyPBX Outbound Route:<\/b> pstn2ToBneast01<br \/>\n<b>MyPBX Trunk (Outbound):<\/b> bneast01Trunk<br \/>\n<b>FreePBX Inbound Route:<\/b> allRouteIn<br \/>\n<b>FreePBX Trunk:<\/b> bnepbx01Trunk<br \/>\n<b>FreePBX Ring Group:<\/b> allRingGroup<\/span>\n<\/div>\n<div id=\"trunkDesc3\" class=\"trunkDesc\">\nOutgoing digital-digital<br \/>\nThis path allows calls to originate from the VOIP handsets, go via the Asteriak server through to wpdvoip and onwards to the outside world.<\/p>\n<p><span class=\"rhs-small\"><br \/>\n<b>FreePBX Outbound Route:<\/b> wdpvoipRouteOut<br \/>\n<b>FreePBX Trunk:<\/b> wdpvoipTrunk<\/span>\n<\/div>\n<div id=\"trunkDesc4\" class=\"trunkDesc\">\nIncoming digital-digital<br \/>\nThis path allows calls from the outside world to the wdpvoip number (07 5555 1111), go be received by the Asterisk server and sent through to the ringgroup which includes all the digital phones.<\/p>\n<p><span class=\"rhs-small\"><br \/>\n<b>FreePBX Inbound Route:<\/b> wdpvoipRouteIn<br \/>\n<b>FreePBX Trunk:<\/b> wdpvoipTrunk<\/span>\n<\/div>\n<div id=\"trunkDesc5\" class=\"trunkDesc\">\nOutgoing digital-analog<br \/>\nIn the event that something goes wrong with the internet, this path allows the digital phones to use the analog line to call out. Ideally this would be automatic, but for now people will need to dial a '9' prefix to get the outside analog line. <\/p>\n<p><span class=\"rhs-small\"><br \/>\n<b>FreePBX Outbound Route:<\/b> bnepbx01RouteOut<br \/>\n<b>FreePBX Trunk:<\/b> bnepbx01Trunk<br \/>\n<b>MyPBX Inbound Route:<\/b> bneast01TrunkToPstn2Out&shy;RouteIn<br \/>\n<b>MyPBX Trunk (Inbound):<\/b> bneast01Trunk<br \/>\n<b>MyPBX Outbound Route:<\/b> extToPstn2RO<br \/>\n<b>MyPBX Trunk (Outbound):<\/b> pstn2<\/span>\n<\/div>\n<div id=\"trunkDesc6\" class=\"trunkDesc\">\nInternal digital-analog<br \/>\nNot really necessary, but would be good if the digital handsets (ext 101 and 102) could call the analog handset (ext 103)<\/p>\n<p><span class=\"rhs-small\"><br \/>\n<b>FreePBX Outbound Route:<\/b> bnepbx01RouteOut<br \/>\n<b>FreePBX Trunk:<\/b> bnepbx01Trunk<br \/>\n<b>MyPBX Inbound Route:<\/b> bneast01TrunkToExt103&shy;RouteIn<br \/>\n<b>MyPBX Trunk (Inbound):<\/b> bneast01Trunk<\/span>\n<\/div>\n<div id=\"trunkDesc7\" class=\"trunkDesc\">\nInternal analog-digital<br \/>\nAnd conversely, the analog handset (ext 101) should be able to call the digital handsets (ext 101 and 102)<\/p>\n<p><span class=\"rhs-small\"><br \/>\n<b>MyPBX Outbound Route:<\/b> extToBneast01RO<br \/>\n<b>MyPBX Trunk (Inbound):<\/b> bneast01Trunk<br \/>\n<b>FreePBX Inbound Route:<\/b> allRouteIn<br \/>\n<b>FreePBX Trunk:<\/b> bnepbx01Trunk<\/span>\n<\/div>\n<div id=\"trunkDescPO\" class=\"trunkDesc\">\nPower-outage fallback<br \/>\nIf\/when the power (and UPSes) go out, it will still be possibly to make calls on the analog line, which uses a feature on the FXS\/FXO circuit which permits calls when no power is available. <\/p>\n<p>This isn't really a path, considering there's no settings to configure, but it's still part of the overall configuration.\n<\/p><\/div>\n<\/div>\n<p><br style=\"clear:left;\"\/><\/p>\n<h2>Wha?<\/h2>\n<p>With that in mind, here's the exciting details. <\/p>\n<p>You'll probably want to check the different systems as you configure things to make sure the connections vaguely work.<\/p>\n<h3>MyPBX configuration<\/h3>\n<p>Pry the top off the MyPBX to expose the slots inside (outlined in red). My FXO\/FXS card is in the first slot, so port 1 on the back is the analog handset, and port 2 plugs into the phone socket on the wall. <\/p>\n<p><figure id=\"attachment_2735\" aria-describedby=\"caption-attachment-2735\" style=\"width: 256px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-mypbx-slot1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-mypbx-slot1.jpg\" alt=\"MyPBX Soho with top cover removed; slot 1 highlighted in red.\" width=\"256\" height=\"192\" class=\"size-full wp-image-2735\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-mypbx-slot1.jpg 856w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-mypbx-slot1-300x224.jpg 300w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-mypbx-slot1-768x574.jpg 768w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-mypbx-slot1-320x240.jpg 320w\" sizes=\"auto, (max-width: 256px) 100vw, 256px\" \/><\/a><figcaption id=\"caption-attachment-2735\" class=\"wp-caption-text\">MyPBX Soho with top cover removed; slot 1 highlighted in red.<\/figcaption><\/figure><figure id=\"attachment_2736\" aria-describedby=\"caption-attachment-2736\" style=\"width: 270px\" class=\"wp-caption alignright\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-mypbx-slot1b.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-mypbx-slot1b.jpg\" alt=\"MyPBX Soho with top cover removed; slot 1 containing FXS\/FXO module highlighted in red.\" width=\"270\" height=\"197\" class=\"size-full wp-image-2736\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-mypbx-slot1b.jpg 902w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-mypbx-slot1b-300x219.jpg 300w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-mypbx-slot1b-768x560.jpg 768w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-mypbx-slot1b-220x162.jpg 220w\" sizes=\"auto, (max-width: 270px) 100vw, 270px\" \/><\/a><figcaption id=\"caption-attachment-2736\" class=\"wp-caption-text\">MyPBX Soho with top cover removed; slot 1 containing FXS\/FXO module highlighted in red.<\/figcaption><\/figure><\/p>\n<p><br style=\"clear:both;\"\/><br \/>\nPut the cover back on, connect the ethernet, phone and power cables and turn it on. By default the MyPBX box is on a weird subnet (192.168.5.0\/24) <a name=\"fn2back\" href=\"#fn2\" class=\"footnoteref\">[2]<\/a>, so change your laptop IP address to something on the same subnet (e.g. 192.168.5.1), connect to http:\/\/192.168.5.150, log in (as admin \/ password), change the network settings by clicking the 'System' link up the top, then 'LAN Settings' on the side, save the changes then change your laptop IP address back.<\/p>\n<p>When you log back into the MyPBX console (for me, on http:\/\/192.168.0.123 ), turn on the debug log (Reports->System Log->Enable Hardware, Normal, Debug and Web logs) and the SSH server (System->Security Center->Service->SSH->Setting), and log in via SSH (192.168.0.123 port 8022, username\/password = root\/ys123456) and <code>tail -f \/var\/log\/yslog\/debug.log<\/code>, which will be useful when things inevitably don't work. <\/p>\n<p>Back in the web console, click 'PBX' -> 'FXS\/VOIP Extensions'. You'll find some existing VOIP extensions already set up (ext 300-305) which you can ignore. Click 'Add extension' and create the new analog extension 103 with the settings:<\/p>\n<table class=\"rn-mtable\" style=\"width:auto;\">\n<tr>\n<th>Name<\/p>\n<th>103<\/p>\n<tr>\n<th>Caller ID<\/p>\n<td>103<\/p>\n<tr>\n<th>Hook flash detection<\/p>\n<td>1000ms (default)<\/p>\n<tr>\n<th>Pickup group<\/p>\n<td>--- (default)<\/p>\n<tr>\n<th>Max call duration<\/p>\n<td>empty (default)<\/p>\n<tr>\n<th>Screenshots<\/p>\n<td><figure id=\"attachment_2749\" aria-describedby=\"caption-attachment-2749\" style=\"width: 150px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext103A.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext103A.png\" alt=\"MyPBX Extension 103 (General tab)\" width=\"150\" height=\"116\" class=\"size-full wp-image-2749\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext103A.png 1288w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext103A-300x233.png 300w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext103A-768x596.png 768w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext103A-1024x795.png 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><figcaption id=\"caption-attachment-2749\" class=\"wp-caption-text\">MyPBX Extension 103 (General tab)<\/figcaption><\/figure> <figure id=\"attachment_2750\" aria-describedby=\"caption-attachment-2750\" style=\"width: 150px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext103B.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext103B.png\" alt=\"MyPBX Extension 103 (Other Settings tab)\" width=\"150\" height=\"116\" class=\"size-full wp-image-2750\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext103B.png 1288w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext103B-300x233.png 300w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext103B-768x596.png 768w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext103B-1024x795.png 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><figcaption id=\"caption-attachment-2750\" class=\"wp-caption-text\">MyPBX Extension 103 (Other Settings tab)<\/figcaption><\/figure><br \/>\n<\/table>\n<p>Then click 'PBX' -> 'Physical Trunk', and you should see a pstn2 trunk already set up. <\/p>\n<p>Add a 'Service Provider' called bneast01Trunk with the settings:<\/p>\n<table class=\"rn-mtable\" style=\"width:auto;\">\n<tr>\n<th>Name<\/p>\n<th>bneast01Trunk<\/p>\n<tr>\n<th>Type<\/p>\n<td>SIP<\/p>\n<tr>\n<th>Hostname\/IP<\/p>\n<td>192.168.0.120:5060<\/p>\n<tr>\n<th>Maximum Channels<\/p>\n<td>0<\/p>\n<tr>\n<th>Codecs<\/p>\n<td>G722\/G726\/alaw\/none\/none<\/p>\n<tr>\n<th>Transport<\/p>\n<td>UDP<\/p>\n<tr>\n<th>Qualify<\/p>\n<td>checked<\/p>\n<tr>\n<th>DTMF Mode<\/p>\n<td>rfc2833<\/p>\n<tr>\n<th>DOD Settings<\/p>\n<td>mostly blank<\/p>\n<tr>\n<th>Associated Extension<\/p>\n<td>103<\/p>\n<tr>\n<th>Screenshot<\/p>\n<td><figure id=\"attachment_2751\" aria-describedby=\"caption-attachment-2751\" style=\"width: 150px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bneast01Trunk.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bneast01Trunk.png\" alt=\"MyPBX VoIP trunk &quot;bneast01Trunk&quot;\" width=\"150\" height=\"116\" class=\"size-full wp-image-2751\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bneast01Trunk.png 1288w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bneast01Trunk-300x233.png 300w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bneast01Trunk-768x596.png 768w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bneast01Trunk-1024x795.png 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><figcaption id=\"caption-attachment-2751\" class=\"wp-caption-text\">MyPBX VoIP trunk \"bneast01Trunk\"<\/figcaption><\/figure><br \/>\n<\/table>\n<p>This trunk will handle communications over <a href=\"http:\/\/en.wikipedia.org\/wiki\/Session_Initiation_Protocol\">SIP<\/a> for VOIP traffic from the asterisk server bneast01. <\/p>\n<p>Click 'Outbound Routes' and add the following routes. MyPBX has a 15-character limit for outgoing route names, so I had to condense my initial names for these things into an even more incomprehensible form. You'll need routes for outgoing analog (extToPstn2RO), digital (extToBneast01RO) and external incoming (pstn2ToBneast01) calls:<\/p>\n<table class=\"rn-mtable\" style=\"width:auto;\">\n<tr>\n<th>Route name<\/p>\n<th>extToPstn2&shy;RouteOut<\/p>\n<th>extToBneast01Trunk&shy;RouteOut<\/p>\n<th>pstn2ToBneast01Trunk&shy;RouteOut<\/p>\n<tr>\n<th>15-char route name<\/p>\n<th>extToPstn2RO<\/p>\n<th>extToBneast01RO<\/p>\n<th>pstn2ToBneast01<\/p>\n<tr>\n<th>Password<\/p>\n<td>empty (default)<\/p>\n<td>empty<\/p>\n<td>\n<tr>\n<th>T.38 Support<\/p>\n<td>No (default)<\/p>\n<td>No<\/p>\n<td>No<\/p>\n<tr>\n<th>Rrmemory Hunt<\/p>\n<td>No (default)<\/p>\n<td>No<\/p>\n<td>No<\/p>\n<tr>\n<th>Office Hours<\/p>\n<td>Empty (default)<\/p>\n<td>Empty<\/p>\n<td>Empty<\/p>\n<tr>\n<th>Dial Pattern 1<\/p>\n<td><code>9.<\/code><\/p>\n<td><code>1.<\/code><\/p>\n<td><code>.<\/code><\/p>\n<tr>\n<th>Strip 1<\/p>\n<td><code>1<\/code><\/p>\n<td>\n<td><code>1<\/code><\/p>\n<tr>\n<th>Prepend 1<\/p>\n<td>empty<\/p>\n<td>empty<\/p>\n<td><code>600<\/code><\/p>\n<tr>\n<th>Dial Pattern 2<\/p>\n<td>\n<td><code>0.<\/code><\/p>\n<td>\n<tr>\n<th>Strip 2<\/p>\n<td>\n<td>\n<td>\n<tr>\n<th>Prepend 2<\/p>\n<td>\n<td>empty<\/p>\n<td>\n<tr>\n<th>Member Extensions<\/p>\n<td>103(FXS)<\/p>\n<td>103(FXS)<\/p>\n<td><i>300(SIP)<\/i> **<\/p>\n<tr>\n<th>Member Trunks<\/p>\n<td>pstn2(FXO)<\/p>\n<td>bneast01Trunk(SPS)<\/p>\n<td>bneast01Trunk(SPS)<\/p>\n<tr>\n<td>\n<td><figure id=\"attachment_2752\" aria-describedby=\"caption-attachment-2752\" style=\"width: 150px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-extToPstn2RO.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-extToPstn2RO.png\" alt=\"MyPBX Outbound Route &quot;extToPstn2RO&quot;\" width=\"150\" height=\"116\" class=\"size-full wp-image-2752\" \/><\/a><figcaption id=\"caption-attachment-2752\" class=\"wp-caption-text\">MyPBX Outbound Route \"extToPstn2RO\"<\/figcaption><\/figure><\/p>\n<td><figure id=\"attachment_2754\" aria-describedby=\"caption-attachment-2754\" style=\"width: 150px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-extToPstn2RO.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-extToPstn2RO.png\" alt=\"MyPBX Outbound Route &quot;extToBneast01RO&quot;\" width=\"150\" height=\"116\" class=\"size-full wp-image-2754\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-extToPstn2RO.png 1288w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-extToPstn2RO-300x233.png 300w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-extToPstn2RO-768x596.png 768w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-extToPstn2RO-1024x795.png 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><figcaption id=\"caption-attachment-2754\" class=\"wp-caption-text\">MyPBX Outbound Route \"extToBneast01RO\"<\/figcaption><\/figure><\/p>\n<td><figure id=\"attachment_2756\" aria-describedby=\"caption-attachment-2756\" style=\"width: 150px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-pstn2ToBneast01.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-pstn2ToBneast01.png\" alt=\"MyPBX Outbound Route &quot;pstn2ToBneast01&quot;\" width=\"150\" height=\"116\" class=\"size-full wp-image-2756\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-pstn2ToBneast01.png 1288w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-pstn2ToBneast01-300x233.png 300w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-pstn2ToBneast01-768x596.png 768w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-pstn2ToBneast01-1024x795.png 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><figcaption id=\"caption-attachment-2756\" class=\"wp-caption-text\">MyPBX Outbound Route \"pstn2ToBneast01\"<\/figcaption><\/figure><br \/>\n<\/table>\n<p>**- this extension isn't used, but MyPBX requires something in here, so put in anything.<\/p>\n<p>Note the two dial patterns on bneast01Out; the first is for calls to other extensions (which in my configuration all start with '<code>1<\/code>'), the second is for outgoing external calls (which in my configuration require the user to dial '<code>0<\/code>' to get an outside digital line).<\/p>\n<p>Inbound routes on the MyPBX also configure the handling of those routes:<\/p>\n<table class=\"rn-mtable\">\n<tr>\n<th>Route name<\/p>\n<th>pstn2ToBneast01Trunk&shy;RouteIn<\/p>\n<th>bneast01TrunkToPstn2Out&shy;RouteIn <\/p>\n<th>bneast01TrunkToExt103&shy;RouteIn<\/p>\n<tr>\n<th>DID Number<\/p>\n<td>empty (default)<\/p>\n<td><code>9.<\/code><\/p>\n<td><code>103<\/code><\/p>\n<tr>\n<th>Extension<\/p>\n<td>empty (default)<\/p>\n<td>empty<\/p>\n<td>empty<\/p>\n<tr>\n<th>Caller ID Number<\/p>\n<td>empty (default)<\/p>\n<td>empty<\/p>\n<td>empty<\/p>\n<tr>\n<th>Distinctive Ringtone<\/p>\n<td>empty (default)<\/p>\n<td>empty<\/p>\n<td>empty<\/p>\n<tr>\n<th>Enable callback<\/p>\n<td>No (default)<\/p>\n<td>No<\/p>\n<td>No<\/p>\n<tr>\n<th>Member trunks<\/p>\n<td>pstn2(FXO)<\/p>\n<td>bneast01Trunk(SPS)<\/p>\n<td>bneast01Trunk(SPS)<\/p>\n<tr>\n<th>Business Days<\/p>\n<td>\n<td>\n<td>\n<tr>\n<th>Office Hours Destination<\/p>\n<td>Outbound Routes \/ pstn2ToBneast01<\/p>\n<td>Outbound Routes \/ extToPstn2RO<\/p>\n<td>Extension \/ 103<\/p>\n<tr>\n<th>Non-office Hours Destination<\/p>\n<td>Outbound Routes \/ pstn2ToBneast01<\/p>\n<td>Outbound Routes \/ extToPstn2RO<\/p>\n<td>Extension \/ 103<\/p>\n<tr>\n<th>Screenshot<\/p>\n<td><figure id=\"attachment_2757\" aria-describedby=\"caption-attachment-2757\" style=\"width: 150px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-pstn2ToBneast01TrunkRouteIn.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-pstn2ToBneast01TrunkRouteIn.png\" alt=\"MyPBX Inbound Route &quot;pstn2ToBneast01TrunkRouteIn&quot;\" width=\"150\" height=\"116\" class=\"size-full wp-image-2757\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-pstn2ToBneast01TrunkRouteIn.png 1288w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-pstn2ToBneast01TrunkRouteIn-300x233.png 300w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-pstn2ToBneast01TrunkRouteIn-768x596.png 768w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-pstn2ToBneast01TrunkRouteIn-1024x795.png 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><figcaption id=\"caption-attachment-2757\" class=\"wp-caption-text\">MyPBX Inbound Route \"pstn2ToBneast01TrunkRouteIn\"<\/figcaption><\/figure><\/p>\n<td><figure id=\"attachment_2759\" aria-describedby=\"caption-attachment-2759\" style=\"width: 150px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bneast01TrunkToPstn2OutRouteIn.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bneast01TrunkToPstn2OutRouteIn.png\" alt=\"MyPBX Inbound Route &quot;bneast01TrunkToPstn2OutRouteIn&quot;\" width=\"150\" height=\"116\" class=\"size-full wp-image-2759\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bneast01TrunkToPstn2OutRouteIn.png 1288w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bneast01TrunkToPstn2OutRouteIn-300x233.png 300w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bneast01TrunkToPstn2OutRouteIn-768x596.png 768w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bneast01TrunkToPstn2OutRouteIn-1024x795.png 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><figcaption id=\"caption-attachment-2759\" class=\"wp-caption-text\">MyPBX Inbound Route \"bneast01TrunkToPstn2OutRouteIn\"<\/figcaption><\/figure><\/p>\n<td><figure id=\"attachment_2758\" aria-describedby=\"caption-attachment-2758\" style=\"width: 150px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bneast01TrunkToExt103RouteIn.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bneast01TrunkToExt103RouteIn.png\" alt=\"MyPBX Inbound Route &quot;bneast01TrunkToExt103RouteIn&quot;\" width=\"150\" height=\"116\" class=\"size-full wp-image-2758\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bneast01TrunkToExt103RouteIn.png 1288w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bneast01TrunkToExt103RouteIn-300x233.png 300w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bneast01TrunkToExt103RouteIn-768x596.png 768w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bneast01TrunkToExt103RouteIn-1024x795.png 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><figcaption id=\"caption-attachment-2758\" class=\"wp-caption-text\">MyPBX Inbound Route \"bneast01TrunkToExt103RouteIn\"<\/figcaption><\/figure><br \/>\n<\/table>\n<h3>Asterisk \/ FreePBX configuration<\/h3>\n<p>Log in to FreePBX at http:\/\/192.168.0.120 using the username \/ password you created earlier, if you did, which I forget.<\/p>\n<p>Go to Applications->Extensions and add the following extensions:<\/p>\n<table class=\"rn-mtable\" style=\"width:auto;\">\n<tr>\n<th>Display Name<\/p>\n<th>101<\/p>\n<th>102<\/p>\n<tr>\n<th>secret<\/p>\n<td>123456<\/p>\n<td>123456<\/p>\n<tr>\n<th>dial<\/p>\n<td>SIP\/101<\/p>\n<td>SIP\/102<\/p>\n<tr>\n<th>mailbox<\/p>\n<td>101@device<\/p>\n<td>102@device<\/p>\n<tr>\n<th>Voicemail\/password<\/p>\n<td>101<\/p>\n<td>102<\/p>\n<tr>\n<th>Voicemail\/email<\/p>\n<td>knoxg+101@randomoun.com<\/p>\n<td>knoxg+102@randomnoun.com<\/p>\n<tr>\n<th>Screenshot<\/p>\n<td><figure id=\"attachment_2760\" aria-describedby=\"caption-attachment-2760\" style=\"width: 150px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext101.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext101.png\" alt=\"FreePBX Extension 101\" width=\"150\" height=\"395\" class=\"size-full wp-image-2760\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext101.png 1271w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext101-114x300.png 114w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext101-768x2023.png 768w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext101-389x1024.png 389w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><figcaption id=\"caption-attachment-2760\" class=\"wp-caption-text\">FreePBX Extension 101<\/figcaption><\/figure><\/p>\n<td><figure id=\"attachment_2761\" aria-describedby=\"caption-attachment-2761\" style=\"width: 150px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext102.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext102.png\" alt=\"FreePBX Extension 102\" width=\"150\" height=\"392\" class=\"size-full wp-image-2761\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext102.png 1271w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext102-115x300.png 115w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext102-768x2009.png 768w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext102-391x1024.png 391w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><figcaption id=\"caption-attachment-2761\" class=\"wp-caption-text\">FreePBX Extension 102<\/figcaption><\/figure><br \/>\n<\/table>\n<p>Then go to Applications -> Ring groups and add the following ring group:<\/p>\n<table class=\"rn-mtable\" style=\"width:auto;\">\n<tr>\n<th>Group description<\/p>\n<th>allRingGroup<\/p>\n<tr>\n<th>Ring strategy<\/p>\n<td>ringall<\/p>\n<tr>\n<th>Extension List<\/p>\n<td>101 and 102<\/p>\n<tr>\n<th>Destination if no answer<\/p>\n<td>Voicemail (101)<\/p>\n<tr>\n<th>Screenshot<\/p>\n<td><figure id=\"attachment_2762\" aria-describedby=\"caption-attachment-2762\" style=\"width: 150px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-allRingGroup.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-allRingGroup.png\" alt=\"FreePBX Ring Group &quot;allRingGroup&quot;\" width=\"150\" height=\"139\" class=\"size-full wp-image-2762\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-allRingGroup.png 1271w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-allRingGroup-300x277.png 300w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-allRingGroup-768x709.png 768w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-allRingGroup-1024x946.png 1024w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-allRingGroup-140x130.png 140w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-allRingGroup-60x57.png 60w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><figcaption id=\"caption-attachment-2762\" class=\"wp-caption-text\">FreePBX Ring Group \"allRingGroup\"<\/figcaption><\/figure><br \/>\n<\/table>\n<p>Go to Connectivity->Trunks and add the following trunks:<\/p>\n<table class=\"rn-mtable\" style=\"width:auto;\">\n<tr>\n<th>Description<\/p>\n<th>bnepbx01Trunk<\/p>\n<th>wdpvoipTrunk<\/p>\n<tr>\n<th>CID Options<\/p>\n<td>Allow Any CID<\/p>\n<td>Allow Any CID<\/p>\n<tr>\n<th>Maximum Channels<\/p>\n<td>empty<\/p>\n<td>empty<\/p>\n<tr>\n<th>Dialed Number Manipulation Rules<\/p>\n<td>empty<\/p>\n<td>empty<\/p>\n<tr>\n<th colspan=\"3\">Outgoing Settings<\/p>\n<tr>\n<th>Trunk Name<\/p>\n<td>bnepbx01TrunkOut<\/p>\n<td>wdpvoipTrunkOut<\/p>\n<tr>\n<th>PEER Details<\/p>\n<td>\n<code>host=192.168.0.123<br \/>\ntype=friend<br \/>\nallow=alaw<br \/>\ncontext=from-internal<br \/>\ntrunk=yes<br \/>\ninsecure=invite<\/code><\/p>\n<td>\n<code>username=<i>nnnn*nnnnn<\/i><br \/>\ntype=peer<br \/>\nsecret=<i>yourWdpvoipSecret<\/i><br \/>\nqualify=yes<br \/>\npedantic=no<br \/>\ninsecure=very<br \/>\nhost=27.50.78.2<br \/>\nfromuser=<i>nnnn*nnnnn<\/i><br \/>\nfromdomain=27.50.78.2<br \/>\ndisallow=all<br \/>\nallow=alaw<br \/>\n<\/code><\/p>\n<tr>\n<th colspan=\"3\">Incoming Settings<\/p>\n<tr>\n<th>USER Context<\/p>\n<td>bnepbx01TrunkIn<\/p>\n<td><i>nnnn*nnnnn<\/i><\/p>\n<tr>\n<th>USER Details<\/p>\n<td>\n<code>host=192.168.0.123<br \/>\ntype=user<br \/>\ncontext=from-trunk<\/code><\/p>\n<td>\n<code>username=<i>nnnn*nnnnn<\/i><br \/>\ntype=user<br \/>\nsecret=<i>yourWdpvoipSecret<\/i><br \/>\nqualify=no<br \/>\ninsecure=very<br \/>\nfromuser=<i>yourWdpvoipSecret<\/i><br \/>\ncontext=from-trunk<br \/>\ncanreinvite=no<br \/>\n<\/code><\/p>\n<tr>\n<th colspan=\"3\">Registration<\/p>\n<tr>\n<th>Register String<\/p>\n<td>empty<\/p>\n<td><code><i>nnnn*nnnnn<\/i>:<i>yourWdpvoipSecret<\/i>@@<br \/>\n27.50.78.2\/<i>nnnn*nnnnn<\/i><\/code><\/p>\n<tr>\n<th>Screenshots<\/p>\n<td><figure id=\"attachment_2763\" aria-describedby=\"caption-attachment-2763\" style=\"width: 150px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bnepbx01Trunk.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bnepbx01Trunk.png\" alt=\"FreePBX Trunk &quot;bnepbx01Trunk&quot;\" width=\"150\" height=\"173\" class=\"size-full wp-image-2763\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bnepbx01Trunk.png 1271w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bnepbx01Trunk-260x300.png 260w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bnepbx01Trunk-768x886.png 768w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bnepbx01Trunk-888x1024.png 888w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><figcaption id=\"caption-attachment-2763\" class=\"wp-caption-text\">FreePBX Trunk \"bnepbx01Trunk\"<\/figcaption><\/figure><\/p>\n<td><figure id=\"attachment_2764\" aria-describedby=\"caption-attachment-2764\" style=\"width: 150px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-wdpvoipTrunk.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-wdpvoipTrunk.png\" alt=\"FreePBX Trunk &quot;wdpvoipTrunk&quot;\" width=\"150\" height=\"173\" class=\"size-full wp-image-2764\" \/><\/a><figcaption id=\"caption-attachment-2764\" class=\"wp-caption-text\">FreePBX Trunk \"wdpvoipTrunk\"<\/figcaption><\/figure><br \/>\n<\/table>\n<p>(The <i>nnnn*nnnnn<\/i> and <i>yourWdpvoipSecret<\/i> values should be supplied to you by wdpvoip during signup. The register string should all be in one line; there's also some additional instructions <a href=\"https:\/\/wdpvoip.net.au\/control\/knowledgebase.php?action=displayarticle&#038;id=69\">on their site<\/a> )<\/p>\n<p>Go to Connectivity->Inbound routes and add the following routes:<\/p>\n<table class=\"rn-mtable\" style=\"width:auto;\">\n<tr>\n<th>Description<\/p>\n<th>wdpvoipRouteIn<\/p>\n<th>allRouteIn<\/p>\n<tr>\n<th>DID Number<\/p>\n<td>nnnn*nnnnn<\/p>\n<td>empty<\/p>\n<tr>\n<th>Call Recording<\/p>\n<td>Allow<\/p>\n<td>Allow<\/p>\n<tr>\n<th>Set Destination<\/p>\n<td>Ring groups \/ allRingGroup<\/p>\n<td>Ring groups \/ allRingGroup<\/p>\n<tr>\n<th>Screenshot<\/p>\n<td><figure id=\"attachment_2765\" aria-describedby=\"caption-attachment-2765\" style=\"width: 150px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-wdpvoipRouteIn.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-wdpvoipRouteIn.png\" alt=\"FreePBX Inbound Route &quot;wdpvoipRouteIn&quot;\" width=\"150\" height=\"135\" class=\"size-full wp-image-2765\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-wdpvoipRouteIn.png 1271w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-wdpvoipRouteIn-300x271.png 300w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-wdpvoipRouteIn-768x694.png 768w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-wdpvoipRouteIn-1024x925.png 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><figcaption id=\"caption-attachment-2765\" class=\"wp-caption-text\">FreePBX Inbound Route \"wdpvoipRouteIn\"<\/figcaption><\/figure><\/p>\n<td><figure id=\"attachment_2766\" aria-describedby=\"caption-attachment-2766\" style=\"width: 150px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-allRouteIn.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-allRouteIn.png\" alt=\"FreePBX Inbound Route &quot;allRouteIn&quot;\" width=\"150\" height=\"135\" class=\"size-full wp-image-2766\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-allRouteIn.png 1271w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-allRouteIn-300x271.png 300w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-allRouteIn-768x694.png 768w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-allRouteIn-1024x925.png 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><figcaption id=\"caption-attachment-2766\" class=\"wp-caption-text\">FreePBX Inbound Route \"allRouteIn\"<\/figcaption><\/figure><br \/>\n<\/table>\n<p>And Connectivity->Outbound routes<\/p>\n<table class=\"rn-mtable\" style=\"width:auto;\">\n<tr>\n<th>Description<\/p>\n<th>defaultRouteOut<\/p>\n<th>wdpvoipRouteOut<\/p>\n<th>bnepbx01RouteOut<\/p>\n<tr>\n<th>Dial pattern&nbsp;1<\/p>\n<td><tt>( ) + | [<code>NXXXXXXX<\/code> \/ ]<\/tt><\/p>\n<td><tt>( ) + <code>0<\/code> | [<code>X.<\/code> \/ ]<\/tt><\/p>\n<td><tt>( ) + | [<code>103<\/code> \/ ]<\/tt><\/p>\n<tr>\n<th>Dial pattern&nbsp;2<\/p>\n<td>N\/A<\/p>\n<td>N\/A<\/p>\n<td><tt>( ) + | [<code>9.<\/code> \/ ]<\/tt><\/p>\n<tr>\n<th>Trunk sequence&nbsp;0<\/p>\n<td>wdpvoipTrunk<\/p>\n<td>wdpvoipTrunk<\/p>\n<td>bnepbx01Trunk<\/p>\n<tr>\n<th>Screenshots<\/p>\n<td><figure id=\"attachment_2767\" aria-describedby=\"caption-attachment-2767\" style=\"width: 150px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-defaultRouteOut.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-defaultRouteOut.png\" alt=\"FreePBX Outbound Route &quot;defaultRouteOut&quot;\" width=\"150\" height=\"135\" class=\"size-full wp-image-2767\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-defaultRouteOut.png 1271w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-defaultRouteOut-300x270.png 300w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-defaultRouteOut-768x692.png 768w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-defaultRouteOut-1024x922.png 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><figcaption id=\"caption-attachment-2767\" class=\"wp-caption-text\">FreePBX Outbound Route \"defaultRouteOut\"<\/figcaption><\/figure><\/p>\n<td><figure id=\"attachment_2769\" aria-describedby=\"caption-attachment-2769\" style=\"width: 150px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-wdpvoipRouteOut.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-wdpvoipRouteOut.png\" alt=\"FreeRDP Outbound Route &quot;wdpvoipRouteOut&quot;\" width=\"150\" height=\"135\" class=\"size-full wp-image-2769\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-wdpvoipRouteOut.png 1271w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-wdpvoipRouteOut-300x270.png 300w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-wdpvoipRouteOut-768x692.png 768w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-wdpvoipRouteOut-1024x922.png 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><figcaption id=\"caption-attachment-2769\" class=\"wp-caption-text\">FreeRDP Outbound Route \"wdpvoipRouteOut\"<\/figcaption><\/figure><\/p>\n<td><figure id=\"attachment_2770\" aria-describedby=\"caption-attachment-2770\" style=\"width: 150px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bnepbx01RouteOut.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bnepbx01RouteOut.png\" alt=\"FreePBX Outbound Route &quot;bnepbx01RouteOut&quot;\" width=\"150\" height=\"137\" class=\"size-full wp-image-2770\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bnepbx01RouteOut.png 1271w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bnepbx01RouteOut-300x276.png 300w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bnepbx01RouteOut-768x706.png 768w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-bnepbx01RouteOut-1024x942.png 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><figcaption id=\"caption-attachment-2770\" class=\"wp-caption-text\">FreePBX Outbound Route \"bnepbx01RouteOut\"<\/figcaption><\/figure><br \/>\n<\/table>\n<h3>Yealink digital phone configuration<\/h3>\n<p>The phones will get an IP address via DHCP by default, so press the OK button on the front to find out it's IP address then login to it by browsing to http:\/\/<i>(ip-address)<\/i> and entering the username\/password admin \/ admin<\/p>\n<p>Give it a static IP address, using the following settings under Network -> Basic (or use DHCP if you feel like configuring your DHCP server instead). <\/p>\n<table class=\"rn-mtable\" style=\"width:auto;\">\n<tr>\n<th>Extension<\/p>\n<th>101<\/p>\n<th>102<\/p>\n<tr>\n<th>Mode (IPv4\/IPv6><\/p>\n<td>IPv4<\/p>\n<td>IPv4<\/p>\n<tr>\n<th>IPv4 Config<\/p>\n<td>Static IP Address<\/p>\n<td>Static IP Address<\/p>\n<tr>\n<th>IP Address<\/p>\n<td>192.168.0.121<\/p>\n<td>192.168.0.122<\/p>\n<tr>\n<th>Subnet Mask<\/p>\n<td>255.255.255.0<\/p>\n<td>255.255.255.0<\/p>\n<tr>\n<th>Gateway<\/p>\n<td>192.168.0.1<\/p>\n<td>192.168.0.1<\/p>\n<tr>\n<th>Static DNS<\/p>\n<td>On<\/p>\n<td>On<\/p>\n<tr>\n<th>Primary DNS<\/p>\n<td>192.168.0.1<\/p>\n<td>192.168.0.1<\/p>\n<tr>\n<th>Secondary DNS<\/p>\n<td>\n<td>\n<\/table>\n<p>Apply the settings, then login to it again on the new IP.<\/p>\n<p>Download the latest firmware from <a href=\"http:\/\/www.yealink.com\/SupportDownloadfiles_detail.aspx?CateId=185&#038;flag=142\">the Yealink site<\/a>, go to Settings -> Upgrade, and upload the new firmware to the phone.<\/p>\n<p>Once the phone reboots, login again, go to the Account tab, and create an Account for the phone so it can contact the asterisk server on bneast01.<\/p>\n<table class=\"rn-mtable\" style=\"width:auto;\">\n<tr>\n<th>Extension<\/p>\n<th>101<\/p>\n<th>102<\/p>\n<tr>\n<th>Line Active<\/p>\n<td>Enabled<\/p>\n<td>Enabled<\/p>\n<tr>\n<th>Label<\/p>\n<td>101<\/p>\n<td>102<\/p>\n<tr>\n<th>Display Name<\/p>\n<td>101<\/p>\n<td>102<\/p>\n<tr>\n<th>Register Name<\/p>\n<td>101<\/p>\n<td>102<\/p>\n<tr>\n<th>User Name<\/p>\n<td>101<\/p>\n<td>102<\/p>\n<tr>\n<th>Password<\/p>\n<td>123456<\/p>\n<td>123456<\/p>\n<tr>\n<th colspan=\"3\">SIP Server 1<\/p>\n<tr>\n<th>Server Host<\/p>\n<td>192.168.0.120<\/p>\n<td>192.168.0.120<\/p>\n<tr>\n<th>Screenshot<\/p>\n<td><figure id=\"attachment_2772\" aria-describedby=\"caption-attachment-2772\" style=\"width: 150px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext101Account.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext101Account.png\" alt=\"Yealink T26P Account tab on Extension 101\" width=\"150\" height=\"95\" class=\"size-full wp-image-2772\" srcset=\"https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext101Account.png 1271w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext101Account-300x190.png 300w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext101Account-768x486.png 768w, https:\/\/www.randomnoun.com\/wp\/wp-content\/uploads\/2015\/01\/voip-ext101Account-1024x649.png 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/a><figcaption id=\"caption-attachment-2772\" class=\"wp-caption-text\">Yealink T26P Account tab on Extension 101<\/figcaption><\/figure><\/p>\n<td>Pretty much the same as 101, except everything's called 102 instead<br \/>\n<\/table>\n<p>Under Features -> General information, upload a custom logo if you like. You'll need a black and white bitmap for the image, and <a href=\"\/wpf\/voip\/YealinkDOB.exe\">YealinkDOB.exe<\/a> (requires Windows 7), written by a YeaLink forum member, which converts PNG and BMP files into the proprietary .DOB format used by the handset. You can ignore the <a href=\"http:\/\/forum.yealink.com\/forum\/showthread.php?tid=1440\">conversion program supplied by the manufacturer<\/a>, which it turns out is an absolute crock of shite and doesn't produce files that the handset will accept.<\/p>\n<h3>Analog phone configuration<\/h3>\n<p>Plug it in<\/p>\n<h3>Spend a while trying to get that to work<\/h3>\n<p>Obviously, none of this will work initially, so make a list of things that you expect to work and then cross them off as you spend ages sifting through the logs, trying different codecs, and slightly tweaking settings until you get something that vaguely works, and then Never Touch It Again. <\/p>\n<h3>Final Checklist<\/h3>\n<p>To give some idea what this configuration will actually do, this is the checklist that I used to whilst setting this up:<\/p>\n<table class=\"rn-mtable\">\n<tr>\n<th>Thing<\/p>\n<th>Check?<\/p>\n<tr>\n<td>Incoming calls to wdpvoip ( 07 5555 1111 ) go through asterisk, ring all digital handsets<\/p>\n<td class=\"rn-chk\">&#9633;<\/p>\n<tr>\n<td>Incoming calls to telstra ( 07 5555 2222 ) go through asterisk, ring all digital handsets<\/p>\n<td class=\"rn-chk\">&#9633;<\/p>\n<tr>\n<td>Outgoing calls from digital handset to outside world via wdpvoip (dial 0 for outside line) go through asterisk<\/p>\n<td class=\"rn-chk\">&#9633;<\/p>\n<tr>\n<td>Outgoing calls from digital handset to outside world via telstra (dial 9 for outside line) go through asterisk<\/p>\n<td class=\"rn-chk\">&#9633;<\/p>\n<tr>\n<td>Outoging calls from analog handset to outside world via wdpvoip (dial 0 for outside line) go through asterisk<\/p>\n<td class=\"rn-chk\">&#9633;<\/p>\n<tr>\n<td>Outgoing calls from analog handset to outside world via telstra (dial 9 for outside line) works<\/p>\n<td class=\"rn-chk\">&#9633;<\/p>\n<tr>\n<td>Internal calls from digital handset (101\/102) to another digital handset works<\/p>\n<td class=\"rn-chk\">&#9633;<\/p>\n<tr>\n<td>Internal calls from digital handset (101\/102) to analog handset (103) works<\/p>\n<td class=\"rn-chk\">&#9633;<\/p>\n<tr>\n<td>Internal calls from analog handset (103) to digital handset (101\/102) works<\/p>\n<td class=\"rn-chk\">&#9633;<\/p>\n<tr>\n<td>System handles multiple incoming calls<\/p>\n<td class=\"rn-chk\">&#9633;<\/p>\n<tr>\n<td>System handles call transfers<\/p>\n<td class=\"rn-chk\">&#9633;<\/p>\n<tr>\n<td>Call recording works<\/p>\n<td class=\"rn-chk\">&#9633;<br \/>\n<\/table>\n<p>And, if you can check all those, then you can spend an astonishing amount of time writing that up.<\/p>\n<p>Cheerio then.<\/p>\n<hr\/>\n<p>Some reference material:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.yeastar.com\/download\/mypbx_soho_usermanual_en.pdf\">MyPBX Soho User Manual<\/a>\n<li><a href=\"http:\/\/www.yeastar.com\/download\/intercommunication-between-two-mypbx%28voip-trunking%29.pdf\">Intercommunication between two MyPBX (via VoIP Trunking)<\/a>\n<li><a href=\"http:\/\/www.virtualimpressions.com\/trunking-elastixfreepbx-with-yeastar-mypbx\/\">Trunking FreePBX with Yeastar MyPBX<\/a>\n<li><a href=\"http:\/\/www.freepbx.org\/support\/documentation\/administration-guide\/adding-extensions\">FreePBX: Adding extensions<\/a>\n<li><a href=\"http:\/\/wiki.freepbx.org\/display\/F2\/Extensions+Module+-+SIP+Extension\">FreePBX: Extensions Module - SIP Extension<\/a>\n<li><a href=\"http:\/\/wiki.freepbx.org\/display\/F2\/Call+Recordings+Module+User+Guide\">FreePBX: Call Recordings Module User Guide<\/a>\n<li><a href=\"http:\/\/www.voip-info.org\/wiki\/view\/Asterisk+Dialplan+Patterns\">Asterisk: Asterisk Dialplan Patterns<\/a>\n<\/ul>\n<div class=\"footnoteline\"><\/div>\n<div class=\"footnotes\">\n<a name=\"fn1\" href=\"#fn1back\">[1]<\/a> Some would say that having both an Asterisk server and a MyPBX server (which also runs asterisk under the hood) is overkill, and fair enough, you could probably hook up a modem to the asterisk server and that'd probably kind-of work. You wouldn't get the ability to make phone calls if your asterisk server died or you're in a blackout, though.<br \/>\n<a name=\"fn1\" href=\"#fn1back\">[1]<\/a> See page 10 of <a href=\"http:\/\/www.yeastar.com\/download\/PartI_MyPBX_SOHO_V4&#038;V5_Administrator_Guide_en.pdf\">http:\/\/www.yeastar.com\/download\/PartI_MyPBX_SOHO_V4&V5_Administrator_Guide_en.pdf<\/a>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Baby. So let&#8217;s say you&#8217;ve got a phone bill that&#8217;s quite large, so you want to convert your vast number of analog phone lines to VOIP, except for the one analog line you&#8217;re keeping around in case anything goes horribly pear-shaped. There&#8217;s a product out there called MyPBX Soho which will do that for you, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2675,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[67],"tags":[59],"class_list":["post-2659","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devices","tag-pbx-soho-voip"],"_links":{"self":[{"href":"https:\/\/www.randomnoun.com\/wp\/wp-json\/wp\/v2\/posts\/2659","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.randomnoun.com\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.randomnoun.com\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.randomnoun.com\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.randomnoun.com\/wp\/wp-json\/wp\/v2\/comments?post=2659"}],"version-history":[{"count":3,"href":"https:\/\/www.randomnoun.com\/wp\/wp-json\/wp\/v2\/posts\/2659\/revisions"}],"predecessor-version":[{"id":3896,"href":"https:\/\/www.randomnoun.com\/wp\/wp-json\/wp\/v2\/posts\/2659\/revisions\/3896"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.randomnoun.com\/wp\/wp-json\/wp\/v2\/media\/2675"}],"wp:attachment":[{"href":"https:\/\/www.randomnoun.com\/wp\/wp-json\/wp\/v2\/media?parent=2659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.randomnoun.com\/wp\/wp-json\/wp\/v2\/categories?post=2659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.randomnoun.com\/wp\/wp-json\/wp\/v2\/tags?post=2659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}