Previous PageTable Of ContentsIndexNext Page



3 Programming Model

3.1 Introduction

3.2 Supplementary Services in ACU Messages

3.3 Components of ACU Messages

3.3.1 Components of the ACU Data Buffer

3.3.2 Components of the Extended Data Area

3.4 Contents of Supplementary Service Extended Data Structures

3.4.1 The Operation Id

3.4.2 The Operation Type Identifier

3.5 Specifying Supplementary Service Extended Data Structures

    1. It finds the beginning of the extended data area of the ACU message buffer.

    2. In this area, it fills the structure for a supplementary service.

    3. It finds the end of the structure just filled, adds another supplementary service substructure if necessary, and so on.

3.5.1 Initializing the Extended Data Area

    1. The application completes the construction of the fixed and variable length argument areas of the ACU data buffer.

    1. The application declares the p_ext_data pointer. This pointer will indicate the beginning of the extended data structure currently being filled.

    1. If the supplementary service specification is to be sent with an ACU_FACILITY_RQ primitive, the application sets the Acu_facility_code macro to ACU_FAC_EXT_SERVICE to indicate that the extended data area is to be used.

    1. The application sets the macro, Acu_ext_descr_offset, to indicate the beginning of the extended data area of the buffer. Each fixed data structure contains a macro that specifies the start of the extended data area.

3.5.2 Filling Extended Data Structures For Supplementary Services

    1. The application calls the macro Acu_ext_ss_build_begin(opid, optype), to initialize a new supplementary service data structure.

    1. The application next sets a pointer to the appropriate data structure, so it equals p_ext_data.

    1. The application now fills the extended data structure for the service.

    1. The application calculates the end of the supplementary services data structure.

    1. Lastly, the application calls Acu_ext_ss_build_end to indicate that the data structure is built:

    1. If there are additional supplementary service data structures to be added, steps 1 through 5 are repeated for each one.

3.5.3 Supplementary Service Specification Code Sample

3.6 Retrieving Supplementary Service Information

    1. It finds the beginning of the extended data area of the ACU message buffer, and determines whether there are any extended data structures in it.

    2. If extended data structures are present, it reads the extended data structure header of the first extended data structure to determine if it is a supplementary service structure or not.

    3. If the structure is a supplementary service structure, the application reads the operation type and ID in the service header to determine what data to expect.

    4. It sets a pointer to the first byte of the data, and reads it in.

    5. It reads the size of the structure from the extended data structure header, and moves the pointer.

    6. It repeats steps 2 through 5 for each extended data structure in the ACU message buffer.

3.6.1 Identifying Supplementary Service Extended Data Structures

    1. Checks the macro Acu_ext_descr_nb to determine how many (if any) extended data structures there are in the buffer.

    2. Sets p_ext_data to the first data character of the extended data structure buffer.

    1. Determines whether or not an extended data structure is a supplementary service structure, by checking the macro Acu_ext_id. Its value (stored in the extended data structure header of the structure) should be ACU_EXT_SERVICES.

3.6.2 Reading a Supplementary Service Extended Data Structure

    1. Reads the values of Acu_ext_ss_op_type and Acu_ext_ss_op_id to determine the operation id and type of the supplementary service data structure. This determines which data structure to expect.

    1. Uses p_ext_data to pick up the address of the extended structure.

    2. Reads the information in the structure.

    3. Resets p_ext_data to the end of the structure:

    1. Repeats steps 1 through 4 Acu_ext_descr_nb times.

3.6.3 Supplementary Service Retrieval Code Sample

3.7 Combining ACU Primitives and Supplementary Services Structures

3.7.1 Tightly Coupled Services

3.7.2 Loosely Coupled Services

3.7.3 Connection-Independent Services

3.8 Extended Data Structure Substructures

3.9 The acu_ss_reject Extended Data Structure

3.10 Specifying the Q.SIG Node Address


Natural MicroSystems, Inc.
100 Crossing Boulevard
Framingham, MA 01702

Contact Developer Support

Previous PageTable Of ContentsIndexNext Page