Asterisk 1.8.7 RTP and Timing

Hi all,

Am new to asterisk, so please bear with me if my question sounds naive. I have an SIP extension on asterisk that plays a music file when dialed to (Playback).

The problem is that, callers who fail to transmit RTP packet to asterisk would not hear any audio (users without mic). Asterisk wont sent RTP packets to caller unless it receives RTP packets from the caller. But in my case (Playback), the user does not need to send RTP packets to asterisk. Is there a workaround to this problem?

I did some basic research on this and I found that using internal timing can help solve the issue. I am using Asterisk 1.8.7 and the only timing module I have is res_timing_pthread.so. I tried setting internal_timing=yes for asterisk, but still no difference. How can I load other modules like res_timing_dahdi.so and res_timing_timerfd.so to asterisk.

Any help would be greatly appreciated. Thanks

Enable internal timing (/etc/asterisk/asterisk.conf) and make sure you have a valid timing source.

Until recently, dahdi was the only valid and working time source. It includes a dummy source for when there is no real telephony hardware to provide a timer. timerfd is a more recent source, but was broken up to very recently. I don’t know if it is fixed in 1.8.7, or whether you need to move to 1.8.9

david55 to the rescue again. Your post help me resolve a SIP network related issue last week :smile:

I did try enabling timer from asterisk.conf by setting internal_timing=yes

But the issue I am facing is how to get the DAHDI module working with my asterisk. I downloaded and installed DAHDI 2.6 and Tools from asterisk.org. But it does not have a dahdi_dummy module any more or at least I can’t find it installed or when I run lsmod.

Also where could I find res_timing_dahdi.so to work with Asterisk 1.8.7.

Thanks

It no longer needs a dahdi_dummy module. The core module provides this function.

To get the Asterisk module, make sure that dahdi is installed, then run make menuconfig and select it. Re-make Asterisk and install. There is no need to run make samples, or make configs, so the existing configuration will survive.

If you installed from a packager, complain to the packager - they should have built a dahdi enabled package.

Thanks again david55. Your answer is to the point. The DAHDI module was installed successfully and I have internal_timing=yes enabled in the conf file.

Asterisk is now using res_timing_dahdi.so (based on use count), but the problem of asterisk not sending RTP Packets still exists. Any pointers?

I’ve only used versions where dahdi is the only choice, but I would assume there is something better than use count for confirming the timing source.

The only other thing I can think of is a firewall problem, but I would expect any problem to affect inbound, not outbound, frames.