49.5. CTI Router Overview

The CTI Router is the module of ABILIS CTI System (CTISYS) which provides the call routing. As a simplified description we may say that CTI Router processes an incoming call in following steps:

Figure 49.2. CTI Router Overview

CTI Router Overview

[Important]Important

OUT: any resource can be specified;

POI: any resource except CLUSTER, Voice Mail and MIX;

SR: only CLUSTER and GROUP;

GI: only GROUP.

[Note]Note

Note that POI, SR and GI are evaluated with OR logic.

The routing instructions are written in the "CTIR Routing table".

Below is an example of the CTI Routing table:

[15:51:05] ABILIS_CPX:d ctir

Last change: 26/10/2015 07:48:40 CET

---+------+-----------------+---------+--------------------+--------------------
PR |[DESCR]
   |BCI   |POI |SR      |GI |OUT      |CDI                 |CDO
ACT|NEXT        |LAST       |EEC |T301|CGI                 |CGO
EDT|SP    |SC   |DJ   |MJ   |FMDJ|FMMJ|SDI                 |SDO
   |SPOUT |SCOUT|DJOUT|MJOUT|LCS |LCST|SGI                 |SGO
   |                        |BCO      |RGI                 |RGO
   |FMRLY |FAXSP|MODSP|FMLVL|ECM |UDT |IG  |OG  |SG        |DL  |DH
   |CODERS
   |CODERSOUT
   |TI1 .. TI5
--------------------------------------------------------------------------------
0   DATA   Sl   #        #   501       *                    *                   
    NO           ANY         NO   Dft  *                    *                   
    64000  Sys   Sys   Sys   Sys  Sys  *                    *   
 --------------------------------------------------------------------------------
1   VOICE  *    #        G0  Antek     0?*                  *                   
    NO           ANY         NO   Dft  *                    *                   
    64000  Sys   Sys   Sys   Sys  Sys  *                    *                   
--------------------------------------------------------------------------------

In the instructions are written the conditions which must be verified in the incoming call, and also the operations that must be applied to outgoing calls.

The instructions (priorities) in the CTIR table are numbered (PR: 0, PR: 1, ...). The route with PR:0 is the first checked by CTI Router, the PR:1 is the second, the last PR on the table is last verified CTI routing priority.

Of the incoming call the CTI Router analyzes the characteristics and research (scrolling in sequence of the CTIR table) the statement that fulfills.

The variables of the incoming call that are evaluated for the selection of the CTIR priority are:

[Important]Important

All these characteristics must be fulfilled simultaneously.

[Important]Important

Particular attention is needed for the evaluation of the called number CDI.

[Note]Note

Some parameters have the value *, which means that any are allowed. The value Sys means the default value and will be the one setup by the CTISYS resource.

When this happens, the call is forwarded to the destination after applying the specified output operations in the same routing. If the incoming call does not match any of the priorities, the CTI router returns the error << No route to destination>>.

The variables that are assigned in the forwarded call are:

[Note]Note

Some parameters have the value *, which means that this parameter isn't changed (is passed transparently), that is will be equal to the input value (e.g.: If CDO:*, then CDO = CDI). The value Sys means the default value and will be the one setup by the CTISYS resource.

You can also have alternate routes, useful when you want to have a secondary solution, when the primary route is unavailable.

For the management of alternative routes (instructions must be consecutive), there are two parameters:

[Tip]Tip

Interesting chapter: Section 78.4.1, “How can I manage alternative CTI routings?”.

To manage the CTI Router the following commands are used:

The d ctir ? command shows all available parameters.

[Tip]Tip

Interesting chapter: Section 49.10.5, “CTI Debug Log (START LDME)”.

The following table explains the meaning of those special values.

Table 49.2. Special characters and values available in CTI routing table

ValueDescriptionExamples
*Can be used to replace a sequence of digits or a part of it (at the beginning or the end of a sequence).CDI:*, CDI:2345*, CDI:*456
*Identifies all CTIP ports ISDN, POTS, VPOTS, CELL.POI:*
*Identifies all clusters.SR:*
**Identify all CTIP ports, including special ones. The whole set is ISDN, POTS, VPOTS, CELL, Iax, Sip, Disa, Vo, Vm, Vr, Mix, Sl.POI:**
?In a sequence of numbers, it can be used to mean “any digit”.CDI:4??, CDI:???234, CDI:34??67, CDI:123?
#Means “NONE”.CGO:#
##Forces disallow.CGI:##
n, nn, nnnIdentify CTI ports ISDN, POTS, VPOTS, CELL.OUT:31
Gn, GnnIdentify CTI groups.GI:G1
G*Identifies "all groups".GI:G*
G0Includes the resources Disa, Sip, Iax, Vo. Read only.GI:G0
PBXCTI POTS Port group.OUT:PBX
IaxIAX connection.OUT:Iax
SipSIP connection.OUT:Sip
DisaDISA connection.OUT:Disa
VoVirtual Office connection.OUT:Vo
VmVoice Mail connection.OUT:Vm
VrVoice Recorder connection.OUT:Vr
MixVoice Mixer connection.OUT:Mix
SLDATA connection.OUT:SL
'list'Specification of an element list, type IN (list of ISDN numbers) or RU (Rule), or MR (Master Rule).CDI:'node', CDI:'ToAbilis2'
'list'Identifies a list of clusters (list type EC).SR:'clusterlist'
'macro'Macro functions.CDO:'CDI.S2'
<AUTO-I> , <AUTO-O>Special value of OUT field.OUT:<AUTO-I> , OUT:<AUTO-O>

[Tip]Tip

The characters * and ? can be combined, example: “*2??35?” or “15??74*”.

[Tip]Tip

See HELP ISDN VALUES for details on meaning of special values.

[15:20:50] ABILIS_CPX:help isdn values

Meaning of special values used in ISDN CDI/CGI/SGI/SDI/RGI fields:
-----------+-------------------------------------------------------------------
 Symbol    | Meaning
-----------+-------------------------------------------------------------------
 *         | Don't care.
 #         | Missing or Empty information element
 ##        | Missing information element
 $         | Empty or Non-empty information element
 ?*        | Non-empty information element
-----------+-------------------------------------------------------------------


Meaning of special values used in ISDN CDO/CGO/SGO/SDO/RGO fields:
-----------+-------------------------------------------------------------------
 Symbol    | Meaning
-----------+-------------------------------------------------------------------
 *         | Pass correspondent input field untouched.
 #         | Set an empty information element. An empty information element in
           | most cases is removed.
-----------+-------------------------------------------------------------------

49.5.1. Display CTI Routing Table (D CTIR)

It shows the CTI routing table in a short format. If priority is omitted, the command shows all routings.

[12:06:58] ABILIS_CPX:d ctir

Last change: 16/06/2015 09:13:29 CET

---+------+-----------------+---------+--------------------+--------------------
PR |[DESCR]
   |BCI   |POI |SR      |GI |OUT      |CDI                 |CDO
