[Home]

Summary:ASTERISK-13342: Asterisk crashes anytime a call is parked by any method.
Reporter:Michael L. McNeil (waverly360)Labels:
Date Opened:2009-01-12 09:35:49.000-0600Date Closed:2009-01-16 16:59:41.000-0600
Priority:CriticalRegression?No
Status:Closed/CompleteComponents:Applications/app_parkandannounce
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) gdb_backtrace_polycom_softkey_attd_park.txt
( 1) valgrind_backtrace_polycom_softkey_attd_park.txt
Description:I've attempted to park a call using a Polycom IP 330 (firmware version 3.0.1.0032) by using the softkey attended and blind transfer functions.  

My previous version of asterisk was 1.2.14 and I'm attempting the upgrade to 1.6.  As such, some of my config files may be out of date.  I've already went through several and updated them, so I'm aware the issue could be configuration related...I just didn't think a misconfiguration should cause a crash like this, so I'm posting this bug.


The attended transfer will announce the parked extension, and then asterisk crashes.  Here's the CLI output.  I have the core file as well...not sure how to attach it to this bug though.

   -- Accepting call from '5555551212' to '5554441212' on channel 0/1, span 1
[Jan 12 08:51:07] WARNING[16135]: chan_dahdi.c:1673 dahdi_enable_ec: Unable to enable echo cancellation on channel 1 (No such device)
   -- Executing [5554441212@inbound:1] Set("DAHDI/1-1", "NumberCalled=6155158725") in new stack
   -- Executing [5554441212@inbound:2] Wait("DAHDI/1-1", "2") in new stack
   -- Executing [5554441212@inbound:3] AGI("DAHDI/1-1", "agi://127.0.0.1") in new stack
AGI Tx >> agi_network: yes
<DAHDI/1-1>AGI Tx >> agi_request: agi://127.0.0.1
<DAHDI/1-1>AGI Tx >> agi_channel: DAHDI/1-1
<DAHDI/1-1>AGI Tx >> agi_language: en
<DAHDI/1-1>AGI Tx >> agi_type: DAHDI
<DAHDI/1-1>AGI Tx >> agi_uniqueid: 1231771867.2
<DAHDI/1-1>AGI Tx >> agi_version: 1.6.0.3
<DAHDI/1-1>AGI Tx >> agi_callerid: 5555551212
<DAHDI/1-1>AGI Tx >> agi_calleridname: BUSINESS
<DAHDI/1-1>AGI Tx >> agi_callingpres: 0
<DAHDI/1-1>AGI Tx >> agi_callingani2: 0
<DAHDI/1-1>AGI Tx >> agi_callington: 33
<DAHDI/1-1>AGI Tx >> agi_callingtns: 0
<DAHDI/1-1>AGI Tx >> agi_dnid: 5554441212
<DAHDI/1-1>AGI Tx >> agi_rdnis: unknown
<DAHDI/1-1>AGI Tx >> agi_context: inbound
<DAHDI/1-1>AGI Tx >> agi_extension: 5554441212
<DAHDI/1-1>AGI Tx >> agi_priority: 3
<DAHDI/1-1>AGI Tx >> agi_enhanced: 0.0
<DAHDI/1-1>AGI Tx >> agi_accountcode:
<DAHDI/1-1>AGI Tx >> agi_threadid: -1217377392
<DAHDI/1-1>AGI Tx >>
<DAHDI/1-1>AGI Rx << ANSWER ""
<DAHDI/1-1>AGI Tx >> 200 result=0
<DAHDI/1-1>AGI Rx << EXEC Set "NumberCalled="
   -- AGI Script Executing Application: (Set) Options: (NumberCalled=)
<DAHDI/1-1>AGI Tx >> 200 result=0
<DAHDI/1-1>AGI Rx << EXEC Ringing ""
   -- AGI Script Executing Application: (Ringing) Options: ()
<DAHDI/1-1>AGI Tx >> 200 result=0
<DAHDI/1-1>AGI Rx << EXEC Wait "3"
   -- AGI Script Executing Application: (Wait) Options: (3)
<DAHDI/1-1>AGI Tx >> 200 result=0
<DAHDI/1-1>AGI Rx << EXEC Dial "SIP/1,15,rtT"
   -- AGI Script Executing Application: (Dial) Options: (SIP/1,15,rtT)
 == Using SIP RTP CoS mark 5
   -- Called 1
   -- SIP/1-08593298 is ringing
   -- SIP/1-08593298 answered DAHDI/1-1
