Version

Figure 23. Call Diversion and Call Deflection (ETS 300)



struct acu_ss_act_divert_invoke
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supplementary serv. header */
struct acu_address diverted_to; /* New destination of call */
struct acu_party_num served_user; /* User number to activate the service*/
/* for. If not invoked,then diversion */
/* applies to entire NAI */
struct acu_party_num activating_user; /* User activating the diversion, */
/* if different from the served user */
uchar procedure; /* From ACU_SS_DIVERSION_ constants */
uchar basic_service; /* From ACU_SS_BASIC_SERVICE_ */
pad6 /* constants */
};

struct acu_ss_act_divert_ret_result
{
struct acu_ext_hdr ext_hdr; /* Extended data structure header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
};

struct acu_ss_act_divert_ret_error
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
ushort err_id; /* From ACT_DIVERT_RETERR_ constants */
pad6
};

struct acu_ss_deact_divert_invoke
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supplementary serv. header */
struct acu_party_num served_user; /* User to deactivate diversion for */
struct acu_party_num deactivating_user; /* User initiating the */
/* deactivation */
uchar procedure; /* From ACU_SS_DIVERSION_ constants */
uchar basic_service; /* From ACU_SS_BASIC_SERVICE_ */
pad6 /* constants */
};

struct acu_ss_act_divert_ret_result
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
};

struct acu_ss_act_divert_ret_error
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
ushort err_id; /* From DEACT_DIVERT_RETERR_ constants */
pad6
};

struct acu_ss_enquire_divert_invoke
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
struct acu_party_num served_user; /* Leave uninvoked to get information*/
/* on all served numbers */
struct acu_party_num enquiring_user; /* For remote Q.SIG */
uchar procedure; /* From ACU_SS_DIVERSION_ constants */
uchar basic_service; /* From SS_BASIC_SERVICE_ constants*/
pad6
};

Figure 24. Enquire Diversion (Single Served User)
Figure 25. Enquire Diversion (All Served Users)
struct acu_ss_enquire_divert_ret_result
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
struct op_byte_field remote_enabled;/*ON/OFF indicates remotely enabled*/
struct op_byte_field procedure; /* From SS_DIVERSION_ constants */
struct op_byte_field basic_service; /* From SS_BASIC_SERVICE_ constants*/
struct acu_address diverted_to; /* Address that served user is */
/* forwarded to */
struct acu_party_num served_user; /* Served user's address */
uchar complete; /* ON when no more messages */
/* coming, OFF if more coming */
/* Note: when ON, other fields */
pad7 /* might not be invoked */
};

struct acu_ss_deact_divert_ret_error
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
ushort err_id; /* From DEACT_DIVERT_RETERR_ constants */
pad6
};


struct acu_ss_notify_diversion_invoke
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
struct op_byte_field reason; /* Reason for diversion, from */
/* ACU_SS_DIVERSION_constants */
struct op_byte_field basic_service; /* From ACU_SS_BASIC_SERVICE_... */
/* constants */
struct acu_conn_id related_conn_id; /* Identifies related connection */
struct op_byte_field subscription; /* Subscription option for */
/* presentation */
struct acu_party_num redir_nb; /* At directed-to user, number */
/* doing redirection */
struct acu_party_num orig_redir_nb; /* At directed-to user, first */
/* number doing redirection */
struct acu_party_num nominated_nb; /* Indicates new destination */
/* number to calling user */
struct acu_party_name redir_name; /* Name of user invoking the */
/* diversion */
struct acu_party_name orig_redir_name; /* At diverted-to user, first */
/* name doing redirection */
uchar completed; /* ON = diversion completed, */
/* OFF = diversion in progress */
uchar diversion_count; /* Passed up to application in */
pad6 /* acu_ss_divert_invoke */
};
Figure 26. Notification That an Outbound Call Has Been Diverted

struct acu_ss_divert_ret_result
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
struct op_byte_field reason; /* Reason for diversion, from, */
/* ACU_SS_DIVERSION_... macros */
struct op_byte_field basic_service; /* Applies in CC->APP in some */
/* variants. From BASIC_SERVICE */
/* constants */
struct acu_address calling_party; /* Calling party */
struct acu_address served_user; /* Served user */
struct acu_party_num orig_called; /* Original called number */
struct acu_party_num last_redirecting; /* Last redirecting number */
};
Figure 27. Result of an Inbound Call Which Has Been Diverted

struct acu_ss_reminder_diversion_invoke
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
};
Figure 28. Remind Diversion

Figure 29. Originating, Served User and Diverted-To Nodes


