[asterisk-users] Redundant PSTN PRI Gateways using Asterisk

Michael Melia Jr. m.melia.jr at petrocelli.com
Mon Sep 1 21:01:19 CDT 2008


I currently have two T1 PRI lines feeding our company's legacy PBX.  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 in- and outgoing calls).

I am looking to implement Asterisk in front of the legacy PBX as the new
gateway to the PSTN for the company in an effort to begin a slow
transition to VoIP.  While I am familiar with Asterisk when it comes to
implementing it as a single box solution for PRI, SIP, voicemail, IVR,
etc, I get a little confused when you start to separate the functions to
different boxes for redundancy and scalability.

I believe that the first phase of what I am asking probably just
involves setting up two asterisk boxes with dual port T1 cards (one port
as incoming from PSTN and second as feed to legacy PBX), and including a
simple dial plan with regex extension capturing all my DIDs passing
incoming calls out the PRI and allowing from the PBX to go out the PRI.
This way if a PRI line goes down, one of the Digium T1 cards fail, or
one of the asterisk servers fail, everything continues to work through
the other one.  This essentially give me the exact same functionality
and reliability I have currently plus the ability to start a migration
to VoIP internally.  I don't believe any fancy load balancing /
redundancy techniques are need for this part as that is handled on the
providers end which routes the DIDs over both PRIs.  Is there something
I am missing about this part?  I know alternatively I could use
something like redfone bridge but then I feel that device becomes a
single point of failure which I do not want to introduce into the
environment.

The next step I would like to take is to move the voicemail from the
legacy PBX to another pair of asterisk servers acting as redundant
voicemail servers.  This is where I get a bit lost.  Here is the outline
of what I believe I need to do.

1. build asterisk server to act as voicemail server
2. setup mailboxes in voicemail.conf for each extension/user that is to
have voicemail
3. connect both gateways to the voicemail server via IAX
4. edit the dial plans on both gateway asterisk servers to include an
extension that points to voicemail() and voicemailmain() extension on
the voicemail server
5. edit legacy pbx to direct voicemail (message button on phones) to
extension on asterisk server for voicemailmain app
6. edit legacy pbx to direct unanswered call to extension on asterisk
server for voicemail app
7. build second asterisk server to act as redundant voicemail server and
integrate it somehow

Questions on this include:
-	Best way to have active/active redundant voicemail nodes (iSCSI
SAN is available) to accomplish load balancing and failure redundancy
(LVS, Linux-HA, ultramonkey, etc)
-	If balanced via LVS, then there is only one IAX connection to
the virtual IP address of the cluster and the director handles balancing
which server processes the VM call, correct?  In other solutions, how
would this work?
-	Is it appropriate for the gateway server to directly link to the
voicemail servers when distributing the services like this or should
something like DUNDi or SER be used?
-	How do I route from the legacy PBX back to one of the gateways
in order to pass to the VM servers across the two T1 connections (again,
so that in the event one is down, voicemail routing still works) - this
may be more of a question for the PBX guys.
-	Will be interested in Unified Communications, so storage of
voicemail in our email server (exchange) using IMAP may be the route
taken as opposed to using SAN in which case csync2 or similar may be
used to just keep conf files the same on cluster nodes instead of shared
storage.

The eventual next step would be to implement another cluster of asterisk
servers to act as media servers for call recording, moh, ivr menus,
conferences, and agi.  Setup a SER/openSER cluster for registering new
IP phones and somehow routing all the traffic between the IP phones,
media servers, gateways, voicemail servers, and legacy pbx.  Then,
eventual phasing out the pbx.  I will pose more specific question on
this when the time comes but I mention it in case anyone sees issue with
what I do in the early phases that would negatively impact where I
ultimately want to go.


	 PBX PRI A connection
		|
PRI A ---- Asterisk Gateway A -----IAX----\ 
				    	   ---- Asterisk VM Servers x2
(LVS Cluster with iSCSI SAN shared storage ?)
PRI B ---- Asterisk Gateway B -----IAX----/ 
		|
 PBX PRI B connection


Any thoughts, comments, suggestion would be appreciated as I don't feel
there is sufficient information out there on redundant enterprise type
setups.  Again the initial focus is on the gateways and voicemail.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20080901/a1290a9a/attachment.htm 


More information about the asterisk-users mailing list