SCCP address structure

The SCCP address structure represents a called party (destination) address and a calling party (originating) address. The following declarations are found in the sccpapi.h file:

typedef struct Tcap_Sp_Addr /* SCCP Address                 */
{
  U8  presind;             /* presence indicator            */
  U8  spare1;              /* spare for alignment           */
  S16 swType;              /* switch type (ANSI/ITU-T)      */
  U8  subsystemInd;        /* subsystem indicator           */
  U8  pointCodeInd;        /* point code indicator          */
  U8  glTitleInd;          /* global title indicator        */
  U8  routingInd;          /* routing indicator             */
  U8  natIntInd;           /* national/international ind.   */
  U8  subsystem;           /* subsystem number              */
  U32 pointCode;           /* point code                    */
  U8  glTransType;         /* global title translation type */
  U8  encoding;            /* address encoding scheme       */
  U8  numPlan;             /* numbering plan                */
  U8  natAddrInd;          /* nature of address indicator   */
  U8  spare2;              /* spare for alignment           */
  U8  glTitleLen;          /* length of global title        */
  U8  glTitle[MAX_GLT_SZ]; /* Global Title                  */
} SccpAddr;

 

The fields in the sccpAddr structure are encoded as follows:

Field

Value

presind

0 = NOT_PRESENT   Field not present in message

1 = PRESENT   Field present in message

swtype

1 = SW_ITU   ITU-T address

2 = SW_ANSI   ANSI address

subsystemInd

0x00 = SUBSYS_NONE   No subsystem number in address

0x01 = SUBSYS_INC   Address contains subsystem number

pointCodeInd

0x00 = PTCODE_NONE   No point code in address

0x01 = PTCODE_INC   Address contains point code

glTitleInd

0x00 = GLT_NONE   No global title in address

0x01 = GLT_TT_NP_E   ANSI global title includes translation type, numbering plan and encoding

0x02 = GLT_TT   ANSI global title includes translation type only

0x01 = GLT_ITU_FMT1   ITU global title includes encoding and nature of address

0x02 = GLT_ITU_FMT2   ITU global title includes translation type only

0x03 = GLT_ITU_FMT3   ITU global title includes translation type, numbering plan, and encoding

0x04 = GLT_ITU_FMT4   ITU global title includes translation type, numbering plan, encoding, and nature of address

routingInd

0x00 = ROUTE_GLT   Route by global title only

0x01 = ROUTE_PC_SN   Route by point code and subsystem number

natIntInd

0x00 = ADDRIND_INT   International address indicator

0x01 = ADDRIND_NAT   National address indicator

subsystem

0x00 = SUBSYS_NONE   Subsystem unknown or not used

0x01 = SUBSYS_SCCPMGMT   SCCP management subsystem

0x03 = SUBSYS_ISUP   ISUP subsystem

0x04 = SUBSYS_OMAP   Operations, maintenance, and administration

0x05 = SUBSYS_MAP   Mobile application part

0x06 = SUBSYS_HLR   Home location register

0x07 = SUBSYS_VLR   Visitor location register

0x08 = SUBSYS_MSC   Mobile switching center

0x09 = SUBSYS_EIR   Equipment identification register

0x0A = SUBSYS_AUTH   Authentication center

Other values in range 0x0B - 0xFF are also allowed.

pointCode

A 32 bit quantity of which the least significant 24 bits (ANSI) or the least significant 14 bits (ITU-T) are used. For example, an ANSI point code represented by the decimal string 1.4.7 is encoded as hex 0x00010407. If a point code is not included in the called address, the default point code is used.

glTransType

Translation type when the global title indicator field (glTitleInd) specifies that the global title includes translation type. Any 8-bit value [0x00 - 0xFF] is allowed.

encoding

Specifies whether the number of digits in the addrSig field is even or odd. If the number of digits is even, the last octet contains two digits. If the number of digits is odd, the last octet contains only one digit and the most significant four bits are not used.

0x00 = ENC_UNKNOWN   Encoding unknown

0x01 = ENC_BCD_ODD   BCD, odd number of digits

0x02 = ENC_BCD_EVEN   BCD, even number of digits

numPlan

0x00 = NP_UNK   Unknown

0x01 = NP_ISDN   ISDN/telephony - E.164/E.163

0x02 = NP_TEL   Telephony numbering - E.163

0x03 = NP_DATA   Data numbering - X.121

0x04 = NP_TELEX   Telex numbering - Recommendation F.69

0x05 = NP_MARITIME   Maritime mobile numbering

0x06 = NP_LANDMOB   Land mobile numbering

0x07 = NP_ISDNMOB   ISDN/mobile numbering

0x08 = NP_NATIONAL   National standard numbering

0x09 = NP_PRIVATE   Private numbering

0x0f = NP_EXT   Reserved for extension

natAddrInd

0x01 = NATIND_SUBS   Subscriber number

0x03 = NATIND_NATL   National number

0x04 = NATIND_INTNATL   International number

glTitleLen

Contains the byte length of the encoded global title. For example, a 10-digit global title, after BCD encoding, would be five bytes long, so glTitleLen would be set to five bytes.

glTitle

Encoded global title.