Differences between revisions 2 and 25 (spanning 23 versions)
Revision 2 as of 2004-10-27 18:56:22
Size: 2208
Editor: h80n2fls33o887
Comment: Start MEGACO page
Revision 25 as of 2010-05-24 15:17:34
Size: 4058
Editor: MayankJain
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
MEGACO is used to control a Media GAteway in a VoIP system, MEGACO can be Text or Binary encoded. MEGACO/H.248 is used to control Media Gateways in a Multimedia systems. MEGACO can be Text or Binary (ASN.1) encoded. Sometimes it's also referred as GCP (Gateway Control Protocol).

A MediaGateway's (MGw) as its name says is a system used as a Gateway for Media. It's current uses are in telephony (Internet, Mobile and Wireline) and Video Broad and NarrowCasting. It's usually placed at the edge of two or more different Tranport Mediums (like: ATM (AAL1,AAL2,AAL5), IP, TDM, even two wire PSTN) and its main duty is to convert media (voice/video) between these domains. They are often capable to play and listen DTMFs, playing tones (like busy tones), handle voice/video messaging and other similar tasks.
Line 5: Line 8:
Regardless of the original intention to allow interoperability between systems. It has become an over-standarized protocol so that interoperability between machinery of different vendors (and even between different machines from the SAME vendor) it's almost impossible.
Line 8: Line 11:
 * ["M3UA"]: MEGACO can use ["M3UA"] as its transport protocol, if M3UA is used there is an indication in the M3UA part that this is
MEGACO
. 
 * [[MTP3]]: MEGACO can use [[MTP3]] as its transport protocol; MEGACO is indicated in MTP3 by the service indicator 14.
Line 11: Line 13:
 * ["SCTP"]: Typically(?) MEGACO uses ["SCTP"] as its transport protocol, MEGACO is indicated in SCTP.  * [[SCTP]]: MEGACO can use [[SCTP]] as its transport protocol; MEGACO is indicated in SCTP by a payload protocol ID of 7.
Line 13: Line 15:
 * ["TCP"]: MEGACO can use ["TCP"] as its transport protocol. The well known TCP port for MEGACO traffic is xx, if TCP is used
a TPKT header must be included.
 * [[TCP]]: MEGACO can use [[TCP]] as its transport protocol. The well known TCP port for MEGACO traffic is 2944; if TCP is used, a [[TPKT]] header must be included.
Line 16: Line 17:
 * ["UDP"]: MEGACO can use ["UDP"] as its transport protocol. The well known UDP port for MEGACO traffic is xx  * [[UDP]]: MEGACO can use [[UDP]] as its transport protocol. The well known UDP port for MEGACO traffic is 2944
Line 18: Line 19:
 * ["SCTP"]: Typically(?) MEGACO uses ["UDP"] as its transport protocol.  * [[SSCOP]]: MEGACO can use [[SSCOP]] as its transport protocol. There's no standard VP/VC for MEGACO over SSCOP
Line 21: Line 22:
H.248 over SCTP [[attachment:H.248decoded.gif|decoded]] by Ronnie Sahlberg's decoder in the 0.10.9-SVN-13213 build.
Line 22: Line 24:
XXX - Add example traffic here (as plain text or Ethereal screenshot). == Wireshark ==
The MEGACO dissector works for TEXT encoding of the protocol if EOL is used as SEParator. Dissection of binary encoding has recently been added (2004-10-25) as a separate dissector, it now handles binary H248 ower M3UA and SCTP.
Line 24: Line 27:
== Ethereal ==

The MEGACO dissector works for TEXT encoding of the protocoll if EOL is used as SEParator. Dissection of binary encoding has recently been added (2004-10-25)as a separate dissector, but is currently only working if M3UA is used as transport.
 If TCP is used there may be issues with desegmentation, such traces would be valuable.
If TCP is used there may be issues with desegmentation; such traces would be valuable.
Line 30: Line 30:
 * You can change the PORTS on which MEGACO is dissected for UDP/TCP
 * Raw text output can be selected
 * Something else
 * You can change the ports on which MEGACO is dissected for UDP/TCP
 * You can specify whether the raw text of MEGACO packets is to be displayed
 * You can specify whether a detailed dissection of MEGACO packets is to be displayed
Line 35: Line 35:

XXX - Add a simple example capture file to the SampleCaptures page and link from here. Keep it short, it's also a good idea to gzip it to make it even smaller, as Ethereal can open gzipped files automatically.
XXX - Add a simple example capture file to the SampleCaptures page and link from here. Keep it short, it's also a good idea to gzip it to make it even smaller, as Wireshark can open gzipped files automatically.
Line 39: Line 38:
A complete list of MEGACO display filter fields can be found in the [http://www.ethereal.com/docs/dfref/MEGACO/MEGACO.html display filter reference] A complete list of MEGACO display filter fields can be found in the [[http://www.wireshark.org/docs/dfref/m/megaco.html|display filter reference]]
Line 41: Line 40:
 Show only the MEGACO based traffic: {{{
 MEGACO }}}
A complete list of H.248 display filter fields can be found in the [[http://www.wireshark.org/docs/dfref/h/h248.html|display filter reference]]

 . Show only the MEGACO based traffic:
 {{{
 megaco
}}}
 Show only the H.248 based traffic:
 {{{
 h248
}}}
Line 45: Line 52:

You cannot directly filter PROTO protocols while capturing. However, if you know the ["TCP"] port used (see above), you can filter on that one.
You cannot directly filter MEGACO protocols while capturing. However, if you know the [[TCP]] or [[SCTP]] port used (see above), you can filter on that one.
Line 49: Line 55:

 * add link to PROTO specification and where to find additional info on the web about PROTO
 * [[http://www.ietf.org/rfc/rfc3015.txt|RFC3015]] ''Megaco Protocol Version 1.0''
 * [[http://www.ietf.org/rfc/rfc3525.txt|RFC3525]] ''Gateway Control Protocol Version 1'' (MEGACO version 2)
 * [[http://www.iana.org/assignments/megaco-h248|IANA Megaco assignments]]
 * ITU-T Recs. H.248.1 -> H.248.59 (the datum is from Sep-2007, you can bet that by the time you read this there'll be many more!)
 * [[http://www.itu.int/rec/T-REC-H.248.1-200509-I/|ITU-T H.248.1]] ''Gateway control protocol: Version 3''
Line 53: Line 62:
Given the fact that everyone extends the standard to make its implementation un-interoperable, was the standardization process really necessary???

Media Gateway Control Protocol (MEGACO/H.248.1)

MEGACO/H.248 is used to control Media Gateways in a Multimedia systems. MEGACO can be Text or Binary (ASN.1) encoded. Sometimes it's also referred as GCP (Gateway Control Protocol).

A MediaGateway's (MGw) as its name says is a system used as a Gateway for Media. It's current uses are in telephony (Internet, Mobile and Wireline) and Video Broad and NarrowCasting. It's usually placed at the edge of two or more different Tranport Mediums (like: ATM (AAL1,AAL2,AAL5), IP, TDM, even two wire PSTN) and its main duty is to convert media (voice/video) between these domains. They are often capable to play and listen DTMFs, playing tones (like busy tones), handle voice/video messaging and other similar tasks.

History

Regardless of the original intention to allow interoperability between systems. It has become an over-standarized protocol so that interoperability between machinery of different vendors (and even between different machines from the SAME vendor) it's almost impossible.

Protocol dependencies

  • MTP3: MEGACO can use MTP3 as its transport protocol; MEGACO is indicated in MTP3 by the service indicator 14.

  • SCTP: MEGACO can use SCTP as its transport protocol; MEGACO is indicated in SCTP by a payload protocol ID of 7.

  • TCP: MEGACO can use TCP as its transport protocol. The well known TCP port for MEGACO traffic is 2944; if TCP is used, a TPKT header must be included.

  • UDP: MEGACO can use UDP as its transport protocol. The well known UDP port for MEGACO traffic is 2944

  • SSCOP: MEGACO can use SSCOP as its transport protocol. There's no standard VP/VC for MEGACO over SSCOP

Example traffic

H.248 over SCTP decoded by Ronnie Sahlberg's decoder in the 0.10.9-SVN-13213 build.

Wireshark

The MEGACO dissector works for TEXT encoding of the protocol if EOL is used as SEParator. Dissection of binary encoding has recently been added (2004-10-25) as a separate dissector, it now handles binary H248 ower M3UA and SCTP.

If TCP is used there may be issues with desegmentation; such traces would be valuable.

Preference Settings

  • You can change the ports on which MEGACO is dissected for UDP/TCP
  • You can specify whether the raw text of MEGACO packets is to be displayed
  • You can specify whether a detailed dissection of MEGACO packets is to be displayed

Example capture file

XXX - Add a simple example capture file to the SampleCaptures page and link from here. Keep it short, it's also a good idea to gzip it to make it even smaller, as Wireshark can open gzipped files automatically.

Display Filter

A complete list of MEGACO display filter fields can be found in the display filter reference

A complete list of H.248 display filter fields can be found in the display filter reference

  • Show only the MEGACO based traffic:
     megaco
    Show only the H.248 based traffic:
     h248

Capture Filter

You cannot directly filter MEGACO protocols while capturing. However, if you know the TCP or SCTP port used (see above), you can filter on that one.

  • RFC3015 Megaco Protocol Version 1.0

  • RFC3525 Gateway Control Protocol Version 1 (MEGACO version 2)

  • IANA Megaco assignments

  • ITU-T Recs. H.248.1 -> H.248.59 (the datum is from Sep-2007, you can bet that by the time you read this there'll be many more!)

  • ITU-T H.248.1 Gateway control protocol: Version 3

Discussion

Given the fact that everyone extends the standard to make its implementation un-interoperable, was the standardization process really necessary???

H248/MEGACO (last edited 2010-05-24 19:34:29 by BillMeier)