localhost*CLI>
localhost*CLI>
localhost*CLI>
 == Using SIP RTP CoS mark 5
   -- Executing [700@phones:1] AGI("SIP/1-08598b38", "agi://127.0.0.1") in new stack
AGI Tx >> agi_network: yes
<SIP/1-08598b38>AGI Tx >> agi_request: agi://127.0.0.1
<SIP/1-08598b38>AGI Tx >> agi_channel: SIP/1-08598b38
<SIP/1-08598b38>AGI Tx >> agi_language: en
<SIP/1-08598b38>AGI Tx >> agi_type: SIP
<SIP/1-08598b38>AGI Tx >> agi_uniqueid: 1231771883.4
<SIP/1-08598b38>AGI Tx >> agi_version: 1.6.0.3
<SIP/1-08598b38>AGI Tx >> agi_callerid: 125
<SIP/1-08598b38>AGI Tx >> agi_calleridname: Waverly
<SIP/1-08598b38>AGI Tx >> agi_callingpres: 0
<SIP/1-08598b38>AGI Tx >> agi_callingani2: 0
<SIP/1-08598b38>AGI Tx >> agi_callington: 0
<SIP/1-08598b38>AGI Tx >> agi_callingtns: 0
<SIP/1-08598b38>AGI Tx >> agi_dnid: 700
<SIP/1-08598b38>AGI Tx >> agi_rdnis: unknown
<SIP/1-08598b38>AGI Tx >> agi_context: phones
<SIP/1-08598b38>AGI Tx >> agi_extension: 700
<SIP/1-08598b38>AGI Tx >> agi_priority: 1
<SIP/1-08598b38>AGI Tx >> agi_enhanced: 0.0
<SIP/1-08598b38>AGI Tx >> agi_accountcode:
<SIP/1-08598b38>AGI Tx >> agi_threadid: -1217873008
<SIP/1-08598b38>AGI Tx >>
<SIP/1-08598b38>AGI Rx << NOOP "not inbound, skip to call routing"
<SIP/1-08598b38>AGI Tx >> 200 result=0
<SIP/1-08598b38>AGI Rx << EXEC Park ""
   -- AGI Script Executing Application: (Park) Options: ()
 == Parked SIP/1-08598b38 on 701@parkedcalls. Will timeout back to extension [phones] s, 1 in 45 seconds
   -- <SIP/1-08598b38> Playing 'digits/7.gsm' (language 'en')
   -- <SIP/1-08598b38> Playing 'digits/0.gsm' (language 'en')
   -- <SIP/1-08598b38> Playing 'digits/1.gsm' (language 'en')
localhost*CLI>
   -- Added extension '701' priority 1 to parkedcalls (0xb7c2c7e0)
<SIP/1-08598b38>AGI Tx >> 200 result=10
<SIP/1-08598b38>AGI Rx << HANGUP
<SIP/1-08598b38>AGI Tx >> 511 Command Not Permitted on a dead channel
   -- <SIP/1-08598b38>AGI Script agi://127.0.0.1 completed, returning 10
[Jan 12 08:51:26] WARNING[18765]: pbx.c:3778 __ast_pbx_run: Channel 'SIP/1-08598b38' sent into invalid extension 's' in context 'phones', but no invalid handler
localhost*CLI>
localhost*CLI>
localhost*CLI>
localhost*CLI>
localhost*CLI>
Disconnected from Asterisk server
Executing last minute cleanups
[root@Asterisk 1.6 DCM: tmp]$ /data/appalachian/usr/sbin/safe_asterisk: line 138: 16118 Segmentation fault      (core dumped) nice -n $PRIORITY ${ASTSBINDIR}/asterisk -f ${CLIARGS} ${ASTARGS} >&/dev/${TTY} </dev/${TTY}
Asterisk ended with exit status 139
Asterisk exited on signal 11.
cat: /data/appalachian/var/run/asterisk.pid: No such file or directory
Automatically restarting Asterisk.
mpg123: no process killed


Transfer using the blind option on the Polycom produced this CLI output:

localhost*CLI>
   -- Accepting call from '5555551212' to '5554441212' on channel 0/1, span 1
[Jan 12 08:52:52] WARNING[18798]: chan_dahdi.c:1673 dahdi_enable_ec: Unable to enable echo cancellation on channel 1 (No such device)
   -- Executing [5554441212@inbound:1] Set("DAHDI/1-1", "NumberCalled=5554441212") in new stack
   -- Executing [5554441212@inbound:2] Wait("DAHDI/1-1", "2") in new stack
   -- Executing [5554441212@inbound:3] AGI("DAHDI/1-1", "agi://127.0.0.1") in new stack
