Purpose
Confirm the reconnection of the original caller to Blueworx Voice Response, during
or after a call transfer.
Requirement
Optional for all signaling processes. This primitive is one of
the primitives used to implement the call transfer capability. signaling
processes that implement the call transfer capability should specify SL_SIGPROC_CAPABILITY_TRANSFER on
registration.
Library
The signaling interface library (libsl.a).
C syntax
typedef struct {
SL_ID id;
int iseq_no;
pid_t pidCHP;
SL_PRIMITIVE_TYPE Command;
SL_CONFIRM_PARM_ST Parms;
} SL_CONFIRM_ST;
...
typedef union {
...
struct _call_reconnect_confirm_st {
size_t sizetLength;
SL_REPLY_CODE ReplyCode;
SL_CALL_REF slCallReference;
SL_CALL_PROGRESS_TYPE tone_type;
int tone_id;
SL_APPL_INFO_ST slApplInfo;
} call_reconnect_confirm_st;
...
} SL_CONFIRM_PARM_ST;
Description
The SL_CALL_RECONNECT_CNF primitive is
sent by the signaling process to the channel process to confirm the
reconnection of the original caller to Blueworx Voice Response after
an unsuccessful call transfer. After attempting a call transfer which
does not succeed, the original caller is assumed to be on hold, and Blueworx Voice Response is assumed
to no longer be connected. The channel process reconnects the original
caller to Blueworx Voice Response by
sending an SL_CALL_RECONNECT_REQ primitive
to the signaling process. The signaling process then signals to the
network to reconnect the two parties. After the original caller has
been reconnected to Blueworx Voice Response the signaling
process sends back the SL_CALL_RECONNECT_CNF primitive.
If the original caller cannot be reconnected for any reason, the signaling
process sends the SL_CALL_RECONNECT_CNF primitive
with the ReplyCode set to indicate the error.
Corresponding state table action
The SL_CALL_RECONNECT_REQ primitive and
the matching SL_CALL_RECONNECT_CNF correspond
to the ReconnectCall state table action.
See the Blueworx Voice Response for AIX:
Application Development using State Tables information.
Parameters
- id
- Eye-catcher that identifies the structure as containing a request
primitive. Must be set to SLID_CONFIRM_ST.
- iseq_no
- The sequence number of the primitive. Must be set to the field iseq_no from
the SL_CALL_RECONNECT_REQ primitive, to
which this is the reply.
- pidCHP
- The process id of the channel process. This should be set to the pidCHP field
from the corresponding SL_CALL_RECONNECT_REQ primitive.
- Command.id
- The primitive that the structure contains. Must be set to SL_CALL_RECONNECT_CNF.
- Parms.call_reconnect_confirm_st.sizetLength
- Must be set to sizeof(struct _call_reconnect_confirm_st).
- Parms.call_reconnect_confirm_st.ReplyCode
- Specifies whether the call was reconnected successfully or not.
- SL_REPLY_ABORTED
- The signaling process has received an SL_ABORT_REQ primitive
specifying the sequence number of a SL_CALL_RECONNECT_REQ primitive,
for a call which is on hold. If the call is still on hold, or is in
an indeterminate state, the signaling process may reply with SL_REPLY_ABORTED.
The call is in an indeterminate state. If the call has been reconnected,
the signaling process should reply SL_REPLY_SUCCESS.
- SL_REPLY_CALLER_HUNG_UP
- The call was not reconnected successfully, because the signaling
processes detected that the original caller has hung up.
- SL_REPLY_DIAL_TONE
- The call was not reconnected successfully because the signaling
process received unexpected progress information from the network.
The call is in an indeterminate state. Blueworx Voice Response may not
be connected to the original caller.
- SL_REPLY_INTERNAL_ERROR
- An error occurred within the signaling process. The call was not
reconnected successfully.
- SL_REPLY_NOT_IMPLEMENTED
- Should be returned by signaling processes that did not register
support for SL_SIGPROC_CAPABILITY_TRANSFER.
- SL_REPLY_OUTBOUND_LINE_PROBLEM
- The call was not reconnected successfully because of an outbound
line problem. The call is in an indeterminate state. Blueworx Voice Response may not
be connected to the original caller.
- SL_REPLY_SUCCESS
- The call was reconnected successfully. The call is now in the
connected state.
- SL_REPLY_UNEXPECTED_TONE
- The call was not reconnected successfully because the signaling
process received unexpected progress information from the network.
The tone_type and tone_id fields
may contain further information. The call is in an indeterminate state. Blueworx Voice Response may not
be connected to the original caller.
- other values
- Not supported.
- Parms.call_reconnect_confirm_st.slCallReference
- The call reference that identifies the call being reconnected.
For exchange date link signaling protocols, this field should be set
to SL_CALL_REF_NULL. For common channel
signaling protocols, this field should be set to the call reference
for the call, which was allocated by Blueworx Voice Response for a
previous SL_CALL_SETUP_REQ, or SL_CALL_SETUP_IND primitive.
- Parms.call_reconnect_confirm_st.tone_type
- This field identifies a call progress tone type.
A common channel signaling process does not have access to inband
call progress tones and therefore should set this field to PROG_UNKNOWN.
A signaling process can instead return a value based on the progress
information it receives from the network. This information is made
available to the application in the system variable System:
Progress tone type (SV176).
- Parms.call_reconnect_confirm_st.tone_id
- This field identifies a call progress tone identifier.
A common channel signaling process does not have access to inband
call progress tones and therefore should set this field to 0.
A signaling process can instead return a value based on the progress
information it receives from the network. Tone ids are sequential
identifiers for every tone that exists in each table in the system.
This information is made available to the application in the system
variable System: Progress tone ID (SV175).
- Parms.call_reconnect_confirm_st.slApplInfo
- Contains both the length of the call information tag string (including
the null terminator '\0') and the call information tag string array
itself. The string is used to pass information between state tables
and the signaling process. For more information see SL_APPL_INFO_ST data structure