Hi!
A simple question: why does Asterisk have to crash if--for any reason--it is unable to load chan_celliax.so? Is there any way to just let it continue *without* the celliax module?
I mean, you can bring down a working PBX (or prevent it from starting) just because perhaps you decided to remove the cellphone.
I understand the serial port (or the USB-to-serial) device must be in place before you boot the machine (permissions etc.), but it would be nice to be able to dynamically load (and unload) the chan_celliax as needed. Without stopping the PBX.
Thanks for your attention, comments/suggestions/flames are welcome!
it must not!
if it behaves like that, it is a bug.
Which version or revision are you using?
Are you using it with skype enabled?
Please let us know all details, we're committed to fix that
Giovanni
Sorry, I thought it was a
Sorry, I thought it was a well-known bug/feature/whatever. I've been playing around with Celliax since April, and I've always had this problem. Some more info:
* Ubuntu
* Trixbox 2.2 (CentOS)
* Asterisk 1.2.17 (from Trixbox)
* Asterisk 1.2.18
* Asterisk 1.4.xx (think it was 1.4.8, it was a while ago)
* Celliax Live CD
Confirmed again (3rd installation, always on different hardware) last night, this time running a Trixbox 2.2 inside VMWare.
I *always* downloaded Celliax from SVN as per the instructions on the website (except, of course the test with the Live CD). Never ever used Skype (except last night, when I completely forgot to turn it off in the config)
Hope this helps, many thanks in advance.
more info
Can you describe more what happens?
I mean, it crashes when you "unload chan_celliax.so" from the CLI of Asterisk?
Never used VMWare, tough
You have this problem with recent revisions also outside VMWare ?
No, what happens is Asterisk
No, what happens is Asterisk doesn't even start. I'll post the log, but later.
and yes, it happened to me all the time, in at least three different PCs, running "native" (even off the live CD) and, recently, (never used VMWare until last month) even inside VMWare.
that seems correct
This is the expected behavior of Asterisk.
If you put the chan_celliax to be loaded in modules.conf (or if you have autoload=yes in modules.conf), then Asterisk expect that all the listed modules loads and initialize correctly, and if some of them (not celliax specific) fail to load, asterisk gives up and exit.
This is expected behavior.
If Asterisk *crashes* on this, and celliax is responsible for this, this is a celliax bug
Please let us know if this happens
I'm sorry, I used an
I'm sorry, I used an incorrect term. What I experience is Asterisk starting and then stopping with an error message, since it can't load chan_celliax. It's *not* a crash, it's a halt.
However, are you really sure that Asterisk *always* stops if it can't load all the modules listed in modules.conf? I think I have seen cases when a module fails loading, but Asterisk sends an error message and just goes on without it.
In any case, let me turn the question around: you start *, it loads all modules including chan_celliax. If it doesn't find a serial port, it fails loading and asterisk stops. This is fine, it's like you configure zaptel but you don't insert the card in the PC. On the other hand, if the serial port is there but the phone is disconnected/turned off/broken/whatever, I think it would be nice to get an error message, instead of the module refusing to load and therefore preventing asterisk from starting.
I am going to confirm this behavior by installing *+Celliax on different hardware (without VMware): as I said before, I remember always having this kind of problem, but never giving much importance and never really taking much notice. Before I make you lose more time on a nonexistent bug, I better refresh my memory with some hands-on evidence!
Below is the console output and the /var/log/asterisk/full:
Console output:
[root@asterisk1 ~]# asterisk -ddddddddddddvvvvvvvvvvvvvgc
Parsing /etc/asterisk/asterisk.conf
Parsing /etc/asterisk/extconfig.conf
== Parsing '/etc/asterisk/asterisk.conf': Found
== Parsing '/etc/asterisk/extconfig.conf': Found
Asterisk 1.2.22, Copyright (C) 1999 - 2007 Digium, Inc. and others.
Created by Mark Spencer
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'show license' for details.
=========================================================================
== Parsing '/etc/asterisk/logger.conf': Parsing /etc/asterisk/logger.conf
Found
Asterisk Event Logger Started /var/log/asterisk/event_log
== Parsing '/etc/asterisk/dnsmgr.conf': Found
Asterisk Dynamic Loader loading preload modules:
== Parsing '/etc/asterisk/modules.conf': Found
[...]
[chan_zap.so] => (Zapata Telephony w/PRI)
== Parsing '/etc/asterisk/zapata.conf': Found
== Parsing '/etc/asterisk/zapata-auto.conf': Found
== Parsing '/etc/asterisk/zapata_additional.conf': Found
-- Automatically generated pseudo channel
== Registered channel type 'Zap' (Zapata Telephony Driver w/PRI)
== Manager registered action ZapTransfer
== Manager registered action ZapHangup
== Manager registered action ZapDialOffhook
== Manager registered action ZapDNDon
== Manager registered action ZapDNDoff
== Manager registered action ZapShowChannels
[chan_mgcp.so] => (Media Gateway Control Protocol (MGCP))
== Parsing '/etc/asterisk/mgcp.conf': Found
== MGCP Listening on 0.0.0.0:2727
== Using TOS bits 0
== Registered channel type 'MGCP' (Media Gateway Control Protocol (MGCP))
[skipping chan_oss.so]
[chan_celliax.so] => (Celliax, Audio-Serial Driver)
== Registered application 'Skype2Celliax'
== Registered application 'Celliax2Skype'
== Registered application 'Celliax_Directory'
== Registered application 'celliax_sendsms'
== Registered channel type 'Celliax' (Celliax, Audio-Serial Driver)
== Parsing '/etc/asterisk/celliax.conf': Found
Plug PCM: Rate conversion PCM (48000, sformat=S16_LE)
Its setup is:
stream : CAPTURE
access : RW_INTERLEAVED
format : S16_LE
subformat : STD
channels : 1
rate : 8000
exact rate : 8000 (8000/1)
msbits : 16
buffer_size : 682
period_size : 170
period_time : 21333
tick_time : 0
tstamp_mode : NONE
period_step : 1
sleep_min : 0
avail_min : 170
xfer_align : 170
start_threshold : 614
stop_threshold : -1
silence_threshold: 0
silence_size : 0
boundary : 178782208
Slave: Route conversion PCM (sformat=S16_LE)
Transformation table:
0 <- 0*0.5 + 1*0.5
Its setup is:
stream : CAPTURE
access : MMAP_INTERLEAVED
format : S16_LE
subformat : STD
channels : 1
rate : 48000
exact rate : 48000 (48000/1)
msbits : 16
buffer_size : 4096
period_size : 1024
period_time : 21333
tick_time : 0
tstamp_mode : NONE
period_step : 1
sleep_min : 0
avail_min : 1024
xfer_align : 1024
start_threshold : 3698
stop_threshold : 1073741824
silence_threshold: 0
silence_size : 0
boundary : 1073741824
Slave: Direct Snoop PCM
Its setup is:
stream : CAPTURE
access : MMAP_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 48000
exact rate : 48000 (48000/1)
msbits : 16
buffer_size : 4096
period_size : 1024
period_time : 21333
tick_time : 0
tstamp_mode : NONE
period_step : 1
sleep_min : 0
avail_min : 1024
xfer_align : 1024
start_threshold : 3698
stop_threshold : 1073741824
silence_threshold: 0
silence_size : 0
boundary : 1073741824
Hardware PCM card 0 'Ensoniq AudioPCI' device 0 subdevice 0
Its setup is:
stream : CAPTURE
access : MMAP_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 48000
exact rate : 48000 (1572864000/32768)
msbits : 16
buffer_size : 16384
period_size : 1024
period_time : 21333
tick_time : 1000
tstamp_mode : NONE
period_step : 1
sleep_min : 0
avail_min : 1024
xfer_align : 1024
start_threshold : 1
stop_threshold : 1073741824
silence_threshold: 0
silence_size : 0
boundary : 1073741824
Plug PCM: Rate conversion PCM (48000, sformat=S16_LE)
Its setup is:
stream : PLAYBACK
access : RW_INTERLEAVED
format : S16_LE
subformat : STD
channels : 1
rate : 8000
exact rate : 8000 (8000/1)
msbits : 16
buffer_size : 682
period_size : 170
period_time : 21333
tick_time : 0
tstamp_mode : NONE
period_step : 1
sleep_min : 0
avail_min : 170
xfer_align : 170
start_threshold : 614
stop_threshold : 682
silence_threshold: 0
silence_size : 0
boundary : 178782208
Slave: Route conversion PCM (sformat=S16_LE)
Transformation table:
0 <- 0
1 <- 0
Its setup is:
stream : PLAYBACK
access : MMAP_INTERLEAVED
format : S16_LE
subformat : STD
channels : 1
rate : 48000
exact rate : 48000 (48000/1)
msbits : 16
buffer_size : 4096
period_size : 1024
period_time : 21333
tick_time : 0
tstamp_mode : NONE
period_step : 1
sleep_min : 0
avail_min : 1024
xfer_align : 1024
start_threshold : 3698
stop_threshold : 4096
silence_threshold: 0
silence_size : 0
boundary : 1073741824
Slave: Direct Stream Mixing PCM
Its setup is:
stream : PLAYBACK
access : MMAP_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 48000
exact rate : 48000 (48000/1)
msbits : 16
buffer_size : 4096
period_size : 1024
period_time : 21333
tick_time : 0
tstamp_mode : NONE
period_step : 1
sleep_min : 0
avail_min : 1024
xfer_align : 1024
start_threshold : 3698
stop_threshold : 4096
silence_threshold: 0
silence_size : 0
boundary : 1073741824
Hardware PCM card 0 'Ensoniq AudioPCI' device 0 subdevice 0
Its setup is:
stream : PLAYBACK
access : MMAP_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 48000
exact rate : 48000 (1572864000/32768)
msbits : 16
buffer_size : 16384
period_size : 1024
period_time : 21333
tick_time : 1000
tstamp_mode : NONE
period_step : 1
sleep_min : 0
avail_min : 1024
xfer_align : 1024
start_threshold : 1
stop_threshold : 1073741824
silence_threshold: 0
silence_size : 1073741824
boundary : 1073741824
== Parsing '/etc/asterisk/manager.conf': Found
== Parsing '/etc/asterisk/manager_custom.conf': Found
== Manager 'remote_mgr' logged on from 127.0.0.1
== Unregistered channel type 'Celliax'
== Unregistered application 'Celliax_Directory'
== Unregistered application 'Skype2Celliax'
== Unregistered application 'Celliax2Skype'
== Unregistered application 'celliax_sendsms'
/var/log/asterisk/full:
Aug 30 14:13:04 DEBUG[19905] channel.c: Registered handler for 'MGCP' (Media Gateway Control Protocol (MGCP))
Aug 30 14:13:04 VERBOSE[19905] logger.c: == Registered channel type 'MGCP' (Media Gateway Control Protocol (MGCP))
Aug 30 14:13:04 VERBOSE[19905] logger.c: [skipping chan_oss.so]
Aug 30 14:13:04 VERBOSE[19905] logger.c: [chan_celliax.so]Aug 30 14:13:04 NOTICE[19905] chan_celliax.c: [b7f136c0][NOTICE 2702 ][none ][
-1,-1,-1,-1] here
Aug 30 14:13:04 VERBOSE[19905] logger.c: [chan_celliax.so] => (Celliax, Audio-Serial Driver)
Aug 30 14:13:04 NOTICE[19905] chan_celliax.c: [b7f136c0][NOTICE 2441 ][none ][-1,-1,-1,-1] ENTERING FUNC
Aug 30 14:13:04 VERBOSE[19905] logger.c: == Registered application 'Skype2Celliax'
Aug 30 14:13:04 VERBOSE[19905] logger.c: == Registered application 'Celliax2Skype'
Aug 30 14:13:04 VERBOSE[19905] logger.c: == Registered application 'Celliax_Directory'
Aug 30 14:13:04 VERBOSE[19905] logger.c: == Registered application 'celliax_sendsms'
Aug 30 14:13:04 DEBUG[19905] channel.c: Registered handler for 'Celliax' (Celliax, Audio-Serial Driver)
Aug 30 14:13:04 VERBOSE[19905] logger.c: == Registered channel type 'Celliax' (Celliax, Audio-Serial Driver)
Aug 30 14:13:04 VERBOSE[19905] logger.c: == Parsing '/etc/asterisk/celliax.conf': Aug 30 14:13:04 DEBUG[19905] config.c: Parsing /etc/asterisk/ce
lliax.conf
Aug 30 14:13:04 VERBOSE[19905] logger.c: == Parsing '/etc/asterisk/celliax.conf': Found
Aug 30 14:13:04 NOTICE[19905] chan_celliax.c: [b7f136c0][NOTICE 2905 ][nicephone ][-1, 0, 0, 0] DEBUG_LOCKS is deactivated into do_monitor thread. DEBUG_ALL activated.
Aug 30 14:13:04 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_SOUND 3021 ][nicephone ][-1, 0, 0, 0] playback_boost is 51.200000
Aug 30 14:13:04 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_SOUND 3022 ][nicephone ][-1, 0, 0, 0] capture_boost is 512.000000
Aug 30 14:13:04 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_SOUND 3980 ][nicephone ][-1, 0, 0, 0] Periods number desired is 4
Aug 30 14:13:04 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_SOUND 3989 ][nicephone ][-1, 0, 0, 0] Periods number set is 4
Aug 30 14:13:04 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_SOUND 3993 ][nicephone ][-1, 0, 0, 0] Period size desired is 170
Aug 30 14:13:04 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_SOUND 4001 ][nicephone ][-1, 0, 0, 0] Period size set is 170
Aug 30 14:13:04 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_SOUND 4008 ][nicephone ][-1, 0, 0, 0] Buffer size desired is 680
Aug 30 14:13:04 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_SOUND 4015 ][nicephone ][-1, 0, 0, 0] Buffer size is set to 682
Aug 30 14:13:04 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_SOUND 4107 ][nicephone ][-1, 0, 0, 0] Acquired fd 15 from the poll descriptor
Aug 30 14:13:04 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_SOUND 4131 ][nicephone ][-1, 0, 0, 0] started!
Aug 30 14:13:04 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_SOUND 4147 ][nicephone ][-1, 0, 0, 0] ALSA handle = 160757648
Aug 30 14:13:04 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_SOUND 3980 ][nicephone ][-1, 0, 0, 0] Periods number desired is 4
Aug 30 14:13:04 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_SOUND 3989 ][nicephone ][-1, 0, 0, 0] Periods number set is 4
Aug 30 14:13:04 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_SOUND 3993 ][nicephone ][-1, 0, 0, 0] Period size desired is 170
Aug 30 14:13:04 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_SOUND 4001 ][nicephone ][-1, 0, 0, 0] Period size set is 170
Aug 30 14:13:04 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_SOUND 4008 ][nicephone ][-1, 0, 0, 0] Buffer size desired is 680
Aug 30 14:13:04 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_SOUND 4015 ][nicephone ][-1, 0, 0, 0] Buffer size is set to 682
Aug 30 14:13:04 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_SOUND 4107 ][nicephone ][-1, 0, 0, 0] Acquired fd 18 from the poll descriptor
Aug 30 14:13:04 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_SOUND 4147 ][nicephone ][-1, 0, 0, 0] ALSA handle = 161072568
Aug 30 14:13:04 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_SERIAL 5155 ][nicephone ][-1, 0, 0, 0] Syncing Serial
Aug 30 14:13:04 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_AT 6426 ][nicephone ][-1, 0, 0, 0] sleeping for 1000000 usec
Aug 30 14:13:05 DEBUG[19921] manager.c: Manager received command 'Login'
Aug 30 14:13:05 VERBOSE[19921] logger.c: == Parsing '/etc/asterisk/manager.conf': Aug 30 14:13:05 DEBUG[19921] config.c: Parsing etc/asterisk/manager.conf
Aug 30 14:13:05 VERBOSE[19921] logger.c: == Parsing '/etc/asterisk/manager.conf': Found
Aug 30 14:13:05 VERBOSE[19921] logger.c: == Parsing '/etc/asterisk/manager_custom.conf': Aug 30 14:13:05 DEBUG[19921] config.c: Parsing /etc/asterisk/manager_custom.conf
Aug 30 14:13:05 VERBOSE[19921] logger.c: == Parsing '/etc/asterisk/manager_custom.conf': Found
Aug 30 14:13:05 DEBUG[19921] acl.c: 0.0.0.0/0.0.0.0/0.0.0.0 appended to acl for peer
Aug 30 14:13:05 DEBUG[19921] acl.c: 127.0.0.1/255.255.255.0/255.255.255.0 appended to acl for peer
Aug 30 14:13:05 DEBUG[19921] acl.c: ##### Testing 127.0.0.1 with 0.0.0.0
Aug 30 14:13:05 DEBUG[19921] acl.c: ##### Testing 127.0.0.1 with 127.0.0.0
Aug 30 14:13:05 VERBOSE[19921] logger.c: == Manager 'remote_mgr' logged on from 127.0.0.1
Aug 30 14:13:05 DEBUG[19921] manager.c: Manager received command 'Command'
Aug 30 14:13:05 DEBUG[19921] manager.c: Manager received command 'Command'
Aug 30 14:13:05 DEBUG[19921] manager.c: Manager received command 'Command'
Aug 30 14:13:05 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_LOCKS 6338 ][nicephone ][-1, 0, 0, 0] going to lock 0x9996500 (CONTROLDEV_LOCK)
Aug 30 14:13:05 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_LOCKS 6338 ][nicephone ][-1, 0, 0, 0] locked 0x9996500 (CONTROLDEV_LOCK)
Aug 30 14:13:05 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_AT 6340 ][nicephone ][-1, 0, 0, 0] sending: atciapa, expecting: OK
Aug 30 14:13:05 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_AT 6172 ][nicephone ][-1, 0, 0, 0] sent data... (a)
Aug 30 14:13:05 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_AT 6172 ][nicephone ][-1, 0, 0, 0] sent data... (t)
Aug 30 14:13:05 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_AT 6172 ][nicephone ][-1, 0, 0, 0] sent data... (c)
Aug 30 14:13:05 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_AT 6172 ][nicephone ][-1, 0, 0, 0] sent data... (i)
Aug 30 14:13:05 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_AT 6172 ][nicephone ][-1, 0, 0, 0] sent data... (a)
Aug 30 14:13:05 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_AT 6172 ][nicephone ][-1, 0, 0, 0] sent data... (p)
Aug 30 14:13:05 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_AT 6172 ][nicephone ][-1, 0, 0, 0] sent data... (a)
Aug 30 14:13:05 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_AT 6198 ][nicephone ][-1, 0, 0, 0] sent (carriage return)
Aug 30 14:13:08 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_LOCKS 6348 ][nicephone ][-1, 0, 0, 0] going to unlock 0x9996500 (CONTROLDEV_LOCK)
Aug 30 14:13:08 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_LOCKS 6348 ][nicephone ][-1, 0, 0, 0] unlocked 0x9996500 (CONTROLDEV_LOCK)
Aug 30 14:13:08 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_AT 6437 ][nicephone ][-1, 0, 0, 0] atciapa does not get OK from the phone. Continuing.
Aug 30 14:13:08 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_AT 6488 ][nicephone ][-1, 0, 0, 0] sleeping for 1000000 usec
Aug 30 14:13:09 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_LOCKS 6294 ][nicephone ][-1, 0, 0, 0] going to lock 0x9996500 (CONTROLDEV_LOCK)
Aug 30 14:13:09 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_LOCKS 6294 ][nicephone ][-1, 0, 0, 0] locked 0x9996500 (CONTROLDEV_LOCK)
Aug 30 14:13:09 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_AT 6296 ][nicephone ][-1, 0, 0, 0] sending: AT
Aug 30 14:13:09 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_AT 6172 ][nicephone ][-1, 0, 0, 0] sent data... (A)
Aug 30 14:13:09 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_AT 6172 ][nicephone ][-1, 0, 0, 0] sent data... (T)
Aug 30 14:13:09 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_AT 6198 ][nicephone ][-1, 0, 0, 0] sent (carriage return)
Aug 30 14:13:11 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_LOCKS 6304 ][nicephone ][-1, 0, 0, 0] going to unlock 0x9996500 (CONTROLDEV_LOCK)
Aug 30 14:13:11 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_LOCKS 6304 ][nicephone ][-1, 0, 0, 0] unlocked 0x9996500 (CONTROLDEV_LOCK)
Aug 30 14:13:11 ERROR[19905] chan_celliax.c: [b7f136c0][ERROR 6495 ][nicephone ][-1, 0, 0, 0] no response to AT
Aug 30 14:13:11 ERROR[19905] chan_celliax.c: [b7f136c0][ERROR 3189 ][nicephone ][-1, 0, 0, 0] serial_config failed
Aug 30 14:13:11 ERROR[19905] chan_celliax.c: [b7f136c0][ERROR 2497 ][none ][-1,-1,-1,-1] Unable to create channel Celliax from celliax. conf category '[nicephone]'
Aug 30 14:13:11 DEBUG[19905] channel.c: Unregistering channel type 'Celliax'
Aug 30 14:13:11 VERBOSE[19905] logger.c: == Unregistered channel type 'Celliax'
Aug 30 14:13:11 NOTICE[19905] chan_celliax.c: [b7f136c0][NOTICE 2502 ][none ][-1,-1,-1,-1] EXITING FUNC
Aug 30 14:13:11 WARNING[19905] loader.c: chan_celliax.so: load_module failed, returning -1
Aug 30 14:13:11 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_LOCKS 2674 ][none ][-1, 0, 0, 0] going to lock 0x2e1ce4 (USECNT_LOCK)
Aug 30 14:13:11 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_LOCKS 2674 ][none ][-1, 0, 0, 0] locked 0x2e1ce4 (USECNT_LOCK)
Aug 30 14:13:11 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_LOCKS 2678 ][none ][-1, 0, 0, 0] going to unlock 0x2e1ce4 (USECNT_LOCK)
Aug 30 14:13:11 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_LOCKS 2678 ][none ][-1, 0, 0, 0] unlocked 0x2e1ce4 (USECNT_LOCK)
Aug 30 14:13:11 NOTICE[19905] chan_celliax.c: [b7f136c0][NOTICE 2554 ][none ][-1,-1,-1,-1] ENTERING FUNC
Aug 30 14:13:11 DEBUG[19905] channel.c: Unregistering channel type 'Celliax'
Aug 30 14:13:11 VERBOSE[19905] logger.c: == Unregistered application 'Celliax_Directory'
Aug 30 14:13:11 VERBOSE[19905] logger.c: == Unregistered application 'Skype2Celliax'
Aug 30 14:13:11 VERBOSE[19905] logger.c: == Unregistered application 'Celliax2Skype'
Aug 30 14:13:11 VERBOSE[19905] logger.c: == Unregistered application 'celliax_sendsms'
Aug 30 14:13:11 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_LOCKS 2581 ][none ][-1,-1,-1,-1] going to lock 0x2e1ccc (MONLOCK)
Aug 30 14:13:11 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_LOCKS 2581 ][none ][-1,-1,-1,-1] locked 0x2e1ccc (MONLOCK)
Aug 30 14:13:11 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_LOCKS 2605 ][none ][-1,-1,-1,-1] going to unlock 0x2e1ccc (MONLOCK)
Aug 30 14:13:11 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_LOCKS 2605 ][none ][-1,-1,-1,-1] unlocked 0x2e1ccc (MONLOCK)
Aug 30 14:13:11 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_LOCKS 2622 ][none ][-1,-1,-1,-1] going to lock 0x2e1cb4 (IFLOCK)
Aug 30 14:13:11 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_LOCKS 2622 ][none ][-1,-1,-1,-1] locked 0x2e1cb4 (IFLOCK)
Aug 30 14:13:11 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_LOCKS 2651 ][none ][-1,-1,-1,-1] going to unlock 0x2e1cb4 (IFLOCK)
Aug 30 14:13:11 DEBUG[19905] chan_celliax.c: [b7f136c0][DEBUG_LOCKS 2651 ][none ][-1,-1,-1,-1] unlocked 0x2e1cb4 (IFLOCK)
Aug 30 14:13:11 NOTICE[19905] chan_celliax.c: [b7f136c0][NOTICE 2657 ][none ][-1,-1,-1,-1] Unloaded Celliax Module
Aug 30 14:13:11 NOTICE[19905] chan_celliax.c: [b7f136c0][NOTICE 2659 ][none ][-1,-1,-1,-1] EXITING FUNC
Aug 30 14:13:11 WARNING[19905] loader.c: Loading module chan_celliax.so failed!
No waste of time
Ciao Joda,
thanks for your patience in testing!
Testing and discussing features and finding the most correct behavior for celliax is not a waste of time, is exactly the use for this forum ;-)
As you can see, celliax do nothing for making asterisk to fail. Celliax just fail to load (because the phone do not answer to the initialization), then asterisk decide that an interface is failed, and exit.
I think this is a correct behavior, but anyway, it is just the standard Asterisk behavior. If something into modules.conf fail to load, asterisk fail. But if you load the module "by hand", after asterisk has started, the module can fail to load without affecting Asterisk.
You can check this in this way:
1) modify the modules.conf to not load celliax
2) start asterisk. It loads.
3) load manually celliax (from the CLI "load chan_celliax.so")
4) let's pretend celliax fail
5) celliax failò to load, and unload itself
6) asterisk continues to work
7) let's pretend celliax load correctly
8) you can unload it, if you want (from the CLI "unload chan_celliax.so"
The only way to modify this behavior would be for celliax to correctly load itself also if it find problems with the connected phone, or with the serial, or with the soundcard, or whatever.
I'm not sure this is the way to go, I do not think the chan_zap load correctly if it do not find the zaptel driver or if the zaptel interface is broken and do not answer to commands...
Anyway, I'm open to discussion