[Asterisk-Dev] SIP Jitter Buffer Testing
George Pajari
George.Pajari at netVOICE.ca
Fri Sep 16 23:23:04 MST 2005
Firstly let me thank all involved in the SIP Jitter Buffer work. IMHO
this is the single most significant enhancement to Asterisk since 1.0.0
for those of us who need to connect SIP equipment over the public Internet.
I have set up a separate server (dual P3 800) to play with this code and
am using fax machines to do the testing since they are far more
sensitive to jitter and packet loss than voice. If we can send and
receive faxes reliably using G.711 ulaw over the public Internet then we
know we have accomplished something.
The architecture for these tests is a production Asterisk server running
1.0.3 connected to a single PRI via a T100P and the jitter buffer server
in the same rack. The two servers are connected using IAX through a 3COM
switch.
We have run about 250 calls through this server with no stability
problems. No crashes, no inexplicable behaviour. Have not checked for
memory leaks but memory consumption seems not to be a problem (our
1.0.3. production server leaks more memory). That said, this is very
light load with only one or two calls going through the jitter buffer
server at the same time.
It goes without saying that on most connections, getting faxes through
without the jitter buffer is almost impossible. The jitterbuffer makes a
phenomenal difference. But we are still experiencing more problems than
we should and have some questions on how to best proceed.
Asterisk CVS HEAD built by root at voip2 on a i686 running Linux on
2005-09-06 11:30:15 UTC
jb-rtp-sip.scx.new.patch from downloaded 2005.09.06
sip.conf settings:
usejb=yes
jbsize=600
forcejb=yes
jblog=yes
Question 1 - We have logging enabled and are sometimes seeing the following:
JB_PUT_FIRST {now=0}: Queued frame with ts=44347283 and len=30
JB_PUT {now=22}: Queued frame with ts=44347313 and len=30
JB_PUT {now=45}: Queued frame with ts=44347343 and len=30
JB_PUT {now=83}: Queued frame with ts=44347373 and len=30
JB_PUT {now=140}: Queued frame with ts=44347403 and len=30
JB_PUT {now=148}: Queued frame with ts=44347433 and len=30
JB_PUT {now=175}: Queued frame with ts=44347463 and len=30
JB_PUT {now=199}: Queued frame with ts=44347493 and len=30
JB_PUT {now=224}: Queued frame with ts=44347523 and len=30
JB_PUT {now=265}: Queued frame with ts=44347553 and len=30
JB_PUT {now=293}: Queued frame with ts=44347583 and len=30
JB_PUT {now=316}: Queued frame with ts=44347613 and len=30
JB_PUT {now=355}: Queued frame with ts=44347643 and len=30
JB_PUT {now=375}: Queued frame with ts=44347673 and len=30
JB_PUT {now=411}: Queued frame with ts=44347703 and len=30
JB_PUT {now=437}: Queued frame with ts=44347733 and len=30
JB_PUT {now=465}: Queued frame with ts=44347763 and len=30
JB_PUT {now=503}: Queued frame with ts=44347793 and len=30
JB_PUT {now=525}: Queued frame with ts=44347823 and len=30
JB_PUT {now=561}: Queued frame with ts=44347853 and len=30
JB_PUT {now=593}: Queued frame with ts=44347883 and len=30
JB_GET {now=606}: Delivered frame with ts=44347283 and len=30
JB_PUT {now=618}: Queued frame with ts=44347913 and len=30
JB_PUT {now=645}: Queued frame with ts=44347943 and len=30
JB_GET {now=646}: Dropped frame with ts=44347313 and len=30
JB_GET {now=676}: Dropped frame with ts=44347343 and len=30
JB_PUT {now=686}: Queued frame with ts=44347973 and len=30
JB_GET {now=707}: Dropped frame with ts=44347373 and len=30
JB_PUT {now=716}: Queued frame with ts=44348003 and len=30
JB_PUT {now=737}: Queued frame with ts=44348033 and len=30
JB_GET {now=737}: Dropped frame with ts=44347403 and len=30
JB_PUT {now=766}: Queued frame with ts=44348063 and len=30
JB_GET {now=767}: Dropped frame with ts=44347433 and len=30
JB_GET {now=797}: Dropped frame with ts=44347463 and len=30
JB_PUT {now=808}: Queued frame with ts=44348093 and len=30
JB_GET {now=827}: Dropped frame with ts=44347493 and len=30
JB_GET {now=857}: Dropped frame with ts=44347523 and len=30
Why are all the frames being dropped after the first?
Question 2: What can we do to further identify the problems and work
towards a solution?
--
George Pajari, netVOICE communications 604 484 VOIP (484 8647 x102)
Open Source VoIP/Telephony Specialists 1 877 NET VOIP (638 8647 x102)
www.netvoice.ca www.ip-centrex.ca
www.digium.ca www.grandstream.ca www.sipura.ca www.snom.ca
More information about the asterisk-dev
mailing list