A VoIP carrier is a service provider that can accept outgoing calls, and route incoming calls. Typically a VoIP carrier is expecting a handset to register with the carrier, and will then send calls to the registered device. It is also possible for a VoIP carrier to send calls to the FB2900 using a fixed pre-set configuration.
To set up a VoIP carrier where the FB2900 registers with the carrier you need to specify
the registrar
attribute. This can be a host name or IP address. You also
need to specify the username
and password
.
For incoming calls you need to specify the extn
that is logically dialled when
a call comes in from this carrier - this can be the extension number of a telephone or hunt group.
To set up a VoIP carrier for outgoing calls you need to specify the proxy
.
This can be a host name or IP address. You also need to specify the username
and
password
.
You can define the carrier to use for outgoing calls on a per telephone basis, and also for hunt groups (where the group calls an external number). You can also define a default carrier if none is otherwise specified. A backup carrier can also be defined which is used if the call fails via the selected carrier.
For a carrier that sends calls to the FB2900 without registration, you will need to know how the FireBrick recognises the call is from a carrier.
For a start, all carriers considered have the allow
attribute, if present,
checked against the source IP, and if not allowed the carrier is excluded from any consideration.
Also, if there is an Authorization header with a username, only carriers with a matching username or no username set will match.
Then the following tests are done to find a carrier match, finding the first.
to
entries in a carrier,
or if a blank to
attribute and the Authorization username matches the
username
.To
header host part,
prefixed with @, matches one of the to
entries in a carrier.Once a carrier is picked, if it has a password
(and was not to a registered contact),
the password must match, after sending a challenge if necessary.
Authorization
header to indicate
the username
it is using - in such case the carrier selection will only match entries
that have that username set and can match entries with no to
attribute defined.
When a FireBrick attempts an authenticated call it can send such a pre-challenge Authorization
header.
An incoming carrier will usually relate to a specific extn
which is what is
called when a call comes in. You can leave this unset and route based on called ddi
or you can set the extn
including X
characters in place of the
digits sent with the call as the dialled number. These are taken from the right hand end of the dialled
number, so if 0134567890
is what was called, 1XX
would be extn
190
. This makes it easy to define a trunk carrier for incoming
calls.