OK, I just did a brand new install of the FreePBX distro, latest version 1.8.2, on brand new server class hardware (rackmount server, Xeon 3470, 4GB DDR3 ECC Registered RAM)
After installation, I ran dahdi_test, and got best results of 100.000 but… worst results of 99.5xx !!!
Repeating the test many times, values of 99.5xx or 99.6xx keep popping up now and then!
Now, following the forums here, I remembered a quote from tonyclewis:
“The worst tells me everything I need. The worst your should be seeing to run a production system on is 99.97x it should never drop below that. If it does you will have lots of voice quality issues as anyone who understands how the test works knows.”
So here I am, running on dedicated, expensive server hardware, and getting timing results far worse than in a VM!
High Precision Event Timer in BIOS is set to enabled.
What can be wrong, what can I check or change?
If needed, I can provide you with remote access to the box.
[code][root@localhost dahdi]# service dahdi start
Loading DAHDI hardware modules:
wcte12xp: [ OK ]
No hardware timing source found in /proc/dahdi, loading dahdi_dummy
Running dahdi_cfg: [ OK ]
[root@localhost dahdi]#
[root@localhost dahdi]#
[/code]
Most important you want to see this in Asterisk:
localhost*CLI> dahdi show channels
Chan Extension Context Language MOH Interpret Blocked State
pseudo default default In Service
localhost*CLI>
localhost*CLI>
It seems like you don’t have precise timing on that HP as well…
Tony unfortunately didn’t make a typo, you can find this info in several other places, and 99.6xx is really bad
Anyway, here is the output of the things you requested:
[root@mypbx asterisk]# service dahdi start
Loading DAHDI hardware modules:
wct4xxp: [ OK ]
wcte12xp: [ OK ]
wct1xxp: [ OK ]
wcte11xp: [ OK ]
wctdm24xxp: [ OK ]
wcfxo: [ OK ]
wctdm: [ OK ]
wcb4xxp: [ OK ]
wctc4xxp: [ OK ]
xpp_usb: [ OK ]
No hardware timing source found in /proc/dahdi, loading dahdi_dummy
Running dahdi_cfg: [ OK ]
But in Asterisk (1.8.5.0):
mypbx*CLI>dahdi show channels
Chan Extension Context Language MOH Interpret Blocked State
Those are not good results. Remember just because you buy a great server and spend a ton of money does not mean it will work well with asterisk and dahdi. A dahdi_test with anything less than 99.97 will result in issues with system recordings, conf rooms, paging and even MoH.
Here is a printout of the hardware we use with proper dahdi setup.
Here is the print out from one of our thousands of proper hosted customers in a real shared environment with a custom kernel and real hardware timing with a Sangoma USB timing device. This shows a “virtual” setup can be done right with proper hardware timing but it also takes maintaining a custom kernel and real understanding how asterisk, dahdi and the kernel work together among other things.
I’m always suspicious of round numbers. If 99.97 will work, I can’t imagine that 99.9699999999999999999999 would really result in a noticeable difference.
I’ve now run the Dahdi_test on every machine that I’ve ever used to run Asterisk. Except for one, they’ve all gotten results similar to the one posted at the top of this thread, regardless of whether the machine was virtualized or not. All have used a psuedo timing source.
The sole exception was the Atom based netbook that was running Asterisk in a virtual environment (and I knew that wouldn’t work - I just tried it for kicks). Even that machine worked pretty well until I tried paging ten extensions at once. Even then it worked, but my voice was just out of sync.
I’ve never seen had any trouble with system recordings, IVR, voicemail, paging, or conferences. None of my machines are running a large business, but I’ve had ten people in a conference room and routinely sent pages to the ten extensions in my home, and experienced no issues.
“res_timing_timerfd uses a timing mechanism provided directly by the Linux kernel. This timing interface is only available on Linux systems using a kernel version at least 2.6.25 and a glibc version at least 2.8. This interface has the benefit of being very efficient”
Unfortunately, we’re still stuck with a 2.6.18 kenel in the freepbx distro! Wouldn’t it be time to move to CentOS 6 to benefit from this new very precise timing source?
The guys from PBX-in-a-flash having done tests with the new CentOS 6 confirm that it provides a consistent 99.99999% to 100% DAHDI test result in a ESXi virtual environment! I’m impressed, now that should be enough incentive to upgrade!
Yes except Centos 6.0 has lots of issues and is not ready for production PBX’s. Just following the threads on Centos 6.0. It wont be ready for a few months. I have a internal build working somewhat with Centos 6.0 but it will be some time before we even come out with a Beta of Centos 6.0 Distro.
Sorry but we build production stable and proven reliable PBX’s with our Distro and are not trying to bleeding edge on things we can not control like Centos. People have come in a short period of time to rely on our stable and single release cycle PBX knowing they can put it in place and not be chasing problems all day long. If you want to be bleeding edge there are plenty of FreePBX based Distros out there such as PBXiaF already.
The CentOS 6 remark was only on a sidenote, my real question was about solving the timing issue with the current release of course.
I appreciate putting stability first
So besides buying an extra piece of hardware, how can I check which timing source dahdi is using now? The RTC or the USB UHCI ?
E.g. if it’s not using the USB controller, maybe changing it to that could be a solution as well?