Asterisk. Команда Background.

Background() - Воспроизводит файл, принимая при этом сигналы тонального набора (DTMF),в это время могут исполняться другие команды.

Background(имяфайла1[&имяфайла2...][,опции[,язык]])

Воспроизводит заданные аудиофайлы в процессе ожидания введения пользователем DTMF-кодов. Как только пользователь начинает вводить DTMF-коды, воспроизведение прекращается. Asterisk  ищет соответствующий добавочный номер в соответствующем контексте  и при нахождении соответствия, выполнение диалплана продолжится в соответствующем разделе.
Имя файла должно быть задано без расширения файла.
Опции:
s - Сообщение воспроизводиться не будет, если канал находится не в состоянии «соединен» (то есть еще не получен ответ на вызов). Если s задана, приложение будет возвращаться сразу же, как только канал окажется не в состоянии «соединен».
n - Не отвечать на вызов до воспроизведения заданного файла. Без этой опции ответ на вызов будет произведен автоматически перед воспроизведением звука. Не все каналы поддерживают воспроизведение сообщений до ответа на вызов.
m - Прерывать воспроизведение, только если введенный код соответствует одноразрядному добавочному номеру в целевом контексте.
Аргумент "язык" может использоваться для задания языка воспроизводимого приглашения, если он отличается от используемого языка канала.

Пример:

exten => 123,1,Answer()
exten => 123,2,Background('soobschenie')

 

См. также: ControlPlayback(), WaitExten(), BackgroundDetect(), TIMEOUT