SL_INTERNAL_COMMAND_REQ primitive

Purpose

Issue a request internally within the signaling process.

Requirement

Optional for common channel signaling processes and exchange data link signaling processes.

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_REQUEST_PARM_ST Parms;
} SL_REQUEST_ST;
...
typedef union {
...
                struct _internal_command_request_st {
                    size_t sizetLength;
                    int command;
                    int iChannelNo;
                    int iVpackNo;
                    unsigned char data[SL_USER_DATA_LEN]
                } internal_command_request_st;
...
} SL_REQUEST_PARM_ST;

Description

The SL_INTERNAL_COMMAND_REQ primitive is sent by the signaling process to itself. This is a special primitive that may be used internally by the signaling process. This primitive is not intended for use by channel processes or custom servers. If the signaling process provides additional implementation-dependent primitives for the use of channel processes or custom servers these should be implemented using the SL_USER_IND primitive.

Corresponding state table action

None.

Parameters

id
Eye-catcher that identifies the structure as containing a request primitive. Must be set to SLID_REQUEST_ST
iseq_no
The sequence number of the primitive. This field must be set to 0 when the primitive is sent to Blueworx Voice Response; the actual sequence number is allocated by Blueworx Voice Response, and is available to the sender on return from sl_send_request(). The field is set when the primitive is received from Blueworx Voice Response by the signaling process.
pidCHP
The process id of the sending process. The signaling process should use this value to set the pidCHP field of the corresponding SL_INTERNAL_COMMAND_CNF primitive.
Command.id
The primitive that the structure contains. Must be set to SL_INTERNAL_COMMAND_REQ.
Parms.internal_command_request_st.sizetLength
Must be set to sizeof(struct _internal_command_request_st).
Parms.internal_command_request_st.command
This field is provided for use by the signaling process to differentiate internal requests. The values of this field are implementation-dependent, and are defined by the provider of the signaling process.
Parms.internal_command_request_st.iChannelNo
Identifies the channel.
Parms.internal_command_request_st.iVpackNo
Identifies the trunk on which the channel is located.
Parms.internal_command_request_st.data
Up to SL_USER_DATA_LEN bytes of implementation-dependent information. The interpretation of this field depends on the value of Parms.internal_command_request_st.command, and is defined by the provider of the signaling process.

Related information