It looks like starting in v.1.2 of Asterisk a new jitter buffer is used. While the new jitter buffer sounds nice, it doesn’t work very well with other Asterisk boxes using the older jitter buffer. The documentation (bugs.digium.com/file_download.ph … 0&type=bug) says that if you want to go back to the old style jitter buffer:
[quote]You may also compile chan_iax2.c without the new jitterbuffer, enabling the old
backwards compatible architecture. Look in the source code for instructions.[/quote]
Before I proceed, I am a professional programmer, but I am not a C programmer. I have toyed in C a little, so I can vaguely read it, but that’s about the extent of it. I am still pretty much at the novice+ level on Linux, but being a hard-core-DOS guy I do OK with it.
That said, I’ve looked in chan_iax2.c, and quickly found this section:
[code]/* Define NEWJB to use the new channel independent jitterbuffer,
- otherwise, use the old jitterbuffer */
It would seem that simply remarking out the “#define NEWJB” line would be all that is needed to reinstate the old jitter buffer on recompile. Of course I’m so lame I’m not sure how to go about doing the recompile. Can I recompile just chan_iax2.c and replace /usr/lib/asterisk/modules/chan_iax2.so with the new one? Even if it is that simple, I don’t even know how to do that. I guessed it might be as simple as “cc -c chan_iax2.c” after making the change, but all I got was 10 screenfuls of errors. I know in Perl we usually have a makefile, but generally the makefile is for a whole application, not just one module.
I’ve searched the forums here, as well as Googled, and other searches, and just haven’t found anything that leads me to it. Either it is so simple that nobody ever discusses it, or nobody else is doing it.
Thanks for your time, and thanks in advance for any advice.