SL_CALL_ANSWER_CNF primitive

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

Related information