Frequent Crashes

Hi guys,

We were running Asterisk 1.6.13.2 initially with Chan SCCP 3.0.3 stable. We are experiencing frequent crashes (about once per day). The crash appears to happen when someone hangs up, but not every time they hang up. Every time it crashes, I see the following line in the logs:

[Sep 15 13:01:09] ERROR[28383] channel.c: Unable to find channel in list to free. Assuming it has already been done.

I upgraded to Asterisk 1.6.2.20 and Chan SCCP 3.0.4 last night to see if that would fix the issue, however we are still seeing the crash. The OS is CentOS 5.7 (64-bit).

I checked /var/log/messages and I see this line when it crashes:

Sep 15 13:01:09 asterisk kernel: asterisk[28383] general protection rip:44a835 rsp:432cf470 error:0

Any ideas what might be going on?

Thanks,
Derek

FIrst, what kind of channels do you use? Dahdi, SIP, IAX, Local…etc…

This may be happening because of a wrong config.

Tell us what are the channels and shows us theis config files. Also tell us when it happens… outgoing call, incoming, call to an extension, something like this.

I have also experienced crashes with chan_sccp-b, but usually when I mess with it. Other than that haven’t had any issues. I’m running the chan_sccp-b on Asterisk 1.4 though (32bit).

Like Felipe asked - could you please provide your configuration and try to describe what is going on when these crashes occur? Like for example are you dialing, picking up the handset, receiving a call…
Also in sccp.conf try setting debug=core - this would log devices activity, so you could more easily trace what’s causing the problem. It might have nothing to do with chan_sccp though.

Stoyan

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

It crashed again today, same error. I also resolved the syntax errors that showed up in the previous log…

