[Модуль] Asterisk (app_asterisk)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

eygen
Сообщения: 392
Зарегистрирован: Чт сен 25, 2014 5:37 pm
Откуда: Екатеринбург
Благодарил (а): 25 раз
Поблагодарили: 52 раза

Re: Модуль Asterisk

Сообщение eygen » Ср фев 10, 2016 12:49 pm

Alien писал(а):Пробовал я настраивать себе sip-фон снаружи, так что сервер светился в инет. Установил, естественно, fail2ban и наблюдал картину постоянных попыток взлома. Так что на данный момент тоже закрыл доступ.
VPN наше все... А так посмотришь и вправду кто только не лезет...
eygen
Сообщения: 392
Зарегистрирован: Чт сен 25, 2014 5:37 pm
Откуда: Екатеринбург
Благодарил (а): 25 раз
Поблагодарили: 52 раза

Re: Модуль Asterisk

Сообщение eygen » Вс фев 14, 2016 9:43 pm

Хотел пощупать что там, но... Модуль не ставится... Другие из маркета встают без проблем...
Alien
Сообщения: 191
Зарегистрирован: Пт дек 20, 2013 4:46 pm
Благодарил (а): 72 раза
Поблагодарили: 38 раз

Re: Модуль Asterisk

Сообщение Alien » Вс фев 14, 2016 11:32 pm

А с гитхаба качается? Попробовал у себя снести - тоже потом не ставится :(
Ubuntu на Banana pi M2U Connect
eygen
Сообщения: 392
Зарегистрирован: Чт сен 25, 2014 5:37 pm
Откуда: Екатеринбург
Благодарил (а): 25 раз
Поблагодарили: 52 раза

Re: Модуль Asterisk

Сообщение eygen » Пн фев 15, 2016 1:08 pm

Alien писал(а):А с гитхаба качается? Попробовал у себя снести - тоже потом не ставится :(
Как с гитхаба ставить? Не разбирался просто, надобности не было. Архив вроде качается.
Alien
Сообщения: 191
Зарегистрирован: Пт дек 20, 2013 4:46 pm
Благодарил (а): 72 раза
Поблагодарили: 38 раз

Re: Модуль Asterisk

Сообщение Alien » Пн фев 15, 2016 1:10 pm

Можно просто архивом. Можно git clone, но зачем, если гитом не пользоваться - достаточно архива.
Ubuntu на Banana pi M2U Connect
Alien
Сообщения: 191
Зарегистрирован: Пт дек 20, 2013 4:46 pm
Благодарил (а): 72 раза
Поблагодарили: 38 раз

Re: Модуль Asterisk

Сообщение Alien » Сб фев 20, 2016 9:44 am

Проблема с загрузкой решена, спасибо Сергею. Модуль устанавливается и обновляется.
Ubuntu на Banana pi M2U Connect
Alien
Сообщения: 191
Зарегистрирован: Пт дек 20, 2013 4:46 pm
Благодарил (а): 72 раза
Поблагодарили: 38 раз

Re: Модуль Asterisk

Сообщение Alien » Пт фев 26, 2016 10:24 am

Обновил модуль. Получаемый впервые event от астериска записывается как одноименный метод класса с комментарием в виде полученных данных (чтоб легче было понять что парсить нужно).
Пока так, хотя есть мысль что нужно не одноименный делать, а с приставкой Event. Ну это я попробую, еще подумаю и, если что, подправлю.
Ubuntu на Banana pi M2U Connect
Alien
Сообщения: 191
Зарегистрирован: Пт дек 20, 2013 4:46 pm
Благодарил (а): 72 раза
Поблагодарили: 38 раз

Re: Модуль Asterisk

Сообщение Alien » Чт мар 24, 2016 11:17 am

Обновил модуль. Выложил нестабильную версию - требуется помощь коллективного разума.
В предыдущей версии под каждый ивент создавался отдельный метод. Если астериск "разросшийся" то событий будет много и методов, соответственно, тоже - несколько неудобно выглядит.
В данной версии реализовал обработку иветнов в одном методе Events:
кодПоказать

Код: Выделить всё

$proc = $params['Event'];
if (function_exists($proc))
    {
        $proc($params);
    } else {
echo date('Y-m-d H:i:s')." : Call to non existent function ".$params['Event'];
        }


function FullyBooted($option)
    {
        /**
        Array received form Asterisk:
        [Event] => FullyBooted 
        [Privilege] => system,all 
        [Status] => Fully Booted 
        */
    }

function JabberEvent($option)
    {
        /**
        Array received form Asterisk:
        [Event] => JabberEvent 
        [Privilege] => user,all 
        [Account] => asterisk 
        [Packet] =>  
        */
    }
 
Новые ивенты просто добавляются в конец. Но получил баг - обработка непредсказуемо слетает. Может отработать только FullyBooted и JabberEvent и останавливается. Может еще разок обработать JabberEvent или какие-нибудь DongleStatus, DongleNewUSSD, но все-равно стопорится.
Лог DebMes в обратном порядке:
ЛогПоказать
2016-03-23 21:38:36 : Event Newchannel received. Process...
2016-03-23 21:38:35 : Receive new event. Add function Newchannel
2016-03-23 21:38:34 : Receive new event. Add function DongleNewUSSDBase64
2016-03-23 21:38:33 : Receive new event. Add function DongleNewUSSD
2016-03-23 21:38:32 : Receive new event. Add function DongleNewCUSD
2016-03-23 21:38:27 : Receive new event. Add function DongleUSSDStatus
2016-03-23 21:38:02 : Event FullyBooted received. Process...
2016-03-23 21:38:01 : Connecting to AMI... ...Connection established.
2016-03-23 21:38:01 running cycle_asterisk.php
2016-03-23 21:26:13 : Event JabberEvent received. Process...
2016-03-23 21:25:40 : Event FullyBooted received. Process...
2016-03-23 21:25:40 : Connecting to AMI... ...Connection established.
2016-03-23 21:25:40 running cycle_asterisk.php
2016-03-23 21:24:30 : Event JabberEvent received. Process...
2016-03-23 21:23:46 : Event FullyBooted received. Process...
Может кто подскажет? Ну или если кто кроме меня модуль использует, то посоветуйте копать баг или вернуться к множеству методов?
Заранее благодарен.
Ubuntu на Banana pi M2U Connect
Alien
Сообщения: 191
Зарегистрирован: Пт дек 20, 2013 4:46 pm
Благодарил (а): 72 раза
Поблагодарили: 38 раз

Re: Модуль Asterisk

Сообщение Alien » Сб мар 26, 2016 6:54 pm

Ну раз никому больше не интересно - возвращаюсь назад к использованию множества методов. Не совсем красиво выглядит, на мой взгляд, но работает. Может кто все-таки разберется - буду рад услышать рекомендации.
Так-же буду рад услышать пожелания по поводу отправки команд серверу астериск. Оставить все в одном методе Action или тоже под разные команды (command, oririnate) создать несколько разных методов?
Ubuntu на Banana pi M2U Connect
TokiMe
Сообщения: 2
Зарегистрирован: Вс авг 21, 2016 6:44 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Модуль Asterisk

Сообщение TokiMe » Вс авг 21, 2016 6:47 pm

а нет уведомления о событиях, путем звонка через астериск и тп? :)
Ответить