Purpose
Return a confirm primitive to the channel process.
Library
The signaling interface library (libsl.a).
C syntax
#include <slsigpr.h>
...
SL_RET_CODE sl_send_confirm (
SL_HANDLE sl_handle,
SL_CONFIRM_ST * psignalingConfirm
);
Description
This subroutine is used when a primitive received using the sl_receive_request() subroutine is processed to return the reply to the channel process.
It must return a reply for every primitive received.
The one exception is the SL_ABORT_REQ primitive (see SL_CALL_ABORT_REQ primitive).
The reply codes in the confirm primitives match state table edges and should
be used to indicate conditions as closely as possible.
If a confirm is invalid, a non-0 return code is returned and the primitive
is not sent to Blueworx Voice Response. If the confirm is valid, it is sent to Blueworx Voice Response.
Parameters
- sl_handle
- The signaling handle returned from the sl_open() subroutine.
- psignalingConfirm
- A pointer to the returned confirm primitive; the following fields must
be completed:
- id
- SLID_CONFIRM_ST.
- iseq_no
- The sequence number from the corresponding request primitive.
- pidCHP
- The pidCHP field from the corresponding request primitive.
- Command
- The id of the primitive:
Command.name.generic must
be one of the values defined for type SL_GENERIC_TYPE, and
must be the same as Command.name.generic in the corresponding request
primitive.
Command.name.specific must be set to SL_TAG_CONFIRM.
- Parms
- Must be set to one of the confirm primitives listed in Table 2.
Return values
- SLRC_OK
- Successful.
- SLRC_INVALID_HANDLE
- Invalid sl_handle.
- SLRC_INVALID_ARGS
- psignalingConfirm is NULL.
- SLRC_ERRNO
- An AIX error has occurred. Check the value of errno for more
information.
- SLRC_INVALID_CONFIRM_ID
- psignalingConfirm–> id is not set to SLID_CONFIRM_ST, or psignalingConfirm–>Command.id is invalid.
- SLRC_INVALID_SEQ_NO
- psignalingConfirm–> iseq_no is invalid.
- SLRC_INVALID_PID
- psignalingConfirm–> pid is invalid.
- SLRC_NOT_CONFIRM
- psignalingConfirm–> Command.name.specific is not set
to SL_TAG_CONFIRM.
- SLRC_INVALID_LENGTH
- psignalingConfirm–> Parms has an invalid sizetLength field.
- SLRC_INVALID_ALARM
- psignalingConfirm–>Command is set to SL_TRUNK_ALARM_CNF but psignalingConfirm–>Parms.trunk_alarm_confirm_st.slAlarm is equal to SL_ALARM_NONE or is greater than SL_ALARM_OTHER.