-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Labels
improvementsupport-level-coreFunctionality with core support levelFunctionality with core support level
Description
Improvement Description
It is possible to hose an Asterisk system simply by accidentally making a MixMonitor call in a loop. Multiple simultaneous recordings are permitted; however, we can prevent this by preventing attempts to record multiple times to the same file:
-- Executing [s@mm:2] MixMonitor("Local/s@mm-00000001;2", "/tmp/test.wav") in new stack
-- Executing [s@mm:3] Set("Local/s@mm-00000001;2", "i=988") in new stack
== Begin MixMonitor Recording Local/s@mm-00000001;2
-- Executing [s@mm:4] Wait("Local/s@mm-00000001;2", "0.01") in new stack
-- Executing [s@mm:5] Goto("Local/s@mm-00000001;2", "s,2") in new stack
-- Goto (mm,s,2)
-- Executing [s@mm:2] MixMonitor("Local/s@mm-00000001;2", "/tmp/test.wav") in new stack
== Begin MixMonitor Recording Local/s@mm-00000001;2
-- Executing [s@mm:3] Set("Local/s@mm-00000001;2", "i=989") in new stack
-- Executing [s@mm:4] Wait("Local/s@mm-00000001;2", "0.01") in new stack
-- Executing [s@mm:5] Goto("Local/s@mm-00000001;2", "s,2") in new stack
-- Goto (mm,s,2)
-- Executing [s@mm:2] MixMonitor("Local/s@mm-00000001;2", "/tmp/test.wav") in new stack
-- Executing [s@mm:3] Set("Local/s@mm-00000001;2", "i=990") in new stack
== Begin MixMonitor Recording Local/s@mm-00000001;2
-- Executing [s@mm:4] Wait("Local/s@mm-00000001;2", "0.01") in new stack
-- Executing [s@mm:5] Goto("Local/s@mm-00000001;2", "s,2") in new stack
-- Goto (mm,s,2)
-- Executing [s@mm:2] MixMonitor("Local/s@mm-00000001;2", "/tmp/test.wav") in new stack
== Begin MixMonitor Recording Local/s@mm-00000001;2
[Oct 5 00:22:06] WARNING[861406][C-00000002]: file.c:1588 ast_writefile: Unable to open file /tmp/test.wav: Too many open files
[Oct 5 00:22:06] ERROR[861406][C-00000002]: app_mixmonitor.c:740 mixmonitor_save_prep: Cannot open /tmp/test.wav
-- Executing [s@mm:3] Set("Local/s@mm-00000001;2", "i=991") in new stack
-- Executing [s@mm:4] Wait("Local/s@mm-00000001;2", "0.01") in new stack
-- Executing [s@mm:5] Goto("Local/s@mm-00000001;2", "s,2") in new stack
-- Goto (mm,s,2)
-- Executing [s@mm:2] MixMonitor("Local/s@mm-00000001;2", "/tmp/test.wav") in new stack
== Begin MixMonitor Recording Local/s@mm-00000001;2
[Oct 5 00:22:06] WARNING[861407][C-00000002]: file.c:1588 ast_writefile: Unable to open file /tmp/test.wav: Too many open files
[Oct 5 00:22:06] ERROR[861407][C-00000002]: app_mixmonitor.c:740 mixmonitor_save_prep: Cannot open /tmp/test.wav
-- Executing [s@mm:3] Set("Local/s@mm-00000001;2", "i=992") in new stack
-- Executing [s@mm:4] Wait("Local/s@mm-00000001;2", "0.01") in new stack
-- Executing [s@mm:5] Goto("Local/s@mm-00000001;2", "s,2") in new stack
-- Goto (mm,s,2)
-- Executing [s@mm:2] MixMonitor("Local/s@mm-00000001;2", "/tmp/test.wav") in new stack
== Begin MixMonitor Recording Local/s@mm-00000001;2
[Oct 5 00:22:06] WARNING[861408][C-00000002]: file.c:1588 ast_writefile: Unable to open file /tmp/test.wav: Too many open files
[Oct 5 00:22:06] ERROR[861408][C-00000002]: app_mixmonitor.c:740 mixmonitor_save_prep: Cannot open /tmp/test.wav
Metadata
Metadata
Assignees
Labels
improvementsupport-level-coreFunctionality with core support levelFunctionality with core support level