Web-приложение для просмотра в реальном времени активности телефонных номеров Asterisk'а.
- Склонировать репозиторий
- Поместить содержимое папки web в директорию на Web-Сервере Настройки =========
- Отредактировать файл daemon/config.py:
config = {'host': '192.168.50.250', # IP-адрес AMI Asterisk
'port': 5038, # Порт AMI Asterisk
'login': 'nikolay', # Логин AMI Asterisk
'secret': 'qwerty'} # Пароль AMI Asterisk
- Отредактировать файл daemon/wraps_config.py:
config = {'ws_port': 8888} # Порт WebSocket-сервера
Остальные строки данного конфигурационного файла предназначены для примера обработки событий поступающих с AMI Asterisk'а. 3. В файле daemon/py-ami.py в функцию wrap_list добавлять свои обработки событий. Примеры:
self.ami.wrapper({'PeerStatus': {'function': self.wraps.peer_status}})
или
self.ami.wrapper({'PeerStatus': {'function': self.wraps.peer_status,
'filter': {'PeerStatus': 'Registered'}}})
где 'PeerStatus' - это событие из AMI Asterisk'а
function - указывает на функцию, которая будет обрабатывать данное событие, в функцию передается в виде массива дополнительные данные по данному событию
filter - дополнительный фильтр по данному событию
Также есть возможность отменять обработку событий. Пример удаления всех событий с данным названием:
self.ami.unwrapper('Dial')
Пример удаления всех событий с дополнительным фильтром:
self.ami.unwrapper({'Dial': {'filter': {'SubEvent': 'End'}}})
- Запустить AMI-демона командой daemon/py-ami.py start . Параметры командной строки демона:
- start - Запуск демона
- stop - Остановка демона
- restart - Перезапуск демона
- Файл index.html в скопированной папке на Web-Сервер отредактировать, указав IP-адрес и порт WebSocket-сервера:
var ws_ip = "192.168.0.7";
var ws_port = "8888";
- Python > 2.5 & < 3
По всем вопросам обращаться ко мне в блоге: http://blog.kgd.in