Cannot Get Asterisk to Start Up


#1

I’m trying to use asterisk with several IP phones to set up a home intercom and paging system. I’m running asterisk on an ARMv6 plug computer with Arch Linux. Kernel version is 2.6.31.6_SMP_820. Asterisk 1.8.2.3-2 was installed via the package manager (pacman).

Running “asterisk -vc” provides the following output:

Asterisk Dynamic Loader Starting: [Aug 6 18:53:30] NOTICE[1298]: cdr.c:1567 do_reload: CDR simple logging enabled. Asterisk PBX Core Initializing Registering builtin applications: [Answer] [BackGround] [Busy] [Congestion] [ExecIfTime] [Goto] [GotoIf] [GotoIfTime] [ImportVar] [Hangup] [Incomplete] [NoOp] [Proceeding] [Progress] [RaiseException] [ResetCDR] [Ringing] [SayAlpha] [SayDigits] [SayNumber] [SayPhonetic] [Set] [MSet] [SetAMAFlags] [Wait] [WaitExten] Asterisk Dynamic Loader Starting: [Aug 6 18:53:30] NOTICE[1298]: loader.c:1118 load_modules: 201 modules will be loaded. [Aug 6 18:53:30] WARNING[1298]: loader.c:387 load_dynamic_module: Error loading module 'res_config_odbc.so': /usr/lib/asterisk/modules/res_config_odbc.so: undefined symbol: ast_odbc_clear_cache [Aug 6 18:53:31] NOTICE[1298]: res_odbc.c:1830 load_module: res_odbc loaded. res_odbc.so => (ODBC resource) [Aug 6 18:53:31] NOTICE[1298]: res_smdi.c:1414 load_module: No SMDI interfaces are available to listen on, not starting SMDI listener. res_monitor.so => (Call Monitoring Resource) res_jabber.so => (AJI - Asterisk Jabber Interface) res_stun_monitor.so => (STUN Network Monitor) res_crypto.so => (Cryptographic Digital Signatures) res_fax.so => (Generic FAX Applications) res_adsi => (ADSI Resource) res_agi.so => (Asterisk Gateway Interface (AGI)) res_speech.so => (Generic Speech Recognition API) res_calendar.so => (Asterisk Calendar integration) res_ael_share.so => (share-able code for AEL) res_curl.so => (cURL Resource Module) func_curl.so => (Load external URL) [Aug 6 18:53:32] ERROR[1298]: res_config_pgsql.c:1490 pgsql_reconnect: PostgreSQL RealTime: Failed to connect database asterisk on 127.0.0.1: [Aug 6 18:53:32] WARNING[1298]: res_config_pgsql.c:1442 parse_config: PostgreSQL RealTime: Couldn't establish connection. Check debug. [Aug 6 18:53:32] NOTICE[1298]: config.c:1988 ast_config_engine_register: Registered Config Engine pgsql PostgreSQL RealTime driver loaded. res_config_pgsql.so => (PostgreSQL RealTime Configuration Driver) [Aug 6 18:53:32] NOTICE[1298]: config.c:1988 ast_config_engine_register: Registered Config Engine curl res_config_curl loaded. res_config_curl.so => (Realtime Curl configuration) [Aug 6 18:53:32] NOTICE[1298]: res_config_ldap.c:1629 parse_config: No directory user found, anonymous binding as default. [Aug 6 18:53:32] ERROR[1298]: res_config_ldap.c:1655 parse_config: No directory URL or host found. [Aug 6 18:53:32] ERROR[1298]: res_config_ldap.c:1538 load_module: Cannot load LDAP RealTime driver. res_config_ldap.so => (LDAP realtime interface) [Aug 6 18:53:32] NOTICE[1298]: config.c:1988 ast_config_engine_register: Registered Config Engine odbc res_config_odbc loaded. res_config_odbc.so => (Realtime ODBC configuration) res_musiconhold.so => (Music On Hold Resource) res_timing_pthread.so => (pthread Timing Interface) res_rtp_asterisk.so => (Asterisk RTP Stack) res_timing_timerfd.so => (Timerfd Timing Interface) res_rtp_multicast.so => (Multicast RTP Engine) chan_bridge.so => (Bridge Interaction Channel) [Aug 6 18:53:32] NOTICE[1298]: chan_skinny.c:7156 config_load: Configuring skinny from skinny.conf [Aug 6 18:53:32] WARNING[1298]: chan_skinny.c:7184 config_load: Unable to get our IP address, Skinny disabled chan_skinny.so => (Skinny Client Control Protocol (Skinny)) chan_jingle.so => (Jingle Channel Driver) chan_gtalk.so => (Gtalk Channel Driver) chan_agent.so => (Agent Proxy Channel) chan_multicast_rtp.so => (Multicast RTP Paging Channel) chan_local.so => (Local Proxy Channel (Note: used internally by other modules)) KilledAny suggestions on where to start? Is there a good list of error code and possible causes somewhere that I can use to figure this out?

TIA
Kevin


#2

If the Killed was because you killed it, I don’t see any evidence that it failed to start. If it is the result of a crash in Asterisk, please google for “asterisk wiki backtrace” (this may require you to build Asterisk from source.

There are warnings about not being able to resolve the machine’s own name, which have stopped some features from starting. You need to fix /etc/hosts, or your DNS server, so that a lookup on the hostname returns a valid result.


#3

Thank for the suggestions. No, I did not kill asterisk, that happens without me doing anything hence it is the problem.

There was a minor problem with dns, but that’s now fixed and I still get the same error. Local host (127.0.0.1) always resolved anyway. Is there someplace in the myriad of config files where one puts the machine host name? I haven’t found it yet, and asterisk seem to default to 127.0.0.1 which should be good.

I tried running asterisk with “-g” and it would not produce a core file. Running the safe_asterisk script throws the following error as it attempts to restart asterisk again and again:

/usr/sbin/safe_asterisk: line 145: 1517 Killed nice -n $PRIORITY ${ASTSBINDIR}/asterisk -f ${CLIARGS} ${ASTARGS} > /dev/${TTY} 2>&1 < /dev/${TTY} Asterisk ended with exit status 137 Asterisk exited on signal 9. Automatically restarting Asterisk.Any further ideas?


#4

Any help? Any pointers on where to look to determine what “exit status 137” means and possible causes?

TIA


#5

That exit status means it was killed with signal 9, as it says above. That should only happen as a last resort. I think the supplied init.d script will do this if a stop fails to complete in a reasonable time, but that would indicate that it was instructed to stop Asterisk.

To debug that situation, you must get a backtrace before anything tries to issue kill -9, which means attaching a debugger or using kill -3.