Outbound Dialing

Talking PSTN


If you buy a device with FXO port(s), you probably want to use POTS line to talk (or hook in to your PBX.)  Here is a discussion of what it took to, on the MediaPack side, to make an outbound call.  Hopefully this discusses only settings/concepts related to the outbound call, with the assumption the common configuration, like IP address, is already complete.

Hunt Group

You must define at least one hunt group, with FXO port(s).  I put both, of two, ports in the same hunt group.  It may be possible to put each port in its own group, if you have an application for that.  There are actually two steps here.  First, assign ports to hunt groups.  Then define properties of the hunt group.  Hunt groups are used for both FXS and FXO port grouping, and the configuration pages contain settings for both, so while this discussion is for the line side, or FXO, you might as well take care of the station side, or FXS settings at the same time.

The configuration of ports, or endpoints, is made in the page: Protocol Configuration | Endpoint Number | Endpoint Phone Number.  Ports are referred to here as Channels.

Actually, a channel can be more than one port.  The configuration above could be represented as:

 The ports in Channel 1 will receive numbers 555 and 556.  Remember, this software is used in a family of products, some with thousands of ports.  At this point, I'm not familiar with the Tel Profile ID.

Hunt Group Settings

These settings are available from Protocol Configuration | Hunt Group | Hunt Group Settings. The screen below shows the Basic Parameters, adequate for now.  The Index setting (1-12) indicated on this screen, truncated at entry 4, shows the first 12 of 24 potential Hunt Group settings.  Again this is an artifact of a higher capacity sibling product.  Hunt Group 1 represents the FXS ports.  They will use the By Dest Phone Number Channel Select Mode, indicating they will be activated by their assigned number.  Hunt Group 2 represents FXO ports.  The Ascending setting indicates Port 3 will be used, if idle.  If busy, Port 4 will be used.

Those settings, and all the required Lync Server configuration are enough to make the gateway seize a line, Port 3, and do something, though you probably won't actually make a call.

Hunt Group Routing

There is a routing component to configure for the hunt groups.  These settings are available in Protocol Configuration | Routing Tables | IP to Trunk Group Routing

Note the setting, Route calls after manipulation, which I believe is NOT the default.  The configuration shown routes calls to FXS extensions 555 and 556, and the rest of calls to hunt group 2.

Dialing Mode

This setting determines if the gateway dials the number or just seizes the line and connects the client to a dial tone.  Its a safe assumption we want the system to dial the number, so this setting should be changed from its default value, Two Stages dialing, to its other value, One Stage dialing.

This setting is on page, Advanced Applications | FXO Settings.  It is the only setting to make on that page.

If you forget this setting, you will attempt a Lync call and be left with a dial tone.  From there you can use the keypad within the Lync client, but that's not very elegant.

With those settings made, you can probably make long distance calls successfully.  The next step is to work on local calls.

Number Manipulation and/or Translation

If you follow recommended best practices, your dial plan will produce numbers normalized to E.164 format.  ( +12223334444 )  That is fine for long distance, but local calls will require some tweaking, or manipulation.

In the gateway

Number Manipulation, in AudioCodes jargon is like a normalization or translation rule within Lync.  Actually it is similar to a normalization rule in its form of stripping/modifying prefix/suffix digits, but it is exactly like a translation rule, in that it can be replaced with a translation rule.  That's not very clear...

Initially I enabled local calling using number manipulation within the gateway.  In the local area code, 314, you can make a call with 7 digits or 10 digits, but not with the eleventh digit, 1, or Country Code.  I configured  a Number Manipulation entry to dial 7 digits, by stripping off the +1314 from the normalized number.

Number Manipulation for outbound calls is available on the Protocol Configuration | Manipulation Tables | Dest Number IP->Tel page.

If you are connecting directly to a phone line, you will probably also want to remove the leading + sign from any dialed number string.  This rule would look like:

Within Lync Server

Later I eliminated this gateway configuration and made the adjustment within Lync's Trunk Configuration | Translation Rules.  I'm sure there are pros and cons for each solution...  You choose.

Local Dialing

This leads to a discussion of local area dialing.  If you live in a perfect world, every Area Code is either entirely a local call or entirely non-local, defined by whether the number is preceded by "1".  But you probably don't live in a perfect world.  I don't.  From (314) 432-xxxx there are two Area Codes that are divided, so you need dialing rules based on your "home" area code/exchange and the dialed exchange within the "split" area code.  So that means you have to get a list of all the exchanges within the destination area code and call a number within each one, to see if you get the message that tells you to dial "1" first.

OK, so you don't have to do that.  But you have to go to the Local Calling Guide website and figure out how to use it and look up your rate center and then figure out the local calling area.

OK, so you don't have to do that.  But that is the site that will save your bacon.  It is hosted by ThinkTel, a Canadian telephony provider.  We should all thank them, Eh?  What you need to do is use the Dialing Rule Optimizer provided by Clive Graven, of Microsoft, and Ken Lasko, of Buchanan Technologies, and hosted by Buchanan Technologies.  This web app lets you put in your area code and exchange, and it queries the data on the Local Calling Guide website and then generates PowerShell commands to configure Translation Rules to cover your local calling area.  My only tip here is to input your gateway's fully qualified DNS name in the field that shows it as "optional."  That will eliminate the need to modify the rule after creation.

The output of the Dialing Rule Optimizer is RegEx voodoo, or as they say, a highly optimized regular expression.  Follow the instructions in Ken Lasko's blog on how to implement the output, and you will have a translation rule that you could not have made, or would have taken hours/days/weeks to create.  There is also an option, in the web app, to generate the dialing list to be used in the AudioCodes, or Dialogic, gateway device.  I didn't explore that option.

Ending a Call

Now that you have made a call, how about ending it?  One more setting.  Oddly this is not the default.  When an analog phone, or equivalent, hangs up, there is a voltage/current fluctuation on the line, as a signal to the remote end the call has ended.  In the MediaPack, the name of the parameter is Enable Current Disconnect.  It may be referred to as Disconnect Supervision.  Within the management interface, it is listed, oddly, under SIP Advanced Parameters on the page, Protocol Configuration | SIP Advanced Parameters | Advanced Parameters, in the block labeled Disconnect and Answer Supervision.  As mentioned, the default is Disable.  Change it to Enable.

When a forum response suggested this setting, without specific reference, I eventually found it discussed in the User's Manual, but without a reference to its path in the web interface.  I had to use the Search function in the UI to find the setting.  Then I painfully ground through every config page until I found it tucked away as a SIP parameter.  Seems like it should be an analog setting or FXO parameter...

 

 

 

Work continues...


Home Up