ACT|NEXT        |LAST       |EEC |T301|CGI                 |CGO
EDT|SP    |SC   |DJ   |MJ   |FMDJ|FMMJ|SDI                 |SDO
   |SPOUT |SCOUT|DJOUT|MJOUT|LCS |LCST|SGI                 |SGO
   |                        |BCO      |RGI                 |RGO
   |FMRLY |FAXSP|MODSP|FMLVL|ECM |UDT |IG  |OG  |SG        |DL  |DH
   |CODERS
   |CODERSOUT
   |TI1 .. TI5
--------------------------------------------------------------------------------
0   DATA   *    #        #   Sl        *                    *                   
--------------------------------------------------------------------------------
1   TR     PBX  #        #   PBX       1?                   *                   
--------------------------------------------------------------------------------
2   VOICE  #    Abilis2  #   101       *                    *                   
    NO           ANY         NO   Dft  *                    *                   
    6400   Sys   *     *     Sys  Sys  *                    *                   
--------------------------------------------------------------------------------

Below the meaning of the most important parameters:

BCI

Bearer capability input [TR, DATA, VOICE, Speech, 3.1kHz, UDI, RDI, UDI-TA, Video]. The values Speech, UDI, RDI, 3.1Khz, UDI-TA, Video are the regular ITU values, while TR, DATA, VOICE are shortcuts for combinations:

  • Speech: The bearer capability BC speech is used for an ordinary voice call and the network may route the call over analogue circuits and may use voice compression, echo cancellation and echo suppression for instance.

  • 3.1kHz: The bearer capability BC 3.1kHz Audio is used for voice grade information, i.e. non voice calls, but where the information is coded as analogue signals within the 300 Hz to 3.1 kHz frequency band. This is typically used for modems, e.g. ordinary data or telefax.

  • UDI: The bearer capability 64 kbit Unrestricted Digital Information (UDI.) is used for calls where the information is digitally coded, i.e. data of some description. This type of connection is often referred to as Clear Channel. It can for instance be a Video application or a Group four fax.

  • RDI: The bearer capability 64 kbit Restricted Digital Information (RDI) is digitally coded information at 56 kbit/s. The reason for this bearer capability is some American 1.5 Mbit CAS networks. This BC is used in the same way as the BC 64 kbit Unrestricted. Some networks charge less for this type of call than for a full 64 bit unrestricted. This BC is only supported in US ISDN protocols, thus making international calls with the bearer capability impossible.

  • TR = any value.

  • DATA = UDI, RDI.

  • VOICE = Speech, 3.1kHz.

    [Warning]Warning

    Please do not confuse TYPE:TR (TDM transparent connection) with BCI:TR (any BC value accepted).

POI

