New codec integration and concurrent calls limit questions
Hello everyone, we are working on a videoconferece platform with freeSWITCH integrated. Now we have a the possibility to try a new codec, proprietary, and we have never gone too deep with freeSWITCH. I have tried to take a look at the wiki but I didn´t find the answer to the next question, Is it possible to integrate that new codec into freeSWITCH? according to the codec provider it is a G.279 implementation, with several improvements. Any licence issue? difficulty to achieve the integration? On the other hand, we also have another issue. I have checked freeSWITCH wiki trying to find any possible limit for concurrent calls, and according to it, it doesn't seem to be a limit of SIP but purely the RTP. But with the open source video conference platform we are working now this is limited to 25, and according to the developers it is due to the audio. Do you have any idea about this issue? We have run some test and we go over 25 people in the meeting freeSWITCH uses 125% of CPU (ref. 8 cores machine and each core represent 100% capacity => 800%), is this a normal behavior? Thank you very much, Fernando Hernandez
See inline responses. On 05/16/2013 02:40 AM, Fernando Hernandez wrote:
Hello everyone,
we are working on a videoconferece platform with freeSWITCH integrated. Now we have a the possibility to try a new codec, proprietary, and we have never gone too deep with freeSWITCH. I have tried to take a look at the wiki but I didn´t find the answer to the next question,
Is it possible to integrate that new codec into freeSWITCH? according to the codec provider it is a G.279 implementation, with several improvements. Any licence issue? difficulty to achieve the integration?
Yes, it is possible. You have to look at the code for another codec's module for basic reference. Yes, there *can* be licensing issues, especially if you wish to distribute the code in any fashion. You need to read both the MPL 1.1 as well as the license terms for whatever libraries you are linking your new module with. But before I go any further, the issue with g729 isn't that the source code is necessarily restrictively licensed - it's that the codec itself is protected under patents and thus subject to per-channel licensing. I do find myself curious to know what this implementation of g729 that you are planning to work with is, and what are the improvements that it offers over the licensed g729 in the FreeSWITCH tree. I am curious in part because I know the guys put in a lot of effort to be able to provide legal licensing for g729 in FreeSWITCH, and if there's a viable way to improve on the code, there might be the option to provide a bounty for it or make the contribution yourself back to the FreeSWITCH code (without the use of the proprietary code, of course).
On the other hand, we also have another issue. I have checked freeSWITCH wiki trying to find any possible limit for concurrent calls, and according to it,it doesn't seem to be a limit of SIP but purely the RTP. But with the open source video conference platform we are working now this is limited to 25, and according to the developers it is due to the audio. Do you have any idea about this issue? We have run some test and we go over 25 people in the meeting freeSWITCH uses 125% of CPU (ref. 8 cores machine and each core represent 100% capacity => 800%), is this a normal behavior?
Are you transcoding audio on these calls? That's where most of the CPU power would go to if the audio is indeed the issue.
Thank you very much,
Fernando Hernandez
_________________________________________________________________________ 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-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Fernando, if it’s BigBluebutton your referring to a couple of things. Since it is currently a flash client, you are limited to codecs you can use. BBB is using speex/16 which takes more cpu cycles to mix in mod conference. Getting 8-10 speex users mixing takes up a standard core, so you can project how it scales based on hardware thrown at it. Also red5 is used for streaming video, etc, and this needs cpu cycles. There are no limits to BBB in software, and you can run very much larger conference than 25 if you scale the hardware appropriately. You can even distribute the app across multiple servers. Getting a proprietary codec from client to FreeSWITCH would be a challenge. The <25 in BBB forums is intended to set expectations for user setting up standard single server implementations. Regards, Stephen Hostbbb.com From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch- users-bounces@lists.freeswitch.org] On Behalf Of Fernando Hernandez Sent: Thursday, May 16, 2013 3:41 AM To: freeswitch-users@lists.freeswitch.org Cc: 黃俊嘉; 蔡定一 Subject: [Freeswitch-users] New codec integration and concurrent calls limitquestions Hello everyone, we are working on a videoconferece platform with freeSWITCH integrated. Now we have a the possibility to try a new codec, proprietary, and we have never gone too deep with freeSWITCH. I have tried to take a look at the wiki but I didn´t find the answer to the next question, Is it possible to integrate that new codec into freeSWITCH? according to the codec provider it is a G.279 implementation, with several improvements. Any licence issue? difficulty to achieve the integration? On the other hand, we also have another issue. I have checked freeSWITCH wiki trying to find any possible limit for concurrent calls, and according to it, it doesn't seem to be a limit of SIP but purely the RTP. But with the open source video conference platform we are working now this is limited to 25, and according to the developers it is due to the audio. Do you have any idea about this issue? We have run some test and we go over 25 people in the meeting freeSWITCH uses 125% of CPU (ref. 8 cores machine and each core represent 100% capacity => 800%), is this a normal behavior? Thank you very much, Fernando Hernandez
Thanks a lot to both for your advice, it has been really useful. Stephen, yes, I am referring to BBB. And I have a question, as far as BBB is not limited by software and we need to run conference larger than 25 we need to scale the hardware. But, I would like to know about the possibility to distribute BBB across multiple servers, how can we do it? do you know if there is any documentation about it? And about Misheshu comments, I think the licence issue will be a problem. The implementation of G.729 I am talking about is proprietary, not open at all, so we need to find out if it is possible to use it with FreeSWITCH (I am not well versed on the licensing issues, so I will read the licenses and try to understand them). You can check this comparison table to have an idea about this codec performance, [image: Imágenes integradas 1] And finally, about audio transcoding. We use BBB and speex for the encoding, but as Stephen said before, maybe the audio is not the only problem we have. We need to run more tests... Thank you very much and best regards, Fernando Hernandez. 2013/5/17 Stephen Dame <sdame@207me.com>
Fernando, if it’s BigBluebutton your referring to a couple of things.*** *
** **
Since it is currently a flash client, you are limited to codecs you can use. BBB is using speex/16 which takes more cpu cycles to mix in mod conference. Getting 8-10 speex users mixing takes up a standard core, so you can project how it scales based on hardware thrown at it.****
** **
Also red5 is used for streaming video, etc, and this needs cpu cycles.****
** **
There are no limits to BBB in software, and you can run very much larger conference than 25 if you scale the hardware appropriately. You can even distribute the app across multiple servers.****
** **
Getting a proprietary codec from client to FreeSWITCH would be a challenge. ****
** **
The <25 in BBB forums is intended to set expectations for user setting up standard single server implementations.****
** **
Regards,****
Stephen****
Hostbbb.com****
** **
*From:* freeswitch-users-bounces@lists.freeswitch.org [mailto: freeswitch-users-bounces@lists.freeswitch.org] *On Behalf Of *Fernando Hernandez *Sent:* Thursday, May 16, 2013 3:41 AM *To:* freeswitch-users@lists.freeswitch.org *Cc:* 黃俊嘉; 蔡定一 *Subject:* [Freeswitch-users] New codec integration and concurrent calls limitquestions****
** **
Hello everyone,****
** **
we are working on a videoconferece platform with freeSWITCH integrated. Now we have a the possibility to try a new codec, proprietary, and we have never gone too deep with freeSWITCH. I have tried to take a look at the wiki but I didn´t find the answer to the next question,****
** **
Is it possible to integrate that new codec into freeSWITCH? according to the codec provider it is a G.279 implementation, with several improvements. Any licence issue? difficulty to achieve the integration? ****
** **
On the other hand, we also have another issue. I have checked freeSWITCH wiki trying to find any possible limit for concurrent calls, and according to it, it doesn't seem to be a limit of SIP but purely the RTP. But with the open source video conference platform we are working now this is limited to 25, and according to the developers it is due to the audio. Do you have any idea about this issue? We have run some test and we go over 25 people in the meeting freeSWITCH uses 125% of CPU (ref. 8 cores machine and each core represent 100% capacity => 800%), is this a normal behavior?****
** **
Thank you very much,****
** **
Fernando Hernandez****
_________________________________________________________________________ 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-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Unfortunately the table you provided doesn't explain adequately what it is that I'm looking at a comparison of. I'm a bit confused because g729 does not support all of the sample rates here, and according to what I've read g729.1 supports wideband up to 32k. If you could please clarify what these statistics are for, I'd appreciate it. I am not able to wrap my head around what the proprietary implementation of g729 that you are referring to (you have not revealed what it is) does that the existing code does not do or could not be made to do. -Yossi
I will try to send more specific information. But, at this moment, i don't have it. I am almost sure you doesn't know about this implementation. It is from an Asian University. Sorry if I can not give more details. Fernando. 2013/5/17 I put the Who? in Mishehu <mishehu@freeswitch.org>
Unfortunately the table you provided doesn't explain adequately what it is that I'm looking at a comparison of. I'm a bit confused because g729 does not support all of the sample rates here, and according to what I've read g729.1 supports wideband up to 32k. If you could please clarify what these statistics are for, I'd appreciate it. I am not able to wrap my head around what the proprietary implementation of g729 that you are referring to (you have not revealed what it is) does that the existing code does not do or could not be made to do.
-Yossi
_________________________________________________________________________ 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-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
On 05/17/2013 10:54 AM, Fernando Hernandez wrote:
Thanks a lot to both for your advice, it has been really useful.
Stephen, yes, I am referring to BBB. And I have a question, as far as BBB is not limited by software and we need to run conference larger than 25 we need to scale the hardware. But, I would like to know about the possibility to distribute BBB across multiple servers, how can we do it? do you know if there is any documentation about it?
And about Misheshu comments, I think the licence issue will be a problem. The implementation of G.729 I am talking about is proprietary, not open at all, so we need to find out if it is possible to use it with FreeSWITCH (I am not well versed on the licensing issues, so I will read the licenses and try to understand them). You can check this comparison table to have an idea about this codec performance,
Imágenes integradas 1
And finally, about audio transcoding. We use BBB and speex for the encoding, but as Stephen said before, maybe the audio is not the only problem we have. We need to run more tests...
Thank you very much and best regards,
Fernando Hernandez. What is this table supposed to indicate? u-law, A-law and most forms of ADPCM (the table doesn't indicate which one) are only designed for use at 8k samples/second, and give poor results when used at higher rates. G.729 can *only* be used at 8k samples/second. Its just useless at higher sample rates. If "capacity" is supposed to be the number of channels of the codec which can be supported on an i7-2720QM why is the number for G.729 so low? Even a poor implementation should be faster than 50 channels on a quad core processor like that. The G.729 for Freeswitch is certainly a lot faster than 148 channels on such a processor.
Steve
I think they mean modified CS-ACELP codec based on g.729. 50 simultaneously channels is low number on quad core I7, even using ITU reference implementation. 2013/5/17 Steve Underwood <steveu@coppice.org>
On 05/17/2013 10:54 AM, Fernando Hernandez wrote:
Thanks a lot to both for your advice, it has been really useful.
Stephen, yes, I am referring to BBB. And I have a question, as far as BBB is not limited by software and we need to run conference larger than 25 we need to scale the hardware. But, I would like to know about the possibility to distribute BBB across multiple servers, how can we do it? do you know if there is any documentation about it?
And about Misheshu comments, I think the licence issue will be a problem. The implementation of G.729 I am talking about is proprietary, not open at all, so we need to find out if it is possible to use it with FreeSWITCH (I am not well versed on the licensing issues, so I will read the licenses and try to understand them). You can check this comparison table to have an idea about this codec performance,
Imágenes integradas 1
And finally, about audio transcoding. We use BBB and speex for the encoding, but as Stephen said before, maybe the audio is not the only problem we have. We need to run more tests...
Thank you very much and best regards,
Fernando Hernandez. What is this table supposed to indicate? u-law, A-law and most forms of ADPCM (the table doesn't indicate which one) are only designed for use at 8k samples/second, and give poor results when used at higher rates. G.729 can *only* be used at 8k samples/second. Its just useless at higher sample rates. If "capacity" is supposed to be the number of channels of the codec which can be supported on an i7-2720QM why is the number for G.729 so low? Even a poor implementation should be faster than 50 channels on a quad core processor like that. The G.729 for Freeswitch is certainly a lot faster than 148 channels on such a processor.
Steve
_________________________________________________________________________ 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-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
participants (5)
-
Dmitry Lysenko
-
Fernando Hernandez
-
I put the Who? in Mishehu
-
Stephen Dame
-
Steve Underwood