Thanks for the responses guys. We use SIP trunks, which are between Asterisk and our Cisco 3845 voice routers, which is connected to our PRI line. I’ve seen the crash happen when a call is hung up between a SCCP phone and an outside call (SIP), as well as extension to extension calls (SCCP).
It might be caused by a wrong config, but I am doubtful because it only happens about once a day, the rest of the calls are fine.
Not sure exactly what config files you need, but most of the extension related items are generated by Elastix/Free PBX.
Here is my sccp.conf config:
; (SCCP*)
;
; An implementation of Skinny Client Control Protocol (SCCP)
;
[general]
servername = Asterisk ; show this name on the device registration
keepalive = 60 ; phone keep alive message evey 60 secs. Used to check the voicemail
debug = core ; console debug level or categories
; examples: debug = 11 | debug = mwi,event,core | debug = all | debug = none or 0
; possible categories:
; core, sccp, hint, rtp, device, line, action, channel, cli, config, feature, feature_button, softkey, indicate, pbx
; socket, mwi, event, adv_feature, conference, buttontemplate, speeddial, codec, realtime, lock, newcode, high, all, none
context = from-internal
dateFormat = M/D/YA ; M-D-Y in any order. Use M/D/YA (for 12h format)
bindaddr = 10.50.14.4 ; replace with the ip address of the asterisk server (RTP important param)
port = 2000 ; listen on port 2000 (Skinny, default)
disallow=all ; First disallow all codecs
allow=ulaw ; Allow codecs in order of preference
allow=alaw ;
allow=g729 ;
firstdigittimeout = 16 ; dialing timeout for the 1st digit
digittimeout = 5 ; more digits
digittimeoutchar = # ; you can force the channel to dial with this char in the dialing state
autoanswer_ring_time = 1 ; ringing time in seconds for the autoanswer, the default is 0
autoanswer_tone = 0x32 ; autoanswer confirmation tone. For a complete list of tones: grep SKINNY_TONE sccp_protocol.h
; not all the tones can be played in a connected state, so you have to try.
remotehangup_tone = 0x32 ; passive hangup notification. 0 for none
transfer_tone = 0 ; confirmation tone on transfer. Works only between SCCP devices
callwaiting_tone = 0x2d ; sets to 0 to disable the callwaiting tone
musicclass=default ; Sets the default music on hold class
language=en ; Default language setting
;callevents=no ; generate manager events when phone
; performs events (e.g. hold)
;accountcode=skinny ; accountcode to ease billing
deny=0.0.0.0/0.0.0.0 ; Deny every address except for the only one allowed.
permit=10.50.14.0/255.255.255.0 ; Accept class C 192.168.1.0
; You may have multiple rules for masking traffic.
; Rules are processed from the first to the last.
; This General rule is valid for all incoming connections. It's the 1st filter.
localnet = 10.50.14.0/255.255.255.0 ; All RFC 1918 addresses are local networks
;externip = 1.2.3.4 ; IP Address that we're going to notify in RTP media stream
;externhost = mydomain.dyndns.org ; Hostname (if dynamic) that we're going to notify in RTP media stream
; externrefresh = 60 ; expire time in seconds for the hostname (dns resolution)
dnd = on ; turn on the dnd softkey for all devices. Valid values are "off", "on" (busy signal), "reject" (busy signal), "silent" (ringer = silent)
sccp_tos = 0x68 ; sets the default sccp signaling packets Type of Service (TOS) (defaults to 0x68 = 01101000 = 104 = DSCP:011010 = AF31)
; Others possible values : [CS?, AF??, EF], [0x??], [lowdelay, throughput, reliability, mincost(solaris)], none
sccp_cos = 4 ; sets the default sccp signaling packets Class of Service (COS) (defaults to 4)
audio_tos = 0xB8 ; sets the default audio/rtp packets Type of Service (TOS) (defaults to 0xb8 = 10111000 = 184 = DSCP:101110 = EF)
audio_cos = 6 ; sets the default audio/rtp packets Class of Service (COS) (defaults to 6)
video_tos = 0x88 ; sets the default video/rtp packets Type of Service (TOS) (defaults to 0x88 = 10001000 = 136 = DSCP:100010 = AF41)
video_cos = 5 ; sets the default video/rtp packets Class of Service (COS) (defaults to 5)
echocancel = on ; sets the phone echocancel for all devices
silencesuppression = on ; sets the silence suppression for all devices
;callgroup=1,3-4 ; We are in caller groups 1,3,4. Valid for all lines
;pickupgroup=1,3-5 ; We can do call pick-p for call group 1,3,4,5. Valid for all lines
;amaflags = ; Sets the default AMA flag code stored in the CDR record
trustphoneip = no ; The phone has a ip address. It could be private, so if the phone is behind NAT
; we don't have to trust the phone ip address, but the ip address of the connection
earlyrtp = offhook ; valid options: none, offhook, dial, ringout and progress. default is progress.
; The audio stream will be open in the progress and connected state by default.
private = off ; permit the private function softkey
;mwilamp = on ; Set the MWI lamp style when MWI active to on, off, wink, flash or blink
;mwioncall = off ; Set the MWI on call.
;blindtransferindication = ring ; moh or ring. the blind transfer should ring the caller or just play music on hold
;protocolversion = 11 ; skinny version protocol. Just for testing. 0 to 17 (excluding 12-14)
cfwdall = off ; activate the callforward ALL stuff and softkeys
;cfwdbusy = off ; activate the callforward BUSY stuff and softkeys
;cfwdnoanswer = off ; activate the callforward NOANSWER stuff and softkeys
devicetable=sccpdevice ;datebasetable for devices
linetable=sccpline ;datebasetable for lines
nat=off ; Global NAT support (default Off)
directrtp=off ; This option allow devices to do direct RTP sessions (default Off)
;allowoverlap=on ; Enable overlap dialing support. (Default is off)
callanswerorder=oldestfirst ; oldestfirst or lastestfirst
meetme = off ; enable/disable conferencing via app_meetme (on/off)
meetmeopts = qxd ; options to send the app_meetme application (default "qd" = quiet,dynamic pin)
; Other options (A,a,b,c,C,d,D,E,e,F,i,I,l,L,m,M,o,p,P,q,r,s,S,t,T,w,x,X,1) see app_meetme documentation
regcontext = sccpregistration ; SCCP Lines will we added to this context in asterisk for Dundi lookup purposes
;------------------------------ JITTER BUFFER CONFIGURATION --------------------------
;jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a
; sccp channel. Defaults to "no". An enabled jitterbuffer will
; be used only if the sending side can create and the receiving
; side can not accept jitter. The sccp channel can accept
; jitter, thus a jitterbuffer on the receive sccp side will be
; used only if it is forced and enabled.
;jbforce = no ; Forces the use of a jitterbuffer on the receive side of a sccp
; channel. Defaults to "no".
;jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds.
;jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is
; resynchronized. Useful to improve the quality of the voice, with
; big jumps in/broken timestamps, usually sent from exotic devices
; and programs. Defaults to 1000.
;jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a
; sccp channel. Two implementations are currently available
; - "fixed" (with size always equals to jbmaxsize)
; - "adaptive" (with variable size, actually the new jb of IAX2).
; Defaults to fixed.
;jblog = no ; Enables jitterbuffer frame logging. Defaults to "no".
;-----------------------------------------------------------------------------------
;
; Hotline (New in v3/TRUNK)
;
; Setting the hotline Feature on a device, will make it connect to a predefined extension as soon as the Receiver
; is picked up or the "New Call" Button is pressed. No number has to be given. This works even on devices which
; have no entry in the config file or realtime database.
;
; The hotline function can be used in different circumstances, for example at a door, where you want people to be
; able to only call one number, or for unprovisioned phones to only be able to call the helpdesk to get their phone
; set up. If hotline_enabled = yes, any device which is not included in the configuration explicitly will be allowed
; to registered as a guest device. All such devices will register on a single shared line called "hotline".
;
; For example:
hotline_enabled=no
hotline_context=default
hotline_extension=111
; New Device Template Method Analogous to standard Asterisk Templating Method
[defaultdevice](!) ; default device template
type = device ; specifies that this template is for a device, it will be inherited
keepalive = 60 ; set 0 to disable the keepalive check.
tzoffset = -4
transfer = on ; enable or disable the transfer capability. It does remove the transfer softkey
park = on ; take a look to the compile howto. Park stuff is not compiled by default
cfwdall = off ; activate the callforward stuff and softkeys
cfwdbusy = off
cfwdnoanswer = off
pickupexten = off ; enable Pickup function to direct pickup an extension
pickupcontext = sccp ; context where direct pickup search for extensions. if not set it will be ignored.
pickupmodeanswer = on ; on = asterisk way, the call has been answered when picked up
; off = call manager way, the phone who picked up the call rings the call
dtmfmode = inband ; inband or outofband. outofband is the native cisco dtmf tone play.
; Some phone model does not play dtmf tones while connected (bug?), so the default is inband
imageversion = P00405000700 ; useful to upgrade old firmwares (the ones that do not load *.xml from the tftp server)
deny=0.0.0.0/0.0.0.0 ; Same as general
permit=10.50.14.0/255.255.255.0 ; This device can register only using this ip address
dnd = on ; turn on the dnd softkey for this device. Valid values are "off", "on" (busy signal), "reject" (busy signal), "silent" (ringer = silent) or user to toggle on phone
trustphoneip = no ; The phone has a ip address. It could be private, so if the phone is behind NAT
; we don't have to trust the phone ip address, but the ip address of the connection
nat=off ; Device NAT support (default Off)
directrtp=off ; This option allow devices to do direct RTP sessions (default Off)
earlyrtp = offhook ; valid options: none, offhook, dial, ringout and progress. default is progress.
; The audio stream will be open in the progress and connected state by default.
private = off ; permit the private function softkey for this device
mwilamp = on ; Set the MWI lamp style when MWI active to on, off, wink, flash or blink
mwioncall = on ; Set the MWI on call.
meetme = off ; enable/disable conferencing via app_meetme (on/off)
meetmeopts = qxd ; options to send the app_meetme application (default "qd" = quiet,dynamic pin)
; Other options (A,a,b,c,C,d,D,E,e,F,i,I,l,L,m,M,o,p,P,q,r,s,S,t,T,w,x,X,1) see app_meetme documentation
softkeyset = softkeyset ; use softkeyset with name softkeyset
; New Line Template Method
[defaultline](!) ; default template for lines
type = line ; specifies that this template is for lines will be inherited
context = from-internal ; default asterisk context
incominglimit = 4 ; more than 1 incoming call = call waiting.
transfer = on ; per line transfer capability. on, off, 1, 0
vmnum = *97 ; speeddial for voicemail administration, just a number to dial
meetme = off ; enable/disable conferencing via app_meetme (on/off)
meetmeopts = qxd ; options to send the app_meetme application (default "qd" = quiet,dynamic pin)
; Other options (A,a,b,c,C,d,D,E,e,F,i,I,l,L,m,M,o,p,P,q,r,s,S,t,T,w,x,X,1) see app_meetme documentation
meetmenum = 700 ; this extension will receive meetme requests, SCCP_MEETME_ROOM channel variable will
; contain the room number dialed into simpleswitch (this parameter is going to be removed).
trnsfvm = 1000 ; extension to redirect the caller (e.g for voicemail)
secondary_dialtone_digits = 9 ; digits for the secondary dialtone (max 9 digits)
secondary_dialtone_tone = 0x22 ; outside dialtone
musicclass = default ; Sets the default music on hold class
language = en ; Default language setting
audio_tos = 0xB8 ; sets the default audio/rtp packets Type of Service (TOS) (defaults to 0xb8 = 10111000 = 184 = DSCP:101110 = EF)
; Others possible values : 0x??, lowdelay, throughput, reliability, mincost(solaris), none
audio_cos = 6 ; sets the default audio/rtp packets Class of Service (COS) (defaults to 6)
video_tos = 0x88 ; sets the default video/rtp packets Type of Service (TOS) (defaults to 0x88 = 10001000 = 136 = DSCP:100010 = AF41)
video_cos = 5 ; sets the default video/rtp packets Class of Service (COS) (defaults to 5)
echocancel = on ; sets the phone echocancel for this line
silencesuppression = on ; sets the silence suppression for this line
;create a user defined softkeyset
;valid softkeys:
;redial, newcall, cfwdall, cfwdbusy, cfwdnoanswer, pickup, gpickup, conflist, dnd, hold, endcall, park, select
;idivert, resume, newcall, transfer, dirtrfr, answer, transvm, private, meetme, barge, cbarge, conf, back, join, empty
[softkeyset]
type=softkeyset
onhook = newcall,redial,cfwdall,dnd,meetme
connected = endcall,newcall,hold,transfer,select,cfwdall,cfwdbusy
onhold = newcall,resume,endcall,transfer,confrn,select,dirtrfr,idivert
ringin = answer,idivert
offhook = redial,endcall,meetme,cfwdall,cfwdbusy,pickup,gpickup,barge
conntrans = endcall,newcall,hold,transfer,confrn,select,dirtrfr,cfwdall,cfwdbusy
digitsfoll = back,endcall
connconf = endcall,hold,conflist
ringout = endcall,transfer,cfwdall
offhookfeat = redial,endcall
onhint = pickup,barge
; phone types
; 12 -- Cisco Unified IP Phone 12SP+ (or other 12 variants)
; 30 -- Cisco Unified IP Phone 30VIP (or other 30 variants)
; 7902 -- Cisco Unified IP Phone 7902G
; 7905 -- Cisco Unified IP Phone 7905G
; 7906 -- Cisco Unified IP Phone 7906G
; 7910 -- Cisco Unified IP Phone 7910G
; 7911 -- Cisco Unified IP Phone 7911G
; 7912 -- Cisco Unified IP Phone 7912G
; 7935 -- Cisco Unified IP Conference Station 7935
; 7936 -- Cisco Unified IP Conference Station 7936
; 7937 -- Cisco Unified IP Conference Station 7937G
; 7920 -- Cisco Unified IP Wireless Phone 7920
; 7921 -- Cisco Unified IP Wireless Phone 7921G
; 7931 -- Cisco Unified IP Phone 7931G
; 7940 -- Cisco Unified IP Phone 7940G
; 7941 -- Cisco Unified IP Phone 7941G/7941G-GE
; 7942 -- Cisco Unified IP Phone 7942G
; 7945 -- Cisco Unified IP Phone 7945G
; 7960 -- Cisco Unified IP Phone 7960G
; 7961 -- Cisco Unified IP Phone 7961G/7961G-GE
; 7962 -- Cisco Unified IP Phone 7962G
; 7965 -- Cisco Unified IP Phone 7965G
; 7970 -- Cisco Unified IP Phone 7970G
; 7971 -- Cisco Unified IP Phone 7971G-GE
; 7975 -- Cisco Unified IP Phone 7975G
; 7985 -- Cisco Unified IP Phone 7985G
; ata -- Cisco ATA-186 or Cisco ATA-188
; kirk -- Kirk telecom ip phones
; cipc -- Cisco IP Communicator
; nokia-icc -- Nokias ICC Cisco client
The actual SCCP phone definitions are stored in a MySQL realtime database. Here is what they look like:
buttonconfig:
| device | instance | type | name | options |
| SEP0015C6CEB4C5 | 1 | line | 2535 | NULL |
sccpdevice:
| type | addon | description | tzoffset | transfer | cfwdall | cfwdbusy | dtmfmode | imageversion | deny | permit | dnd | trustphoneip | directrtp | earlyrtp | mwilamp | mwioncall | pickupexten | pickupcontext | pickupmodeanswer | private | privacy | nat | softkeyset | setvar | name |
| 7961 | NULL | Outside Phone Number | -4 | on | off | off | outofband | SCCP41.8-5-4S | 0.0.0.0/0.0.0.0 | 10.50.14.0/255.255.255.0 | on | NULL | off | NULL | on | on | on | | on | off | off | off | softkeyset | NULL | SEP0015C6CEB4C5 |
sccpline:
| id | pin | label | description | context | incominglimit | transfer | mailbox | vmnum | cid_name | cid_num | trnsfvm | secondary_dialtone_digits | secondary_dialtone_tone | musicclass | language | accountcode | audio_tos | audio_cos | video_tos | video_cos | echocancel | silencesuppression | callgroup | pickupgroup | amaflags | setvar | name |
| NULL | NULL | Name - 2535 | 2535 | from-internal | 3 | on | 2535 | *97 | Name | 2535 | 1000 | 9 | 0x22 | default | en | NULL | 0xB8 | 6 | 0x88 | 5 | off | off | NULL | NULL | NULL | NULL | 2535 |
sip_additional.conf (trunks):
[from-trunk]
host=10.50.1.33
type=peer
insecure=port,invite
context=from-trunk-mechvxgw01
dtmfmode=inband
[mechvxgw01]
host=10.50.1.33
type=peer
context=from-trunk-sip-mechvxgw01
[mechvxgw02]
host=10.50.1.34
type=peer
context=from-trunk-sip-mechvxgw02
extensions_custom.conf (adds our dialprefix to incoming caller ID):
[from-trunk-mechvxgw01]
include => from-trunk-sip-mechvxgw01-custom
exten => _X.,1,Set(CALLERID(num)=9${CALLERID(num)})
exten => _.,1,Set(GROUP()=OUT_1)
exten => _.,n,Goto(from-trunk,${EXTEN},1)
[from-trunk-mechvxgw02]
include => from-trunk-sip-mechvxgw02-custom
exten => _X.,1,Set(CALLERID(num)=9${CALLERID(num)})
exten => _.,1,Set(GROUP()=OUT_2)
exten => _.,n,Goto(from-trunk,${EXTEN},1)
Here is the log file from when the issue occurs:
[Sep 15 13:00:04] VERBOSE[8641] netsock.c: == Using SIP RTP TOS bits 184
[Sep 15 13:00:04] VERBOSE[8641] netsock.c: == Using SIP RTP CoS mark 5
[Sep 15 13:00:04] VERBOSE[28383] pbx.c: -- Executing [2535@from-trunk-mechvxgw01:1] Set("SIP/from-trunk-00000045", "CALLERID(num)=9XXXXXXXXXX") in new stack
[Sep 15 13:00:04] VERBOSE[28383] pbx.c: -- Executing [2535@from-trunk-mechvxgw01:2] Goto("SIP/from-trunk-00000045", "from-trunk,2535,1") in new stack
[Sep 15 13:00:04] VERBOSE[28383] pbx.c: -- Goto (from-trunk,2535,1)
[Sep 15 13:00:04] VERBOSE[28383] pbx.c: -- Executing [2535@from-trunk:1] Set("SIP/from-trunk-00000045", "__FROM_DID=2535") in new stack
[Sep 15 13:00:04] VERBOSE[28383] pbx.c: -- Executing [2535@from-trunk:2] Gosub("SIP/from-trunk-00000045", "app-blacklist-check,s,1") in new stack
[Sep 15 13:00:04] VERBOSE[28383] pbx.c: -- Executing [s@app-blacklist-check:1] GotoIf("SIP/from-trunk-00000045", "0?blacklisted") in new stack
[Sep 15 13:00:04] VERBOSE[28383] pbx.c: -- Executing [s@app-blacklist-check:2] Set("SIP/from-trunk-00000045", "CALLED_BLACKLIST=1") in new stack
[Sep 15 13:00:04] VERBOSE[28383] pbx.c: -- Executing [s@app-blacklist-check:3] Return("SIP/from-trunk-00000045", "") in new stack
[Sep 15 13:00:04] VERBOSE[28383] pbx.c: -- Executing [2535@from-trunk:3] Gosub("SIP/from-trunk-00000045", "cidlookup,cidlookup_1,1") in new stack
[Sep 15 13:00:04] VERBOSE[28383] pbx.c: -- Executing [cidlookup_1@cidlookup:1] ExecIf("SIP/from-trunk-00000045", "0?Set(CALLERID(name)=)") in new stack
[Sep 15 13:00:04] VERBOSE[28383] pbx.c: -- Executing [cidlookup_1@cidlookup:2] Return("SIP/from-trunk-00000045", "") in new stack
[Sep 15 13:00:04] VERBOSE[28383] pbx.c: -- Executing [2535@from-trunk:4] ExecIf("SIP/from-trunk-00000045", "0 ?Set(CALLERID(name)=9XXXXXXXXXX)") in new stack
[Sep 15 13:00:04] VERBOSE[28383] pbx.c: -- Executing [2535@from-trunk:5] SetMusicOnHold("SIP/from-trunk-00000045", "default") in new stack
[Sep 15 13:00:04] VERBOSE[28383] pbx.c: -- Executing [2535@from-trunk:6] Set("SIP/from-trunk-00000045", "__MOHCLASS=default") in new stack
[Sep 15 13:00:04] VERBOSE[28383] pbx.c: -- Executing [2535@from-trunk:7] Set("SIP/from-trunk-00000045", "__CALLINGPRES_SV=allowed_not_screened") in new stack
[Sep 15 13:00:04] VERBOSE[28383] pbx.c: -- Executing [2535@from-trunk:8] Set("SIP/from-trunk-00000045", "CALLERPRES()=allowed_not_screened") in new stack
[Sep 15 13:00:04] VERBOSE[28383] pbx.c: -- Executing [2535@from-trunk:9] Set("SIP/from-trunk-00000045", "FAX_DEST=from-did-direct^25351^1") in new stack
[Sep 15 13:00:04] VERBOSE[28383] pbx.c: -- Executing [2535@from-trunk:10] Answer("SIP/from-trunk-00000045", "") in new stack
[Sep 15 13:00:04] VERBOSE[28383] pbx.c: -- Executing [2535@from-trunk:11] Wait("SIP/from-trunk-00000045", "4") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [2535@from-trunk:12] Goto("SIP/from-trunk-00000045", "from-did-direct,2535,1") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Goto (from-did-direct,2535,1)
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [2535@from-did-direct:1] Macro("SIP/from-trunk-00000045", "exten-vm,2535,2535") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-exten-vm:1] Macro("SIP/from-trunk-00000045", "exten-vm-custom-extra,2535") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-exten-vm-custom-extra:1] Macro("SIP/from-trunk-00000045", "user-callerid,") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-user-callerid:1] Macro("SIP/from-trunk-00000045", "user-callerid-custom-extra,s") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-user-callerid-custom-extra:1] ExecIf("SIP/from-trunk-00000045", "0?SetCalledParty("" <s>)") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-user-callerid-custom-extra:2] Set("SIP/from-trunk-00000045", "DB(CHANNEL/SIP/from-trunk-00000045/cidname)=CALLER NAME ") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-user-callerid-custom-extra:3] Set("SIP/from-trunk-00000045", "DB(CHANNEL/SIP/from-trunk-00000045/cidnum)=9XXXXXXXXXX") in new stack
[Sep 15 13:00:08] WARNING[28383] ast_expr2.fl: ast_yyerror(): syntax error: syntax error, unexpected '!=', expecting $end; Input:
!= "" & 0
^
[Sep 15 13:00:08] WARNING[28383] ast_expr2.fl: If you have questions, please refer to doc/tex/channelvariables.tex.
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-user-callerid-custom-extra:4] ExecIf("SIP/from-trunk-00000045", "?Set(CALLERID(name)=)") in new stack
[Sep 15 13:00:08] WARNING[28383] ast_expr2.fl: ast_yyerror(): syntax error: syntax error, unexpected '!=', expecting $end; Input:
!= "" & 0
^
[Sep 15 13:00:08] WARNING[28383] ast_expr2.fl: If you have questions, please refer to doc/tex/channelvariables.tex.
[Sep 15 13:00:08] WARNING[28383] ast_expr2.fl: ast_yyerror(): syntax error: syntax error, unexpected '!=', expecting $end; Input:
!= "" & 0
^
[Sep 15 13:00:08] WARNING[28383] ast_expr2.fl: If you have questions, please refer to doc/tex/channelvariables.tex.
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-user-callerid-custom-extra:5] ExecIf("SIP/from-trunk-00000045", "?Set(CALLERID(num)=)") in new stack
[Sep 15 13:00:08] WARNING[28383] ast_expr2.fl: ast_yyerror(): syntax error: syntax error, unexpected '!=', expecting $end; Input:
!= "" & 0
^
[Sep 15 13:00:08] WARNING[28383] ast_expr2.fl: If you have questions, please refer to doc/tex/channelvariables.tex.
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-user-callerid-custom-extra:6] MacroExit("SIP/from-trunk-00000045", "") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-user-callerid:2] GotoIf("SIP/from-trunk-00000045", "0?report") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-user-callerid:3] ExecIf("SIP/from-trunk-00000045", "1?Set(REALCALLERIDNUM=9XXXXXXXXXX)") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-user-callerid:4] Set("SIP/from-trunk-00000045", "AMPUSER=") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-user-callerid:5] Set("SIP/from-trunk-00000045", "AMPUSERCIDNAME=") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-user-callerid:6] GotoIf("SIP/from-trunk-00000045", "1?report") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Goto (macro-user-callerid,s,10)
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-user-callerid:10] GotoIf("SIP/from-trunk-00000045", "0?continue") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-user-callerid:11] Set("SIP/from-trunk-00000045", "__TTL=64") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-user-callerid:12] GotoIf("SIP/from-trunk-00000045", "1?continue") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Goto (macro-user-callerid,s,19)
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-user-callerid:19] NoOp("SIP/from-trunk-00000045", "Using CallerID "CALLER NAME " <9XXXXXXXXXX>") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-exten-vm-custom-extra:2] ExecIf("SIP/from-trunk-00000045", "1?SetCalledParty("NAME" <2535>)") in new stack
[Sep 15 13:00:08] WARNING[28383] sccp_appfunctions.c: SCCPDEVICE(): Not an SCCP channel
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-exten-vm-custom-extra:3] Set("SIP/from-trunk-00000045", "DB(CHANNEL/SIP/from-trunk-00000045/cidname)=CALLER NAME ") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-exten-vm-custom-extra:4] Set("SIP/from-trunk-00000045", "DB(CHANNEL/SIP/from-trunk-00000045/cidnum)=9XXXXXXXXXX") in new stack
[Sep 15 13:00:08] WARNING[28383] ast_expr2.fl: ast_yyerror(): syntax error: syntax error, unexpected '!=', expecting $end; Input:
!= "" & 0
^
[Sep 15 13:00:08] WARNING[28383] ast_expr2.fl: If you have questions, please refer to doc/tex/channelvariables.tex.
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-exten-vm-custom-extra:5] ExecIf("SIP/from-trunk-00000045", "?Set(CALLERID(name)=)") in new stack
[Sep 15 13:00:08] WARNING[28383] ast_expr2.fl: ast_yyerror(): syntax error: syntax error, unexpected '!=', expecting $end; Input:
!= "" & 0
^
[Sep 15 13:00:08] WARNING[28383] ast_expr2.fl: If you have questions, please refer to doc/tex/channelvariables.tex.
[Sep 15 13:00:08] WARNING[28383] ast_expr2.fl: ast_yyerror(): syntax error: syntax error, unexpected '!=', expecting $end; Input:
!= "" & 0
^
[Sep 15 13:00:08] WARNING[28383] ast_expr2.fl: If you have questions, please refer to doc/tex/channelvariables.tex.
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-exten-vm-custom-extra:6] ExecIf("SIP/from-trunk-00000045", "?Set(CALLERID(num)=)") in new stack
[Sep 15 13:00:08] WARNING[28383] ast_expr2.fl: ast_yyerror(): syntax error: syntax error, unexpected '!=', expecting $end; Input:
!= "" & 0
^
[Sep 15 13:00:08] WARNING[28383] ast_expr2.fl: If you have questions, please refer to doc/tex/channelvariables.tex.
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-exten-vm-custom-extra:7] MacroExit("SIP/from-trunk-00000045", "") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-exten-vm:2] Set("SIP/from-trunk-00000045", "RingGroupMethod=none") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-exten-vm:3] Set("SIP/from-trunk-00000045", "VMBOX=2535") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-exten-vm:4] Set("SIP/from-trunk-00000045", "EXTTOCALL=2535") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-exten-vm:5] Set("SIP/from-trunk-00000045", "CFUEXT=") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-exten-vm:6] Set("SIP/from-trunk-00000045", "CFBEXT=") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-exten-vm:7] Set("SIP/from-trunk-00000045", "RT=20") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-exten-vm:8] Macro("SIP/from-trunk-00000045", "record-enable,2535,IN") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-record-enable:1] GotoIf("SIP/from-trunk-00000045", "1?check") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Goto (macro-record-enable,s,4)
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-record-enable:4] ExecIf("SIP/from-trunk-00000045", "0?MacroExit()") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-record-enable:5] GotoIf("SIP/from-trunk-00000045", "0?Group:OUT") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Goto (macro-record-enable,s,15)
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-record-enable:15] GotoIf("SIP/from-trunk-00000045", "1?IN") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Goto (macro-record-enable,s,20)
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-record-enable:20] ExecIf("SIP/from-trunk-00000045", "1?MacroExit()") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-exten-vm:9] Macro("SIP/from-trunk-00000045", "dial,20,tr,2535") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-dial:1] GotoIf("SIP/from-trunk-00000045", "0?dial") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-dial:2] SetMusicOnHold("SIP/from-trunk-00000045", "default") in new stack
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-dial:3] AGI("SIP/from-trunk-00000045", "dialparties.agi") in new stack
[Sep 15 13:00:08] VERBOSE[28383] res_agi.c: -- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
[Sep 15 13:00:08] VERBOSE[28383] res_agi.c: dialparties.agi: Starting New Dialparties.agi
[Sep 15 13:00:08] VERBOSE[28383] res_agi.c: dialparties.agi: Caller ID name is 'CALLER NAME' number is '9XXXXXXXXXX'
[Sep 15 13:00:08] VERBOSE[28383] res_agi.c: > dialparties.agi: USE_CONFIRMATION: 'FALSE'
[Sep 15 13:00:08] VERBOSE[28383] res_agi.c: > dialparties.agi: RINGGROUP_INDEX: ''
[Sep 15 13:00:08] VERBOSE[28383] res_agi.c: dialparties.agi: Methodology of ring is 'none'
[Sep 15 13:00:08] VERBOSE[28383] res_agi.c: -- dialparties.agi: Added extension 2535 to extension map
[Sep 15 13:00:08] VERBOSE[28383] res_agi.c: > dialparties.agi: Extension 2535 has call screening off
[Sep 15 13:00:08] VERBOSE[28383] res_agi.c: -- dialparties.agi: Extension 2535 cf is disabled
[Sep 15 13:00:08] VERBOSE[28383] res_agi.c: -- dialparties.agi: Extension 2535 do not disturb is disabled
[Sep 15 13:00:08] VERBOSE[28383] res_agi.c: > dialparties.agi: extnum 2535 has: cw: 1; hascfb: 0 [] hascfu: 0 []
[Sep 15 13:00:08] VERBOSE[28383] res_agi.c: dialparties.agi: EXTENSION_STATE: 0 (NOT_INUSE)
[Sep 15 13:00:08] VERBOSE[28383] res_agi.c: -- dialparties.agi: dbset CALLTRACE/2535 to 9XXXXXXXXXX
[Sep 15 13:00:08] VERBOSE[28383] res_agi.c: -- dialparties.agi: Filtered ARG3: 2535
[Sep 15 13:00:08] VERBOSE[28383] res_agi.c: -- <SIP/from-trunk-00000045>AGI Script dialparties.agi completed, returning 0
[Sep 15 13:00:08] VERBOSE[28383] pbx.c: -- Executing [s@macro-dial:7] Dial("SIP/from-trunk-00000045", "SCCP/2535,20,tr") in new stack
[Sep 15 13:00:08] VERBOSE[28383] chan_sccp.c: -- SCCP: Asterisk asked to create a channel type=SCCP, format=4, line=2535, subscriptionId.number=, options=
[Sep 15 13:00:08] VERBOSE[28383] chan_sccp.c: [SCCP] in file chan_sccp.c, line 216 (sccp_request)
[Sep 15 13:00:08] VERBOSE[28383] sccp_pbx.c: -- : Asterisk request to call SCCP/2535-0000007a
[Sep 15 13:00:08] VERBOSE[28383] sccp_channel.c: -- SEP0015C6CEB4C5: send callInfo of callid 122
[Sep 15 13:00:08] VERBOSE[28383] app_dial.c: -- Called 2535
[Sep 15 13:00:08] VERBOSE[28383] app_dial.c: -- SCCP/2535-0000007a is ringing
[Sep 15 13:00:10] VERBOSE[8767] sccp_actions.c: -- SEP0015C6CEB4C5: Taken Offhook
[Sep 15 13:00:10] VERBOSE[8767] sccp_channel.c: -- SEP0015C6CEB4C5: Answer the channel 2535-0000007A
[Sep 15 13:00:10] VERBOSE[8767] sccp_channel.c: -- SEP0015C6CEB4C5: Answering channel with state 'Ringing' (5)
[Sep 15 13:00:10] VERBOSE[8767] sccp_channel.c: -- SEP0015C6CEB4C5: send callInfo of callid 122
[Sep 15 13:00:10] VERBOSE[8767] netsock.c: == Using SCCP RTP TOS bits 184
[Sep 15 13:00:10] VERBOSE[8767] netsock.c: == Using SCCP RTP CoS mark 6
[Sep 15 13:00:10] VERBOSE[28383] app_dial.c: -- SCCP/2535-0000007a answered SIP/from-trunk-00000045
[Sep 15 13:00:10] VERBOSE[28383] sccp_channel.c: -- SEP0015C6CEB4C5: send callInfo of callid 122
[Sep 15 13:01:09] VERBOSE[28383] sccp_channel.c: -- SEP0015C6CEB4C5: send callInfo of callid 122
[Sep 15 13:01:09] VERBOSE[28383] pbx.c: -- Executing [h@macro-dial:1] Macro("SIP/from-trunk-00000045", "hangupcall") in new stack
[Sep 15 13:01:09] VERBOSE[28383] pbx.c: -- Executing [s@macro-hangupcall:1] Set("SIP/from-trunk-00000045", "MYCHANNEL=SIP/from-trunk-00000045") in new stack
[Sep 15 13:01:09] VERBOSE[28383] pbx.c: -- Executing [s@macro-hangupcall:2] ExecIf("SIP/from-trunk-00000045", "0?Set(MYCHANNEL=SIP/from-trunk-)") in new stack
[Sep 15 13:01:09] WARNING[28383] ast_expr2.y: non-numeric argument
[Sep 15 13:01:09] WARNING[28383] ast_expr2.y: non-numeric argument
[Sep 15 13:01:09] VERBOSE[28383] pbx.c: -- Executing [s@macro-hangupcall:3] ExecIf("SIP/from-trunk-00000045", "1?DBdeltree(CHANNEL/SIP/from-trunk-00000045)") in new stack
[Sep 15 13:01:09] VERBOSE[28383] app_db.c: -- DBdeltree: family=CHANNEL, keytree=SIP/from-trunk-00000045
[Sep 15 13:01:09] VERBOSE[28383] app_db.c: -- DBdeltree: Error deleting key from database.
[Sep 15 13:01:09] WARNING[28383] ast_expr2.y: non-numeric argument
[Sep 15 13:01:09] WARNING[28383] ast_expr2.y: non-numeric argument
[Sep 15 13:01:09] VERBOSE[28383] pbx.c: -- Executing [s@macro-hangupcall:4] GotoIf("SIP/from-trunk-00000045", "1?noautomon") in new stack
[Sep 15 13:01:09] VERBOSE[28383] pbx.c: -- Goto (macro-hangupcall,s,6)
[Sep 15 13:01:09] VERBOSE[28383] pbx.c: -- Executing [s@macro-hangupcall:6] NoOp("SIP/from-trunk-00000045", "TOUCH_MONITOR_OUTPUT=") in new stack
[Sep 15 13:01:09] VERBOSE[28383] pbx.c: -- Executing [s@macro-hangupcall:7] GotoIf("SIP/from-trunk-00000045", "1?noautomon2") in new stack
[Sep 15 13:01:09] VERBOSE[28383] pbx.c: -- Goto (macro-hangupcall,s,9)
[Sep 15 13:01:09] VERBOSE[28383] pbx.c: -- Executing [s@macro-hangupcall:9] NoOp("SIP/from-trunk-00000045", "MONITOR_FILENAME=") in new stack
[Sep 15 13:01:09] VERBOSE[28383] pbx.c: -- Executing [s@macro-hangupcall:10] GotoIf("SIP/from-trunk-00000045", "1?skiprg") in new stack
[Sep 15 13:01:09] VERBOSE[28383] pbx.c: -- Goto (macro-hangupcall,s,13)
[Sep 15 13:01:09] VERBOSE[28383] pbx.c: -- Executing [s@macro-hangupcall:13] GotoIf("SIP/from-trunk-00000045", "1?skipblkvm") in new stack
[Sep 15 13:01:09] VERBOSE[28383] pbx.c: -- Goto (macro-hangupcall,s,16)
[Sep 15 13:01:09] VERBOSE[28383] pbx.c: -- Executing [s@macro-hangupcall:16] GotoIf("SIP/from-trunk-00000045", "1?theend") in new stack
[Sep 15 13:01:09] VERBOSE[28383] pbx.c: -- Goto (macro-hangupcall,s,18)
[Sep 15 13:01:09] VERBOSE[28383] pbx.c: -- Executing [s@macro-hangupcall:18] Hangup("SIP/from-trunk-00000045", "") in new stack
[Sep 15 13:01:09] VERBOSE[28383] app_macro.c: == Spawn extension (macro-hangupcall, s, 18) exited non-zero on 'SIP/from-trunk-00000045' in macro 'hangupcall'
[Sep 15 13:01:09] VERBOSE[8767] sccp_actions.c: -- SEP0015C6CEB4C5 is Onhook
[Sep 15 13:01:09] VERBOSE[8767] sccp_channel.c: == SEP0015C6CEB4C5: Ending call 122 on line 2535 (Connected)
[Sep 15 13:01:09] VERBOSE[8767] sccp_pbx.c: -- SCCP: Asterisk request to hangup channel SCCP/2535-0000007a
[Sep 15 13:01:09] VERBOSE[8767] sccp_utils.c: -- SEP0015C6CEB4C5: got FeatureChangeEvent 6
[Sep 15 13:01:09] VERBOSE[8767] sccp_channel.c: -- SEP0015C6CEB4C5: send callInfo of callid 122
[Sep 15 13:01:09] ERROR[28383] channel.c: Unable to find channel in list to free. Assuming it has already been done.
--- CRASH OCCURS AT LINE ABOVE ---
[Sep 15 13:01:14] VERBOSE[28418] logger.c: Asterisk Event Logger Started /var/log/asterisk/event_log
[Sep 15 13:01:14] VERBOSE[28418] config.c: == Parsing '/etc/asterisk/asterisk.conf': [Sep 15 13:01:14] VERBOSE[28418] config.c: == Found
[Sep 15 13:01:14] VERBOSE[28418] loader.c: Asterisk Dynamic Loader Starting:
[Sep 15 13:01:14] VERBOSE[28418] config.c: == Parsing '/etc/asterisk/modules.conf': [Sep 15 13:01:14] VERBOSE[28418] config.c: == Found
[Sep 15 13:01:14] NOTICE[28418] loader.c: 2 modules will be loaded.
[Sep 15 13:01:14] VERBOSE[28418] config.c: == Parsing '/etc/asterisk/extensions.conf': [Sep 15 13:01:14] VERBOSE[28418] config.c: == Found
[Sep 15 13:01:14] VERBOSE[28418] config.c: == Parsing '/etc/asterisk/extensions_override_freepbx.conf': [Sep 15 13:01:14] VERBOSE[28418] config.c: == Found
[Sep 15 13:01:14] VERBOSE[28418] config.c: == Parsing '/etc/asterisk/extensions_additional.conf': [Sep 15 13:01:14] VERBOSE[28418] config.c: == Found
[Sep 15 13:01:14] VERBOSE[28418] config.c: == Parsing '/etc/asterisk/globals_custom.conf': [Sep 15 13:01:14] VERBOSE[28418] config.c: == Found
[Sep 15 13:01:14] VERBOSE[28418] config.c: == Parsing '/etc/asterisk/extensions_custom.conf': [Sep 15 13:01:14] VERBOSE[28418] config.c: == Found
[Sep 15 13:01:14] VERBOSE[28418] pbx.c: == Setting global variable 'DNDDEVSTATE' to 'TRUE'
[Sep 15 13:01:14] VERBOSE[28418] pbx.c: == Setting global variable 'CFDEVSTATE' to 'TRUE'
[Sep 15 13:01:14] VERBOSE[28418] pbx.c: == Setting global variable 'QUEDEVSTATE' to 'TRUE'
[Sep 15 13:01:14] VERBOSE[28418] pbx.c: == Setting global variable 'FMDEVSTATE' to 'TRUE'
There are a few syntax errors in the log caused by my customizations. I don’t think they are causing the crash though, since it only crashes about once a day. I am going to try fixing them though and see if it stops crashing.
Here are the customizations I made:
/etc/asterisk/extensions_override_freepbx.conf:
Added the following lines:
[macro-exten-vm]
exten => s,1,Macro(exten-vm-custom-extra,${ARG2})
[macro-exten-vm-custom-extra]
include => macro-exten-vm-custom
exten => s,1,Macro(user-callerid,)
exten => s,n,ExecIf($[${DB_EXISTS(AMPUSER/${ARG2}/cidname)}]?SetCalledParty("${DB(AMPUSER/${ARG2}/cidname)}" <${ARG2}>))
exten => s,n,Set(DB(CHANNEL/${CHANNEL}/cidname)=${CALLERID(name)})
exten => s,n,Set(DB(CHANNEL/${CHANNEL}/cidnum)=${CALLERID(num)})
exten => s,n,ExecIf($[${BLINDTRANSFER} != "" & ${DB_EXISTS(CHANNEL/${BLINDTRANSFER}/cidname)}]?Set(CALLERID(name)=${DB(CHANNEL/${BLINDTRANSFER}/cidname)}))
exten => s,n,ExecIf($[${BLINDTRANSFER} != "" & ${DB_EXISTS(CHANNEL/${BLINDTRANSFER}/cidnum)}]?Set(CALLERID(num)=${DB(CHANNEL/${BLINDTRANSFER}/cidnum)}))
exten => s,n,MacroExit
[macro-user-callerid]
exten => s,1,Macro(user-callerid-custom-extra,${MACRO_EXTEN})
[macro-user-callerid-custom-extra]
include => macro-user-callerid-custom
exten => s,1,ExecIf($[${DB_EXISTS(AMPUSER/${ARG1}/cidname)}]?SetCalledParty("${DB(AMPUSER/${ARG1}/cidname)}" <${ARG1}>))
exten => s,n,Set(DB(CHANNEL/${CHANNEL}/cidname)=${CALLERID(name)})
exten => s,n,Set(DB(CHANNEL/${CHANNEL}/cidnum)=${CALLERID(num)})
exten => s,n,ExecIf($[${BLINDTRANSFER} != "" & ${DB_EXISTS(CHANNEL/${BLINDTRANSFER}/cidname)}]?Set(CALLERID(name)=${DB(CHANNEL/${BLINDTRANSFER}/cidname)}))
exten => s,n,ExecIf($[${BLINDTRANSFER} != "" & ${DB_EXISTS(CHANNEL/${BLINDTRANSFER}/cidnum)}]?Set(CALLERID(num)=${DB(CHANNEL/${BLINDTRANSFER}/cidnum)}))
exten => s,n,MacroExit
Find:
[macro-hangupcall]
include => macro-hangupcall-custom
exten => s,1,GotoIf($["${TOUCH_MONITOR_OUTPUT}" = ""]?noautomon)
Replace With:
[macro-hangupcall]
include => macro-hangupcall-custom
exten => s,1,Set(MYCHANNEL=${CHANNEL})
exten => s,n,ExecIf($["${MYCHANNEL:-8}"="<ZOMBIE>"]?Set(MYCHANNEL=${MYCHANNEL:0:$[${LEN(${MYCHANNEL})}-8]}))
exten => s,n,ExecIf($[${MYCHANNEL} != ""]?DBdeltree(CHANNEL/${MYCHANNEL}))
exten => s,n,GotoIf($["${TOUCH_MONITOR_OUTPUT}" = ""]?noautomon)
These changes execute SetCalledParty(), a Chan SCCP function that shows the name of the person that is being called on the phone. The other change is my hack to get the caller ID to update properly when a user transfers a call. Before I added this, the caller id whould show the name of the person that is transferring the call, not the original caller’s name and number.
I was also able to get a backtrace from the crash, but I don’t think it will be helpful, because I don’t think I have the appropriate debug symbols installed. The Asterisk package came from Elastix’s repository, and I couldn’t find a debug package.
Here is the back trace: pastebin.com/08Ty6UXQ
Thanks,
Derek