SIPpeers API Asterisk Manager — Отказано в доступе

Я хочу использовать API-интерфейс менеджера звездочек, чтобы показать статус всех моих SIP-линий в веб-интерфейсе PHP.

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

Итак, я создал пользователя в /etc/asterisk/manager.conf.

[portal]
secret = password
read = all,system,call,log,verbose,command,agent,user

Затем подключитесь к локальному хосту через порт 5038 по телнету.

Вот что я получаю:

asterisk ~ # telnet localhost 5038
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Asterisk Call Manager/1.0
Action: login
Username: portal
Secret: 8u9sdgk
Events: off

Response: Success
Message: Authentication accepted

Action: SIPPeers

Response: Error
Message: Permission denied

Почему мне отказывают в разрешении? Я думал у пользователя в принципе полный доступ? Нужно ли перезапускать астериск, чтобы это заработало? Я не перезапускал его. С другой стороны, я смог войти в систему, что заставляет меня думать, что файл manager.conf был перезагружен, поскольку пользователя портала раньше не существовало.

Есть идеи?


person hookenz    schedule 10.06.2010    source источник
comment
Для тех, кто читает, этот интерфейс менеджера очень опасен! с его помощью очень легко вывести из строя весь сервер. Я узнал трудным путем. Не играйте с ним на работающей системе!   -  person hookenz    schedule 28.02.2012


Ответы (2)


Для SIPpeers вам нужны «системные, все» привилегии. Так что просто добавьте 'write=system' после строки 'read'

person Codetyper    schedule 11.06.2010

Вам нужно изменить manager.conf, добавив следующее:

read = all,ystem,call,user,dtmf

write = all,system,call

уведомление: необходимо добавить все после записи

person liu zhijun    schedule 30.11.2012
comment
Не могли бы вы объяснить, почему all, call, user, dtmf также требуется? - person Serge Belov; 30.11.2012