[Freeswitch-dev] Would like to contribute bypass media feature for freeswitch/skinny

Mathieu Parent math.parent at gmail.com
Fri Sep 12 01:00:29 MSD 2014

Hello all,

How it works:
- during registration of the phone, the server asks for the supported
- the phone answers (skinny is a binary format) with:
  * capabilities count
  * each capability = (payload, max frame per packet, g723 bitrate,
unknown) ; payload being an int mapped to g711, ulaw, ... ; the two
last fields being mostly null
  * currently, mod_skinny stores this "codec list" in the db

- on media negociation, the server calculate the negociated codec, and
send an OpenReceiveChannel to the phone with some parameters including
payload (same int as above), MS/packet, G723 bitrate. Echo cancel type
is also sent. Currently this is hardcoded ulaw
- the phone answer with a openreceivechannelAck message, giving the IP and port
- the server send a startmediatransmission to the phone, giving the
remote ip and port, the payload, MS/packet, G723 bitrate and an
optional max frames per packet. Silence suppression is also sent. This
is also currently hardcoded to ulaw.

Hope this helps

2014-09-11 22:13 GMT+02:00 Michael Jerris <mike at jerris.com>:
> I've thought about this before.  What does the format look like that skinny uses for media capabilities?  Is it possible for it to map to sdp easily?  We will either need to translate to sdp, or add more logic in switch_core_media.
> Mike
> On Sep 11, 2014, at 2:06 PM, Simon Wunderlich <sw at simonwunderlich.de> wrote:
>> Hello Freeswitch devs,
>> we would like to contribute the bypass media feature for the skinny
>> implementation in freeswitch. I've contacted Mathieu and Nathan (the
>> mod_skinny devs/authors) previously, and they recommended to write to this
>> mailing list for the core questions. My first step would be to get a general
>> understanding how to accomplish that feature, and any advice would be very
>> much appreciated. My background: I've been contributing a few patches skinny
>> already, but don't have a real understanding of the core functionality of
>> freeswitch.
>> From the discussion with Mathieu and Nathan, we've agreed that implementing
>> Codec negotiation would be the first step - which is not yet implemented in
>> Skinny. Switch_core_media seems to offer that functionality in general, however
>> Skinny does not operate with SDP descriptions.
>> So my first questions would be:
>> * Should mod_skinny generate SDP generations to interface with the freeswitch
>> codec negotiation? Or are there any other alternatives to interface with the
>> current implementation?
>> * Do you have any recommendations where to look at, maybe a simple
>> implementation? I've been looking into sofia, but I felt a little lost to be
>> honest....
>> * are the any other requirements to consider?
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://wiki.freeswitch.org
> http://www.cluecon.com
> FreeSWITCH-dev mailing list
> FreeSWITCH-dev at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> http://www.freeswitch.org


Join us at ClueCon 2014 Aug 4-7, 2014
More information about the FreeSWITCH-dev mailing list