System estimation and design for new Asterisk roll-out

Hi all,

I am currently planning an Asterisk roll-out, and I havent done anything like this before, so I wanted to ask some basic questions. I have read TFOT and the voip-info wiki and have setup a basic asterisk box with a few sip extensions, communicating with 1 or 2 VoIP porviders and using no FXO/FXS cards

I have 2 locations which would be connected via VoIP, at each location I hope to have about 24 analogue extensions and maybe another 15 SIP extensions, as well as up to 8 external PSTN lines. There may be a possibility of routing certain calls over a VoIP providers network, but thats not certain yet. I also need to achieve a dial-plan with universal extentions, regardless of location (i.e one can dial any extension from either location regardless of where its located and not need any special dialing prefix or procedure). There would be an average of 6-10 simultaneous calls on either side at any point in time. Both servers would most likely be behind a firewall, so would use NAT.

I know I would need a card with some analogue FXS ports for all the extensions as well as one with FXO ports for the PSTN lines.
I also plan to use 2 asterisk boxes, one at each location and use an IAX trunk to connect them, in order to save on bandwidth(bandwidth is expensive in my deployment), and make NAT transversal easy.

Now my questions are as follows:

  1. Is there a way to calculate fairly accurately, the processing power and other hardware configurations required to run each of the boxes with high performance? There would be voicemail integrated into the system, and the SIP codec of choice would be u-law, so I’m not really sure what effect this would have on internal, trunk (btw asterisk boxes), and PSTN calls.
  2. I plan on using AAH for the base system, and then expand on that. I want to have the sugar-CRM store all the companies contacts and when a call comes in on the PSTN, for Asterisk to display the caller Id name to the user (if the endpoint supports caller-ID), would I have to use a realtime configuration or is there some basic config to make Asterisk read a database table for this?
  3. Are there any potential pitfals to look for regarding NAT in this sort of configuration?
  4. When using analogue cards to connect phones and PSTN lines, is there some considerations relating to CODECs one should be looking at, I’m really not clear as I have only dealt so far with SIP end-points.
  5. Would it be effective to have local extensions in each server and use DUNDI to look up unknown extensions from the other server? In what situations would this result in extremely long delays?

Any contribution, link or question would be highly appreciated.

Thank you for taking the time to read all this through :wink:

Processing power: Dual 1.4 Ghz server does well for us. We can have more than 10 conversations going at a time.
As for calculations, you might want a consultant.

AAH is a good system. It does native lookups for all of it’s calls using mysql in the database which Sugar also uses. No reason why you can’t tie into that and modify it. I believe that aah is using php scripts in the background to see the database. Look specifically at the dial command, it has an api which specifically looks at the database for calling information.

Where does Nat come into play. Are you going thru a wan or the internet. Nat appears to have caused some problems in the help pages but nothing too big…

CODECS - not that I am aware of… If you are dealing with ulaw then should be pretty good.

Local extensions and Dundi - Why use Dundi when you can use the switch statement and share the same dialplan between the servers.

If you have 24 analog phones which you are connecting, you might look at some telco equipment made by Rhino… You can then hook up a t1 port to the rhino and simplify your cards and information.

Thanks Bradrose.

As regards NAT, the servers would be behind firewalls which would then give them private IPs, as the only public IPs would be on the firewalls. They would be connected to the Internet, as this would be cheaper.

What you are suggesting with the Rhino equipment is to have a T1 card in the server and then use the Rhino to break it out into analogue lines, am I correct? What kind of costs would one be looking at for that kind of setup, would it be comparable to just putting in a 24-port analogue card from Digium?

Do you think I could get away with putting any of these cards along with say two 4-port analogue cards with FXO modules, despite the book saying its better to put only 1 card per server?