# Supplementary service extended data structures

Each supplementary service structure contains:

- A unique operation ID stored in the service header.

- An operation type identifier stored in the service header.

- Data relevant to the operation. Each extended data structure is unique to the operation ID / operation type combination.

The structures for each valid combination can be found in isdnacu.h. Each structure is a standard C structure that can be accessed through a pointer cast to the appropriate type.

The following table lists the extended data structures used to specify supplementary services in the extended data area of an ACU message.

Various substructures are used to contain data for fields in these structures. For more information, see Extended data structure substructures overview.

Many fields in these structures are filled using predefined constants. For a list of the constants available for a field, refer to the Constants for isdnacu.h section of this manual.

Extended data structure | Purpose
--- | ---
acu_ss_act_divert_invoke | Request activation of call diversion service
acu_ss_act_divert_ret_error | Error in call diversion service activation request
acu_ss_act_divert_ret_result | Call diversion service activation request successful
acu_ss_activate_deflect_invoke | Request activation of call deflection service
acu_ss_activate_deflect_ret_result | Call deflection service activation request successful
acu_ss_aoc_inform_invoke | Information returned by advice of charge service
acu_ss_aoc_request_invoke | Request activation of advice of charge service
acu_ss_aoc_request_ret_error | Error in advice of charge service activation request
acu_ss_aoc_request_ret_result | Advice of charge service activation request successful
acu_ss_bridge_calls_invoke | Request invocation of bridge calls service
acu_ss_bridge_calls_ret_result | Bridge calls service invocation successful
acu_ss_deact_divert_invoke | Request deactivation of call diversion service
acu_ss_deact_divert_ret_error | Error in call diversion service deactivation request
acu_ss_deact_divert_ret_result | Call diversion service deactivation request successful
acu_ss_deactivate_deflect_invoke | Request deactivation of call deflection service
acu_ss_deactivate_deflect_ret_result | Call deflection service deactivation request successful
acu_ss_deflect_invoke | Request to invoke call deflection for a call
acu_ss_deflect_ret_error | Error in call deflection attempt
acu_ss_deflect_ret_result | Successful call deflection attempt
acu_ss_divert_invoke | Request to forward a call (call diversion)
acu_ss_divert_ret_error | Successful call diversion
acu_ss_divert_ret_result | Error in call diversion attempt
acu_ss_enquire_divert_invoke | Attempt to invoke enquire diversion (enquire the network for users' call diversion service status)
acu_ss_enquire_divert_ret_error | Error in enquire diversion invocation
acu_ss_enquire_divert_ret_result | Successful invocation of enquire diversion service
acu_ss_notify_diversion_invoke | Invoke notify diversion service
acu_ss_notify_diversion_ret_result | Successful notify diversion
acu_ss_notify_hold_invoke | Invoke notify hold service
acu_ss_notify_retrieve_invoke | Invoke notify retrieve service
acu_ss_notify_tbct_calls_ret_result | Successful notify two B channel transfer
acu_ss_notify_transfer_invoke | Invoke notify transfer service
acu_ss_notify_transfer_ret_result | Successful notify transfer invocation
acu_ss_reject | Generic rejection message
acu_ss_reminder_diversion_invoke | Invoke remind diversion service
acu_ss_retrieve_invoke | Invoke call retrieve service
acu_ss_retrieve_ret_result | Successful call retrieve service invocation

## Operation ID

An operation ID is included in each supplementary service operation call. The ID indicates the supplementary service operation to which the structure pertains.

Note: Identification supplementary services (CLIP, CNIP, COLP, COLR, CONP, and CLIR) do not have operation IDs. They are accessed using fields in the basic call control primitives.

The following table lists valid operation IDs:

Supplementary service operation | Operation ID
--- | ---
Invoke bridge calls | ACU_OP_ID_BRIDGE_CALLS
Notify hold | ACU_OP_ID_NOTIFY_HOLD
Notify retrieve | ACU_OP_ID_NOTIFY_RETRIEVE
Explicit call transfer | None
Notify transfer (Q.SIG and DPNSS) | ACU_OP_ID_NOTIFY_TRANSFER
Invoke two B channel transfer | None
Notify two B channel transfer | None
Invoke call diversion | ACU_OP_ID_DIVERSION
Activate diversion | ACU_OP_ID_ACTIVATE_DIVERSION
Deactivate diversion | ACU_OP_ID_DEACTIVATE_DIVERSION
Enquire diversion | ACU_OP_ID_ENQUIRE_DIVERSION
Remind diversion | ACU_OP_ID_REMIND_DIVERSION
Notify diversion (Q.SIG and ETS 300) | ACU_OP_ID_NOTIFY_DIVERSION
Invoke call deflection | ACU_OP_ID_DEFLECTION
Activate deflection | ACU_OP_ID_ACTIVATE_DEFLECTION
Deactivate deflection | ACU_OP_ID_DEACTIVATE_DEFLECTION
Advice of charge request | ACU_OP_ID_AOC_REQUEST
Advice of charge inform | ACU_OP_ID_AOC_INFORM
Calling name identification presentation (CNIP) | None
Connected name identification presentation (CONP) | None
Calling line identification presentation (CLIP) | None
Calling line identification restriction (CLIR) | None
Connected line identification presentation (COLP) | None
Connected line identification restriction (COLR) | None

## Operation type identifier

An operation type identifier (optype) is included in each supplementary service operation call. The optype indicates what the supplementary service message means: why the message is being sent or received.

There are four valid operation types:

Operation type | Meaning
--- | ---
ACU_OP_TYPE_INVOKE | The message is a request to invoke the supplementary service operation.
ACU_OP_TYPE_REJECT | The message indicates rejection of a request to invoke the operation. (See the acu_ss_reject extended data structure.)
Return result (ACU_OP_TYPE_RETRES) | The message indicates successful completion of the operation.
Return error (ACU_OP_TYPE_RETERR) | The message indicates unsuccessful completion of the operation.