Tokens

This topic specifies the format of tokens, or fields, found within the information elements that make up the SS7 ISUP events passed between the application and the ISUP layer.

Token

Type

U8

A quantity specified in 8 bits:

typedef struct tknU8  /* token U8        */
{
    U8  pres;         /* present flag    */
    U8  val;          /* value           */
    U16 spare1;       /* for alignment   */
} TknU8;

U16

A quantity specified in 16 bits:

typedef struct tknU16   /* token U16     */
{
    U8  pres;           /* present flag  */
    U8  spare1;         /* for alignment */
    U16 val;            /* value         */
} TknU16;

U32

A quantity specified in 32-bits:

typedef struct tknU32   /* token U32     */
{
    U8  pres;           /* present flag  */
    U8  spare1;         /* for alignment */
    U16 spare2;         /* for alignment */
    U32 val;            /* value         */
} TknU32;

String

A variable length sequence of octets such as an address (sequence of digits):

typedef struct tknStr     /* token string   */
{
    U8  pres;             /* present flag   */
    U8  len;              /* length         */
    U16 spare1;           /* for alignment  */
    U8  val[(MF_SIZE_TKNSTR + 3) & 0xffc];
                          /* string value   */
} TknStr;

Extended

The presence indicator for the entire token, a type field, a length field, and the data itself. This token exists only in the extended element structure.

typedef struct _siTknExt  /* token string   */
{
    U8 pres;              /* present flag   */
    U8 type;              /* type value     */
    U8 len;               /* length         */
    U8 spare1;            /* for alignment  */
    U8 val[MF_SIZE_EXTTKN];
} TknExt;

The type, len, and val fields are encoded inside the ISUP packet after all known optional parameters.