Creating transparent IEs

The application supplies the data (in hexadecimal format) for the transparent IEs in a buffer referenced in one of the standard ACU messages. The following macros refer to the transparent IE buffer:

Macro

Description

acumessage_tsp_ie_list_size

Size of transparent IE buffer, in bytes. acumessage is a standard ACU message (for example ACU_CONN_RQ). For example, Acu_conn_rq_tsp_ie_list_size.

Do not include a null terminator when calculating this value.

acumessage_a_tsp_ie_list

Pointer to transparent IE buffer.

Do not include a null terminator in this string.


To use transparent IEs, the application must disable the stack's syntax checking mechanism. To do this, set the NS_IE_RELAY_BEHAVIOUR bit in the ns_behaviour substructure referenced in the ISDN_PROTOCOL_PARMS_Q931CC structure passed to isdnStartProtocol. By default, this bit is 0. The following code fragment shows how to set this bit prior to calling isdnStartProtocol:

myStartProtocol()
{
  struct ISDN_PROTOCOL_PARMS_Q931CC parms;
...
  memset(&parms,0,sizeof(ISDN_PROTOCOL_PARMS_Q931CC));
  parms.size = sizeof(ISDN_PROTOCOL_PARMS_Q931CC);
  parms.services_list[0] = ACU_VOICE_SERVICE;
                /* Other services may be added here */
  parms.services_list[1] = ACU_NO_SERVICE;
  parms.ns_behaviour = NS_IE_RELAY_BEHAVIOUR;
...
  isdnStartProtocol (   ctahd, 
            ISDN_PROTOCOL_Q931CC,
            networkoperator,
            country,
            partner,
            SM->nai,
            &parms );          /* Instead of NULL */
...
}

Transparent IE formatting rules

The following rules apply to transparent IE formatting:

Certain information elements are automatically generated by the stack in Q.931 messages. The stack checks to see if any of the transparent IEs sent to it correspond to these information elements. If it finds a transparent IE equivalent for an automatically generated information element, it uses the transparent IE instead. See the following table for a list of IEs automatically generated by the stack.

Name

Applies to variant

bc

All variants

llc

All variants except HKT, NTT, QSI, SWD

hlc

All variants except E10

cause

All variants

chan_id

All variants