In telephony, call control refers to the software within a telephone switch that supplies its central function. Call control decodes addressing information and routes telephone calls from one end point to another. It also creates the features that can be used to adapt standard switch operation to the needs of users. These are called supplementary services and are commonly invoked by a Vertical service code. Examples include "Call waiting", "Call forward on busy" etc.
Call control software, because of its central place in the operation of the telephone network, is marked by both complexity and reliability. Call control systems will typically require many thousands of person years in development. They will contain millions of lines of high level code. However they must and do meet reliability requirements that specify switch down time of only a few minutes in forty years.
The required functionality and reliability of call control is a major challenge for Voice over IP (VoIP) systems. VoIP systems are based on Internet standards and technology which have not previously attempted to satisfy such complex and demanding requirements as those that specify call control.
An alternative name often used is call processing.[citation needed]
In a VoIP network, call control is one of three major categories of communications traffic, the other two being call signaling and media communications. Call control uses Q.931, a connection protocol for digital networks, especially VoIP systems. Messages are transmitted as octets as specified in ITU H.245, which resolves the type of call media to be used (for example, conventional call, videoconferencing, or VoIP), and then manages the connection after it has been established. Call control functions include, but are not limited to, the determination of master/slave status for the endpoints, monitoring of the status of the endpoints, modification of the parameters of a connection, termination of a connection, and restarting a terminated or failed connection.[1]