sl_send_confirm subroutine

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.

Related information