[Sep 16 12:36:33] VERBOSE[3504] sccp_pbx.c:     -- SEP00175A6DD92A: (sccp_pbx_softswitch) New call on line 2549
[Sep 16 12:36:33] VERBOSE[3504] sccp_channel.c:     -- SEP00175A6DD92A: send callInfo of callid 114
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [2535@from-internal:1] Macro("SCCP/2549-00000072", "exten-vm,2535,2535") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-exten-vm:1] Macro("SCCP/2549-00000072", "exten-vm-custom-extra,2535") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-exten-vm-custom-extra:1] Macro("SCCP/2549-00000072", "user-callerid,") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-user-callerid:1] Macro("SCCP/2549-00000072", "user-callerid-custom-extra,s") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-user-callerid-custom-extra:1] ExecIf("SCCP/2549-00000072", "0?SetCalledParty("" <s>)") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-user-callerid-custom-extra:2] Set("SCCP/2549-00000072", "DB(CHANNEL/SCCP/2549-00000072/cidname)=Callers Name") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-user-callerid-custom-extra:3] Set("SCCP/2549-00000072", "DB(CHANNEL/SCCP/2549-00000072/cidnum)=2549") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-user-callerid-custom-extra:4] ExecIf("SCCP/2549-00000072", "0?Set(CALLERID(name)=)") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-user-callerid-custom-extra:5] ExecIf("SCCP/2549-00000072", "0?Set(CALLERID(num)=)") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-user-callerid-custom-extra:6] MacroExit("SCCP/2549-00000072", "") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-user-callerid:2] GotoIf("SCCP/2549-00000072", "0?report") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-user-callerid:3] ExecIf("SCCP/2549-00000072", "1?Set(REALCALLERIDNUM=2549)") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-user-callerid:4] Set("SCCP/2549-00000072", "AMPUSER=2549") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-user-callerid:5] Set("SCCP/2549-00000072", "AMPUSERCIDNAME=Callers Name") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-user-callerid:6] GotoIf("SCCP/2549-00000072", "0?report") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-user-callerid:7] Set("SCCP/2549-00000072", "AMPUSERCID=2549") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-user-callerid:8] Set("SCCP/2549-00000072", "CALLERID(all)="Callers Name" <2549>") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-user-callerid:9] ExecIf("SCCP/2549-00000072", "0?Set(CHANNEL(language)=)") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-user-callerid:10] GotoIf("SCCP/2549-00000072", "0?continue") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-user-callerid:11] Set("SCCP/2549-00000072", "__TTL=64") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-user-callerid:12] GotoIf("SCCP/2549-00000072", "1?continue") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Goto (macro-user-callerid,s,19)
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-user-callerid:19] NoOp("SCCP/2549-00000072", "Using CallerID "Callers Name" <2549>") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-exten-vm-custom-extra:2] ExecIf("SCCP/2549-00000072", "1?SetCalledParty("Called Party Name" <2535>)") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-exten-vm-custom-extra:3] Set("SCCP/2549-00000072", "DB(CHANNEL/SCCP/2549-00000072/cidname)=Callers Name") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-exten-vm-custom-extra:4] Set("SCCP/2549-00000072", "DB(CHANNEL/SCCP/2549-00000072/cidnum)=2549") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-exten-vm-custom-extra:5] ExecIf("SCCP/2549-00000072", "0?Set(CALLERID(name)=)") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-exten-vm-custom-extra:6] ExecIf("SCCP/2549-00000072", "0?Set(CALLERID(num)=)") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-exten-vm-custom-extra:7] MacroExit("SCCP/2549-00000072", "") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-exten-vm:2] Set("SCCP/2549-00000072", "RingGroupMethod=none") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-exten-vm:3] Set("SCCP/2549-00000072", "VMBOX=2535") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-exten-vm:4] Set("SCCP/2549-00000072", "EXTTOCALL=2535") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-exten-vm:5] Set("SCCP/2549-00000072", "CFUEXT=") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-exten-vm:6] Set("SCCP/2549-00000072", "CFBEXT=") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-exten-vm:7] Set("SCCP/2549-00000072", "RT=20") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-exten-vm:8] Macro("SCCP/2549-00000072", "record-enable,2535,IN") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-record-enable:1] GotoIf("SCCP/2549-00000072", "1?check") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Goto (macro-record-enable,s,4)
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-record-enable:4] ExecIf("SCCP/2549-00000072", "0?MacroExit()") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-record-enable:5] GotoIf("SCCP/2549-00000072", "0?Group:OUT") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Goto (macro-record-enable,s,15)
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-record-enable:15] GotoIf("SCCP/2549-00000072", "1?IN") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Goto (macro-record-enable,s,20)
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-record-enable:20] ExecIf("SCCP/2549-00000072", "1?MacroExit()") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-exten-vm:9] Macro("SCCP/2549-00000072", "dial,20,tr,2535") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-dial:1] GotoIf("SCCP/2549-00000072", "1?dial") in new stack
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Goto (macro-dial,s,3)
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-dial:3] AGI("SCCP/2549-00000072", "dialparties.agi") in new stack
[Sep 16 12:36:33] VERBOSE[10013] res_agi.c:     -- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
[Sep 16 12:36:33] VERBOSE[10013] res_agi.c:  dialparties.agi: Starting New Dialparties.agi
[Sep 16 12:36:33] VERBOSE[10013] res_agi.c:  dialparties.agi: Caller ID name is 'Callers Name' number is '2549'
[Sep 16 12:36:33] VERBOSE[10013] res_agi.c:        > dialparties.agi: USE_CONFIRMATION:  'FALSE'
[Sep 16 12:36:33] VERBOSE[10013] res_agi.c:        > dialparties.agi: RINGGROUP_INDEX:   ''
[Sep 16 12:36:33] VERBOSE[10013] res_agi.c:  dialparties.agi: Methodology of ring is  'none'
[Sep 16 12:36:33] VERBOSE[10013] res_agi.c:     -- dialparties.agi: Added extension 2535 to extension map
[Sep 16 12:36:33] VERBOSE[10013] res_agi.c:     -- dialparties.agi: Extension 2535 cf is disabled
[Sep 16 12:36:33] VERBOSE[10013] res_agi.c:     -- dialparties.agi: Extension 2535 do not disturb is disabled
[Sep 16 12:36:33] VERBOSE[10013] res_agi.c:        > dialparties.agi: extnum 2535 has:  cw: 1; hascfb: 0 [] hascfu: 0 []
[Sep 16 12:36:33] VERBOSE[10013] res_agi.c:  dialparties.agi: EXTENSION_STATE: 0 (NOT_INUSE)
[Sep 16 12:36:33] VERBOSE[10013] res_agi.c:     -- dialparties.agi: dbset CALLTRACE/2535 to 2549
[Sep 16 12:36:33] VERBOSE[10013] res_agi.c:     -- dialparties.agi: Filtered ARG3: 2535
[Sep 16 12:36:33] VERBOSE[10013] res_agi.c:     -- <SCCP/2549-00000072>AGI Script dialparties.agi completed, returning 0
[Sep 16 12:36:33] VERBOSE[10013] pbx.c:     -- Executing [s@macro-dial:7] Dial("SCCP/2549-00000072", "SCCP/2535,20,tr") in new stack
[Sep 16 12:36:33] VERBOSE[10013] chan_sccp.c:     -- SCCP: Asterisk asked to create a channel type=SCCP, format=4, line=2535, subscriptionId.number=, options=
[Sep 16 12:36:33] VERBOSE[10013] chan_sccp.c:  [SCCP] in file chan_sccp.c, line 216 (sccp_request)
[Sep 16 12:36:33] VERBOSE[10013] sccp_pbx.c:     -- : Asterisk request to call SCCP/2535-00000073
[Sep 16 12:36:33] VERBOSE[10013] sccp_channel.c:     -- SEP0015C6CEB4C5: send callInfo of callid 115
[Sep 16 12:36:33] VERBOSE[10013] app_dial.c:     -- Called 2535
[Sep 16 12:36:33] VERBOSE[10013] sccp_channel.c:     -- SEP00175A6DD92A: send callInfo of callid 114
[Sep 16 12:36:33] VERBOSE[10013] app_dial.c:     -- SCCP/2535-00000073 is ringing
[Sep 16 12:36:33] VERBOSE[10013] sccp_channel.c:     -- SEP00175A6DD92A: send callInfo of callid 114
[Sep 16 12:36:36] VERBOSE[3496] sccp_actions.c:     -- SEP0015C6CEB4C5: Taken Offhook
[Sep 16 12:36:36] VERBOSE[3496] sccp_channel.c:     -- SEP0015C6CEB4C5: Answer the channel 2535-00000073
[Sep 16 12:36:36] VERBOSE[3496] sccp_channel.c:     -- SEP0015C6CEB4C5: Answering channel with state 'Ringing' (5)
[Sep 16 12:36:36] VERBOSE[3496] sccp_channel.c:     -- SEP0015C6CEB4C5: send callInfo of callid 115
[Sep 16 12:36:36] VERBOSE[3496] netsock.c:   == Using SCCP RTP TOS bits 184
[Sep 16 12:36:36] VERBOSE[3496] netsock.c:   == Using SCCP RTP CoS mark 6
[Sep 16 12:36:36] VERBOSE[10013] app_dial.c:     -- SCCP/2535-00000073 answered SCCP/2549-00000072
[Sep 16 12:36:36] VERBOSE[10013] sccp_pbx.c:     -- SCCP: Outgoing call has been answered SCCP/2549-00000072 on 2549@SEP00175A6DD92A-00000072
[Sep 16 12:36:36] VERBOSE[10013] sccp_channel.c:     -- SEP00175A6DD92A: send callInfo of callid 114
[Sep 16 12:36:36] VERBOSE[10013] sccp_channel.c:     -- SEP00175A6DD92A: send callInfo of callid 114
[Sep 16 12:36:36] VERBOSE[10013] sccp_channel.c:     -- SEP00175A6DD92A: send callInfo of callid 114
[Sep 16 12:36:36] VERBOSE[10013] sccp_channel.c:     -- SEP00175A6DD92A: send callInfo of callid 114
[Sep 16 12:36:36] VERBOSE[10013] sccp_channel.c:     -- SEP00175A6DD92A: send callInfo of callid 114
[Sep 16 12:36:36] VERBOSE[10013] sccp_channel.c:     -- SEP0015C6CEB4C5: send callInfo of callid 115
[Sep 16 12:36:36] VERBOSE[10013] rtp.c:     -- Native bridging SCCP/2549-00000072 and SCCP/2535-00000073
[Sep 16 12:36:36] WARNING[10013] rtp.c: Channel 'SCCP/2549-00000072' failed to talk to 'SCCP/2535-00000073'
[Sep 16 12:36:36] WARNING[10013] rtp.c: Channel 'SCCP/2535-00000073' failed to talk to 'SCCP/2549-00000072'
[Sep 16 12:36:36] WARNING[10013] rtp.c: Channel 'SCCP/2535-00000073' failed to update to 'SCCP/2549-00000072'
[Sep 16 12:36:36] WARNING[10013] rtp.c: Channel 'SCCP/2549-00000072' failed to update to 'SCCP/2535-00000073'
[Sep 16 12:36:45] VERBOSE[3504] sccp_actions.c:     -- SEP00175A6DD92A is Onhook
[Sep 16 12:36:45] VERBOSE[3504] sccp_channel.c:   == SEP00175A6DD92A: Ending call 114 on line 2549 (Connected)
[Sep 16 12:36:45] WARNING[10013] rtp.c: Channel 'SCCP/2549-00000072' failed to break RTP bridge
[Sep 16 12:36:45] WARNING[10013] rtp.c: Channel 'SCCP/2535-00000073' failed to break RTP bridge
[Sep 16 12:36:45] VERBOSE[10013] pbx.c:     -- Executing [h@macro-dial:1] Macro("SCCP/2549-00000072", "hangupcall") in new stack
[Sep 16 12:36:45] VERBOSE[10013] pbx.c:     -- Executing [s@macro-hangupcall:1] Set("SCCP/2549-00000072", "MYCHANNEL=SCCP/2549-00000072") in new stack
[Sep 16 12:36:45] VERBOSE[10013] pbx.c:     -- Executing [s@macro-hangupcall:2] ExecIf("SCCP/2549-00000072", "0?Set(MYCHANNEL=SCCP/2549-)") in new stack
[Sep 16 12:36:45] VERBOSE[10013] pbx.c:     -- Executing [s@macro-hangupcall:3] ExecIf("SCCP/2549-00000072", "1?DBdeltree(CHANNEL/SCCP/2549-00000072)") in new stack
[Sep 16 12:36:45] VERBOSE[10013] app_db.c:     -- DBdeltree: family=CHANNEL, keytree=SCCP/2549-00000072
[Sep 16 12:36:45] VERBOSE[10013] app_db.c:     -- DBdeltree: Error deleting key from database.
[Sep 16 12:36:45] VERBOSE[10013] pbx.c:     -- Executing [s@macro-hangupcall:4] GotoIf("SCCP/2549-00000072", "1?noautomon") in new stack
[Sep 16 12:36:45] VERBOSE[10013] pbx.c:     -- Goto (macro-hangupcall,s,6)
[Sep 16 12:36:45] VERBOSE[10013] pbx.c:     -- Executing [s@macro-hangupcall:6] NoOp("SCCP/2549-00000072", "TOUCH_MONITOR_OUTPUT=") in new stack
[Sep 16 12:36:45] VERBOSE[10013] pbx.c:     -- Executing [s@macro-hangupcall:7] GotoIf("SCCP/2549-00000072", "1?noautomon2") in new stack
[Sep 16 12:36:45] VERBOSE[10013] pbx.c:     -- Goto (macro-hangupcall,s,9)
[Sep 16 12:36:45] VERBOSE[10013] pbx.c:     -- Executing [s@macro-hangupcall:9] NoOp("SCCP/2549-00000072", "MONITOR_FILENAME=") in new stack
[Sep 16 12:36:45] VERBOSE[10013] pbx.c:     -- Executing [s@macro-hangupcall:10] GotoIf("SCCP/2549-00000072", "1?skiprg") in new stack
[Sep 16 12:36:45] VERBOSE[10013] pbx.c:     -- Goto (macro-hangupcall,s,13)
[Sep 16 12:36:45] VERBOSE[10013] pbx.c:     -- Executing [s@macro-hangupcall:13] GotoIf("SCCP/2549-00000072", "1?skipblkvm") in new stack
[Sep 16 12:36:45] VERBOSE[10013] pbx.c:     -- Goto (macro-hangupcall,s,16)
[Sep 16 12:36:45] VERBOSE[10013] pbx.c:     -- Executing [s@macro-hangupcall:16] GotoIf("SCCP/2549-00000072", "1?theend") in new stack
[Sep 16 12:36:45] VERBOSE[10013] pbx.c:     -- Goto (macro-hangupcall,s,18)
[Sep 16 12:36:45] VERBOSE[10013] pbx.c:     -- Executing [s@macro-hangupcall:18] Hangup("SCCP/2549-00000072", "") in new stack
[Sep 16 12:36:45] VERBOSE[10013] app_macro.c:   == Spawn extension (macro-hangupcall, s, 18) exited non-zero on 'SCCP/2549-00000072' in macro 'hangupcall'
[Sep 16 12:36:45] VERBOSE[3496] sccp_actions.c:     -- SEP0015C6CEB4C5 is Onhook
[Sep 16 12:36:45] VERBOSE[3496] sccp_channel.c:   == SEP0015C6CEB4C5: Ending call 115 on line 2535 (Connected)
[Sep 16 12:36:45] VERBOSE[3496] sccp_pbx.c:     -- SCCP: Asterisk request to hangup channel SCCP/2535-00000073
[Sep 16 12:36:45] VERBOSE[3496] sccp_utils.c:     -- SEP0015C6CEB4C5: got FeatureChangeEvent 6
[Sep 16 12:36:45] VERBOSE[3496] sccp_channel.c:     -- SEP0015C6CEB4C5: send callInfo of callid 115
[Sep 16 12:36:46] ERROR[10013] channel.c: Unable to find channel in list to free. Assuming it has already been done.
[Sep 16 12:36:50] VERBOSE[10034] logger.c:  Asterisk Event Logger Started /var/log/asterisk/event_log
[Sep 16 12:36:50] VERBOSE[10034] config.c:   == Parsing '/etc/asterisk/asterisk.conf': [Sep 16 12:36:50] VERBOSE[10034] config.c:   == Found
[Sep 16 12:36:50] VERBOSE[10034] loader.c:  Asterisk Dynamic Loader Starting:
[Sep 16 12:36:50] VERBOSE[10034] config.c:   == Parsing '/etc/asterisk/modules.conf': [Sep 16 12:36:50] VERBOSE[10034] config.c:   == Found
[Sep 16 12:36:50] NOTICE[10034] loader.c: 2 modules will be loaded.
[Sep 16 12:36:50] VERBOSE[10034] config.c:   == Parsing '/etc/asterisk/extensions.conf': [Sep 16 12:36:50] VERBOSE[10034] config.c:   == Found
[Sep 16 12:36:50] VERBOSE[10034] config.c:   == Parsing '/etc/asterisk/extensions_override_freepbx.conf': [Sep 16 12:36:50] VERBOSE[10034] config.c:   == Found
[Sep 16 12:36:50] VERBOSE[10034] config.c:   == Parsing '/etc/asterisk/extensions_additional.conf': [Sep 16 12:36:50] VERBOSE[10034] config.c:   == Found
[Sep 16 12:36:50] VERBOSE[10034] config.c:   == Parsing '/etc/asterisk/globals_custom.conf': [Sep 16 12:36:50] VERBOSE[10034] config.c:   == Found
[Sep 16 12:36:50] VERBOSE[10034] config.c:   == Parsing '/etc/asterisk/extensions_custom.conf': [Sep 16 12:36:50] VERBOSE[10034] config.c:   == Found

