Call references are used by Blueworx Voice Response to identify a call to a common channel signaling process. For an incoming call, the call reference is allocated by Blueworx Voice Response as part of the processing of the SL_CALL_SETUP_IND primitive, and is available to the signaling process on return from the sl_send_indication() subroutine. For an outgoing call, the call reference is allocated by Blueworx Voice Response before the signaling process receives the initial SL_CALL_SETUP_REQ primitive. In both cases the signaling process is responsible for keeping a copy of the call reference.
The signaling process needs the call reference to determine the call, and hence the channel and trunk, which corresponds to a signaling primitive it receives from Blueworx Voice Response. The signaling process also needs the call reference to notify Blueworx Voice Response of any asynchronous events that affect a call, for example hangup.
Many common channel signaling protocols also use call references to identify calls to the network. One example is the call reference parameter in the Signaling System Number 7 ISDN User Part (ISUP) defined in Q.763. In this case the signaling process is responsible for maintaining both Blueworx Voice Response call references and network call references for each call, and for keeping track of which Blueworx Voice Response call reference corresponds to a network call reference and vice versa.
Call references are not used with exchange data link signaling processes. This is because these protocols do not control the establishment of a call, but provide advisory information.