Troubleshooting C15 and MGCP Protocols for VoIP

Let’s start with some simple definitions of these protocols and how they work together. In Voice over IP (VoIP) to PSTN (telephone) network integration, MGCP and C15 can work together as part of a layered signaling architecture that bridges IP-based call control with traditional PSTN switching systems.

Here’s how they fit and interact:

MGCP (Media Gateway Control Protocol)

  • RFC 3435, master/slave protocol.
  • Used between a Call Agent (Media Gateway Controller – MGC) and a Media Gateway (MG).
  • Controls endpoint setup, tear down, and media stream management (e.g., voice channels).
  • Typical MGCP messages: CRCX, MDCX, DLCX, RQNT, etc.

C15 Protocol (e.g., Lucent 5ESS or DMS-100 Call Control)

  • Proprietary signaling protocol used by legacy Class 5 switches.
  • Manages PSTN call control logic: dialed digits, routing, billing, trunk selection.
  • Often involves ISUP-like signaling messages or custom messages like GWE_CALL_SETUP.

How do C15 and MGCP Work Together?

Typical Architecture:

VoIP User (SIP/RTP)
    |
    v
MGC (Softswitch / Call Agent)
    |        \
    |         \ (C15)
    v          v
MG (Media Gateway) → TDM Trunks → PSTN via Class 5 Switch (C15)
          ^                                 ^
          |                                 |
       MGCP                             C15 Protocol

Call Flow Summary:

  1. VoIP user initiates a call via SIP or softphone.
  2. Call Agent (MGC) receives the signaling and determines the call needs to go to the PSTN.
  3. MGCP is used by the MGC to:
    • Instruct the Media Gateway to create an endpoint (e.g., CRCX).
    • Set up RTP ports and media connections.
    • Possibly play tones or collect digits.
  4. Simultaneously, the MGC communicates with the C15 switch using the C15 protocol, emulating a TDM trunk or PRI.
    • The C15 switch sees a traditional call request (e.g., GWE_CALL_SETUP).
    • It processes the call, selects a trunk group, and returns status updates.
  5. The Media Gateway bridges the VoIP RTP stream with the TDM bearer channel to the PSTN.
  6. When the call ends, the MGC sends a DLCX to tear down the MGCP connection and a release to the C15 switch.

Key Points of Interoperation:

ComponentRole
MGC (Call Agent)Central brain, translates SIP/MGCP to C15 signaling
MG (Media Gateway)Converts RTP <→ TDM voice streams
C15 SwitchHandles PSTN routing, trunk selection, legacy features
MGCPControls media endpoints on the MG
C15 ProtocolCommunicates with legacy PSTN switch (Class 5)

Real-World Scenario Example:

  • A VoIP call from a softphone to a landline number.
  • The MGC uses MGCP to instruct the MG to grab a DS0 on a T1 trunk.
  • The MGC uses C15 protocol to set up the call with the Class 5 switch.
  • The Class 5 switch dials the landline and completes the circuit.

What About Troubleshooting these Protocols?

When troubleshooting C15 and MGCP traffic, your approach will differ slightly due to the nature of the two protocols, but both involve signaling for voice calls and share key diagnostics principles. Since all VoIP, MGCP and C15 protocols send packets to intercommunicate, you will need to capture the traffic, hopefully on a VLAN so you can see all interactivity. This may require some testing to ensure you are seeing as much of the traffic as possible, or you may end up capturing in multiple locations.

Once captured, you will need to look at the traffic using Wireshark. We will not dwell on Wireshark here, but we strongly urge you to download our C15 profile for Wireshark. You can find that profile here.

The result will look something like this:


General Troubleshooting Checklist (Applies to Both C15 and MGCP)

As many of my followers know, I love checklists when it comes to troubleshooting protocols. So here is my checklist for these protocol interactions:

  • Call Setup & Teardown: Ensure proper message sequences (e.g., call setup, alerting, connect, release).
  • Message Timings: Watch for timeouts or unexpected delays between message exchanges.
  • Transaction IDs / Call IDs: Confirm they are consistent throughout the session.
  • Addressing: Check IPs and port numbers match expectations between endpoints.
  • Codec Negotiation: Ensure expected codecs (e.g., G.711, G.729) are agreed upon.

C15 Traffic (Typically Proprietary or Vendor-Specific, e.g., Nortel or Lucent)

C15 signaling protocols (e.g., ISUP-based or vendor-specific protocols) often include messages like GWE_CALL_SETUP, GWE_ALERTING, GWE_CONNECT, GWE_RELEASE.

What to Look For:

  • Expected Call Flow: Check that messages follow the proper call state transitions.
  • Missing or Invalid Fields: Especially bearer info, called/calling numbers, timers.
  • Looping or Retries: Repeated messages may indicate routing or signaling issues.
  • Message Types: Confirm correct usage of GWE_ messages and response codes.

Tools:

  • Vendor-specific trace tools (e.g., Lucent EMS or VoIP monitor)
  • If messages are tunneled via IP, use Wireshark with custom dissectors if available.

MGCP Tfraffic (Media Gateway Control Protocol – RFC 3435)

What to Look For:

  • Message Types: Audit commands like CRCX, MDCX, DLCX, RQNT, and their responses.
  • Response Codes: Look for 200 (OK) or other codes like 510 (not acceptable).
  • Media Path Setup: CRCX creates endpoints; ensure RTP ports and IPs are valid.
  • Endpoint Naming: Misconfigured endpoint names (e.g., aaln/1@mg1) can cause failures.
  • Re-transmissions: Sign of loss or missing ACKs.
  • One-way Audio: Often caused by incorrect RTP port assignments or NAT issues.

Tools:

  • Wireshark filters: mgcp for signaling, rtp for voice path – you can find separate SIP, MGCP and RTP profiles at the repository as well.
  • Command correlation: Match Transaction ID and Call-ID fields
  • Check SDP details embedded in MGCP for media parameters

Common Issues

ProblemPossible Root Cause
One-way or no audioIncorrect RTP port/IP, NAT/firewall issues
Call drops after X secondsMissing/late responses, session timers
Calls not completingBad digit maps, unrecognized endpoints
High delay or jitterMedia routing problems, network congestion
Incomplete MGCP transactionLost or malformed command/response

Comments are welcomed below from registered users.  You can also leave comments at our Discord server

If you would like to see more content and articles like this, please support us by clicking the patron link where you will receive free bonus access to courses and more, or simply buying us a cup of coffee!

Contact Us Here


Please verify.
Validation complete :)
Validation failed :(
 
Your contact request has been received. We usually respond within an hour, but please be patient. We will get back to you very soon.
Scroll to Top