Выполнить контекст диалплана из командной строки

Я пытаюсь выполнить расширение из командной строки (через звездочку -rx «команда») в контексте, который делает запрос на основе AGI, чтобы определить, какое расширение необходимо набрать (эти расширения обновляются в БД).

Это что-то вроде этого:

[autodialer]
exten => 2,1,Answer()
exten => 2,n,AGI(database_query.php); Makes a database query and generates vars
exten => 2,n,Set(CALLERID(name)=${db_customer_name}); Sets callerid from DB data
exten => 2,n,Dial(SIP/${db_customer_extension}); Also, extensions are stored on DB
exten => 2,n,Playback(custom/important_message)
exten => 2,n,SayDigits(${important_numbers}); The message, stored on DB too.
exten => h,1,Hangup()

Здесь мне нужно, чтобы этот контекст выполнялся из командной строки, без необходимости набирать его с какого-либо расширения (предполагается, что он будет выполняться с помощью crontab каждый X раз).

Я попытался использовать команду originate, но думаю, что неправильно понял синтаксис команды, и это не сработало.

Я думаю, что это должно быть что-то вроде: asterisk -rx "channel originate 2@autodialer", а затем Asterisk выполняет этот контекст, и мы все довольны нашими важными номерами.

Я знаю, что это неправильный синтаксис, просто пытаюсь объяснить, как я себе это представляю.

Спасибо за вашу помощь.


person Yahir Cano    schedule 17.07.2014    source источник


Ответы (1)


Нет никакого способа сделать только одну ногу. У вас есть второй аргумент (назначение другого канала)

если вам не нужен другой канал, создайте такой контекст

[wait]

exten =>s,1,Wait(10000)

и использовать

asterisk -rx "channel originate 2@autodialer s@wait" 

Прочтите эту статью:

http://www.voip-info.org/wiki/view/Asterisk+auto-dial+out

ПРИМЕЧАНИЕ. Не рекомендуется использовать приложения для набора номера для людей с опытом работы со звездочкой менее 5 лет. Если вы хотите, используйте vicidial.org или другой номеронабиратель.

person arheops    schedule 17.07.2014