Some of the Marshal’s functionality has been alluded to in the previous section. Primarily, the Marshal provides authentication services and CDR data that can be used for billing purposes. Marshals also monitor heartbeats from the RS and can be set up to process OSP tokens or conference calls. Security and authentication are big topics and are discussed in separate sections later. Let’s look at some of the other functionality provided by the Marshals.
Each Marshal is responsible for constructing CDRs for all calls that pass through VOCAL. The Marshals send these records to the CDR server, which can forward them to a third-party billing system if such a system has been attached to the network. If there is no billing system, the CDR server can store these records to provide historical usage statistics. Each Marshal reports the ring time, start, and end of each call by making the appropriate calls into the CDR API provided by the CDR library. When two Marshals are involved in the same call (for example, when a call is routed through a UA Marshal and Gateway Marshal), both Marshals provide separate CDR records to the CDR server.
Marshals are responsible for collecting records that describe only the ring time, start, and end of basic calls. If there are separately billable features available in the system, CDRs for those features are provided by the Feature servers.
Marshals invoke the CDR API of the CDR library as follows:
Start of ring time, identified by the 180 ...