5.11. Lists management

By the terms “Elements Lists” we refer to a list of objects, belonging to the same homogeneous type, which are identified by the generic term “item”.

Within the Abilis CPX, the following element types have been referred as relevant:

Lists can be used to improve:

5.11.1. LIST CREATE

This command creates a new list. Type the following command to create a list of ISDN numbers:

[11:35:44] ABILIS_CPX:list create Home in List_of_Home_numbers

COMMAND EXECUTED

The following command displays the syntax:

[11:35:43] ABILIS_CPX:list create ?

LIST CREATE Name Type [Description]     Create a new list

Name            List name. Max. 16 characters [0..9, a..Z, _]       <Mandatory>
Type            List type [IN, IS, EC, XN, XU, IP, IR, DN, CR,      <Mandatory>
                TUP, IPT, MAC, SAP, H323ID, CLNUM, INR, IN2T, TXT,
                OPC, ICAUSE, RU, MR]
Description     List description. Max. 70 alphanumeric, no spaces.   <Optional>

5.11.2. LIST DELETE

This command deletes an existing list. Type the following command to delete a list:

[11:52:40] ABILIS_CPX:list delete home

COMMAND EXECUTED

The following command displays the syntax:

[11:50:22] ABILIS_CPX:list delete ?

LIST DELETE Name                        Delete a list

Name            List name. Max. 16 characters [0..9, a..Z, _]       <Mandatory>
[Caution]Caution

A list, to be deleted, must not be referred in any resource or table.

5.11.3. LIST RENAME / LIST DESCRIPTION

The command list rename changes the name of the list, without deleting the list;

the command list description changes or adds the field description of the list.

[12:04:13] ABILIS_CPX:list rename Home Office

COMMAND EXECUTED

[12:04:28] ABILIS_CPX:list description Office List_of_Office_numbers

COMMAND EXECUTED

By typing list rename ? or list description ? it is possible to display the command syntax:

[11:55:13] ABILIS_CPX:list rename ?

LIST RENAME Name NewName                Change/Set a list name

Name            List name. Max. 16 characters [0..9, a..Z, _]       <Mandatory>
NewName         List new name. Max. 16 characters [0..9, a..Z, _]   <Mandatory>

[11:59:42] ABILIS_CPX:list description ?

LIST DESCRIPTION Name Description       Change/Set a list description

Name            List name. Max. 16 characters [0..9, a..Z, _]       <Mandatory>
Description     List description. Max. 70 alphanumeric, no spaces.  <Mandatory>

5.11.4. D LIST (Display List)

This command shows list table. The available syntax of the commands is:

  • d list : shows the list table

    [12:15:23] ABILIS_CPX:d list
    
    Last change: 30/11/2010 08:19:18 CET
    
    List-Number:3   Items-Number:4    Used-Resources:251    Free-Resources:399109
    
     Id Name             Type   Description                   Edt St Ref First Numb
    -------------------------------------------------------------------------------
      4 Home             IN     List_of_Home_numbers                   0     5    2
      2 NumIax           IN     Automatically_generated_CT...     R    0     1    1
      3 NumSip           IN     Automatically_generated_CT...     R    0     2    3
      1 NumClus          CLNUM  Automatically_generated_CT...     R    0     0    0
    -------------------------------------------------------------------------------
    IN:ISDN Numbers,               IS:ISDN Sub Addresses,      EC:CTI Clusters,
    XN:X25 NUAs,                   XU:X25 UDFs,                IP:IP Addresses,
    IR:IP Addresses Ranges,        DN:Dialing Numbers,         CR:CPX resources,
    TUP:TCP and UDP ports ranges,  IPT:Internet Protocols,     MAC:MAC Addresses,
    SAP:SAP values,                H323ID:H.323 ID aliases,    CLNUM:CTICL Numbers,
    INR:ISDN Numbers Replacements, IN2T:ISDN Numbers to Text,  TXT:Text,
    OPC:OPC Unique User IDs,       ICAUSE:ISDN Cause codes,
    RU:Rules,                      MR:Master Rules.
    -------------------------------------------------------------------------------
  • d list:<name> : shows the content of a specific list

    [12:17:04] ABILIS_CPX:d list:home
    
    LIST:Home                 - IN
         List_of_Home_numbers
         0234865852              0269548947
  • d list <type>: shows the lists of the specified type

    [15:42:17] ABILIS_CPX:d list clnum
    
    Last change: 11/05/2011 14:53:02 CET
    
    Used-Lists:  9     Used-Items:   21     Used-Resources:    632 (bytes)
    Free-Lists:241     Free-Items: 3979     Free-Resources: 398728 (bytes)
    
     Id Name             Type   Description                  Edt St Ref First Numb
    -------------------------------------------------------------------------------
      4 NumClus          CLNUM  Automatically_generated_C...     R    0     6     1
    -------------------------------------------------------------------------------
    IN:ISDN Numbers,               IS:ISDN Sub Addresses,      EC:CTI Clusters,
    XN:X25 NUAs,                   XU:X25 UDFs,                IP:IP Addresses,
    IR:IP Addresses Ranges,        DN:Dialing Numbers,         CR:CPX resources,
    TUP:TCP and UDP ports ranges,  IPT:Internet Protocols,     MAC:MAC Addresses,
    SAP:SAP values,                H323ID:H.323 ID aliases,    CLNUM:CTICL Numbers,
    INR:ISDN Numbers Replacements, IN2T:ISDN Numbers to Text,  TXT:Text,
    OPC:OPC Unique User IDs,       ICAUSE:ISDN Cause codes,
    RU:Rules,                      MR:Master Rules.
    -------------------------------------------------------------------------------
  • d list:a : shows the content of all the list present in the configuration

