<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7651.59">
<TITLE>Redundant PSTN PRI Gateways using Asterisk</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">I currently have two T1 PRI lines feeding our company</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">’</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">s legacy PBX. </FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">All our numbers are DIDs and can pass over both PRI. Currently, if one PRI line (or T1 interface card in the PBX) is down, communication continues to function as normal (with the exception of the reduction of channels available for</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">in</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">- and outgoing calls).</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">I am looking to implement Asterisk in front</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">of the</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> legacy PBX as the new gateway to the PS</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">TN for the company in an effort to be</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">g</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">in a slow transition to VoIP. While I am familiar with Asterisk when</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">it</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> comes to implementing it as a single box solut</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">ion for PRI, SIP, voicemail, IVR, etc, I get a little confused when you start to separate the function</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">s</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> to</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">different</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> boxes</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> for redundancy and sc</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">alability.</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">I</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">believe</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> that the first phase of what I am asking probably just involves setting up two asterisk box</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">es with dual port T1 cards (one port as incoming from PSTN and second as feed to legacy PBX), and including a simple dial plan</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">with regex extension capturing all my DIDs passing incoming calls ou</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">t</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> the PRI and allowing f</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">ro</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">m the P</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">BX to go out the PRI. This way if a PRI line goes down, one of the</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">Digium</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> T1 cards fail, or one of the asterisk servers fail, everything continues to work</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> through the other one. This essentially give me the exact same functionality and</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">reliability</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"></FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">I have currently plus the ability to start a migration to VoIP internally. </FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">I</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">don’t</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> believe any fancy load balancing / redundancy</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> techniques are need for this part as that</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"></FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">is handl</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">ed</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> on the providers end w</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">hich</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> route</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">s</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> the DIDs over both PRIs. </FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">Is there something I am missing about this part? I know alternatively I could use something like</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">redfone bridge but then I feel that device becomes a single point of failure which I do not want to introduce into the</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">environment</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">.</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">The next step I would like to take is to</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">move the voicemail from the legacy PBX to another pair of asterisk servers acting as redundant voicemail servers</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">. This is where</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">I</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> get a bit lost.</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri"> Here is the outline of what I believe I need to do.</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">1.</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">build asterisk server to act as</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">voicemail</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> server</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">2. setup mailboxes in voicemail.conf for each extension/user that is to have voicemail</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">3. connect both gateways to the voicem</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">ail server via IAX</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">4</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">.</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">edit the dial</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"></FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">plans on both gateway asterisk server</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">s</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> to</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">include an extension that points to voicemail() and voicemailmain() extension on the</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">voicemail</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> server</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">5. edit legacy pbx to direct voicemail (message button on phones) to extension on asterisk server</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> for voicemailmain app</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">6. edit legacy pbx to direct unanswered call to extension on asterisk server for voicemail app</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">7. build second</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">asterisk server to act as redundant voicemail server and integrate it somehow</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Question</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">s</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> on this include:</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">- </FONT></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">Best way to have active/active</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">redundant voicemail nodes (</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">iSCSI</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">SAN is available) to accomplish load balancing and failure</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">redundancy</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"></FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">(</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">LV</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">S</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">, Linux-HA,</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"></FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">ultramonkey, etc</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">)</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">- </FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">I</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">f</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> balance</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">d</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> via LVS, then</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">there is</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> only one IAX connection to the virtual IP address of the cluster and the director ha</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">ndles balancing w</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">hich</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> server process</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">es</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> the</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">VM</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> call, correct</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">?</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> In other solutions</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">,</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> how would this work?</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">- </FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">Is it appropriate for the gateway server to directly link to the voicemail servers when</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">distributing</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> the services like this or should something like DUNDi or SER be used?</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">- </FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">How do I route from the</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">legacy PBX back</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">to one of the g</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">ateways in order to pass to the</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">VM server</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">s</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> across the two T1 connections (again</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">,</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> so that in the e</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">vent</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> one is down,</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">voicemail routing still works)</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">–</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> this may be more of a question for the PBX</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">guys.</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">- </FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">Will be interested in Unified Communications, so storage</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">of</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">voicemail in our</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">email</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> server (exchange) using IMAP may be the route taken as opposed to using SAN</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> in</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">which</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> case csync2 or similar may be used to just keep conf files the same on cluster nodes</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> instead of shared storage.</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">The eventual next step would be to implement another cluster of asterisk servers to act as media servers for call recording, moh, ivr menus,</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> conferences, and agi. Setup a SER/openSER cluster for registering new IP phones and somehow routing all the traffic between the IP phones,</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">media</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> servers, ga</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">teways, voicemail servers, and legacy pbx. Then</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">,</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> eventual phasing out the pbx.</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> I will pose</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">more specific question on this when the time comes but</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">I</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> mention it in case anyone see</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">s</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> issue with what</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">I</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> do in the early phases that would negatively impact where I ultimately want to go.</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> <FONT FACE="Calibri"></FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">PBX PRI A connection</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> <FONT FACE="Calibri">|</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">PRI</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"></FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">A ---- Ast</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">e</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">risk Gateway A ----</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">-IAX----\</FONT></SPAN><SPAN LANG="en-us"> </SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> <FONT FACE="Calibri"> </FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri"> </FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">---- Asterisk VM S</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">ervers x2 (LVS Cluster with iSCSI SAN shared storage ?)</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">PRI B ---- Asterisk Gateway B -----</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">IAX----</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">/</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> </FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"> <FONT FACE="Calibri">|</FONT></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri"></FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">PBX PRI</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">B</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> connection</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"></SPAN></P>
<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Any thoughts, comments, suggestion would be appreciated as I</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">don’t</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> fee</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">l</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"></FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">there is</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"></FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">sufficient information out there on redundant enterprise type setups. Again the initial focus is on the gateways and voicemail</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">.</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
</BODY>
</HTML>