AGI Tx >> agi_network: yes
<DAHDI/1-1>AGI Tx >> agi_request: agi://127.0.0.1
<DAHDI/1-1>AGI Tx >> agi_channel: DAHDI/1-1
<DAHDI/1-1>AGI Tx >> agi_language: en
<DAHDI/1-1>AGI Tx >> agi_type: DAHDI
<DAHDI/1-1>AGI Tx >> agi_uniqueid: 1231771972.0
<DAHDI/1-1>AGI Tx >> agi_version: 1.6.0.3
<DAHDI/1-1>AGI Tx >> agi_callerid: 5555551212
<DAHDI/1-1>AGI Tx >> agi_calleridname: BUSINESS
<DAHDI/1-1>AGI Tx >> agi_callingpres: 0
<DAHDI/1-1>AGI Tx >> agi_callingani2: 0
<DAHDI/1-1>AGI Tx >> agi_callington: 33
<DAHDI/1-1>AGI Tx >> agi_callingtns: 0
<DAHDI/1-1>AGI Tx >> agi_dnid: 5554441212
<DAHDI/1-1>AGI Tx >> agi_rdnis: unknown
<DAHDI/1-1>AGI Tx >> agi_context: inbound
<DAHDI/1-1>AGI Tx >> agi_extension: 5554441212
<DAHDI/1-1>AGI Tx >> agi_priority: 3
<DAHDI/1-1>AGI Tx >> agi_enhanced: 0.0
<DAHDI/1-1>AGI Tx >> agi_accountcode:
<DAHDI/1-1>AGI Tx >> agi_threadid: -1217868912
<DAHDI/1-1>AGI Tx >>
<DAHDI/1-1>AGI Rx << ANSWER ""
<DAHDI/1-1>AGI Tx >> 200 result=0
<DAHDI/1-1>AGI Rx << EXEC Set "NumberCalled="
   -- AGI Script Executing Application: (Set) Options: (NumberCalled=)
<DAHDI/1-1>AGI Tx >> 200 result=0
<DAHDI/1-1>AGI Rx << EXEC Ringing ""
   -- AGI Script Executing Application: (Ringing) Options: ()
<DAHDI/1-1>AGI Tx >> 200 result=0
<DAHDI/1-1>AGI Rx << EXEC Wait "3"
   -- AGI Script Executing Application: (Wait) Options: (3)
<DAHDI/1-1>AGI Tx >> 200 result=0
<DAHDI/1-1>AGI Rx << EXEC Dial "SIP/1,15,rtT"
   -- AGI Script Executing Application: (Dial) Options: (SIP/1,15,rtT)
 == Using SIP RTP CoS mark 5
   -- Called 1
   -- SIP/1-097e7ff0 is ringing
   -- SIP/1-097e7ff0 answered DAHDI/1-1
localhost*CLI>
localhost*CLI>
localhost*CLI>
localhost*CLI>
localhost*CLI>
<DAHDI/1-1>AGI Tx >> 200 result=-1
 == Parked DAHDI/1-1 on 701@parkedcalls. Will timeout back to extension [inbound] 5554441212, 3 in 45 seconds
<Parking/DAHDI/1-1<ZOMBIE>>AGI Rx << HANGUP
<Parking/DAHDI/1-1<ZOMBIE>>AGI Tx >> 511 Command Not Permitted on a dead channel
   -- <SIP/1-097e7ff0> Playing 'digits/7.gsm' (language 'en')
   -- <Parking/DAHDI/1-1<ZOMBIE>>AGI Script agi://127.0.0.1 completed, returning -1
   -- <SIP/1-097e7ff0> Playing 'digits/0.gsm' (language 'en')
   -- <SIP/1-097e7ff0> Playing 'digits/1.gsm' (language 'en')
