Summary:ASTERISK-09663: activate asterisk bjitterbuffer for mISDN
Reporter:Martin Vit (festr)Labels:
Date Opened:2007-06-12 16:40:59Date Closed:2007-07-05 02:30:53
Versions:Frequency of
Environment:Attachments:( 0) misdn-1.4-jitter.path
Description:This patch does thing like in every chan_* in asterisk that activates jitterbuffer. Its good to have jitterbuffer between SIP and mISDN channels.

Changes are trivial, i'm voting to get this into 1.4 but I understand philosophy that 1.4 is feature freeze.  
Comments:By: crich (crich) 2007-06-13 03:11:40

That's only half of the change, we would additionally need to remove chan_misdn's internal jitterbuffer implementation to not confuse the users, which requires some more work.

So i would rather apply this patch in trunk.

By: Martin Vit (festr) 2007-06-13 03:20:45

i'm confused. I though that internal misdn jitterbuffer is for receiving data from mISDN like zaptel does. So why removes? Asterisk jitter implementation is on "sending" side? please confirm someone this:

asterisk jitter:

SIP -> jitterbuffer -> mISDN -> operator

internal jitter:

operator -> internal (misdn) jitter mISDN -> SIP

By: pj (pj) 2007-06-13 07:10:02

look at:
I think, that jitterbuffer is implemented quite weird, it work in receiving direction, but is confugured in outgoing channel, like: phone--sip-->chan_sip(nojb)->dialplan processing->chan_zap(here is dejittered, what is received from voip/sip--->operator

By: Martin Vit (festr) 2007-06-13 07:42:53

when two channels are bridged, dejjitering is done in outgoing channel after (or before, not sure) translators. So configuring it in outgoing channel is right.

what i'm asking crich is if mISDN internal jitterbuffer is for dejjitering incoming mISDN data. zaptel has its jitterbuffer too:

data -> zaptel dejitter ----> bridge ----> dejitter SIP

By: pj (pj) 2007-06-13 07:50:33

I think, that data from tdm network is precisely clocked, so jitter can't occur on isdn, so why dejitter on incomming from isdn:-\

By: Martin Vit (festr) 2007-06-13 08:47:18

from:  http://bugs.digium.com/file_download.php?file_id=5928&type=bug

Configure jitter buffers in zapata (each one is 20ms, default is 4, max is 32).
The zaptel jitterbuffers differ from IAX2 jitterbuffers in that they serve
to queue data that is being written to the zaptel interface if the write
needs to be put off for a moment. An excessive value simply wastes memory
however too low a value will result in choppy audio leaving the zaptel
interface and reams of console messages along the lines of:
chan_zap.c:4409 my_zt_write: Write returned -1 (Resource temporarily
       unavailable) on channel 1 - audio may have been lost



i think, that this is the same for mISDN. but this question is for mISDN gurus.

By: crich (crich) 2007-07-03 03:09:00

Sorry for the confusion, you're quite right, chan_misdn internal jitterbuffer is only for the sending side.

The patch is obviously quite small, and it seems that the general jitterbuffer implementation works for other channels too, i have nothing against the idea to apply it to 1.4, but since 1.4 is feature freezed i wonder what other asterisk maintainers think about that.

I think i'll start a discussion in the ML.

By: Digium Subversion (svnbot) 2007-07-05 02:28:45

Repository: asterisk
Revision: 73298

r73298 | crichter | 2007-07-05 02:28:44 -0500 (Thu, 05 Jul 2007) | 1 line

added general Jitterbuffer Implementation. ASTERISK-9663

By: crich (crich) 2007-07-05 02:30:52

Added the patch to Asterisk trunk (r73298), as discussed on the ML these kind of patches should go into trunk.

The patch here works for people that need the JB in 1.4