Call Routing
Polycom, Inc.
29
{?|@>@:ph}
●
Callee-list
in a peering object can be empty. It implies the callee object
@
, meaning any called
number. The preceding ‘
>
’ can be omitted if
callee-list
is empty.
●
Caller-list
in a peering object can be empty. It implies the caller-list
@|?
, meaning any caller
number including anonymous. The succeeding ‘
>
’ can’t be omitted if
caller-list
is empty but not
the
callee-list
.
More notes on the
arg
,
cid
, and
target
objects:
●
The
cid
object inside an
arg
object is optional. If omitted, it implies no caller-ID spoofing when
making the call on the specified trunk. The succeeding ‘
>
’ can be omitted is
cid
is omitted.
●
The target object inside an
arg
object is optional. If omitted, it implies the target
$2
, which means to
call the original called number after applying any necessary digit map transformation implied by the
rule. The preceding ‘
>
’ can’t be omitted if
target
is omitted but
cid
is not.
●
arg
object is optional. If omitted, it implies the
arg
with the target
$2
and no
cid
. If
arg
is omitted,
the succeeding parentheses
()
can be omitted also.
An inbound call matches a rule if its caller-number/callee-number matches one of the peering objects of the
rule. Peering objects are tested in the order left and right, and the first matched peering object wins. Rules
are also checked in the order left to right, and the first matched rule wins. Therefore it is important that you
place the more specific rules first in the
InboundCallRoute
if multiple rules can potentially match the same
inbound call.
Outbound Call Route Configuration
Every endpoint has an
OutboundCallRoute
parameter in the device configuration. It tells the device where
to send the call when the endpoint attempts to make a call. Endpoints can call each other or an outside
number using one of the trunks. The
OutboundCallRoute
syntaxes are almost identical to those of the
InboundCallRoute
; the differences are mainly in the implied value when an optional field is omitted, no
caller objects and one and only one terminal object per terminal-list in an
OutboundCallRoute
. Forking is
not supported when routing outbound calls.
The general format is:
OutboundCallRoute
:=
rule
OR
{rule},{rule},…
.
Curly braces can be omitted if there is only one rule in the route. The OR operator is NOT part of the
parameter syntax; it is used here to separate alternative values only.
A rule has the following format:
rule := callee-list : terminal
where
●
callee-list := callee|callee|callee| …
(vertical bar separated list of 0 or more callee
object)
●
callee := number
OR
embedded-digit-map
OR
@
(
@
= any number)
●
terminal := PHx
OR
AAx
OR
LIx(arg)
OR
SPx(arg)
OR
PPx(arg)
(
arg
object is optional)
●
arg := cid > target
●
x := 1
OR
2
OR
3
…(where applicable; can be omitted if it is equal to 1)
●
cid = spoofed-caller-number
●
target = number-to-call
OR
$2