Create bugfix for asterisk's libjack implementation

Cancelado Postado Sep 14, 2013 Pago na entrega
Cancelado Pago na entrega

Overview:

---------------

Asterisk comes with an libjack implementation to support access to the phone calls' audio streams. The jack impementation is realized as dialplan applications/functions within asterisk; they will create two "jack ports" (virtual audio devices), when activated. There are two different ways of usage: as audio hook (JACK_HOOK()) for only the outgoing audio during a phone call, this way the outgoing audio stream can be intercepted and manipulated/filtered. The other way (JACK()), and that is the way we make use of it, is to have one virtual audio port for incoming and one for outgoing audio. Other software tools which implement libjack can then read from or write to these virtual devices.

Problem description:

--------------------

I) The jack implementation in asterisk seems to be faulty or broken

During our first tests we've noticed problems specially related to the ringbuffer; After a short period of time, all audio changed into white noise or disappeared at all. However, we've found a patch for this problem in the internet. This patch only tackles the problem as it "repairs" the ringbuffer and/or drops audio frames before there will be a serios "crash". The reason behind this issue is still unidentified.

II) We end up in segfaults as soon as asterisk handles some few calls in parallel.

Probably unrelated to the ringbuffer issue described above, there is still some kind of race condition or maybe a threading issue when starting calls in parallel. Asterisk crashes seemingly by random, we were not able to find out any reproducible situation that causes the crash. By compiling asterisk with disabled optimizations and enabled debug code, we were able to get a coredump. With gdb and its command "bt full", the backtrace shows that one jack function is expected to return a valid mem pointer (to the ringbuffer), but returns null. The next library (in this case libresample) raises the error. But the simpliest solution, to call this library only if the pointer is valid, did not help: the next coredump leads us to a totally different error position, but at least still related to jack.

Challenge:

----------

I) check whether asterisk and jack is correctly compiled and installed

II) Do all you need on the server to find out why asterisk crashes.

II) Provide a bugfix or any other solution as workaround that addresses

this problem

How we can help:

----------------

You will get full root access to the server and may install any public tools you need.

We will write a script that facilitates starting multiple test calls in parallel, to provoke the crash situation.

Please just ask, if you need any further information, help or assistance

related software

----------------

Asterisk (11.5.1) with libjack support

libjack-jackd2-0 (1.9.6~dfsg.1-2)

libresample (0.1.3-3)

Server: Linux version 2.6.32-5-amd64 (Debian 2.6.32-46)

(gcc version 4.3.5 (Debian 4.3.5-4))

related urls

------------

asterisk: [url removed, login to view]

libjack: [url removed, login to view]

files:

------

see backtrace #1 and #2,

the jack implementation source app_jack.c with its two fixes

Asterisk PBX Debian Depuração Linux

ID do Projeto: #4927392

Sobre o projeto

4 propostas Projeto remoto Ativo em Sep 21, 2013

4 freelancers estão ofertando em média $1814 nesse trabalho

meral

hi. likly it fixable, but complexity is high. for some application you can try go other way(but that depend of application and have be discused)

$3092 USD in 30 dias
(151 Comentários)
7.9
rsatinder

Hi, I can help you in this.

$833 USD in 3 dias
(6 Comentários)
4.0
oakwood28

I want to try

$555 USD in 10 dias
(3 Comentários)
3.8
maxlogics

Dear Prospect Hiring Manager. Thank you for giving me a chance to bid on your project. As you can see in my profile,I'm serious bidder here and i have already worked on a similar project before and can deliver as u Mais

$2947 USD in 30 dias
(0 Comentários)
0.0
AlexWang218

Hi Thanks for job posting.

$2777 USD in 7 dias
(0 Comentários)
0.0