[Home]

Summary:ASTERISK-19962: Asterisk 1.8.12.0 can not play files in exten h
Reporter:call (call)Labels:
Date Opened:2012-06-05 08:25:58Date Closed:2012-06-14 09:21:44
Priority:MajorRegression?
Status:Closed/CompleteComponents:
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:A call B. B accepts the call. Talk. B hangs up. In exten h - played files! In 1.8.12.0, they can not play! In the 1.4-1.6 - worked!

exten => h,1,PlayBack(blabla)
...


LOG:
=============================

   -- Executing [s@macro-qos:4] Playback("SIP/allo-spb-00004052", "SERV_kach_1") in new stack
[Jun  5 17:10:55] WARNING[29504]: file.c:766 ast_readaudio_callback: Failed to write frame
   -- <SIP/allo-spb-00004052> Playing 'SERV_kach_1.alaw' (language 'en')
[Jun  5 17:10:55] WARNING[29504]: app_playback.c:475 playback_exec: ast_streamfile failed on SIP/allo-spb-00004052 for SERV_kach_1
   -- Executing [s@macro-qos:5] Playback("SIP/allo-spb-00004052", "SERV_kach_2&beep") in new stack
[Jun  5 17:10:55] WARNING[29504]: file.c:766 ast_readaudio_callback: Failed to write frame
   -- <SIP/allo-spb-00004052> Playing 'SERV_kach_2.alaw' (language 'en')
[Jun  5 17:10:55] WARNING[29504]: app_playback.c:475 playback_exec: ast_streamfile failed on SIP/allo-spb-00004052 for SERV_kach_2&beep
[Jun  5 17:10:55] WARNING[29504]: file.c:766 ast_readaudio_callback: Failed to write frame
   -- <SIP/allo-spb-00004052> Playing 'beep.gsm' (language 'en')
[Jun  5 17:10:55] WARNING[29504]: app_playback.c:475 playback_exec: ast_streamfile failed on SIP/allo-spb-00004052 for SERV_kach_2&beep
Comments:By: Matt Jordan (mjordan) 2012-06-14 09:21:35.411-0500

Playing back files to a channel in an 'h' extension would count as 'undefined behavior', regardless of what happened in 1.4 or 1.6.2.

When a channel is hung up, the respective channel technology chooses how to handle that.  In the case of chan_sip, it begins the process of tearing itself down, including tearing down the applicable media streams.  At the same time, a 'h' extension is executed in the dialplan on the Asterisk channel - which may or may not be associated with SIP.  The purpose of a hangup extension is to clean up things related to the channel's execution, not to attempt to manipulate the technology underlying that channel (which playing back audio certainly counts as).