SmartLiving.ru

Обсуждение проекта
 
Текущее время: Вт окт 17, 2017 2:37 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Модуль Asterisk
СообщениеДобавлено: Пн фев 08, 2016 9:46 pm 
Не в сети

Зарегистрирован: Пт дек 20, 2013 4:46 pm
Сообщения: 179
Благодарил (а): 56 раз.
Поблагодарили: 31 раз.
Бета версия

Адрес репозитория https://github.com/szolenko/app_asterisk.git

Модуль для интеграции Мажордомо и платформы IP-телефонии Asterisk.

Реализовано:
Просмотр истории звонков. Настройка имени таблицы и пути хранения файлов записей разговоров. Подробности по созданию таблицы CDR и настройки Asterisk можно посмотреть здесь или здесь, навскидку.

Подключение к серверу астериск через phpagi. Прослушивание событий. При получении нового для МД события оно записывается новым методом в класс AsteriskAMI и объект Asterisk с комментарием в виде полученного от сервера массива данных. При получении уже существующего события запускается соответствующий метод.

В разработке:

В планах:
Мониторинг телефонов.
Управление диалпланом.

История:
08.02.2016 Бета версия. История звонков.
20.02.2016 Исправлен фильтр звонков. Добавлено удаление звонков.
25.02.2016 Мониторинг событий сервера, создание методов в классе астериск.
23.03.2016 Модуль переработан, добавлена отправка команд в астериск. НЕСТАБИЛЬНАЯ РАБОТА ЦИКЛА!
25.03.2016 Вернулся к мульти-методам. Цикл работает стабильно.

[Показать] Скрытый текст: Скриншоты
Вложение:
setup.jpg
setup.jpg [ 116.26 КБ | Просмотров: 3877 ]

Вложение:
usage.jpg
usage.jpg [ 119.42 КБ | Просмотров: 3877 ]

_________________
Ubuntu на HP 7800 Connect


Последний раз редактировалось Alien Сб мар 26, 2016 6:50 pm, всего редактировалось 4 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Asterisk
СообщениеДобавлено: Вт фев 09, 2016 1:09 am 
Не в сети

Зарегистрирован: Вс июл 14, 2013 2:42 pm
Сообщения: 128
Благодарил (а): 6 раз.
Поблагодарили: 18 раз.
Этак вы Elastix сделаете ) Астериском можно рулить через AMI. Достаточно простой обмен,но в коде будет очень много парсинга строк ответа от станции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Asterisk
СообщениеДобавлено: Вт фев 09, 2016 9:47 am 
Не в сети

Зарегистрирован: Пт дек 20, 2013 4:46 pm
Сообщения: 179
Благодарил (а): 56 раз.
Поблагодарили: 31 раз.
:) Сомневаюсь в наличии достаточных знаний и времени. Но несколько автоматизировать не мешает.

_________________
Ubuntu на HP 7800 Connect


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Asterisk
СообщениеДобавлено: Вт фев 09, 2016 11:02 am 
Не в сети

Зарегистрирован: Вс июл 14, 2013 2:42 pm
Сообщения: 128
Благодарил (а): 6 раз.
Поблагодарили: 18 раз.
ну зачем же так... например мониторить состояние телефонов не сложно. Нужно отправить астеру строку event dump cache DeviceState в ответ получится много вот таких блоков
Код:

Event
: DeviceState
Device
: SIP/138
State
: 1
Cachable
: 1
EntityID
: 00:1a:64:d1:24:c5


все что нужно отсюда это строка Device в ней номер и State это состояние где 1 - Idle (в режиме ожидания) 2 - Busy (занят, разговаривает). Остальные состояния легко гуглятся.

Вот код который работает и по сей день и работает уже почти 2 года. По определенным причинам связанным с безопасностью не стал использовать AMI и запустил скрипт на сервере где живет астериск

Код:
$test shell_exec('asterisk -rx \'event dump cache DeviceState\'');

