[HELP!]Some questions

Hi there. I’ll just cut to the chase…My boss has “empowered” me to look for a cheap/free way to make calls between our offices that are in different countries.He is willing to buy some Linux servers for this and the necessary equipment for this. Unfortunately I am not a VoIP/Asterisk/Digium/Linux specialist and I can’t help him very much. I would much appreciate a little help, mainly a way to make calls to the office in the other country using freeware (Asterisk) and some kind of hardware, using our internet connection and also our old digital phones. Can I make calls for free and, more important, can I call from one country to another’s regular phone lines ? THX

First, no need for boldface.

Asterisk can do everything you ask for and more. If you put * boxes in each office, they can call each other over the Internet for free. If they connect to the PSTN (phone system) or your PBX in each office, they can also usually dial out on your local lines, saving you the cost of the international call.
How you will integrate Asterisk into your business depends on what kind of existing PBX you already have. Asterisk can often be integrated into an existing PBX setup with a PRI or analog ports, and will provide extra features, or in your case, better call routing. Your existing digital phone handsets won’t work directly to Asterisk, you’ll probably need to keep your PBX around. However Asterisk can probably integrate into your current setup without much trouble.
Tell us more about what phone systems you have already, and we will tell you how you can integrate Asterisk.

To route calls between offices, you’ll want a * box in each office. You can then (if you have enough Internet bandwidth in both offices), route extension-dialed calls between offices for free. Asterisk in each office will know about all the local extensions, and the other offices. You will want to link your * boxes together with the IAX2 protocol, which is very efficient… Extensions that are not in your current office it will try the other office(s) for. If your extensions are in a pattern, IE 3xxx is in one office, 4xxx in another, etc, this becomes far easier. Alternatively, your users can dial a code to access the remote office, and then the extension (30-1234 gets you 1234 at office 1, 40-1234 gets 1234 at office 2, etc). Note that for this to work, each office must have a decent Internet connection. In full quality mode (g.711/ulaw codec), a voice call (one channel) will take up right around 130kbit/sec of bandwidth per call. (64kbit/sec times two for full duplex). You can reduce this by using compression, by switching to a low-bitrate codec like gsm, iLBC or G.729, you can get it down to 20-30kbit/sec/channel.

As for calling to another country’s phone lines, this is also quite easy. How exactly it’s done depends on what kind of PBX you have and how it’s connected to your telco in each country. The two ways to do it would be to either have * dial out through your existing PBX, or to have some or all of your lines in each office go straight into Asterisk and then the PBX dials out through asterisk. Again, this depends on what kind of PBX you have.

You might also consider an ITSP (VoIP service provider) in addition to your * setup. There are many available that will terminate calls (outgoing) for very low rates, 1-3c/min in the USA and very good international rates too. This might help you save even more money on your phone bills.

Lastly, check out The Book. Asterisk: The Future of Telephony, available from O’Rilley or download from www.asteriskdocs.org provides a solid introduction to Asterisk, how to set it up, and its capabilities. Definately worth a read!

Ok, enough with the bold…
First of all, thx for the tips, but what I wanted was more of a “for-dummies” solution because I am not the most advanced in VoIP or Asterisk or even Linux. I can surely configure in due time the Asterisk but I needed to know what specific hardware do I need to connect our offices.Our bandwidth is good enough, if necessary we will get more. I also don’t want to get any VoIP providers, the point is to speak for free, and, if possible, buying ourselves the hardware we need. Let me be more specific: I want a Linux server with Asterisk installed in both offices (different countries),some hardware (TDM400? with some FXS modules I guess) connected to our REGULAR phone lines so we can speak locally and on the other hand talk with the offices in the other country just by dialing an inside number. The things I didn’t get the first time were: “* boxes, IE 3xxx and PBX”. Hoping yet to get another answer, thx.

ah ok. Still need to know more about your PBX.

Sorry if the following isn’t that clear, i’m trying to make it as clear as I can. Please ask again if you don’t undersand anything.

