[Freeswitch-dev] msrp support

Seven Du dujinfang at gmail.com
Mon Jan 30 15:41:45 MSK 2012


UPDATE on MSRP 

As the lib is GPL and incomplete and it crashes when I test with blink, I thought it might be easier to write a simple implementation than debug the existing code.

So I have the following code:

https://github.com/seven1240/FreeSWITCH/commit/272607bf34d9748f20bd9e8082a1cf95b6f42e2d

Please take a look and give some feedback so I can make progress.

I followed RFC 4975 with some exceptions:

1) MSRP in FS is always passive, so clients behind NAT can easily connect to it
2) MSRP service only use one port(hardcoded to 8044 for now), so it's easy for firewall configs
3) MSRP always works in B2BUA way, perhaps we can add bypass_media or external MSRP relay later
4) MSRP payload is different than RTP anyway, so I added some apps like msrp_echo, msrp_send, msrp_recv and api like uuid_msrp_send etc.
5) Each session use one TCP connection, no duplex
6) Only support SDP have MSRP only, no mix of audio/videos
7) I tried with blink on Mac and Boghe on Windows, send messages and files with FS is sort of works with the above code. msrp_bridge is buggy but it is possible to send messages but not files for now.

So I have new questions for the right way to do this:

Current code is coupled in mod_sofia and ugly, but it need stub code into mod_sofia for SDP negotiation anyway, Ideally it should be a new mod_msrp to decouple from mod_sofia, but mod_sofia cannot call functions in mod_msrp I thought about the spandsp fax way but fax using RTP but MSRP using TCP so I don't now if it's possible.  Another idea would be put the msrp code into core, the advantage would be we have another media type in core so audio and MSRP data could be mixed in one SDP session.

Ideas?

Thanks. 

On Wednesday, December 7, 2011 at 10:11 AM, Seven Du wrote:

> http://jira.freeswitch.org/browse/FS-3748 
> 
> any other comments to my other questions? I think it would be  a mod_msrp and some msrp_glue.c things.
> 
> 
> Thanks.
> 
> On Tuesday, December 6, 2011 at 11:49 PM, Brian West wrote:
> > Submit this to jira.freeswitch.org (http://jira.freeswitch.org) and we can push things upstream.
> > 
> > /b
> > 
> > On Dec 6, 2011, at 12:08 AM, Seven Du wrote:
> > 
> > > Hi, 
> > > 
> > > We are working on msrp support in FS. With the following patch to lib sofia, the msrp SDP can deliver to mod_sofia
> > > 
> > > http://pastebin.freeswitch.org/17944 
> > > 
> > > questions:
> > > 
> > > 1) should I submit this to our jira or to the the sofia team? Any suggestions on the patch?
> > > 
> > > 2) As FS is a B2BUA, so I think it would be endpoint-to-endpoint bridge, then we need start TCP/MSRP thread to handle media
> > > 
> > > a. It should more like video handling or more like fax ? That means to hack bridge code to also handle msrp, or should we implement api like tx_fax/rx_fax vs tx_msrp/rxmsrp?
> > > 
> > > b. for text over msrp, is it possible to routing the chatplan like mod_sms
> > > 
> > > c. the first stage would be just endpoint to endpoint, shoud we implement relay ? or even switch mode for conference? I'm very new to msrp. 
> > > 
> > > 
> > > 3) we found a msrp lib from http://confiance.sourceforge.net/ . It's GPL, I know it's not license compatible, but as I learned from previous talk about video, the code can put elsewhere and we just implement the logic to hook them on. Or other lib we could use?
> > > 
> > > 
> > > Any suggestion is appreciated.
> > > 
> > > 
> > > Seven.
> > > 
> > > -- 
> > > About: http://about.me/dujinfang
> > > Blog: http://www.dujinfang.com
> > > Proj: http://www.freeswitch.org.cn
> > > 
> > > Sent with Sparrow (http://www.sparrowmailapp.com)
> > > 
> > > _________________________________________________________________________
> > > Professional FreeSWITCH Consulting Services:
> > > consulting at freeswitch.org (mailto: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 (mailto: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
> > > 
> > 
> > 
> > 
> > _________________________________________________________________________
> > Professional FreeSWITCH Consulting Services:
> > consulting at freeswitch.org (mailto: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 (mailto: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
> > 
> > 
> > 
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20120130/87879eed/attachment.html 


Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-dev mailing list