2015-11-23 4 views
0

Я хотел бы динамически читать команду диалплана asterisk из (динамически сгенерированного) файла. Примечание. Внутри этого файла может быть команда Dial() или Playback(), возможно, более поздняя, ​​чем эти две.Прочитать команду dialplan asterisk из файла

Есть ли какая-либо комбинация или командная команда звездочки, которая позволяет это? Нечто подобное

exten => 1234,1,ReadAndExecuteCommandFromFile("/foo/bar") 

, тогда как "/ Foo/бар" содержит один (1) линии, как

Dial(SIP/[email protected]) 

или

Playback(something) 

?

ответ

0

Функциональность, которую вы ищете, называется AGI - интерфейсом шлюза Asterisk. Это позволит вам взаимодействовать с каналом синхронно. Однако «Команды» будут немного отличаться.

Существует множество наборов инструментов для написания сценариев для AGI. Если вы знакомы с PHP, я предлагаю вам взглянуть на PHPAGI, так как это даст вам наибольшее преимущество для вашего доллара в этом случае.

0

Простейший способ использования AGI это сделать так:

exten => 1234,1,AGI(/bin/cat /foo/bar) 

в файле/Foo/бар, Вы должны разместить команду AGI

EXEC Dial SIP/[email protected] 

или

EXEC Playback somefile 

Однако более эффективный способ используйте функцию func_odbc + dialplan или полный стек AGI (лучше быстрый AGI)

Смежные вопросы