Input port/group [#, *, **, G*, G0..G32, PBX, 1..600, Sl, Iax, Sip, Disa, Vo], where:

  • * = Any CTI port ISDN/POTS/VPOTS/CELL;

  • ** = Any CTI port, including Iax, Sip, Disa, Vo.

[Important]Important

When a group is configured, the positions in the group containing cluster are ignored.

SR

Input cluster/group [#, *, G*, G0..G32, cluster name or EC/RU/MR list name between single quote]. The cluster name must correspond to an existing CTI cluster. The list name must correspond to an existing EC/RU/MR list.

[Important]Important

When a group is configured, only positions in the group containing clusters are used.

GI

Input group [#, G*, G0..G32].

[Important]Important

Any position in the group is suitable for match.

OUT

Output group/port/cluster [#, G0..G32, PBX, 1..600, Iax, Sip Disa, Vo, Vm, Mix, Sl, <AUTO-I>, <AUTO-O>, cluster name]. The cluster name must correspond to an existing CTI cluster.

  • <AUTO-I> : by specifying this value in OUT, the routing will be matched according to the standard rules. The destination cluster will be chosen by comparing the field CDI with the NUMs set in each cluster. When the match is found, the corresponding cluster will be the real destination of the call.

  • <AUTO-O> : by specifying this value in OUT, the routing will be matched according to the standard rules. The destination cluster will be chosen by comparing the field CDO with the NUMs set in each cluster. When the match is found, the corresponding cluster will be the real destination of the call.

CDI

Input called address [0..9, *, #, ?, 'list'], optionally preceded by TON [u, i, n, o, s, h, c] and/or NP [x, e, d, t, l, p] attributes, or [##, $]. (E.g.: 123, 123*, 12?, 12?*, *, #, ##, $, 'listname', 123'listname') See HELP ISDN ATTRIBUTES for details on attributes. See HELP ISDN VALUES for details on meaning of special values.

In traditional telephone systems, dialing is performed one digit at a time. As there is no indication that the number is ended, the router must search the CTIR routing after each received digit. This mode is called "PREFIX", which is activated with the parameter ROUTING: PREFIX in CTISYS resource. In this mode the numbers follow the rules of the prefixes, for example if there is a complete destination by the number 02251 the number is "closed" to the reception of << 1 >>, for which the addition of further numbers will not have any effect (or call 02251 or 022 512 will be the same thing).

The management of numbers in PREFIX is a little more complicated and a little less natural than the mode "EN-BLOC". To activate it is needed to change the parameter ROUTING: EN-BLOC of CTISYS resourse. Precisely because the number consists of arriving digits, it's normal to have an intermediate situation in which there is a routing that partially satisfies the dial number, and other routings that could satisfy it, when we will add more digits.

When using the PREFIX mode, you can still receive a call with the number already closed (e.g. SIP and IAX send only closed numbers), in this case the routing can or satisfy, or not satisfy at all, never will fit partially.

CDO

Output called address [0..9, *, #, 'macro'], optionally preceded by TON [u, i, n, o, s, h, c] and/or NP [x, e, d, t, l, p] attributes. (E.g.: 123, *, #, 123'cdi', 'cdi'123'cgi.s5', 'sdi', ''listname'', ''listname.cd'', ''listname.cg'.s2', ''listname'.s5') See HELP ISDN ATTRIBUTES for details on attributes. See HELP ISDN VALUES for details on meaning of special values.

CGI

Input calling address [0..9, *, #, ?, 'list'], optionally preceded by TON [u, i, n, o, s, h, c] and/or NP [x, e, d, t, l, p] and/or PI [a, r, m, q] and/or SI [y, v, w, z, j] attributes, or [##, $]. (E.g.: 123, 123*, 12?, 12?*, *, #, ##, $, 'listname', 123'listname') See HELP ISDN ATTRIBUTES for details on attributes. See HELP ISDN VALUES for details on meaning of special values.

CGO

Output calling address [0..9, *, #, 'macro'], optionally preceded by TON [u, i, n, o, s, h, c] and/or NP [x, e, d, t, l, p] and/or PI [a, r, m, q] and/or SI [y, v, w, z] attributes. (E.g.: 123, *, #, 123'cdi', 'cdi'123'cgi.s5', 'sdi', ''listname'', ''listname.cd'', ''listname.cg'.s2', ''listname'.s5', 12''listname''34) See HELP ISDN ATTRIBUTES for details on attributes. See HELP ISDN VALUES for details on meaning of special values.

[Note]Note

The values of parameters CDI, CDO, CGI, CGO, can be optionally preceded by the TON (Type Of Number). The TON can have the following values:

Table 49.3. Type Of Number

uUnknown
iInternational number
nNational number
o(Operator network) Network specific number
sSubscriber number
c(Coded) Abbreviated number
hAlphanumeric (GSM/UMTS only)


SDI

Input called sub-address [AlphaNumExt, *, ?, #, ##, $, 'list']. (E.g.: ho11, me1*, ho??12?, ho?12?*, *, #, 'listname', AA'listname') See HELP ISDN VALUES for details on meaning of special values.

SDO

Output called sub-address [AlphaNumExt, *, #, 'macro']. (E.g.: home123, *, #, home123'sgi', 'sgi'home123'cdi.s5', 'sdi' ''listname.cd'', ''listname.cg'.s2', ''listname'.s5', AAA''listname.cd'', AAA'sdi'BBB''listname'.s5') See HELP ISDN VALUES for details on meaning of special values.

SGI

Input calling sub-address [AlphaNumExt, *, ?, #, ##, $, 'list']. (E.g.: ho11, me1*, ho??12?, ho?12?*, *, #, 'listname', AA'listname') See HELP ISDN VALUES for details on meaning of special values.

SGO

Output calling sub-address [AlphaNumExt, *, #, 'macro']. (E.g.: home123, *, #, home123'sgi', 'sgi'home123'cdi.s5', 'sdi' ''listname.cd'', ''listname.cg'.s2', ''listname'.s5', AAA''listname.cd'', AAA'sgi'BBB''listname'.s5') See HELP ISDN VALUES for details on meaning of special values.

RGI

Input redirecting address [0..9, *, #, ?, 'list'], optionally preceded by TON [u, i, n, o, s, h, c] and/or NP [x, e, d, t, l, p] and/or PI [a, r, m, q] and/or SI [y, v, w, z, j] attributes, or [##, $]. (E.g.: 123, 123*, 12?, 12?*, *, #, ##, $, 'listname', 123'listname') See HELP ISDN ATTRIBUTES for details on attributes. See HELP ISDN VALUES for details on meaning of special values.

[Tip]Tip

Interesting chapter: Section 49.7, “Redirecting”.

RGO

Output redirecting address [0..9, *, #, 'macro'], optionally preceded by TON [u, i, n, o, s, h, c] and/or NP [x, e, d, t, l, p] and/or PI [a, r, m, q] and/or SI [y, v, w, z] attributes. (E.g.: 123, *, #, 123'cdi', 'cdi'123'cgi.s5', 'sdi', ''listname'', ''listname.cd'', ''listname.cg'.s2', ''listname'.s5', 12''listname''34) See HELP ISDN ATTRIBUTES for details on attributes. See HELP ISDN VALUES for details on meaning of special values.

BCO

Bearer capability output [*, Speech, 3.1Khz, UDI: Unrestricted Digital Information, RDI: Restricted Digital Information, UDI-TA:Unrestricted Digital Information with Tones/Announcement, Video]. Refer to BCI for more information about Bearer Capability.

NEXT

Alternative routing selection [N (or NO), U (or UNLIMITED), L (or LIMITED), T (or TRANSFERT), BB (or BUTBUSY)] or the name of ICAUSE/RU/MR list between single quotes (E.g.: T or BUTBUSY or 'my_causes'). The admitted values are the following:

  • N (or No): in the event of failure of the routing, no procedure for seeking an alternative routing is put into effect.

  • L (or Limited): next routing is evaluated only for internal causes, i.e. those with location=0xFF (i.e. network out of service, all channels engaged, etc…).

  • U (or Unlimited): next routing is evaluated for every cause except: 0x91 (user busy) or 0x93 (no user responding, user alerted).

  • T (or Transfer): next routing is always evaluated.

  • BB (or ButBusy): next routing is evaluated for any reason except BUSY.

  • 'my_causes' the name of ICAUSE/RU/MR list.

[Tip]Tip

Interesting chapter: Chapter 87, Disconnection codes.

LAST

Alternative routing, last failure reason for conditional match [ANY, BUSY, NOANS, OTHER] or the name of ICAUSE/RU/MR list between single quotes (E.g.: NOANS or 'my_causes').

T301

Alerting time-out [Dft, 5..180 sec.]. When the time-out expires, administrator may choose to end the call or carry out a search for an alternative routing by configuring the NEXT parameter. [Dft (default): this time-out corresponds to the time-out defined by the Provider of the ISDN line or by the devices (i.e. PABX) connected to the Abilis].

UDT

Unconditional disconnect timer [NO, 1..9999 sec].

LCS

Enable/disable Last Calling number Service [NO, YES].

LCST

Last Calling number Service records timeout [Sys, NONE, 1..999 hour].

EEC

Extended echo canceller activation [NO: No echo canceller, IN: Echo canceller on input side, OUT: Echo canceller on output side, BOTH: Echo canceller on both side].

FMRLY

Fax/Data relay [NO, YES, Sys].

[Important]Important

To use the transcoding by MCD or SWAC is necessary to set the FMRLY:NO.

DJ

Default jitter buffer size [*, Sys, 0..1000 ms]. It must be minor or equal to MJ.

MJ

Maximum jitter buffer size [*, Sys, 0..1000 ms]. It must be major or equal to DJ.

[Tip]Tip

As is well known, Internet lines are affected from latency and time arrival variation of frames caused by network congestion, timing drift, or route changes (this is the definition of jitter). When Internet lines are used for the VoIP application, it's fundamental to set the properly CTISYS parameter to obtain good results and good quality communication.

The jitter buffer is managed by DJ and MJ parameters. Too low values can cause chopped voice (sensation of metallic sound) during emptying of jitter-buffer. Too high values can modify the voice tone and introduce a perceptible delay of voice (also echo can be noticed). For a good optimization evaluating the line in use is needed.

Generally, on lines with a low time arrival variation of the frames, good values can be: DJ:80 and MJ:250.

DJOUT

Default jitter buffer size output [*, Sys, 0..1000 ms]. It must be minor or equal to MJOUT.

MJOUT

Maximum jitter buffer size output [*, Sys, 0..1000 ms]. It must be major or equal to DJOUT.

FMDJ

Fax/Data default jitter buffer size [Sys, 0..1000 ms].

FMMJ

Fax/Data maximum jitter buffer size [Sys, 0..1000 ms].

SC

Silence compression [NO, YES, Sys].

SP

Voice compression bit rate [5300, 6000, 6300, 6400, 7200, 8000, 8800, 9600, 11200, 13200, 13340, 15200, 16000, 18400, 24000,24800, 32000, 40000, 64000 bps].

CODERS

Allowed coders [* or Sys or NONE or a list of one or more coder values (see below)]. The available coders are [Transp, G.711, G.726, G.727, GSM6.10, Spirit, G.723.1, G.729A, ILBC, SPEEX, G.711A, G.711u]. Values can be joined using "," operator. The position in the list defines the preference order. The rightmost value is the one with the lowest preference.

  • CODERS:* : accepts in input all the coders;

  • CODERS:Sys : accepts in input only the coders specified in the CTISYS resource;

  • CODERS:<specific coder> : accepts in input only the indicated coder. You can also specify several coders (divide their name/code with a comma ,);

  • CODERS:<coder list> : accepts in input only the coders indicated in the list.

    [Tip]Tip

    The coder position, inside the coders list in the CTISYS resource, defines the order of preference. The rightmost value is the one with the lowest preference.

SPOUT

Maximum preferred/allowed bit rate for the audio coder on output side of direct transcoding [*, 5300, 6000, 6300, 6400, 7200, 8000, 8800, 9600, 11200, 13200, 13340, 15200, 16000, 18400, 24000, 24800, 32000, 40000, 64000 bps].

[Warning]Warning

If you set SPOUT:9600, you will not be able to use CODERS which need greater bit rates (e.g. G.711 works at 64 Kbps).

CODERSOUT

Preferred list of coders for THIS routing offered to called side [* or Sys or NONE or *,Sys or a list of one or more coder values (see below) or *, list] The available coders are [Transp, G.711, G.726, G.727, GSM6.10, Spirit, G.723.1, G.729A, ILBC, SPEEX, G.711A, G.711u]. Values can be joined using "," operator. The position in the list defines the preference order. The rightmost value is the one with the lowest preference.

  • CODERSOUT:*,Sys : adds, in output, to the coders already present in input, the set described in the CTISYS resource;

  • CODERSOUT:Sys : allows to use, in output, only the coders described in the CTISYS resource;

  • CODERSOUT:<specific coder> : enables, in output, only the chosen coder. You can also specify many coders (divide their names/codes with a comma ,);

  • CODERSOUT:*,<coder list> : adds, in output to the already present coders, the coders indicated in the list; you can also only specify the list;

  • CODERSOUT:<coder list> : enables to use in output only the coders present in the list.

    [Tip]Tip

    The coder position, inside the coders list in the CTISYS resource, defines the order of preference. The rightmost value is the one with the lowest preference.

TI1:..TI5

Time interval in the format "day,hh:mm-hh:mm", where 'day' can be:

  • a single day of the week [MO, TU, WE, TH, FR, SA, SU];

  • a set of days of the week (E.g.: MO+TH or TU+TH+SU);

  • a range of days of the week (E.g.: MO-WE or TH-SU);

  • a date in the format "dd/mm/yy", where

    • 'dd' can be [*, 1..31];

    • 'mm' can be [*, 1..12];

    • 'yy' can be [*, 0..99].

      (e.g. 23/12/13 or 31/12/* or 1/*/* or */8/* or 1/04/*)

  • begin and end date separated by '-', i.e. "d1/m1/y1-d2/m2/y2", where

    • d1' and 'd2' can be [*, 1..31];

    • 'm1' and 'm2' can be [*, 1..12];

    • 'y1' and 'y2' can be [*, 0..99].

      (e.g. 23/12/13-07/01/14 or 23/12/*-07/01/* or 01/*/*-5/*/*)

  • "ALL".

Default values are TI1:ALL,00:00-23:59 and TI2...TI5:#: routing is valid on all days of the week (ALL) throughout the day (from 00.00 to 23.59). The value # on other TI means that the time intervals are disabled.

[Note]Note

The d ctir ? command shows all available parameters.

By specifying a priority value, the command shows the routing identified by specified priority:

[12:07:00] ABILIS_CPX:d ctir pr:2

Last change: 16/06/2015 12:23:13 CET

---+------+-----------------+---------+--------------------+--------------------
PR |[DESCR]
   |BCI   |POI |SR      |GI |OUT      |CDI                 |CDO
ACT|NEXT        |LAST       |EEC |T301|CGI                 |CGO
EDT|SP    |SC   |DJ   |MJ   |FMDJ|FMMJ|SDI                 |SDO
   |SPOUT |SCOUT|DJOUT|MJOUT|LCS |LCST|SGI                 |SGO
   |                        |BCO      |RGI                 |RGO
   |FMRLY |FAXSP|MODSP|FMLVL|ECM |UDT |IG  |OG  |SG        |DL  |DH
   |CODERS
   |CODERSOUT
   |TI1 .. TI5
--------------------------------------------------------------------------------
2   VOICE  PBX  #        #   Abilis2   'ToAbilis2'           *                   
--------------------------------------------------------------------------------

The routings are scanned in sequence starting from the lowest priority. When a call arrives, all its parameters are compared with the rules of the table. The one which satisfies all the parameters will be matched; otherwise, the CTI Router will go on with the scan.

The command d ctire shows an extended view of the CTI routings:

[12:07:19] ABILIS_CPX:d ctire pr:2

Last change: 16/06/2015 12:23:13 CET

-------------------------------------------------------------------------------
PR:2   DESCR:
   ACT:YES  EDT:NO   BCI:VOICE                     BCO:*        EEC:NO
   NEXT:NO           POI:PBX   SR:#        GI:#    OUT:Abilis2
   LAST:ANY          CDI:'ToAbilis2'               CDO:*
   T301:Dft          CGI:*                         CGO:*
   UDT:NO            SDI:*                         SDO:*
   LCS:NO            SGI:*                         SGO:*
   LCST:Sys          RGI:*                         RGO:*
   IG:Sys       OG:Sys      SG:Sys      DL:Sys       DH:Sys
   FMRLY:Sys    FAXSP:AUTO  MODSP:AUTO  FMLVL:Sys    FMDJ:Sys   FMMJ:Sys
   SP:6400      SC:Sys      DJ:Sys      MJ:Sys                  ECM:SYS
   CODERS:Sys
   SPOUT:*      SCOUT:*     DJOUT:*     MJOUT:*     
   CODERSOUT:*
   TI1:ALL,00:00-23:59                TI2:#  TI3:#  TI4:#  TI5:#  

The meaning of the routing: if a call comes from any POTS or VPOTS (POI:PBX), the called number belongs to the list ToAbilis2 (CDI:'ToAbilis2'), routes it to the cluster Abilis2.

Viewing CTIR rules in a reduced format can be done using:

[11:19:20] ABILIS_CPX:d ctirr pr:1

Last change: 16/06/2015 12:23:13 CET

---+------+-----------------+---------+--------------------+--------------------
PR |[DESCR]
   |BCI   |POI |SR      |GI |OUT      |CDI                 |CDO
ACT|NEXT        |LAST       |EEC |T301|CGI                 |CGO
EDT|SP    |SC   |DJ   |MJ   |FMDJ|FMMJ|SDI                 |SDO
   |SPOUT |SCOUT|DJOUT|MJOUT|LCS |LCST|SGI                 |SGO
   |                        |BCO      |RGI                 |RGO
   |FMRLY |FAXSP|MODSP|FMLVL|ECM |UDT |IG  |OG  |SG        |DL  |DH
   |CODERS
   |CODERSOUT
   |TI1 .. TI5
--------------------------------------------------------------------------------
21  VOICE  Sip  #        #   PBX       5??                  *                   
    NO           ANY         NO   Dft  *                    *                   
    64000  Sys   Sys   Sys   Sys  Sys  *                    *                   
    *      *     *     *     NO   Sys  *                    *                   
                             *         *                    *                   
    Sys    AUTO  AUTO  Sys   SYS  NO   Sys  Sys  Sys        Sys  Sys
    Sys
    G.711
--------------------------------------------------------------------------------

The meaning of the routing: if call comes from CTISIP resource and the called number is made of three digits, starting with 5, the call is routed toward the special group PBX. The parameter SP is set to 64000 and the parameter CODERS is set to G.711, so only SIP call using this codec will be accepted.

49.5.1.1. Display CTI Routing Table using filters

Using filters may help to search the desired rule/rules.

[15:52:50] ABILIS_CPX:d ctire ?

D CTIR[E|R]                              Display all CTI Routings
D CTIR[E|R] filter:val [filter:val]      Display any CTI Routing matching the
                                         specified filter(s)

Allowed filters:

PR:        CTI routing priority.                                     <Optional>
           One value in the range [0..255] or a range of values 'xx-yy'
           or a list of values 'xx,yy,...' separated by ',' (comma) or
           "A" or "ALL".
DESCR:     Scan the description for the occurrence of the given      <Optional>
           substring. Case-insensitive match.
           From 0 up to 70 Alphanumeric extended characters.
           Spaces are allowed. Strings holding spaces must be written
           between quotation marks (E.g. "str1 str2").

BCI:       Bearer capability input [TR, DATA, VOICE, Speech, UDI,    <Optional>
           RDI, 3.1Khz, UDI-TA, Video]

POI:       | Input port/group [#, *, **, G*, G0..G32, PBX,           <Optional>
           | 1..600, Iax, Sip, Disa, Vo, Sl]
SR:        | Input cluster/group [#, *, G*, G0..G32, cluster name    <Optional>
           | or EC/RU/MR list name between single quote], or a string
           | preceded and/or followed by '*' (E.g.: "*mystr" or
           | "mystr*" or "*mystr*") or "*".

GI:        | Input group [#, G*, G0..G32]                            <Optional>
           | These filters are alternatives to IN.

IN:        Input group/port/cluster.                                 <Optional>
           This filter is alternative to POI, SR, GI.
           See POI, SR, GI for the range.

OUT:       Output group/port/cluster [#, G0..G32, PBX, 1..600,       <Optional>
           Iax, Sip, Disa, Vo, Vm, Mix, Sl, <AUTO-I>, <AUTO-O>, cluster
           name], or a string preceded and/or followed by '*' (E.g.:
           "*mystr" or "mystr*" or "*mystr*") or "*".

CTI routing parameter(s):
...

The below command filters all rules whose BCI is VOICE and OUT is PBX:

[15:03:40] ABILIS_CPX:d ctir bci:voice out:pbx

Last change: 16/06/2015 12:23:13 CET

---+------+-----------------+---------+--------------------+--------------------
PR |[DESCR]
   |BCI   |POI |SR      |GI |OUT      |CDI                 |CDO
ACT|NEXT        |LAST       |EEC |T301|CGI                 |CGO
EDT|SP    |SC   |DJ   |MJ   |FMDJ|FMMJ|SDI                 |SDO
   |SPOUT |SCOUT|DJOUT|MJOUT|LCS |LCST|SGI                 |SGO
   |                        |BCO      |RGI                 |RGO
   |FMRLY |FAXSP|MODSP|FMLVL|ECM |UDT |IG  |OG  |SG        |DL  |DH
   |CODERS
   |CODERSOUT
   |TI1 .. TI5
--------------------------------------------------------------------------------
21  VOICE  Sip  #        #   PBX       5??                  *                   
    NO           ANY         NO   Dft  *                    *                   
    64000  Sys   Sys   Sys   Sys  Sys  *                    *                   
    *      *     *     *     NO   Sys  *                    *                   
                             *         *                    *                   
    Sys    AUTO  AUTO  Sys   SYS  NO   Sys  Sys  Sys        Sys  Sys
    Sys
    G.711
-----------------------------------------------------------------------------------

49.5.2. Add CTI Routing Table (A CTIR)

It adds a new CTI routing with PR:xx priority setting the indicated parameters to the specified values. Unspecified parameters are set to default values. The CTI routing table can store up to 256 routing definitions, so the priority value must be in the interval [0 - 255].

If a routing with “PR:xx” is already present in the table, it will get “PR:xx+1” priority.

Example: how to configure a routing which routes every call (CDI:*) coming from the CTI Ports Group G1 (connected to the PABX) to CTI Ports Group G2 (connected to the ISDN lines), without any alternative routings.

[15:30:01] ABILIS_CPX:a ctir pr:3 poi:g1 out:g2 cdi:*

COMMAND EXECUTED

[15:30:50] ABILIS_CPX:d ctire pr:3

- Not Saved (SAVE CONF), Not Refreshed (INIT) ---------------------------------
Last change: 16/06/2015 12:23:13 CET

-------------------------------------------------------------------------------
PR:3   DESCR:
   ACT:YES  EDT:NO   BCI:VOICE                     BCO:*        EEC:NO
   NEXT:NO           POI:G1    SR:#        GI:#    OUT:G2
   LAST:ANY          CDI:*                         CDO:*
   T301:Dft          CGI:*                         CGO:*
   UDT:NO            SDI:*                         SDO:*
   LCS:NO            SGI:*                         SGO:*
   LCST:Sys          RGI:*                         RGO:*
   IG:Sys       OG:Sys      SG:Sys      DL:Sys       DH:Sys
   FMRLY:Sys    FAXSP:AUTO  MODSP:AUTO  FMLVL:Sys    FMDJ:Sys   FMMJ:Sys
   SP:6400      SC:Sys      DJ:Sys      MJ:Sys                  ECM:SYS
   CODERS:Sys
   SPOUT:*      SCOUT:*     DJOUT:*     MJOUT:*     
   CODERSOUT:*
   TI1:ALL,00:00-23:59                TI2:#  TI3:#  TI4:#  TI5:#  
[Warning]Warning

Changes made on the CTI routing table aren't immediately active. To activate them, execute the initialization command init ctir.

49.5.3. Clear CTI Routing Table (C CTIR)

It deletes a CTI routing from the routing table. Priority of remaining routings (if higher than the removed one) are decreased because of table continuity. The syntax of the command is c ctir pr:xx.

[12:28:06] ABILIS_CPX:d ctir

Last change: 16/06/2015 12:23:13 CET

---+------+-----------------+---------+--------------------+--------------------
PR |[DESCR]
   |BCI   |POI |SR      |GI |OUT      |CDI                 |CDO
ACT|NEXT        |LAST       |EEC |T301|CGI                 |CGO
EDT|SP    |SC   |DJ   |MJ   |FMDJ|FMMJ|SDI                 |SDO
   |SPOUT |SCOUT|DJOUT|MJOUT|LCS |LCST|SGI                 |SGO
   |                        |BCO      |RGI                 |RGO
   |FMRLY |FAXSP|MODSP|FMLVL|ECM |UDT |IG  |OG  |SG        |DL  |DH
   |CODERS
   |CODERSOUT
   |TI1 .. TI5
--------------------------------------------------------------------------------
0   DATA   *    #        #   Sl        *                    *                   
--------------------------------------------------------------------------------
1   TR     PBX  #        #   PBX       1?                   *                   
--------------------------------------------------------------------------------
2   VOICE  G1   #        #   G2        *                    *                   
--------------------------------------------------------------------------------

[12:31:19] ABILIS_CPX:c ctir pr:2

COMMAND EXECUTED

[12:31:51] ABILIS_CPX:d ctir

Last change: 16/06/2015 12:23:13 CET

---+------+-----------------+---------+--------------------+--------------------
PR |[DESCR]
   |BCI   |POI |SR      |GI |OUT      |CDI                 |CDO
ACT|NEXT        |LAST       |EEC |T301|CGI                 |CGO
EDT|SP    |SC   |DJ   |MJ   |FMDJ|FMMJ|SDI                 |SDO
   |SPOUT |SCOUT|DJOUT|MJOUT|LCS |LCST|SGI                 |SGO
   |                        |BCO      |RGI                 |RGO
   |FMRLY |FAXSP|MODSP|FMLVL|ECM |UDT |IG  |OG  |SG        |DL  |DH
   |CODERS
   |CODERSOUT
   |TI1 .. TI5
--------------------------------------------------------------------------------
0   DATA   *    #        #   Sl        *                    *                   
--------------------------------------------------------------------------------
1   TR     PBX  #        #   PBX       1?                   *                   
--------------------------------------------------------------------------------
[Warning]Warning

Changes made on the CTI routing table aren't immediately active. To activate them, execute the initialization command init ctir.

49.5.4. Set CTI Routing Table (S CTIR)

Sets the parameters of CTI routing identified by “PR:xx” to their new values. The syntax of the command is:

s ctir pr:xxx parameter:value

[12:37:09] ABILIS_CPX:d ctir

Last change: 16/06/2015 12:23:13 CET

---+------+-----------------+---------+--------------------+--------------------
PR |[DESCR]
   |BCI   |POI |SR      |GI |OUT      |CDI                 |CDO
ACT|NEXT        |LAST       |EEC |T301|CGI                 |CGO
EDT|SP    |SC   |DJ   |MJ   |FMDJ|FMMJ|SDI                 |SDO
   |SPOUT |SCOUT|DJOUT|MJOUT|LCS |LCST|SGI                 |SGO
   |                        |BCO      |RGI                 |RGO
   |FMRLY |FAXSP|MODSP|FMLVL|ECM |UDT |IG  |OG  |SG        |DL  |DH
   |CODERS
   |CODERSOUT
   |TI1 .. TI5
--------------------------------------------------------------------------------
0   DATA   *    #        #   Sl        *                    *                   
--------------------------------------------------------------------------------
1   TR     PBX  #        #   PBX       1?                   *                   
--------------------------------------------------------------------------------
2   VOICE  G1   #        #   G2        *                    *                   
--------------------------------------------------------------------------------

[12:37:32] ABILIS_CPX:s ctir pr:2 out:g3 cdi:528

COMMAND EXECUTED

[12:37:36] ABILIS_CPX:d ctir

Last change: 16/06/2015 12:23:13 CET

---+------+-----------------+---------+--------------------+--------------------
PR |[DESCR]
   |BCI   |POI |SR      |GI |OUT      |CDI                 |CDO
ACT|NEXT        |LAST       |EEC |T301|CGI                 |CGO
EDT|SP    |SC   |DJ   |MJ   |FMDJ|FMMJ|SDI                 |SDO
   |SPOUT |SCOUT|DJOUT|MJOUT|LCS |LCST|SGI                 |SGO
   |                        |BCO      |RGI                 |RGO
   |FMRLY |FAXSP|MODSP|FMLVL|ECM |UDT |IG  |OG  |SG        |DL  |DH
   |CODERS
   |CODERSOUT
   |TI1 .. TI5
--------------------------------------------------------------------------------
0   DATA   *    #        #   Sl        *                    *                   
--------------------------------------------------------------------------------
1   TR     PBX  #        #   PBX       1?                   *                   
--------------------------------------------------------------------------------
2   VOICE  G1   #        #   G3        528                  *                   
--------------------------------------------------------------------------------
[Warning]Warning

Changes made on the CTI routing table aren't immediately active. To activate them, execute the initialization command init ctir.

The routing which has been modified routes the calls coming from G1 to the group G3 if the called number is 528.

Other interesting parameters available on CTI Routing tables are T301, TIx, NEXT, and DS:<AUTO-I>/<AUTO-O>.

Example: enable a CTI routing just on Tuesday and Wednesday from 18:00 to 20:30.

[12:37:40] ABILIS_CPX:s ctir pr:3 ti1:tu-we,18:00-20:30

COMMAND EXECUTED

[15:35:00] ABILIS_CPX:d ctire pr:3

Last change: 16/06/2015 12:23:13 CET

-------------------------------------------------------------------------------
PR:3   DESCR:
   ACT:YES  EDT:NO   BCI:VOICE                     BCO:*        EEC:NO
   NEXT:NO           POI:G1    SR:#        GI:#    OUT:G3
   LAST:ANY          CDI:528                       CDO:*
   T301:Dft          CGI:*                         CGO:*
   UDT:NO            SDI:*                         SDO:*
   LCS:NO            SGI:*                         SGO:*
   LCST:Sys          RGI:*                         RGO:*
   IG:Sys       OG:Sys      SG:Sys      DL:Sys       DH:Sys
   FMRLY:Sys    FAXSP:AUTO  MODSP:AUTO  FMLVL:Sys    FMDJ:Sys   FMMJ:Sys
   SP:6400      SC:Sys      DJ:Sys      MJ:Sys                  ECM:SYS
   CODERS:Sys
   SPOUT:*      SCOUT:*     DJOUT:*     MJOUT:*     
   CODERSOUT:*
   TI1:TU-WE,18:00-20:30              TI2:#  TI3:#  TI4:#  TI5:#  

Example: how to combine the use of T301 and NEXT. Calls must be forwarded to the next routing if there is no answer after 15 seconds.

[13:50:10] ABILIS_CPX:d ctir

Last change: 16/06/2015 12:23:13 CET

---+------+-----------------+---------+--------------------+--------------------
PR |[DESCR]
   |BCI   |POI |SR      |GI |OUT      |CDI                 |CDO
ACT|NEXT        |LAST       |EEC |T301|CGI                 |CGO
EDT|SP    |SC   |DJ   |MJ   |FMDJ|FMMJ|SDI                 |SDO
   |SPOUT |SCOUT|DJOUT|MJOUT|LCS |LCST|SGI                 |SGO
   |                        |BCO      |RGI                 |RGO
   |FMRLY |FAXSP|MODSP|FMLVL|ECM |UDT |IG  |OG  |SG        |DL  |DH
   |CODERS
   |CODERSOUT
   |TI1 .. TI5
--------------------------------------------------------------------------------
0   DATA   *    #        #   Sl        *                    *                   
--------------------------------------------------------------------------------
1   TR     PBX  #        #   PBX       1?                   *                   
--------------------------------------------------------------------------------
2   VOICE  G1   #        #   G2        *                    *                   
--------------------------------------------------------------------------------
3   VOICE  G2   #        #   G1        *                    *                   
--------------------------------------------------------------------------------

[13:50:12] ABILIS_CPX:s ctir pr:3 t301:15 next:t

COMMAND EXECUTED

[13:50:43] ABILIS_CPX:a ctir pr:4 poi:g2 out:abilis2 cdi:*

COMMAND EXECUTED

[13:50:54] ABILIS_CPX:d ctir

- Not Saved (SAVE CONF), Not Refreshed (INIT) ---------------------------------
Last change: 16/06/2015 12:23:13 CET

---+------+-----------------+---------+--------------------+--------------------
PR |[DESCR]
   |BCI   |POI |SR      |GI |OUT      |CDI                 |CDO
ACT|NEXT        |LAST       |EEC |T301|CGI                 |CGO
EDT|SP    |SC   |DJ   |MJ   |FMDJ|FMMJ|SDI                 |SDO
   |SPOUT |SCOUT|DJOUT|MJOUT|LCS |LCST|SGI                 |SGO
   |                        |BCO      |RGI                 |RGO
   |FMRLY |FAXSP|MODSP|FMLVL|ECM |UDT |IG  |OG  |SG        |DL  |DH
   |CODERS
   |CODERSOUT
   |TI1 .. TI5
--------------------------------------------------------------------------------
0   DATA   *    #        #   Sl        *                    *                   
--------------------------------------------------------------------------------
1   TR     PBX  #        #   PBX       1?                   *                   
--------------------------------------------------------------------------------
2   VOICE  G1   #        #   G2        *                    *                   
--------------------------------------------------------------------------------
3   VOICE  G2   #        #   G1        *                    *                   
    TRANSFERT    ANY         NO   15   *                    *                   
--------------------------------------------------------------------------------
4   VOICE  G2   #        #   Abilis2   *                    *                   
--------------------------------------------------------------------------------
[Warning]Warning

Changes made on the CTI routing table aren't immediately active. To activate them, execute the initialization command init ctir.

When routing PR:3 is matched, the call will alert for 15 seconds on the G1 ports group and if no answer occurs, it will be transferred to the next routing and compressed to “Abilis2”.

49.5.5. Move CTI Routing Table (M CTIR)

Moves the CTI routing priority from the value “PR:xx” to the new value “PR:yy”. Other definitions present in the table are re-sorted because of table continuity.

[13:50:54] ABILIS_CPX:d ctir

- Not Saved (SAVE CONF), Not Refreshed (INIT) ---------------------------------
Last change: 16/06/2015 12:23:13 CET

---+------+-----------------+---------+--------------------+--------------------
PR |[DESCR]
   |BCI   |POI |SR      |GI |OUT      |CDI                 |CDO
ACT|NEXT        |LAST       |EEC |T301|CGI                 |CGO
EDT|SP    |SC   |DJ   |MJ   |FMDJ|FMMJ|SDI                 |SDO
   |SPOUT |SCOUT|DJOUT|MJOUT|LCS |LCST|SGI                 |SGO
   |                        |BCO      |RGI                 |RGO
   |FMRLY |FAXSP|MODSP|FMLVL|ECM |UDT |IG  |OG  |SG        |DL  |DH
   |CODERS
   |CODERSOUT
   |TI1 .. TI5
--------------------------------------------------------------------------------
0   DATA   *    #        #   Sl        *                    *                   
--------------------------------------------------------------------------------
1   TR     PBX  #        #   PBX       1?                   *                   
--------------------------------------------------------------------------------
2   VOICE  G1   #        #   G2        *                    *                   
--------------------------------------------------------------------------------
3   VOICE  G2   #        #   G1        *                    *                   
    TRANSFERT    ANY         NO   15   *                    *                   
--------------------------------------------------------------------------------
4   VOICE  G2   #        #   AADM      *                    *                   
--------------------------------------------------------------------------------

[15:38:34] ABILIS_CPX:m ctir pr:3 pr:4

COMMAND EXECUTED

[15:38:40] ABILIS_CPX:d ctir

- Not Saved (SAVE CONF), Not Refreshed (INIT) ---------------------------------
Last change: 16/06/2015 12:23:13 CET

---+------+-----------------+---------+--------------------+--------------------
PR |[DESCR]
   |BCI   |POI |SR      |GI |OUT      |CDI                 |CDO
ACT|NEXT        |LAST       |EEC |T301|CGI                 |CGO
EDT|SP    |SC   |DJ   |MJ   |FMDJ|FMMJ|SDI                 |SDO
   |SPOUT |SCOUT|DJOUT|MJOUT|LCS |LCST|SGI                 |SGO
   |                        |BCO      |RGI                 |RGO
   |FMRLY |FAXSP|MODSP|FMLVL|ECM |UDT |IG  |OG  |SG        |DL  |DH
   |CODERS
   |CODERSOUT
   |TI1 .. TI5
--------------------------------------------------------------------------------
0   DATA   *    #        #   Sl        *                    *                   
--------------------------------------------------------------------------------
1   TR     PBX  #        #   PBX       1?                   *                   
--------------------------------------------------------------------------------
2   VOICE  G1   #        #   G2        *                    *                   
--------------------------------------------------------------------------------
3   VOICE  G2   #        #   AADM      *                    *                   
--------------------------------------------------------------------------------
4   VOICE  G2   #        #   G1        *                    *                   
    TRANSFERT    ANY         NO   15   *                    *                   
--------------------------------------------------------------------------------
[Warning]Warning

Changes made on the CTI routing table aren't immediately active. To activate them, execute the initialization command init ctir.

49.5.6. Macro functions

A macro-instruction can only contain:

  • Decimal digits '0' - '9';

  • Names of input caller's address and sub-address fields: CGI and SGI;

  • Names of input called's address fields and sub-address fields: CDI and SDI;

  • The '.' (dot) character, which is used as a separator;

  • The sequences ".3xx", ".Lxx" and ".Rxx".

Table 49.4. Table Lxx, Rxx, 3xx macros

SequenceOperative meaning
yy.SxxIt takes the characters of field "yyy" starting from position "xx".
yyy.LxxIt takes up to "xx" characters of field "yyy", starting from the leftmost.
yyy.RxxIt takes up to "xx" characters of field "yyy", starting from the rightmost.

Examples:

  • CDO:'SGI': the called address field of the outgoing call will contain the same value as is contained in the field for the called sub-address of the incoming call.

  • CDO:1023'SGI': the called address field of the outgoing call will contain the numerical sequence "1023" followed by the content of the called sub-address of the incoming call.

  • CDO:1023'SGI.S02': the called address field of the outgoing call will contain the numerical sequence "1023" followed by the content of the called sub-address of the incoming call, starting from the 2nd character (.S02).

  • CDO:1023'SGI.R02': the called address field of the outgoing call will contain the numerical sequence "1023" followed by at most two characters taken from the content of the called sub-address of the incoming call, starting from the right most (.R02).

Type the following command to display info about macro functions:

[07:32:16] ABILIS_CPX:help isdn macro

ISDN macros permit the manipulation of ISDN numbers and subaddresses in the
call being processed.

Macro must be written between single quotes and can be present only in
output fields CDO/CGO/SDO/SGO (xxO).
A macro may refer a INR list and it's fields, in this case a sort of sub-macro
occurs and a couple of single quotes is required.

In following explanation xx is used to indicate any of CD/CG/SD/SG.

--- Simple macros in CDO/CGO/SDO/SGO (xxO) ------------------------------------
xxO: 'xxI'       Copy xxI in xxO
xxO: 'xxI.Sy'    Copy xxI in xxO starting from left position y
xxO: 'xxI.Ly'    Copy xxI in xxO leftmost y characters
xxO: 'xxI.Ry'    Copy xxI in xxO rightmost y characters

--- Macros with INR list sub-macro in CDO/CGO/SDO/SGO (xxO) -------------------
The INR list fields are: Number, CHK, CD, CG.
When a INR list is used in xxO fields macros it works as follow:
if a match is found between Number and field indicated by CHK (CGI or CDI),
the CD or CG field will be used in the preparation of the xxO field,
as specified by the sub-macro.

CDO: ''listname''         Copy list CD field into CDO
CGO: ''listname''         Copy list CG field into CGO
xxO: ''listname.CD''      Copy list CD field into xxO
xxO: ''listname.CD'.Sy'   Copy list CD field from position y into xxO
xxO: ''listname.CD'.Ly'   Copy list CD field leftmost y characters into xxO
xxO: ''listname.CD'.Ry'   Copy list CD field rightmost y characters into xxO
xxO: ''listname.CG''      Copy list CG field into xxO
xxO: ''listname.CG'.Sy'   Copy list CG field from position y into xxO
xxO: ''listname.CG'.Ly'   Copy list CG field leftmost y characters into xxO
xxO: ''listname.CG'.Ry'   Copy list CG field rightmost y characters into xxO

--- Examples ------------------------------------------------------------------
More macros can be written at the same time, the limit is only the 24
characters available in the xxO fields
Here is an example of possible combinations.
If in some circumstance a combination is not allowed you will get an
appropriate message.

'cdi'
123'cdi'
'cdi'123'cgi.s5'
''listname''
''listname.cd''
''listname'.s5'
''listname.cg'.s2'
123''listname.cg'.s2'
'cdi'123''listname.cg'.s2'

49.5.7. CTI routing for POTS devices (“PBX Group”)

CTI POTS ports allow the connection between Abilis and analogue phone devices. Each one is identified by a two digits number (NUM parameter); the NUM value can be set by the user and must be unique (default values start from 01, 02 …).

[15:40:09] ABILIS_CPX:d p ctip:101

CTIP:101 DESCR:
Act     card:POTS-1<1>                  USER:#
Run     OPSTATE:UP        LOG:NO                               TYPE:USER
        signalling:POTS                 HOLD:YES     CT:ICT    SS:YES
        DEVICE:PHONE                                           AC:NO
        NUM:01                          ADDRBOOK-NUM:NUM

[15:40:25] ABILIS_CPX:d p ctipe:101

CTIP:101 DESCR:
Act     card:POTS-1<1>                  USER:#
Run     OPSTATE:UP        LOG:NO                               TYPE:USER
        signalling:POTS                 HOLD:YES     CT:ICT    SS:YES
        DEVICE:PHONE                                           AC:NO
        NUM:01                          ADDRBOOK-NUM:NUM
        AC-CDO:#                        AC-DLY:60
        LOOP:NO         TEST:NO           
        CLIP:SYS        CLIP-STD:SYS      CLIP-TAS:SYS    CLIP-LEVEL:SYS
        SENSING:SYS     ABF:SYS  HPF:SYS  DEBOUNCE:SYS    MIN-FLASH:SYS   
        COUNTRY:SYS                                       MAX-FLASH:SYS   
        DIALT:5         IN-GAIN-ADJ:SYS                   OUT-GAIN-ADJ:SYS
        AT:SYS          AT-CODE:SYS     AT-DURATION:SYS   BC:SYS
        DT:SYS          DT-CODE:SYS     DT-DURATION:SYS   OUT-DIAL-TONE:SYS
        SS-PICKUP:GROUPS                SS-PRES-CG:YES    NPOO-CT:NO
        SS-CF-DND:YES                   SS-VM:YES

Routings can be added using the POTS port number in POI or OUT parameters.

The special value PBX can be used: CTI Router verifies the last two digits of the Called Input number and compares them with the field NUM of the CTI POTS ports. The call is routed to the corresponding port that matches.

Example: route the calls arriving from cluster Abilis2 to the analogue devices connected to the POTS, by verifying the last two digits of the called number (i.e. 02345678xx).

[15:40:31] ABILIS_CPX:a ctir pr:2 sr:Abilis2 out:pbx cdi:02345678??

COMMAND EXECUTED

[15:41:32] ABILIS_CPX:d ctir pr:2

- Not Saved (SAVE CONF), Not Refreshed (INIT) ---------------------------------
Last change: 16/06/2015 15:02:45 CET

---+------+-----------------+---------+--------------------+--------------------
PR |[DESCR]
   |BCI   |POI |SR      |GI |OUT      |CDI                 |CDO
ACT|NEXT        |LAST       |EEC |T301|CGI                 |CGO
EDT|SP    |SC   |DJ   |MJ   |FMDJ|FMMJ|SDI                 |SDO
   |SPOUT |SCOUT|DJOUT|MJOUT|LCS |LCST|SGI                 |SGO
   |                        |BCO      |RGI                 |RGO
   |FMRLY |FAXSP|MODSP|FMLVL|ECM |UDT |IG  |OG  |SG        |DL  |DH
   |CODERS
   |CODERSOUT
   |TI1 .. TI5
--------------------------------------------------------------------------------
2   VOICE  #    Abilis2  #   PBX       02345678??           *                   
--------------------------------------------------------------------------------

With this rule the calls to 0234567821 is routed to the ports with NUM:21.

By configuring the routing specifying the number of the CTI POTS ports, each call will be routed to the corresponding port without verifying the called number.

[14:45:35] ABILIS_CPX:a ctir pr:2 sr:Abilis2 out:101 cdi:*

COMMAND EXECUTED

[14:51:16] ABILIS_CPX:d ctir pr:2

Last change: 16/06/2015 15:02:45 CET

---+------+-----------------+---------+--------------------+--------------------
PR |[DESCR]
   |BCI   |POI |SR      |GI |OUT      |CDI                 |CDO
ACT|NEXT        |LAST       |EEC |T301|CGI                 |CGO
EDT|SP    |SC   |DJ   |MJ   |FMDJ|FMMJ|SDI                 |SDO
   |SPOUT |SCOUT|DJOUT|MJOUT|LCS |LCST|SGI                 |SGO
   |                        |BCO      |RGI                 |RGO
   |FMRLY |FAXSP|MODSP|FMLVL|ECM |UDT |IG  |OG  |SG        |DL  |DH
   |CODERS
   |CODERSOUT
   |TI1 .. TI5
--------------------------------------------------------------------------------
2   VOICE  #    Abilis2  #   101       *                    *                   
--------------------------------------------------------------------------------

The routing above routes every call which comes from the cluster Abilis2 to CTIP:101.