Telecom Recipes - Upgrading Old Telephone Systems To Use VoIP For Inter-Office Calls
by Brian McConnell
You want to route interoffice calls over your company's wide area network instead of via conventional telephone lines or point-to-point leased lines. Your telephone system is an outdated heap of junk that was designed circa 1970. How do you trick it into routing interoffice calls via VoIP?
Most newer telephone systems have embedded support for VoIP, either in the base system release, or via expansion cards that you insert into the system backplane. If your system supports VoIP out of the box, it should be fairly straightforward to configure it to route interoffice calls via your network, skip ahead to the section on Dial Plans.
If you have an older system that is not upgradeable to support VoIP, you'll need to buy a VoIP gateway that translates a VoIP connection into one or more circuit switched T-1, E-1, or ISDN Primary Rate circuits that can be connected to your PBX or key system. Many vendors provide conversion hardware. This capability is sometimes embedded in a router, such as with Cisco equipment. You can also buy standalone VoIP gateways from vendors such as VegaStream.
You can also roll your own VoIP gateway using the Asterisk open source PBX combined with Digium T1 interface cards. (Warning: not for the faint of heart, but if you can save a lot of money if you're inclined to get your hands dirty). I'll post a recipe describing how to do this in a few weeks.
Even older telephone systems support a feature called Trunk Groups. Let's look at a simple example. You have two phone companies that you use, one for local calls, one for cheap long distance calls. When you want to make a regular local call, you dial 9 for an outside line, then the phone number. When you want to make a long distance call, you dial 8, then the phone number. The phone system simply looks at the first dialed digit, decides which trunk group to use, and connects you through to outside dial tone.
When connecting a VoIP gateway to your phone system, you want to make the VoIP interface look like a bank of regular telephone lines, usually one or more T1 or E1 digital trunks, which can carry 24 or 30 simultaneous calls respectively.
In this recipe, we'll look at a hypothetical situation where you have four offices in San Jose, San Francisco, Oakland and Novato.
Starting with the San Francisco phone system, we'll create three new trunk groups in addition to the default "dial 9 for an outside line" group. Trunk group 2 will map to the T1 connected to the port #1 on the VoIP gateway. Trunk group 3 will map to port #2 on the gateway. Trunk group 4 will map to port #3 on the gateway. So to dial out on trunk group 2, you'll just dial 2, followed by the destination telephone or extension number.
NOTE: you can also create trunk groups by partitioning channels (also called timeslots) on a single T1, so for example channels 1-4 --> Oakland, 5-8 --> San Jose, 9-12 --> Novato. In this example, I use a single T1 for each trunk group to make this easier to follow.
Programming The VoIP Gateways
Next, you'll need to configure the VoIP gateway so that it knows what to do with calls. First, you'll need to decide what type of telephone line protocol to use. For inter-office trunking, the simplest configuration is to use what's called wink-start DID. I'll spare you a treatise on telecom jargon. The short description of how this works. When you place a call through a wink-start circuit, it will signal the equipment on the other side that a call has arrived, then blast a short series of Touch Tone (DTMF) digits down the line to tell it who the call is for (kind of a poor man's Caller ID). Low tech, but it works. Avoid using ISDN Primary Rate unless you really need to use it. It's always a nightmare to set up.
The VoIP gateways in this system are running in a simple point-to-point configuration. In our sample configuration, calls ringing into port #1 will go to novatovoip.foo.com, port #2 to sanjosevoip.foo.com, and port #3 to oaklandvoip.foo.com. For each trunk group, you'll typically need to specify:
- The address and port number used by the destination VoIP gateway (e.g. novatovoip.foo.com)
- The VoIP protocol to be used for the call (H.323 a good protocol to use for simple point-to-point dialing)
- Default codecs (compression algorithms) to be used (use G.711 if bandwidth is not an issue, use G.729 if it is)
A good VoIP gateway that is designed to interoperate with office telephone systems should do a good job of walking you through this process.
Once this is set up, you should be able to place calls from one system to another via the VoIP gateways (assuming the system's dial plan is correctly set up).
NOTE: try to get your hands on a T1 channel bank, this is a device that splits a T1 into 24 analog telephone lines. Hook the channel bank up to the VoIP gateway, configure the VoIP gateway to present a loop-start line protocol, and then you can test it directly using standard telephone handsets (they'll see the VoIP gateway as a plain old telephone line). This is a good way to test that the gateways are able to ship calls from point A to B without any other equipment in the loop.
Here's where things can get tricky. If your telephone system is fairly smart and provides a centralized management interface for controlling multiple systems, it should be fairly easy to set up VoIP based interoffice calling. Unfortunately, a lot of older telephone systems are dumb as fenceposts, and you must resort to trickery to get them to do what you want them to do.
If your system presents a single system image when managing remote systems, VoIP dialing should be transparent. The system will know which switch or server a particular extension is connected to, and will automatically route calls to that extension via the most appropriate path. This type of system will make your life much, much easier. You don't want to have to rewrite your routing tables every time you add or move users. Plug: Shoreline Communications has an especially nice VoIP-centric system that makes multi-system management a relative breeze.
The problem is that a lot of older telephone systems do not provide very good centralized management tools. Each system is its own little island. If you only need to manage say four or five offices, this isn't so bad. If you need to manage 50 systems, good luck!
The basic trick you can use for smaller systems (up to 7 or 8 offices) is to use your system's dialing plan. Most telephone systems are set up to key off the first dialed digit, using a set of rules such as:
- 0 : ring operator extension or group of extensions
- 1 : dial local extension 1xxx
- 2 .. 8 : may or may not be used
- 9 : grab outside line
What you'll want to do is to create a dial plan like this:
- 0 : ring operator extension
- 1 : dial local extension 1xxx
- 2 : dial extension 2xxx at Novato office
- 3 : dial extension 3xxx at San Jose office
- 4 : dial extension 4xxx at Oakland office
- 9 : grab outside line for local/long distance call
What you're doing here is mapping each index digit to a different trunk group. Trunk group 2 is attached to a T1 that's connected to your VoIP gateway, which is in turn programmed to route calls to its counterpart at the Novato office. Trunk group 3 is attached to another T1 to the VoIP gateway,.. this port is configured to ring out to the San Jose office. And so forth.
Lastly, you'll need to configure the telephone system to handle incoming calls from the VoIP gateway. If you're using wink-start DID for the line protocol, this should be pretty easy, and may work by default. The phone system will see the DID digits (delivered in-band as DTMF/Touch Tones) as the destination extension number. You may also send the originating extension number in this packet of digits.
While this approach requires extra work, as these settings must be duplicated on each system, it will work with even the dumbest telephone systems. As long as you can have multiple trunk groups in your dial plan, you can set this up. The main limitation is that you can generally have at most 8 trunk groups that are accessible in this way. If you need to internetwork more than a handful of systems, it is probably time to seriously consider a forklift upgrade to a VoIP-centric telephone system.
This isn't a simple, "plug and play" type of installation, but you should be able to get this running in a few days if your people are proficient at configuring the telephone system (the gateways are generally pretty easy to set up provided they can see each other across the company WAN).
Why not just replace your phone system with something newer? The answer is "you should", but we'll assume management, in all of its wisdom has told you to save company money by squeezing another few years out of your old system. Phone systems aren't cheap. A good mid-range system will set you back about $1,000 per user, so if you've got north of a hundred people in your company, that's a six figure outlay. It's best to look at phone systems as investments, but a lot of managers don't see it that way.
Congratulations... you've just updated your circa 70-something PBX to do VoIP calling. Now may also be an opportune time to replace the eight-track tape player hooked up to the PBX's music on hold port.
If you have any recommendations for VoIP gateway vendors, post your suggestions and remarks here..