Anyone have any ideas? I’d love to get this resolved.

Thanks,
Derek

Contact the people who maintain sccp_channel.c or reproduce it on a standard channel, with Asterisk 1.8.x and report it as an Asterisk bug (this will not necessarily produce a fast response).

Derek,

In both logs that you have posted * crashes at about 110-120th call, which makes me think there’s some memory leak. Could you please check for previous logs to see if previous crashes are about that number of calls? If so you may want to go to the sourceforge page for chan_sccp-b and file a bug.

Stoyan

Stoyan,

Interesting observation. I looked back at the logs and found the callid of the last call before each crash. You are probably right, there is probably a memory leak somewhere…

Sep 9 16:53:59 - callid 125
Sep 13 13:10:42 - callid 257
Sep 13 13:53:33 - callid 19
Sep 13 16:11:06 - callid 54
Sep 14 11:23:14 - callid 107
Sep 14 15:12:08 - callid 110
Sep 15 13:01:10 - callid 122
Sep 16 12:36:46 - callid 115

I think I’ll try the latest dev revision of Chan SCCP and see if the issue has been fixed.

Thanks,
Derek

Try changing the sccp debug line to

This should give some more information about what is going on.

Ok, I just added channel to the SCCP debug variable in sccp.conf. The Elastix team also released a package containing the Asterisk debug symbols. I grabbed backtraces of the 5 crashes we had today. Here they are:

pastebin.com/5DHD4ThT
pastebin.com/jRZV04sH
pastebin.com/1cD0BiHJ
pastebin.com/Wvm0Cr1f
pastebin.com/DKfM05mz

I’ll see if it crashes anymore tomorrow and get new backtraces since changing that SCCP debug variable.

Thanks,
Derek

It seems there’s some garbage in the dst_exten in two of the backtraces, which means there’s definitely some kind of bug. Unfortunately I can’t tell you where it is and should you file a bug for asterisk or sccp.