Страница 1 из 1

Поиск файла в папке из диалплане Asterisk

Добавлено: 08 сен 2016, 06:27
asterman
Добрый день, Коллеги! Стоит задача выполнить поиск звукового файла из диалплана т.е из диалпоана подключиться к директорию где лежат звуковые файлы и сравнить название звукового файла с какой то переменной (на пример $RESULT) и если название переменной совпадает с каким то звуковым файлом то воспроизвести данный звуковой файл. Подскажите пожалуйста как это можно выполнить :) спасибо за внимание! :)

ДИАЛПЛАН:

exten => s,1, Background(/etc/asterisk/ivr/music2)
exten => s,2,Waitexten(2)
exten => s,3,AGI(lp.php)
exten => s,4,Set(${RESULT})
exten => s,5,GotoIf($["${RESULT}" = "123456"]?21)-----------в этом экштеншене я просто проверил, работает или нет, его нужно доработать
exten => s,21,Playback(/etc/asterisk/ivr/music1)
exten => s,21,Wait(1)
exten => s,21,Hangup()

диалплан не доработанный, после того как я получил из php скрипта переменную $RESULT, мне нужно найти в папке с аудиофайлами, аудиофайл с названием $RESULT(на пример 123456) и воспроизвести его

Re: Поиск файла в папке из диалплане Asterisk

Добавлено: 08 сен 2016, 06:40
april22
А если файла нет? Что делать?

Re: Поиск файла в папке из диалплане Asterisk

Добавлено: 08 сен 2016, 08:00
virus_net
И что вам мешает сделать это ? Какой помощи вы ждете ? Написание скрипта для вас ?
Что вам мешает в том же lp.php не возвращать переменную, а сразу же выполнить поиск нужного вам файла ? Если что, то в нём же можно даже и Playback выполнить.

Re: Поиск файла в папке из диалплане Asterisk

Добавлено: 08 сен 2016, 08:48
tol_iwan
Не совсем ясно для какой цели Вам это нужно и
april22 писал(а):А если файла нет? Что делать?
Можно как и сказано сразу php все это делать.
Можно как вам хочется с помощью System().
А можно почитать core show application Playback, а именно:
This application sets the following channel variable upon completion:
${PLAYBACKSTATUS}: The status of the playback attempt as a text string.
SUCCESS
FAILED
Ну а дальше сами как-то...