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. |