Incoming call setup

The signaling process can support channel negotiation with the network for incoming calls too. In this case however, the channel negotiation is transparent to Blueworx Voice Response, because the channel and pack must be chosen before the signaling process indicates the incoming call using the SL_CALL_SETUP_IND primitive. Common channel signaling also requires an exchange of SL_CALL_ANSWER_REQ and SL_CALL_ANSWER_CNF, as shown in Figure 1.

Figure 1. Primitives used setting up an incoming call (CCS)
The process shown in the graphic begins with an incoming call coming to the signaling process from the line. The signaling process sends the SL_CALL_SETUP_IND primitive across the signaling interface to the Channel process, which passes it to the state table application. The state table issues AnswerCall to the Channel process, which submits the SL_CALL_ANSWER_REQ primitive to the signaling process. After the AnswerCall sequence is successfully sent on the network, the signaling process returns the SL_CALL_ANSWER_CNF primitive to the Channel process with Reply code SL_REPLY_SUCCESS.

When a signaling process detects a call record on an exchange data link, corresponding to a ringing channel, it creates an SL_CALL_SETUP_IND primitive, which includes the call information and sends it to Blueworx Voice Response using the sl_send_indication() subroutine. All fields of the primitive must be set.