localhost*CLI> *** glibc detected *** /data/appalachian/usr/sbin/asterisk: free(): invalid pointer: 0x097ef50c ***
======= Backtrace: =========
/lib/libc.so.6[0x6f78b6]
/lib/libc.so.6(cfree+0x90)[0x6fae00]
/data/appalachian/usr/lib/asterisk/modules/chan_sip.so[0x1efe1d]
/data/appalachian/usr/sbin/asterisk[0x812f10b]
/lib/libpthread.so.0[0x80743b]
/lib/libc.so.6(clone+0x5e)[0x75efde]
======= Memory map: ========
00110000-00116000 r-xp 00000000 08:07 6620967    /data/appalachian/usr/lib/asterisk/modules/res_monitor.so
00116000-00117000 rwxp 00005000 08:07 6620967    /data/appalachian/usr/lib/asterisk/modules/res_monitor.so
00117000-0011b000 r-xp 00000000 08:07 6620962    /data/appalachian/usr/lib/asterisk/modules/res_config_curl.so
0011b000-0011c000 rwxp 00003000 08:07 6620962    /data/appalachian/usr/lib/asterisk/modules/res_config_curl.so
0011c000-00157000 r-xp 00000000 08:01 233683     /usr/lib/libcurl.so.3.0.0
00157000-00158000 rwxp 0003b000 08:01 233683     /usr/lib/libcurl.so.3.0.0
00158000-00188000 r-xp 00000000 08:01 235121     /usr/lib/libidn.so.11.5.19
00188000-00189000 rwxp 0002f000 08:01 235121     /usr/lib/libidn.so.11.5.19
00189000-0018b000 r-xp 00000000 08:07 6620925    /data/appalachian/usr/lib/asterisk/modules/func_cut.so
0018b000-0018c000 rwxp 00001000 08:07 6620925    /data/appalachian/usr/lib/asterisk/modules/func_cut.so
0018c000-0018e000 r-xp 00000000 08:07 6620916    /data/appalachian/usr/lib/asterisk/modules/format_vox.so
0018e000-0018f000 rwxp 00001000 08:07 6620916    /data/appalachian/usr/lib/asterisk/modules/format_vox.so
0018f000-00191000 r-xp 00000000 08:07 6620883    /data/appalachian/usr/lib/asterisk/modules/cdr_custom.so
00191000-00192000 rwxp 00001000 08:07 6620883    /data/appalachian/usr/lib/asterisk/modules/cdr_custom.so
00192000-00193000 rwxp 00192000 00:00 0
00193000-001af000 r-xp 00000000 08:01 243731     /usr/lib/libvorbis.so.0.3.1
001af000-001bd000 rwxp 0001c000 08:01 243731     /usr/lib/libvorbis.so.0.3.1
001bd000-001c0000 r-xp 00000000 08:07 6620809    /data/appalachian/usr/lib/asterisk/modules/app_authenticate.so
001c0000-001c1000 rwxp 00002000 08:07 6620809    /data/appalachian/usr/lib/asterisk/modules/app_authenticate.so
001c1000-0023f000 r-xp 00000000 08:07 6620892    /data/appalachian/usr/lib/asterisk/modules/chan_sip.so
0023f000-00241000 rwxp 0007d000 08:07 6620892    /data/appalachian/usr/lib/asterisk/modules/chan_sip.so
00241000-00242000 rwxp 00241000 00:00 0
00242000-0024b000 r-xp 00000000 08:01 654121     /lib/libnss_files-2.5.so
0024b000-0024c000 r-xp 00008000 08:01 654121     /lib/libnss_files-2.5.so
0024c000-0024d000 rwxp 00009000 08:01 654121     /lib/libnss_files-2.5.so
0024d000-0024f000 r-xp 00000000 08:07 6620896    /data/appalachian/usr/lib/asterisk/modules/codec_adpcm.so
0024f000-00250000 rwxp 00001000 08:07 6620896    /data/appalachian/usr/lib/asterisk/modules/codec_adpcm.so
00250000-00251000 r-xp 00000000 08:07 6620948    /data/appalachian/usr/lib/asterisk/modules/func_uri.so
00251000-00252000 rwxp 00000000 08:07 6620948    /data/appalachian/usr/lib/asterisk/modules/func_uri.so
00252000-00255000 r-xp 00000000 08:07 6620936    /data/appalachian/usr/lib/asterisk/modules/func_lock.so
00255000-00256000 rwxp 00002000 08:07 6620936    /data/appalachian/usr/lib/asterisk/modules/func_lock.so
00256000-00262000 r-xp 00000000 08:07 6620806    /data/appalachian/usr/lib/asterisk/modules/app_adsiprog.so
00262000-00263000 rwxp 0000b000 08:07 6620806    /data/appalachian/usr/lib/asterisk/modules/app_adsiprog.so
00263000-00265000 r-xp 00000000 08:07 6620873    /data/appalachian/usr/lib/asterisk/modules/app_url.so
00265000-00266000 rwxp 00001000 08:07 6620873    /data/appalachian/usr/lib/asterisk/modules/app_url.so
00266000-00268000 r-xp 00000000 08:07 6620884    /data/appalachian/usr/lib/asterisk/modules/cdr_manager.so
00268000-00269000 rwxp 00001000 08:07 6620884    /data/appalachian/usr/lib/asterisk/modules/cdr_manager.so
00269000-0026b000 r-xp 00000000 08:07 6620874    /data/appalachian/usr/lib/asterisk/modules/app_userevent.so