$block explode("Event"$test);
for(
$i=0$i<sizeof($block);$i++)
{
    
$wrets $block[$i];
preg_match_all('/SIP\/([0-9][0-9][0-9])/',$wrets,$peers,PREG_SET_ORDER);
preg_match_all('/State:(.*)/',$wrets,$state,PREG_SET_ORDER);

if(isset(
$peers[0][0])) {

$ps "Unknown";

if(
$state[0][1] == '1') {$ps "Idle";};
if(
$state[0][1] == '2') {$ps "BUSY";};

echo 
$peers[0][0]."\r\n";
echo 
"State:".$state[0][1]."\r\n";
echo 
"State:".$ps."\r\n";
 {
{
 


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Asterisk
СообщениеДобавлено: Вт фев 09, 2016 12:11 pm 
Не в сети

Зарегистрирован: Пт дек 20, 2013 4:46 pm
Сообщения: 179
Благодарил (а): 56 раз.
Поблагодарили: 31 раз.
Спасибо. О безопасности я высказывал свое мнение в ветке MAJORDOMO + VoIP.
Давать вебу доступ на запуск от имени рута или астериска рискованно. Нужны обходные безопасные решения.

_________________
Ubuntu на HP 7800 Connect


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Asterisk
СообщениеДобавлено: Вт фев 09, 2016 12:13 pm 
Не в сети

Зарегистрирован: Вс июл 14, 2013 2:42 pm
Сообщения: 128
Благодарил (а): 6 раз.
Поблагодарили: 18 раз.
согласен, опасно. Но в моем случае сервер находится во внутренней сети и не имеет выхода наружу..как и входа снаружи.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Asterisk
СообщениеДобавлено: Вт фев 09, 2016 12:21 pm 
Не в сети

Зарегистрирован: Пт дек 20, 2013 4:46 pm
Сообщения: 179
Благодарил (а): 56 раз.
Поблагодарили: 31 раз.
Пробовал я настраивать себе sip-фон снаружи, так что сервер светился в инет. Установил, естественно, fail2ban и наблюдал картину постоянных попыток взлома. Так что на данный момент тоже закрыл доступ.

_________________
Ubuntu на HP 7800 Connect


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Asterisk
СообщениеДобавлено: Вт фев 09, 2016 1:11 pm 
Не в сети

Зарегистрирован: Вс июл 14, 2013 2:42 pm
Сообщения: 128
Благодарил (а): 6 раз.
Поблагодарили: 18 раз.
я так с ami попал разок... хорошо вовремя заметил в консоли попытки звонить на странные номера.. потушил канал вовремя..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Asterisk
СообщениеДобавлено: Вт фев 09, 2016 1:13 pm 
Не в сети

Зарегистрирован: Пт дек 20, 2013 4:46 pm
Сообщения: 179
Благодарил (а): 56 раз.
Поблагодарили: 31 раз.
В чем я сомневаюсь,так это в самой структуре. Делать ли ее стандартной, как в примерах по астериску или изменяемой. Имеется в виду наименования таблиц, колонок и прочего RealTime asterisk. Изначально, по таблице CDR, написал стандартно, потом решил что имя таблицы и колонок у других пользователей могут отличаться и добавил тонкую настройку. А вот теперь думаю а стоило ли?
Если модуль начнет разрастаться, то по каждому чиху тогда придется тонкую настройку делать. И на users, и на voicemail и на мало ли что напишется. Может все-таки писать по рекомендациям asterisk и давать ссылки на мануалы по настройке?
Хотелось бы услышать мнение заинтересованных лиц :)

_________________
Ubuntu на HP 7800 Connect


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Модуль Asterisk
СообщениеДобавлено: Вт фев 09, 2016 1:16 pm 
Не в сети

Зарегистрирован: Пт дек 20, 2013 4:46 pm
Сообщения: 179
Благодарил (а): 56 раз.
Поблагодарили: 31 раз.
а ami планирую через phpagi реализовывать. у него доступ четко ограничен локальной машиной и правами пользователя. а модуль уже через него будет работать с asterisk.

_________________
Ubuntu на HP 7800 Connect


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу 1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB