[Freeswitch-dev] msrp support
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)
Submit this to 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@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
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@freeswitch.org (mailto:consulting@freeswitch.org) http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org (mailto:FreeSWITCH-dev@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@freeswitch.org (mailto:consulting@freeswitch.org) http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org (mailto:FreeSWITCH-dev@lists.freeswitch.org) http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
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/272607bf34d9748f20bd9e8082a1c... 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@freeswitch.org (mailto:consulting@freeswitch.org) http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org (mailto:FreeSWITCH-dev@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@freeswitch.org (mailto:consulting@freeswitch.org) http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org (mailto:FreeSWITCH-dev@lists.freeswitch.org) http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
If its only relevant to sip its ok to live in mod_sofia but it can still be cleanly done. On Mon, Jan 30, 2012 at 6:41 AM, Seven Du <dujinfang@gmail.com> wrote:
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/272607bf34d9748f20bd9e8082a1c...
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 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@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-dev mailing list FreeSWITCH-dev@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@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-dev mailing list FreeSWITCH-dev@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@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org googletalk:conf+888@conference.freeswitch.org pstn:+19193869900
Cool. I have moved msrp related applications and apis to msrp.c so it's more clear. Will do more work and update later. Thanks. On Tuesday, January 31, 2012 at 1:59 AM, Anthony Minessale wrote:
If its only relevant to sip its ok to live in mod_sofia but it can still be cleanly done.
On Mon, Jan 30, 2012 at 6:41 AM, Seven Du <dujinfang@gmail.com (mailto:dujinfang@gmail.com)> wrote:
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/272607bf34d9748f20bd9e8082a1c...
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@freeswitch.org (mailto:consulting@freeswitch.org) http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org (mailto:FreeSWITCH-dev@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@freeswitch.org (mailto:consulting@freeswitch.org) http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org (mailto:FreeSWITCH-dev@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@freeswitch.org (mailto:consulting@freeswitch.org) http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org (mailto:FreeSWITCH-dev@lists.freeswitch.org) http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com (mailto:anthony_minessale@hotmail.com) GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com (mailto:anthony.minessale@gmail.com) IRC: irc.freenode.net (http://irc.freenode.net) #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org (mailto:888@conference.freeswitch.org) googletalk:conf+888@conference.freeswitch.org (mailto:conf+888@conference.freeswitch.org) pstn:+19193869900
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org (mailto:consulting@freeswitch.org) http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org (mailto:FreeSWITCH-dev@lists.freeswitch.org) http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
participants (3)
-
Anthony Minessale
-
Brian West
-
Seven Du