0026b000-00
Disconnected from Asterisk server
Executing last minute cleanups
/data/appalachian/usr/sbin/safe_asterisk: line 138: 18780 Aborted                 (core dumped) nice -n $PRIORITY ${ASTSBINDIR}/asterisk -f ${CLIARGS} ${ASTARGS} >&/dev/${TTY} </dev/${TTY}
[root@Asterisk 1.6 DCM: tmp]$ Asterisk ended with exit status 134
Asterisk exited on signal 6.
cat: /data/appalachian/var/run/asterisk.pid: No such file or directory
Automatically restarting Asterisk.
mpg123: no process killed

I have the core for this file too if you need it.


The last method I tried was setting *5 to blind transfer in the features.conf file.  This one acts weird.  It looks like the call makes it into the parking lot, but then falls immediately through to the person's voicemail.  When I try and hang up the call from the source, asterisk crashes.  I realize this may have something to do with how I'm processing calls, but I wouldn't think even a misconfiguration should cause an asterisk crash.  Here's the CLI output:

localhost*CLI>
   -- Executing [5554441212@inbound:3] AGI("DAHDI/1-1", "agi://127.0.0.1") in new stack
AGI Tx >> agi_network: yes
<DAHDI/1-1>AGI Tx >> agi_request: agi://127.0.0.1
<DAHDI/1-1>AGI Tx >> agi_channel: DAHDI/1-1
<DAHDI/1-1>AGI Tx >> agi_language: en
<DAHDI/1-1>AGI Tx >> agi_type: DAHDI
<DAHDI/1-1>AGI Tx >> agi_uniqueid: 1231772770.4
<DAHDI/1-1>AGI Tx >> agi_version: 1.6.0.3
<DAHDI/1-1>AGI Tx >> agi_callerid: 5555551212
<DAHDI/1-1>AGI Tx >> agi_calleridname: BUSINESS
<DAHDI/1-1>AGI Tx >> agi_callingpres: 0
<DAHDI/1-1>AGI Tx >> agi_callingani2: 0
<DAHDI/1-1>AGI Tx >> agi_callington: 33
<DAHDI/1-1>AGI Tx >> agi_callingtns: 0
<DAHDI/1-1>AGI Tx >> agi_dnid: 5554441212
<DAHDI/1-1>AGI Tx >> agi_rdnis: unknown
<DAHDI/1-1>AGI Tx >> agi_context: inbound
<DAHDI/1-1>AGI Tx >> agi_extension: 5554441212
<DAHDI/1-1>AGI Tx >> agi_priority: 3
<DAHDI/1-1>AGI Tx >> agi_enhanced: 0.0
<DAHDI/1-1>AGI Tx >> agi_accountcode:
<DAHDI/1-1>AGI Tx >> agi_threadid: -1217311856
<DAHDI/1-1>AGI Tx >>
<DAHDI/1-1>AGI Rx << ANSWER ""
<DAHDI/1-1>AGI Tx >> 200 result=0
<DAHDI/1-1>AGI Rx << EXEC Set "NumberCalled="
   -- AGI Script Executing Application: (Set) Options: (NumberCalled=)
<DAHDI/1-1>AGI Tx >> 200 result=0
<DAHDI/1-1>AGI Rx << EXEC Ringing ""
   -- AGI Script Executing Application: (Ringing) Options: ()
<DAHDI/1-1>AGI Tx >> 200 result=0
<DAHDI/1-1>AGI Rx << EXEC Wait "3"
   -- AGI Script Executing Application: (Wait) Options: (3)