Again, check out the book :smile:. Its a great for-dummies intro guide. I highly recommend you read it, it will be well worth your time.

  • boxes are asterisk servers.

what i meant by 3xxx, was that if extensions by office follow a predictable pattern, for example all the extensions from office one start with 3, all the extensions from office 2 start with 4, etc. it becomes very very easy to do.

PBX means your existing phone system, it stands for Private Branch eXtension, aka your ‘old digital phones’. If you need to dial by extension then it will have to know about asterisk, and connect to asterisk. You could do this with a PRI interface (large capacity but expensive) or via analog channels (if your pbx has a few analog CO/FXO ports).

You are right, probably the cheapest way is to get a TDM400 fully populated with 4 FXS modules, plug it into the pbx as four lines and tell the pbx that any extension-dialed calls that it doesnt have an extension for should go to those ports.

so we have both of the following:
telco -> analog POTS lines -> Your PBX
Asterisk TDM400 card FXS -> Your PBX

The problem comes with incoming calls- Asterisk will have to 1. ring the pbx, and when it picks up 2, dial the extension that it is trying to get. This is quite possible, but you’ll need to do something like the following- (this assumes we are at the branch office with extensions 4000-4999

exten => _4XXX,1,Dial(Zap/g1) ; dial zap group 1, so one of the FXS ports will ring
exten => _4XXX,2,Wait(1) ; when it picks up, wait 1 second
exten => _4XXX,3,SendDTMF(${EXTEN}) ; this dials out the extension called onto the analog line

At this point, the PBX will ring the extension called, and will play ringing sound down the line, but as far as asterisk is concerned, the call is already active. Does this make sense to you?

With a PRI interface, this small hoop isn’t necessary, as PRI sends both caller id and destination in the call setup packets. However PRI interfaces are quite a bit more expensive, and you may not have a spare one on yoru PBX, which will be even more expensive.

As for outgoing calls, you have two choices-

  1. set everything up as above, and when a call comes in that we want to send out (guy in NYC dials a Hong Kong number, we want to dial it from Hong Kong office), asterisk dials the outgoing number. You will need to reconfigure the analog ports that asterisk is connected to to allow outgoing calls, but not the other ports (connected to your telco) or any random dude could call your office and dial an outgoing number.

  2. set things up differently as the following:

Telco -> analog POTS lines -> Asterisk -> Your PBX.

Doing this will save ports on the PBX but will require more ports on Asterisk. It will also require a bit more Asterisk configuration, you will have to configure asterisk to pass through incoming calls and normal outgoing ones. You won’t have to configure your PBX that much though, only tell it that invalid extensions are external calls.

I hope all that helps you and makes sense. If it doesn’t please ask me again, once you understand this you will say “OHHHHHHH, thats cool!” and thats always fun :smile: I again suggest reading the book, linked at the end of my first post.

Good luck!

Thx for the update,it really was very helpful but the funniest thing is that today I found out (or I least I think I did) that you can place phone calls over the Internet only by using an Analog VoIP Gateway like AudioCodes’ (anyway,at least two). I would like to see where this is going, but nevertheless, using Asterisk over Linux is my next backup plan.I downloaded the book you reffered to anyway so I hope not to bother you with any of my noob questions.Thx again.

we were all n00bs at a time and its not a bother, I am happy to help. Audiocodes gateway may be the answer for you, however keep in mind that while its easy to link two gateways together as a long extension cord, its harder to make them intelligently route calls. Asterisk will be much better at intelligent routing than a gateway will.

Good luck!

I hope it won’t be such a pain in the butt to confure those. We’re going to implement the gateways in a month or so, meanwhile doing a test or two by buying just two gateways and see how it’s going…Anyway, you’re going to be the first to know how did I manage to pull this off…But in a month or so.Thx again

I hope it won’t be such a pain in the butt to configure those. We’re going to implement the gateways in a month or so, meanwhile doing a test or two by buying just two gateways and see how it’s going…Anyway, you’re going to be the first to know how did I manage to pull this off…But in a month or so.Thx again