Purpose
Confirm the acceptance of an incoming call.
Requirement
Mandatory for common channel signaling processes. The primitive
is not used for exchange data link signaling processes.
Library
The signaling interface library (libsl.a).
C syntax
typedef struct {
SL_IDid;
int iseq_no;
pid_t pidCHP;
SL_PRIMITIVE_TYPE Command;
SL_CONFIRM_PARM_ST Parms;
} SL_CONFIRM_ST;
...
typedef union {
...
struct _call_answer_confirm_st {
size_t sizetLength;
SL_REPLY_CODE ReplyCode;
SL_CALL_REF slCallReference;
int iChannelNo;
int iVpackNo;
SL_APPL_INFO_ST slApplInfo;
} call_answer_confirm_st;
...
} SL_CONFIRM_PARM_ST;
Description
The SL_CALL_ANSWER_CNF primitive is sent
by the signaling process to the channel process. This primitive confirms
that an incoming call, which the signaling process had previously
notified to Blueworx Voice Response by
sending an SL_CALL_SETUP_IND primitive,
has been answered. On receipt of the SL_CALL_ANSWER_REQ primitive
the signaling process accepts the specified call, by signaling to
the network. After the call has been connected, the signaling process
sends the SL_CALL_ANSWER_CNF primitive to Blueworx Voice Response.
If ReplyCode is set to SL_REPLY_SUCCESS the
call is connected. The call reference should be kept and used on further
call related primitives.
If ReplyCode is set to any other value,
the call was not answered successfully.
Corresponding state table action
The SL_CALL_ANSWER_REQ primitive and
the matching SL_CALL_ANSWER_CNF correspond
to the AnswerCall 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 confirm
primitive. This 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_ANSWER_REQ primitive to which
this is the reply.
- pidCHP
- The process id of the channel process that sent the original request.
This should be set to the pidCHP field from
the corresponding SL_CALL_ANSWER_REQ primitive.
- Command.id
- The primitive that the structure contains. Must be set to SL_CALL_ANSWER_CNF.
- Parms.call_answer_confirm_st.sizetLength
- Must be set to sizeof(struct _call_answer_confirm_st).
- Parms.call_answer_confirm_st.ReplyCode
-
- SL_REPLY_ABORTED
- The signaling process has received an SL_ABORT_REQ primitive
specifying the sequence number of a SL_CALL_ANSWER_REQ primitive,
for a call which has not yet been connected. The signaling process
should only reply with SL_REPLY_ABORTED if
the call is still in the ringing state. If the call has been terminated
use SL_REPLY_NOT_RINGING.
- SL_REPLY_ALREADY
- The call was not answered successfully because the call reference
does not indicate an incoming call that is in the ringing state. The
signaling process returns this reply code when it receives a second SL_CALL_ANSWER_REQ for
the same call.
- SL_REPLY_INTERNAL_ERROR
- The signaling process experienced an internal failure while processing
the SL_CALL_ANSWER primitive. The call specified
by slCallReference is now in the idle state.
- SL_REPLY_LINK_PROBLEM
- The signaling process was unable to perform the action requested
due to a link failure, or a problem with the network.
- SL_REPLY_NOT_IMPLEMENTED
- Only allowed for exchange data link signaling processes.
- SL_REPLY_NOT_RINGING
- The call was not answered successfully, perhaps because the network
has cleared the call.
- SL_REPLY_OUTBOUND_LINE_PROBLEM
- The call was not established successfully, because of an outbound
line problem. The call is in the idle state.
- SL_REPLY_SUCCESS
- The call was answered successfully and is now in the connected
state. Voice traffic can now be sent and received.
- other values
- Not supported.
- Parms.call_answer_confirm_st.slCallReference
- The call reference of the call being accepted. This must be identical
to the slCallReference field from the corresponding SL_CALL_ANSWER_REQ primitive.
- Parms.call_answer_confirm_st.iChannelNo
- Identifies the channel associated with the call.
- Parms.call_answer_confirm_st.iVpackNo
- Identifies the trunk associated with the call.
- Parms.call_answer_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