struct acu_ss_divert_invoke
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
struct acu_address divert_to_nb; /* Number of new called party */
struct acu_party_num divert_from_nb; /* No. called in last setup, if */
/*different from orig_called_nb */
struct acu_party_num orig_called_nb; /* Number called in first setup */
struct acu_address calling_nb; /* Calling number in last setup */
struct acu_party_name calling_name; /* Calling name in last setup */
struct acu_party_name redir_name; /* Name of user invoking this */
/* diversion */
struct acu_party_name orig_called_name; /* Name of orig. called party */
uchar procedure; /* From ACU_SS_DIVERSION_... */
/* constants */
uchar diversion_count; /* Passed to app, meaningless */
/* from application */
uchar subscription; /* From SS_SUBSCRIPTION_ */
pad5 /* constants */
};

struct acu_ss_notify_diversion_invoke
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
struct op_byte_field reason; /* Reason for diversion, from */
/* ACU_SS_DIVERSION_ constants */
struct op_byte_field basic_service; /* From ACU_SS_BASIC_SERVICE_ */
/* constants */
struct acu_conn_id related_conn_id;/* Identifies related connection */
struct op_byte_field subscription; /* Subscription option for */
/* presentation */
struct acu_party_num redir_nb; /* At directed-to user, number */
/* doing redirection */
struct acu_party_num orig_redir_nb; /* At directed-to user, first */
/* number doing redirection */
struct acu_party_num nominated_nb; /* Indicates new destination */
/* number to calling user */
struct acu_party_name redir_name; /* Name of user invoking the */
/* diversion */
struct acu_party_name orig_redir_name;/* At diverted-to user, first */
/* name doing redirection */
uchar completed; /* ON = diversion completed, */
/* OFF = diversion in progress */
uchar diversion_count;/* Passed up to application in */
pad6 /* acu_ss_divert_invoke */
};
struct acu_ss_notify_diversion_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; /* Redirection Name */
ushort pres_allowed; /* Indicates whether diverted-to */
pad6 /* number can be presented(ON/OFF) */
};
Figure 31. Q.SIG Diversion Notification

struct acu_ss_divert_ret_error
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
ushort err_id; /* From DIVERT_RETERR constants */
pad6
};


Figure 32. Successful Call Forward - Unconditional

Figure 33. Failed Call Forward - Unconditional

Figure 34. Successful Call Forward - No Response

Figure 35. Unsuccessful Call Forward - No Response

Figure 36. Aborted Call Forward - No Response


struct acu_ss_activate_deflect_invoke
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
struct acu_address deflect_to; /* Address to deflect all calls to */
};

struct acu_ss_activate_deflect_ret_result
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
};
Figure 37. Activation of Call Deflection


struct acu_ss_deflect_ret_result
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
};
Figure 38. Deflect All Calls at Served User

struct acu_ss_deactivate_deflect_invoke
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
};

struct acu_ss_deactivate_deflect_ret_result
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
};


struct acu_ss_deflect_invoke
{
struct acu_ext_hdr ext_hdr; /*Extension header */
struct acu_ss_hdr ss_hdr; /*Supp. services header */
struct acu_address deflect_to; /*Number to direct call to*/
struct acu_ss_association charge_association;/*Optional, used when AOC-E*/
}; /*service has been invoked*/

struct acu_ss_deflect_ret_result
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
};

struct acu_ss_deflect_ret_error
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
ushort err_id; /* From DEFLECT_RETERR_... constants */
pad6
};
Figure 39. Deflect Single Call at Served User

struct acu_ss_notify_diversion_invoke
{
struct acu_ext_hdr ext_hdr; /* Extension header */
struct acu_ss_hdr ss_hdr; /* Supp. services header */
struct op_byte_field reason; /* Reason for diversion, from */
/* ACU_SS_DIVERSION_ constants */
struct op_byte_field basic_service; /* From ACU_SS_BASIC_SERVICE_ */
/* constants */
struct acu_conn_id related_conn_id;/* Identifies related connection */
struct op_byte_field subscription; /* Subscription option for */
/* presentation */
struct acu_party_num redir_nb; /* At directed-to user, number */
/* doing redirection */
struct acu_party_num orig_redir_nb; /* At directed-to user, first */
/* number doing redirection */
struct acu_party_num nominated_nb; /* Indicates new destination */
/* number to calling user */
struct acu_party_name redir_name; /* Name of user invoking the */
/* diversion */
struct acu_party_name orig_redir_name;/* At diverted-to user, first */
/* name doing redirection */
uchar completed; /* ON = diversion completed, */
/* OFF = diversion in progress */
uchar diversion_count;/* Passed up to application in */
pad6 /* acu_ss_divert_invoke */
};
Figure 40. Connection Request At Deflected-to user

Figure 41. Connection Request At Originating User
Version