[Spread-users] Voice communication using Spread

Jim Vickroy Jim.Vickroy at noaa.gov
Tue Feb 13 10:35:14 EST 2007

Roman Selin wrote:
> Hi,
>  I'm developing voice communication system - with full duplex 
> and conference support for several users. It will work on local
>  LAN, not WAN. 
> >From the technical point of view, it will use GSM technologies: 8 
> kHz sampling, one channel, 16 bit samples. GSM compression 
> will be used: 160 samples (320 bytes) will be compressed to 33
> bytes frame at 50Hz rate. 
> Architecture is simple - several clients (usually  ~10) and single broker/switch application. I'm considering using Spread for this 
> (single daemon), since group communication system should 
> help to implement things like conferencing. 
> Did anyone do anything like this before ? I'm very interested in 
> any opinions about this. Any performance tuning using
> parameters in membership.c ?
> Conducting performance tests, I 
> noticed that under heavy load (sending a lot of messages to 
> group)  Spread sometimes just closes connection. I found 
> similar discussion in the list archive, but it didn't help
> (I read everything from the group). I've also read a lot about
> Spread's blocking behaviour - we can use 
> select/poll/epoll/kqueue to detect socket readiness, but 
> I/O  can block inside SP_receive or SP_multicast.
> Does anyone know the reason Spread sometimes closes connection or blocks indefinitely under heavy load ? 
> I use 4.0.0 under Linux (SUSE 9.3, 10.2,).
> I also found Spines (http://www.spines.org/) and read paper "An Overlay Architecture for High Quality VoIP Streams" (http://www.cnds.jhu.edu/pub/papers/voip_tmm_06.pdf).
> Is Spines actively supported and developed ? Mailing 
> list does not seem to be very active.
> Does it offer significant performance or other advantage over 
> Spread ?
> Thanks for any help,
> Roman

Hello Roman,

One reason, the most common I believe, that Spread closes a client 
connection is because the client mailbox is full (i.e., the client is 
not keeping pace with the messages flow).

Spread daemons buffer 1000 message (regardless of size but less then max 
message size) per client connection.  

You can increase this number (MAX_SESSION_MESSAGES), in spread_params.h 
to 10,000, or 100,000 etc. depending on how much RAM you have on your 

I have no experience using Spread in the manner you propose.

-- jv
> ----------------------------------------------------
> W stylu Joanny Brodzik.
> Zobacz jak ubiera się prawdziwa gwiazda! Kliknij:
> http://klik.wp.pl/?adr=http%3A%2F%2Fadv.reklama.wp.pl%2Fas%2Fd69.html&sid=1018
> _______________________________________________
> Spread-users mailing list
> Spread-users at lists.spread.org
> http://lists.spread.org/mailman/listinfo/spread-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.spread.org/pipermail/spread-users/attachments/20070213/b28baa93/attachment.html 

More information about the Spread-users mailing list