This wiki has been migrated to https://gitlab.com/wireshark/wireshark/-/wikis/home and is now deprecated. Please use that site instead.
Differences between revisions 1 and 26 (spanning 25 versions)
Revision 1 as of 2004-10-27 18:48:04
Size: 2021
Editor: h80n2fls33o887
Comment:
Revision 26 as of 2010-05-24 19:34:29
Size: 4084
Editor: BillMeier
Comment: Minor rewording
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 (MGw) as its name says is a system used as a Gateway for Media. Current uses are in telephony (Internet, Mobile and Wireline) and Video Broad and NarrowCasting. A MediaGateway is 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. MediaGateways are often capable of playing and listening to DTMFs, playing tones (like busy tones), handling 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. Also add info of additional Ethereal features where appropriate, like special statistics of this protocol.
If TCP is used there may be issues with desegmentation; such traces would be valuable.
Line 29: Line 30:

(XXX add links to preference settings affecting how PROTO is dissected).
 * 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 33: 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 37: Line 38:
A complete list of PROTO display filter fields can be found in the [http://www.ethereal.com/docs/dfref/PROTO/PROTO.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 39: Line 40:
 Show only the PROTO based traffic: {{{
 PROTO }}}
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 43: 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 47: 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 51: 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 (MGw) as its name says is a system used as a Gateway for Media. Current uses are in telephony (Internet, Mobile and Wireline) and Video Broad and NarrowCasting. A MediaGateway is 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. MediaGateways are often capable of playing and listening to DTMFs, playing tones (like busy tones), handling 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)