You are here: CSP Developer’s Guide: Overview > 4 EXS API Application Development > Call Processing Module
Important Note
Only one call processing message can be outstanding per channel at a time. The host must wait for the call processing message ACK before sending the next message for a given channel. The response status should also be checked to determine if the host-initiated message was processed successfully or not. These messages typically:
• Report incoming calls
• Pass address digit information
• Make connections and re-connections
• Manage DSP resources per call
Introduction
The call processing module contains the high level call management of the application. The logic within this module is determined by the call model required by the host application.
Implementation of a host-level call model involves sending/receiving a series of EXS API call control messages on a per channel basis. These messages are typically used to report incoming calls, pass address digit information, make connections/re-connections, and so on.
One way to implement the call processing module is with a software finite state machine. Upon sending a call control message to the CSP, a channel enters a "response wait" state. Upon receiving a positive ACK, the next operation is performed (that is, send another message, wait to receive a message). Each channel should be treated separately, allowing for channels to be in different call management states simultaneously.
DS0 Status Change message
The DS0 Status Change message is vital to the call processing module. The DS0 Status Change message should be handled in any state that the channel may be in. This message reports channel In/Out of Service as well as error information.
Channel State Queries
You may also want to provide support for channel state queries in the event of a failure at the Call Processing Module. To accomplish this, use the following messages:
• Channel Connection Status Query
• Channel Parameter Query
• B Channel Query
• Generic Report
Incoming Call Setup
When the Excel platform receives an incoming call, it sends a Request for Service message to the host by default. To have the Excel platform perform internal routing without host intervention, please refer to Chapters 1 and 2 of the Developer’s Guide: Line Cards.
When an incoming call is detected, the Signaling layer begins to execute the channel’s preprogrammed instructions for inseize control. You can configure Signaling to send a single report with all collected address information, or intermediate setup events such as dialtone detection and digit strings.
The Signaling layer receives several stages of digit strings during incoming call setup.
First, configure each stage for the following with the Inpulsing Parameters Configure message:
• Address signaling type
• The number of strings in the stage
• The digit collection method per string
You can configure call processing with a variety of requirements for line signaling and address data exchange, including multiple stages of inpulsing and outpulsing digits.
Allow the Excel platform to perform as much of the setup on its own as possible. This helps to optimize call processing and simplify application development. When sending call processing messages, the host must wait for the acknowledgment of one message before sending the next call processing message for that channel.
Outgoing Call Setup
With a single command to the Excel platform, the host initiates an outseizure with outpulsing digit strings. The command includes preprogrammed instructions for completing outbound call setup.
The Excel platform accommodates multi-wink/stage signaling interfaces for Feature Group D by detecting multiple start dial signals, and by outpulsing multiple stages of address digits.
As part of the outbound instruction sequence, you can activate call progress analysis for each call or for all outbound calls over a specified channel.
The Route Control message with a seize instruction initiates the outseizure (a seize instruction cannot be preprogrammed). When the Excel platform receives a positive acknowledgment for the outseizure, it executes the outseize instructions that have been configured for that channel. You can also initiate an outseize using the Outseize Control message.
You can use the internal router in the Excel platform to find a terminating channel.