By the terms "Elements Lists" we refer to a list of objects, belonging to the same homogenous type, that are identified by the generic term "item".
Within the Abilis CPX, the following element types have been referred as relevant:
For each object type, Abilis CPX offers the possibility to create homogenous lists which can be used by Routers for improving routing performances and/or providing a simple authentication/identification service: accessing specific services can be authorized or denied to users and/or group of users.
Beside the possibility to create objects lists of the above-mentioned type, it is also allowed to arrange more Items lists together and to define criteria to be used for their manipulation (through AND, OR, NOT logical operators). This kind of object is called "Rule".
Therefore, the Elements Lists types provided by the Abilis CPX are:
Mnemonic | List type |
---|---|
IN | List of ISDN numbers |
IS | List of ISDN sub-addresses |
EC | List of EIR Cluster identifiers |
XN | List of X25 NUA |
XU | List of X25 User Data Field |
IP | List of IP addresses |
IR | List of IP group addresses |
DN | List of Dialling numbers |
CP | List of CPX ports |
TUP | List of TCP and UDP ports ranges |
IPT | List of Internet protocols |
MAC | List of MAC addresses |
SAP | List of SAP values |
RU | List of Rules |
MR | List of Master Rules |
The service of the Elements Lists can be used by the Enhanced ISDN Router for accepting and/or refusing calls depending on the source numbers, the sub-addresses and the EIR Cluster identifiers of the incoming call. By the way, it is also possible to define and configure IN, IS, and RU lists type in the "input" fields of the ISDN-EIR routings.
The service of the Elements Lists can be used by the Connection Oriented Router for accepting and/or refusing calls depending on the X.25 NUA and User Data fields of the incoming calls. By the way, it is also possible to define and configure XN, XU and RU lists type in the "input" fields of the SVC routings.
Finally, this service can be used in the IP environment for accepting and/or refusing calls or packets depending on the IP source address, on Internet protocol and on TCP/UDP ports. By the way, it is also possible to define and configure IP lists type, IP addresses group lists (IR type), TCP/UDP ports group lists (TUP type) and Internet protocols lists (IPT type).
Items lists are split in two tables, inside the Abilis CPX: Lists table and Items table.
The first one is used for simple operations such as creating, modifying or deleting an item list, while the last one is used for operation such as inserting, deleting or searching items within lists.
The Lists table can store up to 64 different list definitions, univocally identified within the system by a "name", assigned by the user during its creation.
Lists definition are identified not only by their name, but through a numeric identifier (from 1 to 64). It is automatically chosen by the system among the ones already not in use, and assigned to the list. Lists definitions might not be sequential, the table is not sorted every time a list has been removed. Vacancies are assigned when a new list is going to be created.
The Lists table can be modified while the Abilis CPX is running, without needing to restart it. Modifications made on the Lists table are immediately active.
Commands for configuring and displaying lists are described in the section Commands related to the Items Lists.
The allowed commands are:
LIST CREATEThe following example shows how to display a single list and its elements.
[18:14:08] ABILIS_CPX: D LIST:Local LIST:Local - IN, Allowed_callers_from_local_area 0038* 0038123123123 0376396967 064556 123456
This one shows how to display all the lists and their current elements:
[18:14:08] ABILIS_CPX: D LIST:A LIST:Disabled - IN, Temporary_disabled_callers 0376399495 LIST:Far - IN, Allowed_callers_from_different_areas 0376* 03383223124 0338959456 LIST:Local - IN, Allowed_callers_from_local_area 0038* 0038123123123 0376396967 0644556 123456 LIST:Special - IS, Special_servicee_validation LIST:Callers - RU, Full_allowed_callers Local.OR.Far.AND.NOT.Disabled LIST:D_Numbers - DN, Dialling_numbers Order DialingNumber MaxConn Nrty 1 0376366128 2 NOMAX 2 5557893 2 NOMAX 3 3383223444 2 5 LIST:IpServices - TUP, ssh(22) telnet(23) snmp(161) rip(520) LIST:IpProtocol - IPT, tcp udp ospf
This example shows how to display the Lists table.
[18:14:08] ABILIS_CPX: D LIST List-Number:8 Items-Number:20 Used-Resources:468 Free-Resources:20012 Id Name Type Description Ref First Numb ------------------------------------------------------------------------------- 2 Disabled IN Temporary_disabled_callers 0 4 1 3 Far IN Allowed_callers_from_different_... 0 5 3 6 Local IN Allowed_callers_from_local_area 0 15 5 7 Special IS Special_servicee_validation 0 0 0 8 Callers RU Full_allowed_callers 0 20 1 1 D_Numbers DN Dialling_numbers 0 1 3 5 IpServices TUP 0 11 4 4 IpProtocol IPT 0 8 3 ------------------------------------------------------------------------------- IN:ISDN Numbers, IS:ISDN Sub Addresses, EC:EIR Clusters, XN:X25 NUAs, XU:X25 UDFs, IP:IP Addresses, IR:IP Addresses Ranges, RU:Rules, MR:Master Rules, DN:Dialling Numbers, CP:CPX Ports, TUP:TCP and UDP ports ranges, IPT:Internet Protocols. -------------------------------------------------------------------------------
As the above mentioned example shows, displayed lists are sorted firstly by their type (as the legend, at the bottom of the table, shows) and then by alphabetical order. The numeric index preceding the list name is its identifier.
List-Number: | Number of lists currently configured |
none | 0 - 64 |
Total number of lists currently configured.
Items-Number: | Number of items currently configured |
none | 0 - 2000 |
Total number of items currently configured.
Used-Resources: | Memory resources used by the Lists service |
none | 0 - 20 Kbytes (in bytes) |
It shows the overall memory size (in bytes) dedicated, in the configuration file, for storing the elements lists currently configured.
In order to not penalize the other services provided by the Abilis CPX and to guarantee that configurations cannot exceed the available resources in the system, the Lists services has been assigned of a 20Kbyte maximum space in the configuration file.
If while lists and/or elements are configured that limit is reached or passed, the current command will be stopped and fail, the following message will be shown: "LIST SERVICE RESOURCES LIMIT REACHED".
Free-Resources: | Memory resources still free to be used by the Lists service |
none | 0 - 20 Kbytes (in bytes) |
It shows the overall memory size (in bytes) still available, in the configuration file, for configurating the elements lists.
In order to not penalize the other services provided by the Abilis CPX and to guarantee that configurations cannot exceed the available resources in the system, the Lists services has been assigned of a 20Kbyte maximum space in the configuration file.
If while lists and/or elements are configured that limit is reached or passed, the current command will be stopped and fail, the following message will be shown: "LIST SERVICE RESOURCES LIMIT REACHED".
Id: | List identifier |
none | 1 - 64 |
The index is assigned by the system to each list when it is created. User can use this value, instead of the List name, for executing some commands on the list. The Lists table can have "Id" vacancies, which will eventually be reused when a new list is going to be created.
Name: | List name |
none | string (max. length 20 characters [0 - 9, a - z, A - Z, _ ]) |
The parameter "Name" is the name the User wants to assign to the List during its creation. Names of the lists can be string with maximum length of 20 characters (alphabetical, numerical, "_" underscore). String cannot start with a numerical character and the terms "A", "And", "Or", "Not" are not allowed. The name can be modified by the command LIST RENAME.
Name completely identifies the list within the system. Two or more lists with the same "Name" cannot be defined. There is no difference between low case and uppercase characters.
For example the following strings "FirstList", "FIRSTLIST", "firstlist" are equivalent.
Type: | List type |
none | IN, IS, EC, XN, XU, IP, IR, RU, MR, DN, CP, TUP, IPT |
"Type" parameter is the type the User wants to assign the list during its creation; it is not modifiable and it can be chosen among the following mnemonics:
Mnemonic | List type |
---|---|
IN | List of ISDN numbers |
IS | List of ISDN sub-addresses |
EC | List of EIR Cluster identifiers |
XN | List of X25 NUA |
XU | List of X25 User Data Field |
IP | List of IP addresses |
IR | List of IP group addresses |
RU | List of Rules |
MR | List of Master Rules |
DN | List of Dialling numbers |
CP | List of CPX ports |
TUP | List of TCP and UDP ports ranges |
IPT | List of Internet protocols |
Description: | Description associated to the list |
none | string (max. length 71 printable characters, spaces are not included) |
List description eventually assigned by the User to the list during its creation. It can also be set and/or modified after creating the list through the command LIST DESCRIPTION. Description is a string of (at maximum) 71 ASCII printable characters, without spaces.
Ref: | Number of references to the list |
0 | 0 - 255 |
It shows the number of references to the list made in the routings: that is the list name has been set as a value in the input fields of the routings.
The list definition can be removed only after its "Ref:" is zero: no routings refer to the List.
First: | Identifier of the first Item stored in the list |
none | 0 - 2000 |
Numeric identifier of the first element of the Item table. If this parameter value is zero, it means the list is empty.
Numb: | Number of items stored in a list |
none | 0 - 2000 |
It shows the overall number of elements contained in the list. If this parameter value is zero, it means the list is empty.
The Item table can contain up to 2000 definitions, distinguished and univocally identified, within the system, by the item value (set by the User) and the belonging list.
The Item table is kept contiguous and sorted by increasing values of identifier of the list which the item belongs to. Each new item added to a list will create a new definition in the Item table, its position will be defined according to the belonging list and its value, so that searching operations will be optimised. In the same way, after one item is removed the table is "compressed" again and, eventually, sorted basing on the remaining definitions.
The Item table can be modified will the Abilis CPX is working, without needing to restart it. Changes are immediately active.
As already mentioned, while the elements lists are configured, it must be kept in mind that in order to not penalize other services provided by the Abilis CPX and to guarantee that configurations don't exceed the available resources in the system, the Lists services has been assigned of a 20Kbyte maximum space in the configuration file. If while lists and/or elements are configured that limit is reached or passed, the current command will be stopped and fail, the following message will be shown: "LIST SERVICE RESOURCES LIMIT REACHED".
Commands for configuring and displaying the items are described in the section Commands related to the Items Lists.
The allowed commands are:
D ITEMThe following example shows how to display the Item table:
[18:14:08] ABILIS_CPX: D ITEM Item List Type Value ------------------------------------------------------------------------------- 1 1 DN 1 0376366128 2 NOMAX 2 1 DN 2 5557893 2 NOMAX 3 1 DN 3 3383223444 2 5 4 2 IN 0376399495 5 3 IN 0376* 6 3 IN 03383223124 7 3 IN 0338959456 8 4 IPT tcp 9 4 IPT udp 10 4 IPT ospf 11 5 TUP ssh(22) 12 5 TUP telnet(23) 13 5 TUP snmp(161) 14 5 TUP rip(520) 15 6 IN 0038* 16 6 IN 0038123123123 17 6 IN 0376396967 18 6 IN 0644556 19 6 IN 123456 20 8 RU Local.OR.Far.AND.NOT.Disabled ------------------------------------------------------------------------------- IN:ISDN Numbers, IS:ISDN Sub Addresses, EC:EIR Clusters, XN:X25 NUAs, XU:X25 UDFs, IP:IP Addresses, IR:IP Addresses Ranges, RU:Rules, MR:Master Rules, DN:Dialling Numbers, CP:CPX Ports, TUP:TCP and UDP ports ranges, IPT:Internet Protocols. -------------------------------------------------------------------------------
Item: | Item identifier |
none | from 1 up to 2000 |
This is the index assigned by the system to each table element. It has a strictly internal value and the user cannot use it in any list managing operation. The index value is, in fact, continuously, modified by the adding, modifying, removing operations, because the Item table is always kept sorted and indexes are sequential: there are no intermediate vacancies.
List: | Identifier of the list the item belongs to |
none | from 1 up to 64 |
It is the identifier of the list that the item belongs to.
Items are increasingly sorted according to the belonging list identifier. Items of the same list are sorted depending on their type and content:
IN type: numbers containing the characters wildcards ('*', '?') always precede the ones without them and they are increasingly sorted depending on the number length (number of digits and/or characters composing the item). Numbers with the same length are sorted alphabetically such as the ones that don't containing the wildcards.
IS type: sub-addresses containing the characters wildcards ('*', '?') always precede the ones without them and they are increasingly sorted depending on the sub-address length (number of digits and/or characters composing the item). Sub-addresses with the same length are sorted alphabetically such as the ones that don't containing the wildcards.
EC type: identifiers of EIR remote cluster are increasingly sorted depending on their numeric identifier in the Table of EIR remote cluster Identifiers.
XN type: NUAs containing wildcards ('*', '?') always precede the ones without them and they are increasingly sorted depending on the NUA length (number of digits and/or characters composing the item). NUAs with the same length are sorted alphabetically such as the ones that don't containing the wildcards.
XU type: UDF fields UDF containing wildcards ('*', '?') always precede the ones without them and they are increasingly sorted depending on the UDF length (number of digits and/or characters composing the item). UDFs with the same length are sorted alphabetically such as the ones that don't containing the wildcards.
IP type: IP addresses are increasingly sorted.
IR type: IP addresses intervals are increasingly sorted depending on the first interval extreme.
RU type: no sorting method is used, because the RU list can contain only one element.
MR type: no sorting method is used, because the MR list can contain only one element.
DN type: dialling numbers are increasingly sorted depending on the assigned order number.
CP type: CPX ports are increasingly sorted.
TUP type: single TCP/UDP ports are increasingly sorted, while TCP/UDP ports ranges are always added at the end of the list.
IPT type: Internet protocols are increasingly sorted.
Type: | Item type |
none | IN, IS, EC, XN, XU, IP, IR, RU, MR, DN, CP, TUP, IPT |
Type of the list that the item belongs to. Consequently this is also the item type.
Value: | Item value |
none | See further |
Real value of the item. Allowed values for each item depend on the list type.
Lists of ISDN numbers: sequences (maximum length 20 characters) are allowed: numeric digits [0 - 9], characters '*' and '?'. The character '*' can be used at the beginning or the end of a sequence, with the meaning of "any digit sequence" (E.g.: '123*' or '321*'). The character '?' can be used within a digit sequence, with the meaning "any digit" (E.g.:'?654' or '1234???').
Lists of ISDN sub-addresses: sequences (maximum length 20 characters) are allowed: numeric digits [0 - 9], alphabetical [a - z, A - Z], characters '*' and '?'. The character '*' can be used at the beginning or the end of a sequence, with the meaning of "any digit or letter sequence" (E.g.: '123Abc*' or 'Abc321*'). The character '?' can be used within a digit sequence, with the meaning "any digit or letter" (E.g.:'?654ABC' or '12AA???').
Lists of EIR Cluster identifiers : sequences (maximum length 8 characters) are allowed: numeric digits [0 - 9], alphabetical [a - z, A - Z], characters '_' (underscore).
Lists of X25 NUA: sequences (maximum length 15 characters) are allowed: numeric digits [0 - 9], characters '*' and '?'. The character '*' can be used at the beginning or the end of a sequence, with the meaning of "any digit sequence" (E.g.: '123*' or '321*'). The character '?' can be used within a digit sequence, with the meaning "any digit" (E.g.:'?654' or '1234???').
Lists of X25 User Data fields X25 : sequences (maximum length 12 characters [1]) are allowed: numeric digits [0 - 9], alphabetical [a - z, A - Z], characters '*' and '?'. The character '*' can be used at the beginning or the end of a sequence, with the meaning of "any digit or letter sequence" (E.g.: '123Abc*' or 'Abc321*'). The character '?' can be used within a digit sequence, with the meaning "any digit or letter" (E.g.:'?654ABC' or '12AA???').
Lists of IP addresses : IP addresses are allowed in the D.D.N (E.g.:'192.168.00.210').
Lists of IP addresses intervals: couples of IP numbers are allowed in the D.D.N. and separated by the character ':' (double colon) (E.g.: '192.168.000.210:192.168.000.250').
Lists of Rules: expressions (maximum length 127 characters) are allowed, they contain a set of name of lists types IN, IS, EC, XN, XU, IP, IR, and logical operators AND, OR, NOT, separated by the character '.' (full stop). Spaces are not allowed and there is no distinction between upper case and low case characters (E.g.: 'List1.AND.List2.OR.List3.AND.NOT.List4').
Lists of Master Rules: expressions (maximum length 127 characters) are allowed, they contain a set of name of lists types IN, IS, EC, XN, XU, IP, IR, and logical operators AND, OR, NOT, separated by the character '.' (full stop). Spaces are not allowed and there is no distinction between upper case and low case characters (E.g.: 'List1.AND.List2.OR.List3.AND.NOT.List4').
Lists of Dialling Numbers: Sequences of four values separated by ',' (comma) are allowed, 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 number, '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,4445521,32,NOMAX').
Lists of CPX ports: CPX port numbers in the range [0 - 999] are allowed (E.g.:'900' or '301').
Lists of TCP/UDP ports: a single TCP or UDP port mnemonic or decimal value in the range [1 - 65535] is allowed or two TCP or UDP ports mnemonic or decimal value in the range [1 - 65535] separated by ':' (colon) (E.g.: '123' or 'telnet' or '1024:65535').
Lists of Internet Protocols: Internet protocol mnemonics or decimal values in the range [1 - 254] are allowed (E.g.: 'tcp' or '6').
[1]X25 User Data fields are always handled by the Abilis CPX starting from the 5th byte. The first four bytes are never modified, however if the incoming call contains less than 4 bytes in that field and, according to the SVC routing settings, Abilis CPX has to add User Data starting from the 5th byte, the vacancies will be filled up with the character 00.