Christian Huitema and Mauricio Arango published the Simple Gateway Control Protocol (SGCP) in 1998 by as part of the development of the “Call Agent Architecture” at Telcordia. In this architecture, a central server called the “Call Agent” or “Softswitch” controls media gateways and receives telephony signaling requests through a ’signaling gateway.’ Basically, SGCP handles the communication between the call agent and the gateways.

How it Works

SGCP was designed to be a simple ‘remote control’ standard with the Session Initiation Protocol (SIP), enabling the Call Agent to relay calls between a VoIP network using H.323 or SIP and a traditional telephone network. The SGCP commands are encoded with syntax somewhat comparable to the SIP or HTTP headers. They carry a payload describing the voice over IP media stream. This payload is encoded using the same “session description protocol” (SDP) as SIP.

SGCP was merged with the IPDC proposal sponsored by Level3 Communications. This led to the definition of the Media Gateway Control Protocol, jointly submitted to the IETF by the authors of SGCP and IPDC in November 1998.

Basically, the SGCP assumes a connection model where the basic constructs are endpoints and connections. Connections may be either point-to-point or multipoint. A point-to-point connection is an association between two endpoints with the purpose of transmitting data between these endpoints. Once this association is established for both endpoints, data transfer between these endpoints can take place. A multipoint connection is established by connecting the end point to a multipoint session.

Basic Usage

The SGCP is designed as an internal protocol within a distributed system that appears to the outside as a single VoIP gateway. In reality, this system is composed of a call agent that may or may not be distributed over several computer platforms and of a set of gateways. SGCP is used to instruct remote control gateways to forward the voice signals received on a circuit towards another gateway.

SGCP commands (Create Connection and Modify Connection) carry an SDP payload, where the VoIP parameters such as supported encoding, RTP options, UDP port and IP address are defined. In some network configurations, gateways expect to carry the voice packets over an ATM or a frame relay network. SGCP can easily be extended to provide signaling for these gateways.

Through the interface, the call agent can ask the gateway to collect digits dialed by the user. This facility is intended to be used with access gateways to collect the numbers that a user dials; it may also be used with trunking gateways and access gateways alike, to collect the access codes, credit card numbers and other numbers requested by call control services.

An alternative procedure would ask the gateway to notify the call agent of the dialed digits, as soon as they are dialed. However, such a procedure generates a large number of interactions. It is preferable to accumulate the dialed numbers in a buffer, and to transmit them in a single message. The problem with this accumulation approach, however, is that it is hard for the gateway to predict how many numbers it needs to accumulate before transmission.

The solution to this problem is to load the gateway with a digit map that corresponds to the dial plan. The call agent provides digit maps to the gateway whenever the call agent instructs the gateway to listen for digits.

Are you looking for a VoIP service provider? Try browsing our list of featured VoIP providers below...

Featured VoIP Providers