1 | изначальная версия редактировать | |
Доброе время суток! Прошу помощи ибо сам уже ничего не понимаю. Ситуация такая: есть скрипт, который получает СМС, обрабатывает его текст и выдает ответ, который должен получить Астер. Выглядит эта команда так: Set(answ=${SHELL(/home/serv/sms-code.sh ${SMS})}); Проблема заключается в том, что Астериск напрочь отказывается передавать переменную ${SMS} скрипту. При запуске с консоли (./sms-code.sh 56611523), все работает на ура, скрипт выдает ответ. Но если его запускает Астериск, то скрипт выдает ошибку т.к. не передается переменная. Ясным делом начал думать что проблема с владельцем папки или правами, владельца ставил разного от serv:serv до root:root, так же было и asterisk:asterisk. Ничего не помогло, так же ставил chmod 777, просто не знаю что делать и куда смотреть. Пробовал разобраться сам, убил 1.5 дня, но выхода так и не нашел.
OS:Debian Aterisk:1.8
Буду благодарен за любой совет. Заранее спасибо!!
2 | No.2 Revision редактировать |
Доброе время суток! Прошу помощи ибо сам уже ничего не понимаю. Ситуация такая: есть скрипт, который получает СМС, обрабатывает его текст и выдает ответ, который должен получить Астер. Выглядит эта команда так: Set(answ=${SHELL(/home/serv/sms-code.sh ${SMS})}); Проблема заключается в том, что Астериск напрочь отказывается передавать переменную ${SMS} скрипту. При запуске с консоли (./sms-code.sh 56611523), все работает на ура, скрипт выдает ответ. Но если его запускает Астериск, то скрипт выдает ошибку т.к. не передается переменная. Ясным делом начал думать что проблема с владельцем папки или правами, владельца ставил разного от serv:serv до root:root, так же было и asterisk:asterisk. Ничего не помогло, так же ставил chmod 777, просто не знаю что делать и куда смотреть. Пробовал разобраться сам, убил 1.5 дня, но выхода так и не нашел.
OS:Debian
OS:Debian,
Aterisk:1.8
Буду благодарен за любой совет. Заранее спасибо!!
3 | Добавил новую информацию редактировать |
Решил переименовать тему, т.к. появились новые данные. Доброе время суток! Прошу помощи ибо сам уже ничего не понимаю. Ситуация такая: есть скрипт, который получает СМС, обрабатывает его текст и выдает ответ, который должен получить Астер. Выглядит эта команда так: Set(answ=${SHELL(/home/serv/sms-code.sh ${SMS})}); Проблема заключается в том, что Астериск напрочь отказывается передавать переменную ${SMS} скрипту. При запуске с консоли (./sms-code.sh 56611523), все работает на ура, скрипт выдает ответ. Но если его запускает Астериск, то скрипт выдает ошибку т.к. не передается переменная. Ясным делом начал думать что проблема с владельцем папки или правами, владельца ставил разного от serv:serv до root:root, так же было и asterisk:asterisk. Ничего не помогло, так же ставил chmod 777, просто не знаю что делать и куда смотреть. Пробовал разобраться сам, убил 1.5 дня, но выхода так и не нашел.
++ Чуть позже оказалось что дело не в переменной, а в том что скрипт не может эту переменную записать в файл и разобрать на символы, если он запущен от пользователя Астериск, если запустить Астериск с ключем -vvgc то скрипты он выполняет от РУТа и все проходит на ура. Собственно вопрос, почему скрипт запущенный под пользователем Аsterisk не может создать файл если сам скрипт и директория в которой он лежит имеет chmod 777?!
OS:Debian, Aterisk:1.8
Буду благодарен за любой совет. Заранее спасибо!!
4 | No.4 Revision редактировать |
Решил переименовать тему, т.к. появились новые данные.
данные.
Доброе время суток! Прошу помощи ибо сам уже ничего не понимаю. Ситуация такая: есть скрипт, который получает СМС, обрабатывает его текст и выдает ответ, который должен получить Астер. Выглядит эта команда так: Set(answ=${SHELL(/home/serv/sms-code.sh ${SMS})}); Проблема заключается в том, что Астериск напрочь отказывается передавать переменную ${SMS} скрипту. При запуске с консоли (./sms-code.sh 56611523), все работает на ура, скрипт выдает ответ. Но если его запускает Астериск, то скрипт выдает ошибку т.к. не передается переменная. Ясным делом начал думать что проблема с владельцем папки или правами, владельца ставил разного от serv:serv до root:root, так же было и asterisk:asterisk. Ничего не помогло, так же ставил chmod 777, просто не знаю что делать и куда смотреть. Пробовал разобраться сам, убил 1.5 дня, но выхода так и не нашел.
++ Чуть позже оказалось что дело не в переменной, а в том что скрипт не может эту переменную записать в файл и разобрать на символы, если он запущен от пользователя Астериск, если запустить Астериск с ключем -vvgc то скрипты он выполняет от РУТа и все проходит на ура. Собственно вопрос, почему скрипт запущенный под пользователем Аsterisk не может создать файл если сам скрипт и директория в которой он лежит имеет chmod 777?!
OS:Debian, Aterisk:1.8
Буду благодарен за любой совет. Заранее спасибо!!
5 | No.5 Revision редактировать |
Решил переименовать тему, т.к. появились новые данные.
Доброе время суток! Прошу помощи ибо сам уже ничего не понимаю. Ситуация такая: есть скрипт, который получает СМС, обрабатывает его текст и выдает ответ, который должен получить Астер. Выглядит эта команда так: Set(answ=${SHELL(/home/serv/sms-code.sh ${SMS})}); Проблема заключается в том, что Астериск напрочь отказывается передавать переменную ${SMS} скрипту. При запуске с консоли (./sms-code.sh 56611523), все работает на ура, скрипт выдает ответ. Но если его запускает Астериск, то скрипт выдает ошибку т.к. не передается переменная. Ясным делом начал думать что проблема с владельцем папки или правами, владельца ставил разного от serv:serv до root:root, так же было и asterisk:asterisk. Ничего не помогло, так же ставил chmod 777, просто не знаю что делать и куда смотреть. Пробовал разобраться сам, убил 1.5 дня, но выхода так и не нашел.
++ Чуть позже оказалось что дело не в переменной, а в том что скрипт не может эту переменную записать в файл и разобрать на символы, если он запущен от пользователя Астериск, если запустить Астериск с ключем -vvgc то скрипты он выполняет от РУТа и все проходит на ура. Собственно вопрос, почему скрипт запущенный под пользователем Аsterisk не может создать файл если сам скрипт и директория в которой он лежит имеет chmod 777?!
OS:Debian, Aterisk:1.8
Буду благодарен за любой совет. Заранее спасибо!!
Ответ на головоломку прост как никогда! Всегда в скрипте нужно писать именно полный путь к файлу, будь то ЛОГ или временный файл или скрипт. Всем спасибо!!
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.