Discussion:
[Freeswitch-dev] msrp support
Seven Du
2011-12-06 06:08:02 UTC
Permalink
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)
Brian West
2011-12-06 15:49:57 UTC
Permalink
Submit this to jira.freeswitch.org and we can push things upstream.

/b
Post by Seven Du
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
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)
_________________________________________________________________________
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
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.freeswitch.org
Seven Du
2011-12-07 02:11:02 UTC
Permalink
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.
Submit this to jira.freeswitch.org (http://jira.freeswitch.org) and we can push things upstream.
/b
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
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)
_________________________________________________________________________
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
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.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
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.freeswitch.org
Seven Du
2012-01-30 12:41:45 UTC
Permalink
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.
Post by Seven Du
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.
Submit this to jira.freeswitch.org (http://jira.freeswitch.org) and we can push things upstream.
/b
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
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)
_________________________________________________________________________
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
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.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
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.freeswitch.org
Anthony Minessale
2012-01-30 17:59:31 UTC
Permalink
If its only relevant to sip its ok to live in mod_sofia but it can
still be cleanly done.
Post by Seven Du
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.
https://github.com/seven1240/FreeSWITCH/commit/272607bf34d9748f20bd9e8082a1cf95b6f42e2d
Please take a look and give some feedback so I can make progress.
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.
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.
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.
Submit this to jira.freeswitch.org and we can push things upstream.
/b
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
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)
_________________________________________________________________________
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
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.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
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.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
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:***@hotmail.com
GTALK/JABBER/PAYPAL:***@gmail.com
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:***@conference.freeswitch.org
googletalk:conf+***@conference.freeswitch.org
pstn:+19193869900
Seven Du
2012-01-31 00:13:56 UTC
Permalink
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.
Post by Anthony Minessale
If its only relevant to sip its ok to live in mod_sofia but it can
still be cleanly done.
Post by Seven Du
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.
https://github.com/seven1240/FreeSWITCH/commit/272607bf34d9748f20bd9e8082a1cf95b6f42e2d
Please take a look and give some feedback so I can make progress.
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.
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.
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.
Submit this to jira.freeswitch.org (http://jira.freeswitch.org) and we can push things upstream.
/b
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
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)
_________________________________________________________________________
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
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.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
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.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
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
IRC: irc.freenode.net (http://irc.freenode.net) #freeswitch
FreeSWITCH Developer Conference
pstn:+19193869900
_________________________________________________________________________
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
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.freeswitch.org
Continue reading on narkive:
Loading...