<div>
                    UPDATE on MSRP
                </div><div><br></div><div>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.</div><div><br></div><div>So I have the following code:</div><div><br></div><div><a href="https://github.com/seven1240/FreeSWITCH/commit/272607bf34d9748f20bd9e8082a1cf95b6f42e2d">https://github.com/seven1240/FreeSWITCH/commit/272607bf34d9748f20bd9e8082a1cf95b6f42e2d</a></div><div><br></div><div>Please take a look and give some feedback so I can make progress.</div><div><br></div><div>I followed RFC 4975 with some exceptions:</div><div><br></div><div>1) MSRP in FS is always passive, so clients behind NAT can easily connect to it</div><div>2) MSRP service only use one port(hardcoded to 8044 for now), so it's easy for firewall configs</div><div>3) MSRP always works in B2BUA way, perhaps we can add bypass_media or external MSRP relay later</div><div>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.</div><div>5) Each session use one TCP connection, no duplex</div><div>6) Only support SDP have MSRP only, no mix of audio/videos</div><div>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.</div><div><br></div><div>So I have new questions for the right way to do this:</div><div><br></div><div>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. &nbsp;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.</div><div><br></div><div>Ideas?</div><div><br></div><div>Thanks.</div>
                 
                <p style="color: #A0A0A8;">On Wednesday, December 7, 2011 at 10:11 AM, Seven Du wrote:</p>
                <blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px;">
                    <span><div><div>
                <div>
                    <a href="http://jira.freeswitch.org/browse/FS-3748">http://jira.freeswitch.org/browse/FS-3748</a>
                </div><div><br></div><div>any other comments to my other questions? I think it would be &nbsp;a mod_msrp and some msrp_glue.c things.</div><div><br></div><div><br></div><div>Thanks.</div><div><br></div>
                <div><div><span style="color: rgb(160, 160, 168); ">On Tuesday, December 6, 2011 at 11:49 PM, Brian West wrote:</span></div></div><blockquote type="cite"><div>
                    <span><div><div><div>Submit this to <a href="http://jira.freeswitch.org">jira.freeswitch.org</a> and we can push things upstream.</div><div><br></div><div>/b</div><div><br></div><div>On Dec 6, 2011, at 12:08 AM, Seven Du wrote:</div><div><br></div><blockquote type="cite"><div><div>Hi, </div><div><br></div><div>We are working on msrp support in FS. With the following patch to lib sofia,  the msrp SDP can deliver to mod_sofia</div><div><br></div><div><a href="http://pastebin.freeswitch.org/17944">http://pastebin.freeswitch.org/17944</a> </div><div><br></div><div>questions:</div><div><br></div><div>1) should I submit this to our jira or to the the sofia team? Any suggestions on the patch?</div><div><br></div><div>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</div><div><br></div><div>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?</div><div><br></div><div>b.  for text over msrp, is it possible to routing the chatplan like mod_sms</div><div><br></div><div>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.  </div><div><br></div><div><br></div><div>3) we found a msrp lib from <a href="http://confiance.sourceforge.net">http://confiance.sourceforge.net</a>/ . 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?</div><div><br></div><div><br></div><div>Any suggestion is appreciated.</div><div><br></div><div><br></div><div>Seven.</div><div><br></div><div>-- </div><div>About: <a href="http://about.me/dujinfang">http://about.me/dujinfang</a></div><div>Blog: <a href="http://www.dujinfang.com">http://www.dujinfang.com</a></div><div>Proj:  <a href="http://www.freeswitch.org.cn">http://www.freeswitch.org.cn</a></div><div><br></div><div>Sent with Sparrow (<a href="http://www.sparrowmailapp.com">http://www.sparrowmailapp.com</a>)</div><div><br></div><div>_________________________________________________________________________</div><div>Professional FreeSWITCH Consulting Services:</div><div><a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a></div><div><a href="http://www.freeswitchsolutions.com">http://www.freeswitchsolutions.com</a></div><div><br></div><div>FreeSWITCH-powered IP PBX: The CudaTel Communication Server</div><div><a href="http://www.cudatel.com">http://www.cudatel.com</a></div><div><br></div><div>Official FreeSWITCH Sites</div><div><a href="http://www.freeswitch.org">http://www.freeswitch.org</a></div><div><a href="http://wiki.freeswitch.org">http://wiki.freeswitch.org</a></div><div><a href="http://www.cluecon.com">http://www.cluecon.com</a></div><div><br></div><div>FreeSWITCH-dev mailing list</div><div><a href="mailto:FreeSWITCH-dev@lists.freeswitch.org">FreeSWITCH-dev@lists.freeswitch.org</a></div><div><a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev">http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev</a></div><div>UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-dev">http://lists.freeswitch.org/mailman/options/freeswitch-dev</a></div><div><a href="http://www.freeswitch.org">http://www.freeswitch.org</a></div></div></blockquote><div><br></div><div><br></div><div>_________________________________________________________________________</div><div>Professional FreeSWITCH Consulting Services:</div><div><a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a></div><div><a href="http://www.freeswitchsolutions.com">http://www.freeswitchsolutions.com</a></div><div><br></div><div>FreeSWITCH-powered IP PBX: The CudaTel Communication Server</div><div><a href="http://www.cudatel.com">http://www.cudatel.com</a></div><div><br></div><div>Official FreeSWITCH Sites</div><div><a href="http://www.freeswitch.org">http://www.freeswitch.org</a></div><div><a href="http://wiki.freeswitch.org">http://wiki.freeswitch.org</a></div><div><a href="http://www.cluecon.com">http://www.cluecon.com</a></div><div><br></div><div>FreeSWITCH-dev mailing list</div><div><a href="mailto:FreeSWITCH-dev@lists.freeswitch.org">FreeSWITCH-dev@lists.freeswitch.org</a></div><div><a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev">http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev</a></div><div>UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-dev">http://lists.freeswitch.org/mailman/options/freeswitch-dev</a></div><div><a href="http://www.freeswitch.org">http://www.freeswitch.org</a></div></div></div></span>
                  
                  
                  
                  
                </div></blockquote><div>
                    <br>
                </div>
            </div></div></span>
                 
                 
                 
                 
                </blockquote>
                 
                <div>
                    <br>
                </div>