[OpenSER-Devel] [RTPproxy Devel] rtpproxy - transcoder patch

Maxim Sobolev sobomax at sippysoft.com
Sat Jul 12 04:34:22 CEST 2008

Stefan and Atle,

Yes, it's very interesting work indeed, thank you for publishing it.

Stefan Sayer wrote:
> [sorry if you receive this mail multiple times on multiple mailing list
>   - I thought people on (open)serdev might be interested, but not
>   necessarily subscribed to rtpproxy lists]
> Hello,
> some time back Atle and me did a small hack to rtpproxy and nathelper so 
> it could use the codecs from SEMS[1] to transcode RTP from one codec 
> into another in the rtpproxy.
> Unfortunately we never had or spent the time to get this further than 
> proof-of-concept. That is, iirc the rtpproxy part is quite ok, but the 
> nathelper patch could need some eyes over it. As recently someone asked 
> again about it, we thought we would just release the code as it is, so 
> if there is anyone interested she or he could take the code, maybe 
> improve and update it a little and maybe add it into rtpproxy/nathelper.
> It works the following way:
>   - nathelper gets another function force_rtp_transcode, that takes the 
> codec to encode to, and creates a completely new SDP with the local port 
> and new codec line
>   - nathelper tells rtpproxy to transcode with a new command option (T) 
> that takes new codec id and format parameters
>   - rtpproxy gets a new codec module path option, from where codec 
> plugins are loaded
>   - when rtpproxy is invoked with 'T' command option, it instantiates a 
> rtpproxy transcoder session with two codec instances from the correct 
> codec plugins
>   - if a packet is received for an rtpproxy session with transcoder, it 
> passes the packet through the codecs before sending
> The patch is against rtpproxy head from 14092006; since then I think the 
> rtpproxy code has been a little restructured, so it would need some 
> rework to go with current rtpproxy. It contains gsm, ilbc, speex-nb and 
> g711 codec plugins; since then g726, l16, g722 (nb de/encoding) have 
> been added to SEMS (though the codec interface has slightly changed, 
> mostly optional stuff). Other codec wrappers (e.g. 729) could be added 
> easily. A sample transcoder.cfg is in nathelper dir.
> The patch and files are available at 
> http://user.cs.tu-berlin.de/~sayer/transcoder/
> If anyone is taking this up, we would be happy to hear about it.
> Best Regards
> Stefan Sayer & Atle Samuelsen
> [1] http://iptel.org/sems


Maksym Sobolyev
Sippy Software, Inc.
Internet Telephony (VoIP) Experts
T/F: +1-646-651-1110
Web: http://www.sippysoft.com

More information about the Devel mailing list