Version

Figure 16. Explicit Call Transfer (ETS 300)




- If outgoing from the controller, is alerting or has been answered.- If incoming to the controller, has been answered.


struct acu_ss_transfer_invoke
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supplementary services header */
struct acu_party_num redir_nb; /* Number to direct call to */
struct acu_conn_id related_conn; /* Reference to held connection */
struct acu_ss_association charge_association;/* Optional, used when */
/* AOC-E service has been invoked */
ushort call_status; /* From ACU_SS_CALL_STATUS_... */
pad6 /* constants */
};

struct acu_ss_transfer_ret_result
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
};
Figure 19. ECT Explicit Transfer, Success

struct acu_ss_transfer_ret_err
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
ushort err_id; /* From TRANSFER_RETERR_... constants */
pad6
};
Figure 20. ECT Explicit Transfer, Error Returned

struct acu_ss_notify_transfer_invoke
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
struct acu_party_name redir_name; /* Name of new connected party */
struct acu_ss_association charge_id; /* For AOC-E Interworking, Q.SIG*/
/* only */
struct acu_party_num redir_nb; /* Indicates no. of joined party*/
struct acu_conn_id joined_conn_id; /* Applies in APPL->CC direction*/
struct acu_party_subaddress redir_sub; /* Subaddress of joined party */
ushort response_rq; /* If ON, app must respond */
uchar call_status; /* From ACU_SS_CALL_STATUS... */
/* constants */
uchar end_designation;/* Primary/Secondary, for Q.SIG */
pad4 /* only */
};

struct acu_ss_notify_transfer_ret_result
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
struct acu_party_name redir_name; /* Provides name of redirecting */
/* party */
struct acu_party_num redir_nb; /* Provides no. of redirecting */
/* party */
struct acu_party_subaddress redir_sub;/* Provides subaddress of */
}; /* redirecting party */

Figure 21. Transfer Notification Service, ETS 300

Figure 22. Local-Local vs. Local-Remote Configurations
2. The local application notifies both parties, by invoking a Notify Transfer operation for both of them. In each message, the application includes the connection ID of the other party, and the status of the party (for example, Active or Alerting).
In each case, the local stack responds with a Notify Transfer Return Result message, indicating that the Notify Transfer operation was successfully processed.
Note: Notification of both parties should take place back-to-back. 3. When both parties are in the Answered state, the application performs the switching required to connect calls together, using standard calls to the Natural Access Switching service.
If one of the parties was in the Alerting state when the Notify Transfer operation was invoked, and since then has entered the Answered state, the local stack automatically notifies the other party of the state change by invoking a Notify Transfer operation.
2. The local application notifies the remote party, by invoking a Notify Transfer operation. In the message, the application includes the status of the local party to be transferred (for example, Active or Alerting).
The local stack responds with a Notify Transfer Return Result message, indicating that the Notify Transfer operation was successfully processed.
3. When both parties are in the Answered state, the application performs the switching required to connect calls together, using standard calls to the Natural Access Switching service.
If the local party was in the Alerting state when the Notify Transfer operation was invoked, and since then has entered the Answered state, the local stack automatically notifies the remote party of the state change by invoking a Notify Transfer operation.

struct acu_ss_notify_transfer_invoke
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
struct acu_party_name redir_name; /* Name of new connected party */
struct acu_ss_association charge_id; /* For AOC-E Interworking, Q.SIG*/
/* only */
struct acu_party_num redir_nb; /* Indicates no. of joined party*/
struct acu_conn_id joined_conn_id; /* Applies in APPL->CC */
/* direction */
struct acu_party_subaddress redir_sub /* Subaddress of joined party */
ushort response_rq; /* If ON, app must respond */
uchar call_status; /* From ACU_SS_CALL_STATUS... */
/* constants */
uchar end_designation; /* Primary/Secondary, Q.SIG only*/
uchar update; /* If ON, provides additional */
pad3 /* info for last transfer */
};

struct acu_ss_notify_transfer_ret_result
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
struct acu_party_name redir_name; /* Provides name of redirecting*/
/* party */
struct acu_party_num redir_nb; /* Provides no. of redirecting */
/* party */
struct acu_party_subaddress redir_sub; /* Provides subaddress of */
}; /* redirecting party */

Figure 23. Notify Transfer (Q.SIG) - Both Parties Are Remote
Figure 24. Notify Transfer (Q.SIG) - One Party is Local, the Other is Remote


struct acu_ss_tbct_calls_invoke
{
struct u4_acu_ext_hdr ext_hdr; /* extension header */
struct u4_acu_ss_hdr ss_hdr; /* supplementary services header */
struct acu_call_ref call_ref; /* call reference of call to tbct */
struct acu_d_channel_id dCID; /* D Channel Identifier for multiple PRIs*/
};
|
Field
|
Description
|
Must be filled in this request?
|
|---|---|---|
|
call_ref
|
Call Reference of the call to be transferred
|
Yes
|
|
dCID
|
D Channel Identifier
|
Optional (only used in multiple PRI case)
|
struct acu_call_ref
{
ushort value; /* call reference value */
uchar length; /* call reference length */
pad5
};
· ACU_CONN_CO (for outbound side only)
· ACU_PROGRESS_IN
· ACU_CALL_PROC_IN

struct acu_ss_tbct_calls_ret_result
{
struct u4_acu_ext_hdr ext_hdr; /* extension header */
struct u4_acu_ss_hdr ss_hdr; /* supplementary services header */
ulong call_tag; /* call tag identifies the transferred call */
pad4
};
Figure 25. Successful Two B Channel Transfer

The service header to the acu_ss_reject structure contains:
Figure 26. Two B Channel Transfer Rejection
2. If the failure does not require teardown, the application receives either an acu_ss_reject or an acu_ss_tbct_calls_ret_err extended data structure in an ACU_FACILITY_IN message (see Figure 5).The service header to this structure contains:
· Operation ID ACU_OP_ID_TBCT_CALLS
· OpType ACU_OP_TYPE_REJECT or ACU_OP_TYPE_RETERR
The following is a listing of the acu_ss_tbct_calls_reterr extended data structure:
struct acu_ss_tbct_calls_ret_err
{
struct u4_acu_ext_hdr ext_hdr; /* Extension header */
struct u4_acu_ss_hdr ss_hdr; /* Supplementary services header */
ushort err_id; /* From TBCT_RETERR_ constants */
pad6
};
The err_id field contains the error reason from the TBCT_RETERR constants, as shown in the following table:
Figure 27. Two B Channel Transfer Rejection or Error Returned

· Operation ID ACU_OP_ID_TBCT_CALLS
Figure 28. Notification To Controller Service
2. An ACU_NOTIFY_IN message containing an acu_ss_notify_tbct_calls_ret_result extended data structure. This message means that the transferred call has been cleared and the controller should release the call tag value for re-use. The service header to this structure contains:· Operation ID ACU_OP_ID_NOTIFY_TBCT_CALLS
· OpType ACU_OP_TYPE_RETRES
struct acu_ss_notify_tbct_calls_ret_result
{
struct u4_acu_ext_hdr ext_hdr; /* extension header */
struct u4_acu_ss_hdr ss_hdr; /* supplementary services header */
DWORD call_tag; /* call tag identifies the transferred call */
pad4
};
The call_tag field contains an identifier of the transferred call that was cleared.
Version