localhost*CLI>
localhost*CLI>
localhost*CLI>
localhost*CLI>
localhost*CLI>
<DAHDI/1-1>AGI Tx >> 200 result=0
<DAHDI/1-1>AGI Rx << EXEC Dial "SIP/1,15,rtT"
   -- AGI Script Executing Application: (Dial) Options: (SIP/1,15,rtT)
 == Using SIP RTP CoS mark 5
   -- Called 1
   -- SIP/1-0a165780 is ringing
   -- SIP/1-0a165780 answered DAHDI/1-1
   -- <SIP/1-0a165780> Playing 'pbx-transfer.gsm' (language 'en')
 == Parked DAHDI/1-1 on 701@parkedcalls. Will timeout back to extension [inbound] 5554441212, 3 in 45 seconds
   -- <SIP/1-0a165780> Playing 'digits/7.gsm' (language 'en')
   -- <SIP/1-0a165780> Playing 'digits/0.gsm' (language 'en')
   -- <SIP/1-0a165780> Playing 'digits/1.gsm' (language 'en')
   -- Added extension '701' priority 1 to parkedcalls (0xa149430)
<DAHDI/1-1>AGI Tx >> 200 result=10
<DAHDI/1-1>AGI Rx << EXEC Voicemail "125,u"
   -- AGI Script Executing Application: (Voicemail) Options: (125,u)
   -- <DAHDI/1-1> Playing '/data/appalachian/var/spool/asterisk/voicemail/default/125/unavail.slin' (language 'en')
   -- <DAHDI/1-1> Playing 'vm-intro.gsm' (language 'en')
   -- Channel 0/1, span 1 got hangup request, cause 16
<DAHDI/1-1>AGI Tx >> 200 result=-1
 == DAHDI/1-1 got tired of being parked
   -- Hungup 'DAHDI/1-1'
[Jan 12 09:06:36] WARNING[19097]: channel.c:1319 ast_channel_free: PBX may not have been terminated properly on 'DAHDI/1-1'
<>AGI Rx << HANGUP
<>AGI Tx >> 511 Command Not Permitted on a dead channel

Disconnected from Asterisk server
/data/appalachian/usr/sbin/safe_asterisk: line 138: 19085 Segmentation fault      (core dumped) nice -n $PRIORITY ${ASTSBINDIR}/asterisk -f ${CLIARGS} ${ASTARGS} >&/dev/${TTY} </dev/${TTY}
Asterisk ended with exit status 139
Executing last minute cleanups
Asterisk exited on signal 11.
cat: /data/appalachian/var/run/asterisk.pid: No such file or directory
[root@Asterisk 1.6 DCM: tmp]$ Automatically restarting Asterisk.
mpg123: no process killed


I'll add all of my config files below..about the only thing I won't be adding is the agi script I'm using.  If there's more information that you need, please let me know.



****** STEPS TO REPRODUCE ******

Transfer a call to the call parking extension via any method crashes asterisk.

****** ADDITIONAL INFORMATION ******

[root@Asterisk 1.6 DEV: asterisk]$ cat agents.conf
[agents]
; By default it's turned off.
;createlink=yes
;
; The text to be added to the name of the recording. Allows forming a url link.
;urlprefix=http://localhost/calls/
;
; The optional directory to save the conversations in. The default is
; /var/spool/asterisk/monitor
;savecallsin=/var/calls
;
; An optional custom beep sound file to play to always-connected agents.
;custom_beep=beep
;
; --------------------------------------------------
;
; This section contains the agent definitions, in the form:
;
; agent => agentid,agentpassword,name
;
;agent => 1001,4321,Mark Spencer
;agent => 1002,4321,Will Meadows
agent => 125,123456,Waverly
agent => 103,123456,Chris


;This section allows the directory function to work properly from agiserver
[directory]
exten => 1,1,Directory(default|phones)

[queue]
exten => _X.,1,ChanisAvail(SIP/${EXTEN}|sj)
exten => _X.,2,Dial(SIP/${EXTEN})
exten => _X.,102,busy


;This section allows operator from voicemail to work properly from agiserver
[voicemail]



exten => _X.,1,Voicemail(u${EXTEN})

[app-page]
exten => _X.,1,Answer()
exten => _X.,n,PlayBack(beep)
exten => _X.,n,MeetMe(${EXTEN},dqx)
exten => _X.,n,Hangup()

[phones]
include => parkedcalls



