Structured Trunk Group Value

Currently, Asterisk pushes the trunk group as an integer to SMG. The value is taken from the extensions.conf.

We define a new class of trunk group number range for mapping additional information into what was the trunk group number. In the structure we place information into bitfields in the integer value. We propose placing Nature of Address indicator, number plan indicator, internal network indicator, and t/g info into the structured t/g integer. This will allow creation of routing information determined in Asterisk routing and used by the ss7boost ISUP engine. Furthermore, no changes are needed to Asterisk, chan_woomera, or sangoma_mgd since they transparently pass the configued gN value assigned in extensions.conf.

The structure is defined as:
typedef struct
{
        unsigned int    tg      :4 PACKED;
        unsigned int    spare0  :4 PACKED;
        unsigned int    nadi    :7 PACKED;
        unsigned int    spare1  :1 PACKED;
        unsigned int    spare2  :4 PACKED;
        unsigned int    numplan :3 PACKED;
        unsigned int    inni    :1 PACKED;
        unsigned int    spare3  :8 PACKED;
} t_structured_tg;


The structured value for a typical national application:

trunk group: 1
Nature of Address: 3 (national significant number)
number plan: 1 (E.164)
internal network number routing allowed: no is the value 1

Putting the information into the structured format:
0x00000001 - trunk group
0x00000300 - Nature of Address
0x00100000 - number plan
0x00800000 - internal network number routing not allowed
----------------- (bitwise ORing)
0x00900301 which is decimal 9437953.

The structured t/g value is what actually goes in to extensions.conf:
exten => _2XXX.,n,Dial(WOOMERA/g9437953/${EXTEN}|60|o)

Another common value for a national applcation is:

trunk group: 1
Nature of Address: 1 (subscriber number - national use)
number plan: 1 (E.164)
internal network number routing allowed: no is the value 1

Putting the information into the structured format:
0x00000001 - trunk group
0x00000100 - Nature of Address
0x00100000 - number plan
0x00800000 - internal network number routing not allowed
----------------- (bitwise ORing)
0x00900101 which is decimal 9437441.

The international value is:

trunk group: 1
Nature of Address: 4 (international)
number plan: 1 (E.164)
internal network number routing allowed: no is the value 1

Putting the information into the structured format:
0x00000001 - trunk group
0x00000400 - Nature of Address
0x00100000 - number plan
0x00800000 - internal network number routing not allowed
----------------- (bitwise ORing)
0x00900401 which is decimal 9438209.

Created by: mike last modification: Wednesday 14 of March, 2007 [20:40:53 UTC] by mike

The original document is available at http://www.ss7box.com/tiki-index.php?page=Structured%20Trunk%20Group%20Value