If you want to use any Asterisk module that needs a timer, like MeetMe, you have to use a module named dahdi (previously named zaptel). DAHDI has one module for each Digium supported card (B410P), and a dummy module (named dahdi_dummy) if you don’t have a hardware card, like me.
The problem appears when you have your Asterisk in a Xen environment. Xen does not allow the use of the RTC, so when using Dahdi/meetme, you get the following in you logs:
res_timing_dahdi.c: Asterisk has detected a problem with your DAHDI configuration and will shutdown for your protection.
So get the sources, and let’s patch it!
svn co http://svn.digium.com/svn/dahdi/linux-complete/trunk DAHDI
In dahdi_dummy.c, you’ll have to comment the two defines USE_RTC, as in a Xen, you can’t use it:
# diff -u dahdi_dummy.c.ori dahdi_dummy.c
--- dahdi_dummy.c.ori 2009-03-23 09:50:36.000000000 +0000
+++ dahdi_dummy.c 2009-03-23 08:55:38.000000000 +0000
@@ -59,11 +59,11 @@
#if defined(CONFIG_HIGH_RES_TIMERS) && LINUX_VERSION_CODE >= VERSION_CODE(2,6,22)
#define USE_HIGHRESTIMER
#else
-#define USE_RTC
+//#define USE_RTC
#endif
#else
#if 0
-#define USE_RTC
+//#define USE_RTC
#endif
#endif
#endif
Then compile the module, as usual, with :
/etc/init.d/dahdi stop
make all
make install
make config
Verify that your module has been correctly installed:
ls -al ./2.6.24-19-xen/dahdi/dahdi_dummy.ko
Comment out all the defined modules in the /etc/dahdi/modules file.
/etc/init.d/dahdi start
# dmesg
1007539.576458] dahdi: Telephony Interface Registered on major 196
[1007539.576468] dahdi: Version: SVN-trunk-r6201M
[1007540.642839] dahdi: Registered tone zone 2 (France)