Summary:ASTERISK-07886: Segmentation fault using chan_visdn
Reporter:Emiliano Della Casa (emi)Labels:
Date Opened:2006-10-06 09:08:52Date Closed:2011-06-07 14:00:54
Versions:Frequency of
Hi to everyone,

this is my scenario:


1) AMD Athlon XP 2000+
2) 1 GB RAM
3) 80 GB Hard disk
4) HFC-PCI card
5) many different VOIP phones (XLite, Idefisk, GXP2000, BT100, Thomson ST2030)

Software (other than Asterisk):

1) Gentoo Linux 2.6.17 rev 7
2) visdn 0.16.1



;If someone is calling me...
exten => _X.,1,Goto(mainmenu,s,1)


exten => s,1,Answer()
;Wait for the line to get stable...
exten => s,n,Wait(3)
;Welcome sound
exten => s,n,Playback(${SUONI}/benv_art)
exten => s,n,Wait(1)
;Check if the office is closed...
exten => s,n,GotoIfTime(12:55-13:28|mon-fri|*|*?CHIUSO_POM,s,1)
exten => s,n,GotoIfTime(19:50-00:00|mon-fri|*|*?CHIUSO_SERA,s,1)
exten => s,n,GotoIfTime(00:00-23:59|sat-sun|*|*?CHIUSO_WEEK,s,1)
;Call first ext...
exten => s,n,Dial(Sip/101,10,tw)


The following steps ALWAYS reproduce the problem:

1) Inbound call (coming from visdn channel) is picked up by an asterisk ext
2) Call is trasferred to another ext (ANY ext reproduce this problem)
3) The call proceeds fairly well (well just a little bit of echo...whatever!)
4) The caller hangs up BEFORE the callee
5) Asterisk crashes

The strange thing is that Asterisk does not crash if the first phone (ext 101) is the Grandstream GXP2000: all other phones give the same unwanted behaviour. The only difference between them is that GXP2000 uses GSM codec.

I understand this could be a bug in visdn source code, but I guess Asterisk should not crash for whatsoever reason (phone, codec, channel...)

Thanks for your help!


By running safe_asterisk and examining the core file with the gdb, this is the output of the "bt" command:

#0  0xb79d3c41 in visdn_handle_eventual_progind (ast_chan=0x0, ies=0x815e4a0) at chan_visdn.c:2521
#1  0xb79d3f2d in visdn_q931_disconnect_indication (q931_call=0x81d6430, ies=0x815e4a0)
   at chan_visdn.c:2636
#2  0xb79d73ff in visdn_q931_ccb_receive () at chan_visdn.c:4364
#3  0xb79d76e9 in visdn_q931_thread_do_poll () at chan_visdn.c:2373
#4  0xb79d78ed in visdn_q931_thread_main (data=0x0) at chan_visdn.c:2498
ASTERISK-1  0xb7ef1f5b in pthread_start_thread () from /lib/libpthread.so.0
ASTERISK-2  0xb7de389a in clone () from /lib/libc.so.6
Comments:By: Serge Vecher (serge-v) 2006-10-06 09:42:48

as you know yourself, chan_visdn is not an officially supported Asterisk channel_driver; so why post the bug here then? Please contact the authors of chan_visdn for support or use the official Asterisk ISDN driver, chan_mISDN.