In my degree course of Software Engineering we had a lecture in Computer Networking about VoIP and the Session Initiation Protocol (SIP). There were many terms brought up for some network components like:

  • Softswitch
  • Media Gateway
  • Call Agent (or Media Gateway Controller)
  • Signaling Gateway

and I don't understand which of these terms stand for real devices and which are abstaction terms for different tasks in the same device and how they all work together.

What I have got so far:


In the traditional PSTN model, a switchboard was used to connect two separate phone circuits into one contiguous line. In the VoIP model, this can be done through software. This concept is the softswitch, and it controls connections between the circuit and packet networks in segments where end-to-end VoIP is not yet available. The softswitch can be broken into two entities: the Call Agent and the Media Gateway.

Media Gateway

The Media Gateway is used to connect different physical networks in order to provide end-to-end connectivity. It functions very similarly to a typical network switch in that it can create a heterogeneous link between endpoints, regardless of the network media in between. In addition, the Media Gateway can also connect a VoIP circuit to a PSTN circuit, allowing the use of VoIP despite gaps in networks, or even when only one of the endpoints if VoIP enabled. This functionality is provided transparently, and therefore users have no need to understand or be aware of the topologies over which their communications are transferred.

Call Agent (Media Gateway Controller)

A Call Agent controls multiple Media Gateways. The Call Agent receives signaling information (such as the phone ringing) from the Media Gateway. (I have no clue what it does with them). There are different protocols which are use for the communication between a Call Agent and a Media Gateway such as the MGCP (H.248). The Call Agent is also used for keeping track of the duration of a call for billing purposes.

Signaling Gateway

In order to implement VoIP communications, the functionality to notify an endpoint that another endpoint desires communication is necessary (such as by causing the recipient’s phone to ring). This is called signalling. However, the method by which signalling is implemented in PSTN circuits differs from those used in VoIP circuits. As such, a gateway must be used to translate between the two in instances where there is no purely VoIP connection. This is the signalling gateway, which is capable of interworking standard signalling protocols such as CAS, DTMF, R1, R2, DTMF, ISDN, C5, and C7.

So where does the Signaling Gateway fit in if the Media Gateway and Call Agent are part of the Softswitch? Or is the Signaling Gateway the same as the Media Gateway but just an abstraction to show that signaling is in the Call Control Plane and not in the Connection Plane from the VoIP Architecture?

And from this picture (http://en.wikipedia.org/wiki/File:Converged_Network_Architecture.png) I get the idea that they are all split up in different devices.

I hope I was able to express properly what my problem with all these different terms is and thank you already for your help! :)

closed as not constructive by EEAA, Falcon Momot, Dave M, growse, mdpc Jun 23 '13 at 20:07

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.


Ok I think I was able to dissolve the confusion I had with all these different terms. My problem was that I mixed the jargon of two different signaling techniques.

On the one hand you have distributed call processing which can be done using

  • H.323
  • Session Initiation Protocol (SIP)

On the other one you have the centralized call processing which can be implemented using

  • Skinny Call Control Protocol (SCCP)
  • Media Gateway Control Protocol (MGCP)
  • H.248

In the world of VoIP you use abstraction terms to describe the task of certain devices. You have the Softswitch (as described above) which consists of two entities (as explained above):

  • Call Agent (Media Gateway Controler)
  • Media Gateway

Now when it comes to the implementation of these abstract definitions there are multiple ways to do this as I already said. When you use MGCP to fullfill the requirements of the VoIP architecture, the names for the devices stay the same. So you have actually a device called the Media Gateway Controler and a device named the Media Gateway. And together they are called Softswitch because in the early days they used to be in the same hardware.

(And since I used the IBM Red Book on TCP/IP as secondary literature which didn't match the explanations of my degree course I got very confused!)

So when you implement the VoIP functionality with the Session Initiation Protocol the terms are different! For all the signaling work, which is done by the Media Gateway and MG-Controler in MGCP, is the term Proxy Server used. So the Proxy Server initiates the media session with SIP, makes that the right phone rings etc.

And here is the point which got me really confused: when using SIP there is also a Gateway which does exactly the same as the Media Gateway from above! But it is reffered to as just Gateway or often SIP-Gateway.

And the last thing which got me very confused was the Signaling Gateway: Since it translates different signaling messages, which is only needed when connection two different types of telecommunication networks (such as PSTN and VoIP) it surely must be in the same device as the Media Gateway from above, because you also need to transcode the analog signals in digital signals and vice versa.

To sum it up: The terms I used in my question are abstract terms from the VoIP architecture and they vary depending on the signaling protocol you use to implement the functionality.

I hope my answer helps at least in some way to explain my confusion and for people who have the same problem as me. :)

Not the answer you're looking for? Browse other questions tagged or ask your own question.