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:58 | Date Closed: | 2012-06-14 09:21:44 |
Priority: | Major | Regression? | |
Status: | Closed/Complete | Components: | |
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). |