да это обычная линуксовская заморочка. к астериску отношения не имеет. в линуксе имя файла может иметь в составе запятую. соответственно интерпретатор ищет файл "script.py,1"
meral ( 2013-09-28 04:39:42 +0400 )редактироватьAsterisk 11
Пытаюсь в приложении ExecIf выполнить скрипт У меня так
exten => h,n,ExecIf($["${DIALSTATUS}" = "CANCEL"]?System(/etc/asterisk/s/script.py,${ARG1} ${ARG2}))
пишет
app_system.c:138 system_exec_helper: Unable to execute '/etc/asterisk/s/script.py,1 2'
Что я делаю не так? Подозреваю что для asterisk 11 у меня не правильный синтаксис вызова этого приложения. Подскажите, как правильно?
может вы уберете запятую после script.py?
да это обычная линуксовская заморочка. к астериску отношения не имеет. в линуксе имя файла может иметь в составе запятую. соответственно интерпретатор ищет файл "script.py,1"
meral ( 2013-09-28 04:39:42 +0400 )редактироватьЯ думаю, надо как-то так: System(/usr/bin/python /etc/asterisk/s/script.py,${ARG1} ${ARG2})
ну в скрипте есть инструкция каким интерпретатором его выполнять, да и обычние вызовы System в диалплане отрабатывают
godlike ( 2013-09-27 14:01:13 +0400 )редактироватьстранно, похоже что отработало, почему же тогда обычный вызов System(path/to/script) отрабатывает?
godlike ( 2013-09-27 14:22:23 +0400 )редактироватьПотому что у скрипта нет прав на выполнение. chmod +x script.py
zzuz ( 2013-09-27 14:26:39 +0400 )редактироватьправа есть, + в других местах диалплана этот же скрипт вызывается через System без указания обработчика
godlike ( 2013-09-27 21:22:49 +0400 )редактироватьЗадан: 2013-09-27 13:29:08 +0400
Просмотрен: 2,310 раз
Обновлен: Sep 27 '13
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.