[Asterisk-Users] Pops in Call Recordings Tied to Dropped Audio
in Calls
Matt Roth
mroth at imminc.com
Thu Dec 15 10:40:29 MST 2005
Kevin P. Fleming wrote:
> On 2.6 kernels, ztdummy can use either the kernel ticks (jiffies) for
> timing, or the hardware realtime clock (RTC). By default it uses the
> RTC when built against kernel headers for 2.6.13 or newer; it can be
> manually configured to use the RTC for older kernels. The RTC is a
> more reliable timing source than kernel ticks, because they can be
> delayed small amounts due to the kernel performing process switches
> and the like, although usually there is not a great deal of
> difference. Also, on recent 2.6 kernels the jiffy frequency is
> adjustable at configuration time and no longer defaults to 1000 per
> second; if RTC mode is not used, then the kernel frequency _must_ be
> 1000Hz for ztdummy to work correctly.
We're running a 2.6.12 kernel (Murphy's Law!), so I could use some tips
for manually configuring ztdummy for RTC. We're running ABE (A.2-1),
but that shouldn't be a problem since all of the zaptel related stuff is
still built from source. Our kernel is a stock Fedora Core 3 kernel
(2.6.12-1.1376_FC3smp), so the frequency is most likely not set at
1000Hz. Is there an easy way to verify this?
Would we be better off buying a Digium card to use solely as a timing
source, or is ztdummy adequate? We tried putting an X100P in the box,
but the BIOS didn't recognize it. We have an extra quad-span card, but
it's 5-volt and our PCI slots are 3.3 (Murphy's Law!). I was under the
impression that timing was only an issue for MOH, IAX trunking, and
MeetMe conferencing, then I found this while doing some research on
configuring ztdummy for RTC:
- [Asterisk-Users] Popping and Clicking on Local WAN with X-Lite
(http://lists.digium.com/pipermail/asterisk-users/2004-October/065807.html)
It sounds curiously similar to our issue, but I've pointed out some
areas where we're unique below. Could this be the source of our problem?
- We're using a Cisco AS5400 Universal Gateway to terminate our Ts (it
forwards all calls to Asterisk via SIP), so IRQ sharing shouldn't be a
problem (it's also why we have no Zap hardware in the box). Things look
pretty good in /proc/interrupts as well.
[root at immlx15 ~]# cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
0: 10513090 15234131 15354631 15354147 IO-APIC-edge timer
1: 2 1 6 4 IO-APIC-edge i8042
8: 33 48 40 68 IO-APIC-edge rtc
9: 0 0 0 0 IO-APIC-level acpi
12: 22 25 25 27 IO-APIC-edge i8042
14: 6566 71549 5166 29898 IO-APIC-edge ide0
50: 30 9369 424384 159692 IO-APIC-level ide2
58: 46301 29337 41320 43009 IO-APIC-level megaraid
82: 25736221 3 4 3 IO-APIC-level eth2
90: 2 314496 2 3 IO-APIC-level eth3
98: 5 5 7 5 IO-APIC-level
ehci_hcd:usb1
106: 13 15 13 17 IO-APIC-level
uhci_hcd:usb2
114: 0 0 0 0 IO-APIC-level
uhci_hcd:usb3
122: 120 3319 582 2536 IO-APIC-level
uhci_hcd:usb4
NMI: 1305 674 737 642
LOC: 56440137 56450200 56450713 56450888
ERR: 3
MIS: 0
- Some of the information I read pointed out that RTC must be loaded as
a module, and not compiled directly into the kernel. I'm unsure if this
is still the case, and I'm also not sure how to check whether it's
compiled in or not. lsmod and /proc/modules/ don't show it, but it is
in /proc/interrupts as shown above.
[root at immlx15 ~]# lsmod
Module Size Used by
ztdummy 8800 0
zaptel 204328 79 ztdummy
crc_ccitt 6593 1 zaptel
md5 9025 1
ipv6 306305 22
parport_pc 35497 0
lp 19473 0
parport 47693 2 parport_pc,lp
autofs4 27081 0
i2c_dev 16577 0
i2c_core 29889 1 i2c_dev
nfs 223729 2
lockd 77297 2 nfs
sunrpc 166457 3 nfs,lockd
pcmcia 35925 0
yenta_socket 28617 0
rsrc_nonstatic 17857 1 yenta_socket
pcmcia_core 60109 3 pcmcia,yenta_socket,rsrc_nonstatic
dm_mod 68257 0
joydev 15553 0
video 23241 0
button 9025 0
battery 15305 0
ac 9929 0
uhci_hcd 39265 0
ehci_hcd 41037 0
e1000 119341 0
tg3 103109 0
floppy 72857 0
sg 46969 0
ext3 148049 5
jbd 71153 1 ext3
megaraid_mbox 44241 6
megaraid_mm 17273 1 megaraid_mbox
sd_mod 24512 7
scsi_mod 162961 3 sg,megaraid_mbox,sd_mod
[root at immlx15 ~]# cat /proc/modules
ztdummy 8800 0 - Live 0xffffffff88271000
zaptel 204328 65 ztdummy, Live 0xffffffff8823e000
crc_ccitt 6593 1 zaptel, Live 0xffffffff8823b000
md5 9025 1 - Live 0xffffffff88237000
ipv6 306305 22 - Live 0xffffffff881eb000
parport_pc 35497 0 - Live 0xffffffff881e1000
lp 19473 0 - Live 0xffffffff881d9000
parport 47693 2 parport_pc,lp, Live 0xffffffff881cc000
autofs4 27081 0 - Live 0xffffffff881c4000
i2c_dev 16577 0 - Live 0xffffffff881be000
i2c_core 29889 1 i2c_dev, Live 0xffffffff881b5000
nfs 223729 2 - Live 0xffffffff8817d000
lockd 77297 2 nfs, Live 0xffffffff88169000
sunrpc 166457 3 nfs,lockd, Live 0xffffffff8813f000
pcmcia 35925 0 - Live 0xffffffff88135000
yenta_socket 28617 0 - Live 0xffffffff8812d000
rsrc_nonstatic 17857 1 yenta_socket, Live 0xffffffff88127000
pcmcia_core 60109 3 pcmcia,yenta_socket,rsrc_nonstatic, Live
0xffffffff88117000
dm_mod 68257 0 - Live 0xffffffff88105000
joydev 15553 0 - Live 0xffffffff88100000
video 23241 0 - Live 0xffffffff880f9000
button 9025 0 - Live 0xffffffff880f5000
battery 15305 0 - Live 0xffffffff880f0000
ac 9929 0 - Live 0xffffffff880ec000
uhci_hcd 39265 0 - Live 0xffffffff880e1000
ehci_hcd 41037 0 - Live 0xffffffff880d5000
e1000 119341 0 - Live 0xffffffff880b6000
tg3 103109 0 - Live 0xffffffff8809b000
floppy 72857 0 - Live 0xffffffff88088000
sg 46969 0 - Live 0xffffffff8807b000
ext3 148049 5 - Live 0xffffffff88055000
jbd 71153 1 ext3, Live 0xffffffff88042000
megaraid_mbox 44241 6 - Live 0xffffffff88036000
megaraid_mm 17273 1 megaraid_mbox, Live 0xffffffff88030000
sd_mod 24512 7 - Live 0xffffffff88029000
scsi_mod 162961 3 sg,megaraid_mbox,sd_mod, Live 0xffffffff88000000
Thank you,
Matthew Roth
InterMedia Marketing Solutions
Software Engineer and Systems Developer
More information about the asterisk-users
mailing list