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... |