5.11.5. A LIST (Add List item)

This command adds items to a list.

[12:41:31] ABILIS_CPX:a list:home 0234865852 0269548947

COMMAND EXECUTED

[12:43:16] ABILIS_CPX:d list:home

LIST:Home                 - IN
     List_of_Home_numbers
     0234865852              0269548947

The following command displays the syntax:

[12:37:52] ABILIS_CPX:a list: ?

A LIST:Name Item1 Item2 ...             Add one or more items to a list

Name            List name or List identifier                        <Mandatory>
Item1 Item2 ... Item values separeted by space                      <Mandatory>

Possible Item values for each list Type:

IN     item: String of max. 20 characters in the range [0..9, ?, *, #]
             optionally preceded by TON [u, i, n, o, s, h, c] and/or NP [x, e,
             d, t, l, p] attributes.
             See HELP ISDN ATTRIBUTES for details on attributes.
             See HELP ISDN VALUES for details on meaning of special values.
IS     item: String of max. 20 characters in the range [0..9, a..z, A..Z, ?, *]
EC     item: String of max. 8 characters in the range [0..9, a..z, A..Z, _]
XN     item: String of max. 15 characters in the range [0..9, ?, *, #]
XU     item: String of max. 12 characters in the range [0..9, a..z, A..Z, ?, *]
IP     item: IP address in the range [000.000.000.000..255.255.255.255]
IR     item: Two IP addresses separated by ':' (colon)
DN     item: Sequence of four values separated by ',' (comma) e.g.: 'o,n,c,r',
             where: 'o' is the order [1..32], 'n' is a dialing number i.e. a
             sequence of max. 20 digits optionally preceded by TON [u, i, n, o,
             s, h, c] and/or NP [x, e, d, t, l, p] attributes, 'c' is the max
             number of connections [0..32], 'r' is the max. number of retries
             [0..65534, NOMAX]. (E.g. 2,0376334412,2,5 or 1,ie444555,32,NOMAX).
             See HELP ISDN ATTRIBUTES for details on attributes.
CR     item: CPX resource 'type-n' where 'n' [1..999]
TUP    item: A single TCP or UDP port mnemonic or decimal value [1..65535]
             or two TCP or UDP ports mnemonic or decimal value [0..65535]
             separated by ':' (colon).
             See HELP INTERNET PORTS for the list of TCP/UDP ports.
IPT    item: An Internet protocol mnemonic or decimal value [0..255].
             See HELP INTERNET PROTOCOLS for the list of Internet protocols.
MAC    item: A single MAC address in the form XX-XX-XX-XX-XX-XX.
SAP    item: A single SAP values in the hexadecimal form XX.
H323ID item: String of max. 32 ASCII printable characters.
             Spaces are allowed. Strings holding spaces must be written between
             quotation marks. (E.g.: "12aDEF 1bx4")
CLNUM  item: Sequence of two values separated by ',' (comma) e.g.:
             'num,clusname', where: 'num' is the number i.e. a sequence of max
             20 characters in the range [0..9, *] optionally preceded by TON
             [u, i, n, o, s, h, c] and/or NP [x, e, d, t, l, p] attributes,
             'clusname' is the CTI cluster name. (E.g. ne123*,my_clus)
             See HELP ISDN ATTRIBUTES for details on attributes.
             See HELP ISDN VALUES for details on meaning of special values.
INR    item: Sequence of four values separated by ',' (comma) e.g.:
             'num,chk,cd,cg', where: 'num' is the number i.e. a sequence
             of max. 20 characters in the range [0..9, ?, *, #] optionally
             preceded by TON [u, i, n, o, s, h, c] and/or NP [x, e, d, t, l, p]
             attributes, 'chk' is the field to be used by CTIR for the match
             [CDI, CGI, SDI, SGI], 'cd' is the called number i.e. a sequence of
             max. 20 characters in the range [0..9, *, #, 'macro'], 'cg' is the
             calling number i.e. a sequence of max. 20 characters in the range
             [0..9, *, #, 'macro'].
             Both 'cd' and 'cg' can be 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. i55*,cgi,'CDI.S2',neq21).
             See HELP ISDN ATTRIBUTES for details on attributes.
             See HELP ISDN VALUES for details on meaning of special values.
IN2T   item: Sequence of two values separated by ',' (comma) e.g.:
             'num,text', where: 'num' is the number i.e. a sequence
             of max. 20 characters in the range [0..9, ?, *, #] optionally
             preceded by TON [u, i, n, o, s, h, c] and/or NP [x, e, d, t, l, p]
             attributes, 'text' is a string of max. 64 ASCII printable
             characters.
             Spaces are allowed. Items whith a text holding spaces must be
             written between quotation marks. (E.g.: "i555,my free text")
             See HELP ISDN ATTRIBUTES for details on attributes.
             See HELP ISDN VALUES for details on meaning of special values.
TXT    item: String of max. 64 ASCII printable characters.
             Spaces are allowed. Items whith a text holding spaces must be
             written between quotation marks. (E.g.: "my free text")
OPC    item: Sequence of three values separated by ',' (comma) e.g.: 'a,u,i',
             where: 'a' is the AbilisId i.e. max. 32 characters in the range
             ['0'..'9', 'A'..'Z', 'a'..'z'] or "*" or "(Local)", 'u' is
             the User name, i.e. max. 32 ASCII characters or "*", 'i' is the
             Interface type [* or ANY, CTIP, CLUS, SIP, IAX]
             (E.g. myAbilis,myUser,CTIP).
ICAUSE item: Sequence of three values separated by ',' (comma) e.g.: 'l,r,s',
             where: 'l' is the ISDN location code, i.e. an hexadecimal value in
             the range [00..FF] or ISDN location mnemonic in the range [U, LPN,
             LN, TN, RN, RPN, INTL, BI] or "INT" or "EXT" or "ANY", 'r' is
             the ISDN reason code, i.e. an hexadecimal value or two hexadecimal
             values separated by ':' (colon) in the range [00..FF], 's' is the
             connection state/phase, i.e. [CREQ, ALERT, ANY]. The connection
             state/phase is optional and by default it is set to "CREQ".
             (E.g. EXT,91,ANY or 80,90:91,CREQ).
RU     item: Expression with Lists names and logical operators (AND, OR, NOT),
             separeted by '.' (dot) (E.g.: List1.AND.List2)
MR     item: Expression with Lists names and logical operators (AND, OR, NOT),
             separeted by '.' (dot) (E.g.: List1.AND.List2)

5.11.6. C LIST (Clear List item)

The command c list deletes items from a list.

[12:43:19] ABILIS_CPX:c list:home 0234865852

COMMAND EXECUTED

[12:53:25] ABILIS_CPX:d list:home

LIST:Home                 - IN
     List_of_Home_numbers
     0269548947

The following command displays the syntax:

[12:43:19] ABILIS_CPX:c list: ?

C LIST:Name Item                        Remove an item from a list

Name            List name or List identifier                        <Mandatory>
Item            Item value               <Mandatory, Optional only for RU list>

C LIST:Name Order                       Remove an item from a DN list

Name            List name or List identifier                        <Mandatory>
Order           Order value of the DN item                          <Mandatory>

5.11.7. D ITEM

This command shows the elements table. Lists table can store up to 2000 definitions (indexed from 1 to 2000).

Elements identifiers are sequential and they run only into the system, so they can't be used by the user in no one of the list manipulation commands.

If the elements table is empty, the message “NO ITEMS DEFINED” is generated.

[12:43:19] ABILIS_CPX:d item

Last change: 30/11/2010 15:28:28 CET

List-Number:4   Items-Number:6    Used-Resources:311    Free-Resources:399049

Item List Type   Value
-------------------------------------------------------------------------------
   1    2     IN 601
   2    3     IN 08351825431
   3    3     IN 200
   4    3     IN 901
   5    4     IN 0234865852
   6    4     IN 0269548947
-------------------------------------------------------------------------------
IN:ISDN Numbers,               IS:ISDN Sub Addresses,      EC:CTI Clusters,
XN:X25 NUAs,                   XU:X25 UDFs,                IP:IP Addresses,
IR:IP Addresses Ranges,        DN:Dialing Numbers,         CR:CPX resources,
TUP:TCP and UDP ports ranges,  IPT:Internet Protocols,     MAC:MAC Addresses,
SAP:SAP values,                H323ID:H.323 ID aliases,    CLNUM:CTICL Numbers,
INR:ISDN Numbers Replacements, IN2T:ISDN Numbers to Text,  TXT:Text,
OPC:OPC Unique User IDs,       ICAUSE:ISDN Cause codes,
RU:Rules,                      MR:Master Rules.
-------------------------------------------------------------------------------

5.11.8. Type of lists

5.11.8.1. INR lists

INR lists are special kind of lists with four fields: Number/Chk/CD/CG. These lists are useful to generate speed dials.They can be used:

  • in input fields (CDI, CGI, SDI, SGI) (in this case the match is done against the Number field);

  • in output fieds to change CD or CG numbers, when the called number of the original call matches the Number field.

5.11.8.1.1. Example 1 - speed dials with sip user

Use the following command to create an inr list called 'inr':

[13:46:24] ABILIS_CPX:list create inr inr inr_test

COMMAND EXECUTED

[13:47:59] ABILIS_CPX:d list

- Not Saved (SAVE CONF) -------------------------------------------------------
Last change: 14/12/2010 13:47:59 CET

List-Number:9   Items-Number:19   Used-Resources:654    Free-Resources:398706

 Id Name             Type   Description                   Edt St Ref First Numb
-------------------------------------------------------------------------------
  1 ISDN_numbers     IN     list                                   0     1    1
  2 Nodo             IN     Numeri_del_nodo                        1     2    4
  8 NumIax           IN     Automatically_generated_CT...     R    0     0    0
  6 NumSip           IN     Automatically_generated_CT...     R    0     9    4
  5 SgiAllowed       IS     Sub-Adresses_diretti_al_CPX            1     7    2
  7 OkTelnet         IR     Reti_Abilitate_al_Telnet               1    13    6
  3 PPP_list         CR     List_of_PPP_Resources                  1     6    1
  4 NumClus          CLNUM  Automatically_generated_CT...     R    0     0    0
  9 inr              INR    inr_test                               0    19    1
-------------------------------------------------------------------------------
IN:ISDN Numbers,               IS:ISDN Sub Addresses,      EC:CTI Clusters,
XN:X25 NUAs,                   XU:X25 UDFs,                IP:IP Addresses,
IR:IP Addresses Ranges,        DN:Dialing Numbers,         CR:CPX resources,
TUP:TCP and UDP ports ranges,  IPT:Internet Protocols,     MAC:MAC Addresses,
SAP:SAP values,                H323ID:H.323 ID aliases,    CLNUM:CTICL Numbers,
INR:ISDN Numbers Replacements, IN2T:ISDN Numbers to Text,  TXT:Text,
OPC:OPC Unique User IDs,       ICAUSE:ISDN Cause codes,
RU:Rules,                      MR:Master Rules.
-------------------------------------------------------------------------------

Now add an item to the list, indicating that it will be used to check the CDI number (Chk:CDI).

[13:55:42] ABILIS_CPX:a list:inr 1,cdi,111,110

COMMAND EXECUTED

[13:56:19] ABILIS_CPX:d list:inr

- Not Saved (SAVE CONF) -------------------------------------------------------
LIST:inr                  - INR
     inr_test
   Number                 Chk CD                       CG
   1                      CDI 111                      110

Now create a routing to manage calls between sip phones:

[13:58:55] ABILIS_CPX:a ctir pr:22 descr:test_inr type:stos cdi:'inr' cdo:''inr'' cgo:''inr'' sp:64000 spout:64000 coders:g.711 codersout:g.711

COMMAND EXECUTED

[14:02:15] ABILIS_CPX:d ctire pr:22

- Not Saved (SAVE CONF), Not Refreshed (INIT) ---------------------------------
Last change: 14/12/2010 14:02:15 CET

-------------------------------------------------------------------------------
PR:22  DESCR:
   ACT:YES            EDT:NO
   TYPE:StoS          POI:CtiSip                   POO:CtiSip   EEC:NO
   NEXT:NO            CDI:'inr'                    CDO:''inr''
   LAST:ANY           CGI:*                        CGO:''inr''
   T301:Dft           SDI:*                        SDO:*
   UDT:NO             SGI:*                        SGO:*
   LCS:NO   LCST:Sys  RGI:*                        RGO:*
   FMRLY:Sys    FAXSP:AUTO  MODSP:AUTO  FMLVL:Sys    FMDJ:Sys   FMMJ:Sys
   SP:64000     SC:Sys      DJ:Sys      MJ:Sys                  ECM:Sys
   CODERS:G.711
   SPOUT:64000  SCOUT:*     DJOUT:*     MJOUT:*
   CODERSOUT:G.711
   TI1:ALL,00:00-23:59                TI2:#  TI3:#  TI4:#  TI5:#

The following is the log of a call from number 10 calling number 1. The log shows that the called number is 111 even if the real called number is 1. Besides the calling number has been changed because it has become 110.

[14:06:43] ABILIS_CPX:start ldme

Current Local Time: Tuesday 14/12/2010 14:06:49 (UTC+1.00)

Start Debug Log content real-time logging (Type CTRL+C + ENTER to stop):

Date   Time   Resource   Ses   Event          Parameters
------ ------ ---------- ----- -------------- ---------------------------------
141210 140750 CtiSip        10 E-CallRx       CH:16 BC:Speech CD:ue1 CG:uxq10
                                              USER:test
141210 140750 CtiSip        10 E-Route Match  PR:22
141210 140750 CtiSip        10 E-CallTx       BC:Speech TY:StoS CD:ue111
                                              CG:uxq110
141210 140750 CtiSip        10 E-NumComplete  CDI:ue1 CDO:ue111
141210 140750 CtiSip        10 E-AlertRx      CH:17 USER:test2
141210 140750 CtiSip        10 E-AlertTx      CH:16
141210 140802 CtiSip        10 E-ConnRx       CH:17
141210 140802 CtiSip        10 E-ConnTx       CH:16
141210 140806 CtiSip        10 E-DiscRx       CH:17 CAUSE:80 9F (U, Normal,
                                              unspecified) USER:test2
141210 140806 CtiSip        10 E-DiscConfTx   CH:17
141210 140806 CtiSip        10 E-DiscTx       CH:16 CAUSE:80 9F (U, Normal,
                                              unspecified) USER:test

Displaying the active connections shows the same:

[14:08:13] ABILIS_CPX:d ctice

-------------------------------------------------------------------------------
ID:11   TYPE:StoS  ST:ALERT   PR:22           STI:07/00  STO:04/00  EEC:NO
        START:14/12/2010 14:11:40        DURATION:0          REMAINING:-
      POI:Sip      GI:#    SR:#        POO:Sip      GO:#    DS:#
      CDI:ue1                          CDO:ue111
      CGI:uxq10                        CGO:uxq110
      SDI:                             SDO:
      SGI:                             SGO:
      RGI:                             RGO:
      CODER:Unk      SP:0      FMRLY:NO     FAXSP:0      DJ:0       FMDJ:0
                     BW:0      SC:NO        MODSP:0      MJ:0       FMMJ:0

Another possibility is to indicate the field of inr list to be used in a certain cti routing:

[14:18:51] ABILIS_CPX:s ctir pr:22 cdo:''inr.cg'' cgo:''inr.cd''

COMMAND EXECUTED

[14:19:21] ABILIS_CPX:d ctire pr:22

- Not Saved (SAVE CONF), Not Refreshed (INIT) ---------------------------------
Last change: 14/12/2010 14:19:21 CET

-------------------------------------------------------------------------------
PR:22  DESCR:test_sip
   ACT:YES            EDT:NO
   TYPE:StoS          POI:CtiSip                   POO:CtiSip   EEC:NO
   NEXT:NO            CDI:'inr'                    CDO:''inr.CG''
   LAST:ANY           CGI:*                        CGO:''inr.CD''
   T301:Dft           SDI:*                        SDO:*
   UDT:NO             SGI:*                        SGO:*
   LCS:NO   LCST:Sys  RGI:*                        RGO:*
   FMRLY:Sys    FAXSP:AUTO  MODSP:AUTO  FMLVL:Sys    FMDJ:Sys   FMMJ:Sys
   SP:64000     SC:Sys      DJ:Sys      MJ:Sys                  ECM:Sys
   CODERS:G.711
   SPOUT:64000  SCOUT:*     DJOUT:*     MJOUT:*
   CODERSOUT:G.711
   TI1:ALL,00:00-23:59                TI2:#  TI3:#  TI4:#  TI5:#

In this case, CDO is equal to CG item of the inr list and CGO is equal to CD item of the same list. The following is the log of the speed dial:

[14:20:56] ABILIS_CPX:start ldme

Current Local Time: Tuesday 14/12/2010 14:21:00 (UTC+1.00)

Start Debug Log content real-time logging (Type CTRL+C + ENTER to stop):

Date   Time   Resource   Ses   Event          Parameters
------ ------ ---------- ----- -------------- ---------------------------------
141210 142105 CtiSip        14 E-CallRx       CH:24 BC:Speech CD:ue1 CG:uxq10
                                              USER:test
141210 142105 CtiSip        14 E-Route Match  PR:22
141210 142105 CtiSip        14 E-CallTx       BC:Speech TY:StoS CD:ue110
                                              CG:uxay111
141210 142105 CtiSip        14 E-NumComplete  CDI:ue1 CDO:ue110
141210 142105 CtiSip        14 E-AlertRx      CH:25 USER:test2
141210 142105 CtiSip        14 E-AlertTx      CH:24
141210 142110 CtiSip        14 E-ConnRx       CH:25
141210 142110 CtiSip        14 E-ConnTx       CH:24
141210 142111 CtiSip        14 E-DiscRx       CH:24 CAUSE:80 9F (U, Normal,
                                              unspecified) USER:test
141210 142111 CtiSip        14 E-DiscConfTx   CH:24
141210 142111 CtiSip        14 E-DiscTx       CH:25 CAUSE:80 9F (U, Normal,
                                              unspecified) USER:test2

The cti connection shows the same information in a different way:

[14:21:16] ABILIS_CPX:d ctice

-------------------------------------------------------------------------------
ID:15   TYPE:StoS  ST:ALERT   PR:22           STI:07/00  STO:04/00  EEC:NO
        START:14/12/2010 14:21:25        DURATION:0          REMAINING:-
      POI:Sip      GI:#    SR:#        POO:Sip      GO:#    DS:#
      CDI:ue1                          CDO:ue110
      CGI:uxq10                        CGO:uxay111
      SDI:                             SDO:
      SGI:                             SGO:
      RGI:                             RGO:
      CODER:Unk      SP:0      FMRLY:NO     FAXSP:0      DJ:0       FMDJ:0
                     BW:0      SC:NO        MODSP:0      MJ:0       FMMJ:0