[asterisk-ss7] chan_ss7 error - Write buffer full on CIC

marek cervenka cervajs at fpf.slu.cz
Tue Jan 26 15:45:45 CST 2010


> [Jan 26 19:40:39] NOTICE[9960]: l4isup.c:2434 ss7_write: Write buffer full
> on CIC=122 (wrote only 0 of 160), audio lost (suppress 17).
> [Jan 26 19:40:50] NOTICE[9960]: l4isup.c:2434 ss7_write: Write buffer full
> on CIC=122 (wrote only 0 of 160), audio lost (suppress 0).
> [Jan 26 19:41:02] NOTICE[9960]: l4isup.c:2434 ss7_write: Write buffer full
> on CIC=122 (wrote only 0 of 160), audio lost (suppress 5).
> [Jan 26 19:41:20] NOTICE[9960]: l4isup.c:2434 ss7_write: Write buffer full
> on CIC=122 (wrote only 0 of 160), audio lost (suppress 7).
> [Jan 26 19:41:38] NOTICE[9960]: l4isup.c:2434 ss7_write: Write buffer full
> on CIC=122 (wrote only 0 of 160), audio lost (suppress 10).

from chan_ss7 faq:

===text====
Write buffer full on CIC=4 (wrote only 0 of 160), audio lost.

[Sep 19 18:41:08] NOTICE[10930] l4isup.c: Write buffer full on CIC=4 
(wrote only 0 of 160), audio lost.
[Sep 19 18:41:08] NOTICE[10930] l4isup.c: Write buffer full on CIC=4 
(wrote only 0 of 160), audio lost.
[Sep 19 18:41:08] NOTICE[10930] l4isup.c: Write buffer full on CIC=4 
(wrote only 0 of 160), audio lost.

Actually, the "Write buffer" is a kind of jitter-buffer. It is inside the 
zaptel driver and is initialized by chan_ss7 to 4 * 160 bytes (80ms). You 
can increase it to some other multiple of 160, but it requires a 
recompile, and will also increase the audio-delay.

The "write-buffer full" problem often occur because of jitter on the 
IP-net.

In IP-networks, there is allways a time-delay from the time a packet is 
sent to it get received at another host. This delay is unfortunately not 
allways the same. Sometimes, the packets will arrive too slow, and 
sometimes they will arrive too fast. When they arrive too fast, the 
send-buffer is filled, chan_ss7 writes the "Write buffer full" and then 
drop the packets.

This problem does not occur in the conventional circuit-switched telephone 
network, since it is completely synchronous and a dedicated (logical) 
circuit is reserved between the sender and receiver.

To get around this problem, you can setup trafic-shaping on the network, 
insert a bigger buffer in chan_ss7 (which will cause more delay), to 
even-out the difference in time-delay. Maybe it will helpl to configure 
the routers to "chop up" big packets in order to get the small RTP packets 
going smoothly.

===end text===

you can try:
- newer version of chan_ss7
- jitter buffer option in ss7.conf
[jitter]
jbenable = yes
jbmaxsize = 1000
jbresyncthreshold = 1000
jbimpl = adaptive


---------------------------------------
Marek Cervenka
=======================================




More information about the asterisk-ss7 mailing list