Страница 2 из 4

Re: Модуль Asterisk

Добавлено: Ср фев 10, 2016 12:49 pm
eygen
Alien писал(а):Пробовал я настраивать себе sip-фон снаружи, так что сервер светился в инет. Установил, естественно, fail2ban и наблюдал картину постоянных попыток взлома. Так что на данный момент тоже закрыл доступ.
VPN наше все... А так посмотришь и вправду кто только не лезет...

Re: Модуль Asterisk

Добавлено: Вс фев 14, 2016 9:43 pm
eygen
Хотел пощупать что там, но... Модуль не ставится... Другие из маркета встают без проблем...

Re: Модуль Asterisk

Добавлено: Вс фев 14, 2016 11:32 pm
Alien
А с гитхаба качается? Попробовал у себя снести - тоже потом не ставится :(

Re: Модуль Asterisk

Добавлено: Пн фев 15, 2016 1:08 pm
eygen
Alien писал(а):А с гитхаба качается? Попробовал у себя снести - тоже потом не ставится :(
Как с гитхаба ставить? Не разбирался просто, надобности не было. Архив вроде качается.

Re: Модуль Asterisk

Добавлено: Пн фев 15, 2016 1:10 pm
Alien
Можно просто архивом. Можно git clone, но зачем, если гитом не пользоваться - достаточно архива.

Re: Модуль Asterisk

Добавлено: Сб фев 20, 2016 9:44 am
Alien
Проблема с загрузкой решена, спасибо Сергею. Модуль устанавливается и обновляется.

Re: Модуль Asterisk

Добавлено: Пт фев 26, 2016 10:24 am
Alien
Обновил модуль. Получаемый впервые event от астериска записывается как одноименный метод класса с комментарием в виде полученных данных (чтоб легче было понять что парсить нужно).
Пока так, хотя есть мысль что нужно не одноименный делать, а с приставкой Event. Ну это я попробую, еще подумаю и, если что, подправлю.

Re: Модуль Asterisk

Добавлено: Чт мар 24, 2016 11:17 am
Alien
Обновил модуль. Выложил нестабильную версию - требуется помощь коллективного разума.
В предыдущей версии под каждый ивент создавался отдельный метод. Если астериск "разросшийся" то событий будет много и методов, соответственно, тоже - несколько неудобно выглядит.
В данной версии реализовал обработку иветнов в одном методе Events:
кодSPOILER_SHOW

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

$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 в обратном порядке:
ЛогSPOILER_SHOW
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...
Может кто подскажет? Ну или если кто кроме меня модуль использует, то посоветуйте копать баг или вернуться к множеству методов?
Заранее благодарен.

Re: Модуль Asterisk

Добавлено: Сб мар 26, 2016 6:54 pm
Alien
Ну раз никому больше не интересно - возвращаюсь назад к использованию множества методов. Не совсем красиво выглядит, на мой взгляд, но работает. Может кто все-таки разберется - буду рад услышать рекомендации.
Так-же буду рад услышать пожелания по поводу отправки команд серверу астериск. Оставить все в одном методе Action или тоже под разные команды (command, oririnate) создать несколько разных методов?

Re: Модуль Asterisk

Добавлено: Вс авг 21, 2016 6:47 pm
TokiMe
а нет уведомления о событиях, путем звонка через астериск и тп? :)