exten => _X.,1,Agi(agi://127.0.0.1)
exten => _*X.,1,Agi(agi://127.0.0.1)
exten => 125,hint,SIP/1
exten => 101,hint,SIP/3
exten => 103,hint,SIP/5
exten => 104,hint,SIP/7
exten => 105,hint,SIP/9



[fxofax]

exten => i,1,Goto(iaxmodem,fax,1)

[iaxmodem]
exten => fax,1,Dial(IAX2/iaxmodem1/${NumberCalled},10,r)
exten => fax,n,Dial(IAX2/iaxmodem2/${NumberCalled},10,r)
exten => fax,n,Dial(IAX2/iaxmodem3/${NumberCalled},10,r)
exten => fax,n,Dial(IAX2/iaxmodem4/${NumberCalled},10,r)
exten => fax,n,Dial(IAX2/iaxmodem5/${NumberCalled},10,r)
exten => fax,n,Dial(IAX2/iaxmodem6/${NumberCalled},10,r)
exten => fax,n,Dial(IAX2/iaxmodem7/${NumberCalled},10,r)
exten => fax,n,Dial(IAX2/iaxmodem8/${NumberCalled},10,r)
exten => fax,n,Dial(IAX2/iaxmodem9/${NumberCalled},10,r)
exten => fax,n,Dial(IAX2/iaxmodem10/${NumberCalled},10,r)
exten => fax,n,Hangup

[inbound]


exten => fax,1,Set(NumberCalled=${CALLERID(dnid)})
exten => fax,n,wait(2)
exten => fax,n,Goto(fxofax,${NumberCalled},1)

exten => _X.,1,Set(NumberCalled=${EXTEN})
exten => _X.,n,wait(2)
exten => _X.,n,Agi(agi://127.0.0.1)


---------%<---------------------------------------------
Comments:By: Leif Madsen (lmadsen) 2009-01-13 11:17:29.000-0600

Thanks for posting the information, however, it would be better in the future to only post the configuration files that are related, and the parts that have changed.

In addition, there is a Browse button that will let you upload files. However, do not upload the core file. Please follow the instructions in backtrace.txt in the doc/ directory of your asterisk source, and attach that file to this issue.

By: Michael L. McNeil (waverly360) 2009-01-15 08:04:55.000-0600

I apologize for not getting this information to you yet.  Things have been pretty busy.  I'll try to get the backtrace information today if at all possible.  Is there anything else needed?

By: Leif Madsen (lmadsen) 2009-01-15 08:07:41.000-0600

Just the backtrace for now, but if you're going to be doing the debugging anyways, you might wish to follow the instructions in valgrind.txt as well in the doc/ directory, just in case it is a case of corrupt memory.

Also, when doing the backtrace.txt, don't forget that you need to compile Asterisk with DONT_OPTIMIZE in the Compiler Flags section.

My suggestion is to read the valgrind.txt and backtrace.txt docs before doing anything, and making sure you get all the flags setup the first time so you don't need to recompile twice.

Thanks!

By: Michael L. McNeil (waverly360) 2009-01-15 09:36:15.000-0600

Ok, I added the backtrace file for an attended transfer park via the polycom transfer softkey.  

I tried to use the asterisk internal blind xfer method, but it didn't crash with the DON'T OPTIMIZE flag set.

I'll work on the valgrind file next.

By: Michael L. McNeil (waverly360) 2009-01-15 09:45:12.000-0600

Ok, added the valgrind file as well.  I used the same steps as before for the test, only this time asterisk didn't crash.  It did stop accepting calls though.  Let me know if you need anything else.

By: Leif Madsen (lmadsen) 2009-01-15 10:02:43.000-0600

Thanks for the information. Acknowledging this issue now that we have some information to go on. Will let you know when/if we need more of it :)

By: Terry Wilson (twilson) 2009-01-15 12:16:09.000-0600

Ok, I think I have this one fixed.  I will be applying the fix shortly and I'm going to go ahead and close the bug with the commit, since I have an almost identical valgrind output to yours.   If you still have the problem, please don't hesitate to reopen the ticket.

By: Digium Subversion (svnbot) 2009-01-15 12:22:50.000-0600

Repository: asterisk
Revision: 168716

U   branches/1.4/res/res_features.c

------------------------------------------------------------------------
r168716 | twilson | 2009-01-15 12:22:50 -0600 (Thu, 15 Jan 2009) | 12 lines

Convert call to park_call_full to masq_park_call_announce

Since we removed the AST_PBX_KEEPALIVE return value, we need to use masqueraded
parking, otherwise we will try to call ast_hangup() in __pbx_run() and in
do_parking_thread() and then promptly crash.
(closes issue ASTERISK-13342)
Reported by: waverly360
Tested by: otherwiseguy
(closes issue ASTERISK-13355)
Reported by: kobaz
Tested by: otherwiseguy

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=168716

By: Michael L. McNeil (waverly360) 2009-01-15 13:23:52.000-0600

My apologies for re-opening a ticket that you so promptly worked on, but I have two concerns.

1) It looks like you fixed the problem in the 1.4 branch, but my problem is specifically with the 1.6 branch.  I took the changes that you applied to 1.4, and managed to get something similar accomplished in my 1.6 source, but a few of the functions are different.  Still, I can successfully use a sip xfer both blind and attended to park a call without crashing Asterisk.  It's not playing back the parked extension in either case, but as I said, I quickly threw something together with what you used in 1.4 and the same functions weren't available to me.

2)  Even with this code change, I'm still unable to park via the built-in Asterisk blind xfer method.  Doing so gives me the parking extension, but then drops me on to the next item in the dialplan (which could be my agi script error), but then asterisk promptly crashes again.  If you feel this is still part of the same issue, then I'll re-upload new backtrace and valgrind files specifically for that issue.

