Hello,
I was successful reproducing G.723.1 payload in wav file. It works quite fine!
About the RTP, I'm mainly interested with MGCP signaling. In this case it seems that the ethereal doesn't recognize automatically the designated UDP ports for RTP, depending on the SDP (session description protocol). With H.225 it works fine.
I'll try to build ethereal from source code and include specific UDP ports.
-----Original Message-----
From: Martin Regner [mailto:martin.regner@xxxxxxxxx]
Sent: Wednesday, December 03, 2003 8:21 PM
To: Sturm Alexis; ethereal-users@xxxxxxxxxxxx
Subject: Re: [Ethereal-users] RTP playback
I capture RTP payload but with other codec types than G.711, like G.729 or G.723. But it seems like these
< payload type are supported by the application while trying to save the payload in .au format. Does anyone know
<if this will be supported in the future?
It is currently supported to save G.711 (A-law respectivelly U-law) as au-file directly from Ethereal.
G.729 and G.723 codecs are covered by several patents. I think that it might not be possible to integrate
support for these codecs directly in Ethereal due to this.
With Ethereal 0.9.16 version it is possible to save the RTP stream in rtpdump format. You can then use e.g.
the rtpplay program to send the rtp stream towards e.g. JMF JMStudio.
http://www.ethereal.com/lists/ethereal-users/200311/msg00191.html
http://www.cs.columbia.edu/IRT/software/rtptools/
http://java.sun.com/products/java-media/jmf/
I have tried this for several different codecs (H.263 video, H.261 video, G.723.1, GSM , ...) towards JMF JMStudio and/or QuickTime Player.
uNFORTUNATELY Neither of JMPlayer and QuickTime Player supports G.729.
<Also, is there a way to assign permanent specific UDP ports (or a range of ports), so that the ethereal will
<recognize and decode these packets as RTP packets? Using the option "decode as" every time isn't
<convenient!...
If there is H.323-signalling, RTSP-signalling or SIP-signalling in the capture it may work automatically.
The SIP support has been added recently, so it is not included in the Ethereal 0.9.16 version.
So if you are using SIP then it may be worth trying out the CVS version.
If you have possibilities to build Ethereal from source code it is very easy to add some UDP port numbers
in proto_reg_handoff_rtp in packet-rtp.c.
In the example below I have added so that udp-port 30100 and 30102 is dissected as RTP.
void
proto_reg_handoff_rtp(void)
{
dissector_handle_t rtp_handle;
data_handle = find_dissector("data");
/*
* Register this dissector as one that can be selected by a
* UDP port number.
*/
rtp_handle = find_dissector("rtp");
dissector_add_handle("udp.port", rtp_handle);
dissector_add("udp.port", 30100, rtp_handle); /* UDP port 30100 - added */
dissector_add("udp.port", 30102, rtp_handle); /* UDP port 30102 - added */
}