James Hill
2010-Feb-25 16:50 UTC
[asterisk-users] Intermittent DAHDI issue with a PRI line causing asterisk to crash!
Hello all, I've got an intermittent issue with my asterisk set-up, and I'm pulling my hair out! Mostly everything works fine, but I get an error once every few days that sometimes (but not always) causes asterisk to stop accepting new calls and also stop responding to commands on the console (asterisk -r). The usual errors look something like this: [Feb 19 13:09:52] ERROR[18728] chan_zap.c: XXX Missing handling for mandatory IE 4 (cs0, Bearer Capability) XXX [Feb 19 13:09:52] ERROR[18728] chan_zap.c: XXX Missing handling for mandatory IE 24 (cs0, Channel Identification) XXX [Feb 19 13:09:53] WARNING[18728] chan_zap.c: Duplicate setup requested on channel 0/2 already in use on span 1 We were running an old version of asterisk (1.4), so I upgraded to 1.6 to see if the issues would resolve by running the latest stable version. Due to the upgrade, the error message changed from zap to dahdi! [Feb 23 11:45:39] ERROR[15861] chan_dahdi.c: XXX Missing handling for mandatory IE 4 (cs0, Bearer Capability) XXX [Feb 23 11:45:39] ERROR[15861] chan_dahdi.c: XXX Missing handling for mandatory IE 24 (cs0, Channel Identification) XXX [Feb 23 11:45:58] ERROR[2418] chan_dahdi.c: Can't destroy call 1807007664! After these messages, asterisk would only accept up to 8 calls (we have a single e1 for up to 30 channels). When the 9th caller called, they would get an engaged tone. Running> core show channels verbosewhile asterisk in this state causes the asterisk console client (asterisk -r) to ignore me after printing out /most/ of the expected output. It crashes just before the totals IIRC. When this has happened in the past, I have had to killall -9 asterisk. This time I was able to issue a 'core restart gracefully', but one of the channels seemed to be stuck in the up position. I'm afraid I haven't got more debugging info as this is a live service and needed restarting ASAP. Today I had a similar crash: -- Hungup 'DAHDI/0:5-1' [Feb 25 10:42:09] NOTICE[11222]: pbx_spool.c:349 attempt_thread: Call completed to DAHDI/g1/07973734513 [Feb 25 10:42:09] WARNING[7827]: chan_dahdi.c:12124 pri_fixup_principle: Call specified, but not found? [Feb 25 10:42:09] WARNING[7827]: chan_dahdi.c:13293 pri_dchannel: Hangup on bad channel 0/5 on span 1 One thing that is interesting here is that it's refering to channel 'DAHDI/0:5-1', when the channels are normally referred to as 'DAHDI/5-1', 'DAHDI/3-1' etc. Asterisk continued to work normally after this error and did not require a restart. I haven't found a way to reproduce the fault yet. The fault seems to happen proportionally more often as call volumes rise and fall. So does anyone have any clues as to what's going on here? What would the appropriate debugging for this be? As it happens so rarely there's a tradeoff between filling the logs with jam and figuring out what's going on. Is this likely to be an asterisk issue, or lower level? Configuration details pasted below. Thank you for your time. Kind regards, James Asterisk 1.6.2.4 built by root @ roict.co.uk on a x86_64 running Linux on 2010-02-21 23:20:17 UTC dahdi-linux-complete-2.2.1+2.2.1 libpri-1.4.10.2 wanpipe-3.5.10 linux 2.6.18 Supplier: Thus (UK) [root at sms-1 asterisk]# cat chan_dahdi.conf ;autogenerated by /usr/sbin/wancfg_dahdi do not hand edit ;autogenrated on 2010-02-21 ;Dahdi Channels Configurations ;For detailed Dahdi options, view /etc/asterisk/chan_dahdi.conf.bak [trunkgroups] [channels] context=default usecallerid=yes hidecallerid=no callwaiting=yes usecallingpres=yes callwaitingcallerid=yes threewaycalling=yes transfer=yes canpark=yes cancallforward=yes callreturn=yes echocancel=yes echocancelwhenbridged=yes relaxdtmf=yes rxgain=0.0 txgain=0.0 group=1 callgroup=1 pickupgroup=1 immediate=no ;Sangoma A101 port 1 [slot:2 bus:3 span:1] <wanpipe1> switchtype=euroisdn context=incoming group=1 echocancel=yes signalling=pri_cpe channel =>1-15,17-31