Please let me know.

By: Digium Subversion (svnbot) 2009-01-16 16:16:21.000-0600

Repository: asterisk
Revision: 168941

_U  trunk/
U   trunk/main/features.c

------------------------------------------------------------------------
r168941 | twilson | 2009-01-16 16:16:21 -0600 (Fri, 16 Jan 2009) | 19 lines

Merged revisions 168716 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
 r168716 | twilson | 2009-01-15 12:22:49 -0600 (Thu, 15 Jan 2009) | 12 lines
 
 Convert call to park_call_full to masq_park_call_announce
 
 Since we removed the AST_PBX_KEEPALIVE return value, we need to use masqueraded
 parking, otherwise we will try to call ast_hangup() in __pbx_run() and in
 do_parking_thread() and then promptly crash.
 (closes issue ASTERISK-13342)
  Reported by: waverly360
  Tested by: otherwiseguy
 (closes issue ASTERISK-13355)
  Reported by: kobaz
  Tested by: otherwiseguy
........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=168941

By: Digium Subversion (svnbot) 2009-01-16 16:52:01.000-0600

Repository: asterisk
Revision: 168980

_U  branches/1.6.0/
U   branches/1.6.0/main/features.c

------------------------------------------------------------------------
r168980 | twilson | 2009-01-16 16:52:01 -0600 (Fri, 16 Jan 2009) | 26 lines

Merged revisions 168941 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
 r168941 | twilson | 2009-01-16 16:16:23 -0600 (Fri, 16 Jan 2009) | 19 lines
 
 Merged revisions 168716 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4
 
 ........
   r168716 | twilson | 2009-01-15 12:22:49 -0600 (Thu, 15 Jan 2009) | 12 lines
   
   Convert call to park_call_full to masq_park_call_announce
   
   Since we removed the AST_PBX_KEEPALIVE return value, we need to use masqueraded
   parking, otherwise we will try to call ast_hangup() in __pbx_run() and in
   do_parking_thread() and then promptly crash.
   (closes issue ASTERISK-13342)
    Reported by: waverly360
    Tested by: otherwiseguy
   (closes issue ASTERISK-13355)
    Reported by: kobaz
    Tested by: otherwiseguy
 ........
................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=168980

By: Digium Subversion (svnbot) 2009-01-16 16:59:40.000-0600

Repository: asterisk
Revision: 168981

_U  branches/1.6.1/
U   branches/1.6.1/main/features.c

------------------------------------------------------------------------
r168981 | twilson | 2009-01-16 16:59:39 -0600 (Fri, 16 Jan 2009) | 26 lines

Merged revisions 168941 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
 r168941 | twilson | 2009-01-16 16:16:23 -0600 (Fri, 16 Jan 2009) | 19 lines
 
 Merged revisions 168716 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4
 
 ........
   r168716 | twilson | 2009-01-15 12:22:49 -0600 (Thu, 15 Jan 2009) | 12 lines
   
   Convert call to park_call_full to masq_park_call_announce
   
   Since we removed the AST_PBX_KEEPALIVE return value, we need to use masqueraded
   parking, otherwise we will try to call ast_hangup() in __pbx_run() and in
   do_parking_thread() and then promptly crash.
   (closes issue ASTERISK-13342)
    Reported by: waverly360
    Tested by: otherwiseguy
   (closes issue ASTERISK-13355)
    Reported by: kobaz
    Tested by: otherwiseguy
 ........
................

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=168981