Size: a a a

2021 July 14

NK

ID:0 in Asterisker-ы
Создание модулей FreePBX с нуля для повседневных задач | AsterConf-2020

В своем выступлении Василий Довгошей и Алексей Гира расскажут, как устроен FreePBX и как в несколько шагов создать модуль под свои задачи. Какие есть подводные камни и как их обойти.

00:00   Знакомство спикера с участниками конференции AsterConf 2020 + краткая информация доклада
01:05   Что такое FreePBX и как он устроен
01:32   Как расширить возможности FreePBX
01:57   Как создать свой собственный модуль
02:04   Файловая структура модуля
02:16   Создание модуля AMD Contexts
02:53   Для чего предназначен модуль AMD Contexts
03:23  Файловая структура модуля AMD Contexts
04:02   Добавление функции - название модуля_hook_core() + получение кнопки
04:23   Добавление функции - название модуля_hookProcess_core()
04:47   Установка модуля
05:14   Как работает AMD и что хотим получить
06:00 Преимущества данного подхода
07:04   Какие возникали проблемы и как их решать?
08:31   Дополним исходящие маршруты
08:55   Модуль не подписан, как быть?
09:22   Как подписать модуль
09:38   Модуль для тестирования
10:54   SPA приложение на базе Vue.js
11:12  Democalls
11:47   Логика модуля
12:27   Инструмент создания и удаления Extensions
12:50   Как создать Extensions?
13:34   Почему FreePBX?
15:03   Конец доклада + вопросы от участников конференции
15:09   Зачем распараллеливать звонок для анализа?
17:28   Какой версией FreePBX необходимо пользоваться, и стоит ли их тестировать?
19:04   Можно ли попасть в репозитарий FreePBX, и как это сделать?
20:36   Можно ли подключить модуль и отсекать ненужные спам-сообщения и звонки? Сколько нужно времени, чтобы определить звонок робота с предложениями, и как это будет влиять на работу, если есть голосовое меню?
22:22  Если модуль условно-бесплатный, то при бесплатной установке есть расширения функционала со встроенной транзакцией. Можно ли это проверить с самого начала?
23:10   Выбор и награждение участника конференции за лучший вопрос (подарок от спонсоров: Компьютерная гарнитура Accutone UB101).

Не забываем ознакомиться с видео по адресу:
https://youtu.be/6Avbkqqly0M
YouTube
Василий Довгошей и Алексей Гира ― Создание модулей FreePBX с нуля для повседневных задач
Узнайте, как устроен FreePBX и как в несколько шагов создать модуль под свои задачи. Чем это лучше кастомных контекстов и в каких случаях оправдано. Какие есть подводные камни и как их обойти.


00:00   Знакомство спикера с участниками конференции AsterConf 2020 + краткая информация доклада
01:05   Что такое FreePBX и как он устроен
01:32   Как расширить возможности FreePBX
01:57   Как создать свой собственный модуль
02:04   Файловая структура модуля
02:16   Создание модуля AMD Contexts
02:53   Для чего предназначен модуль AMD Contexts
03:23   Файловая структура модуля AMD Contexts
04:02   Добавление функции - название модуля_hook_core() + получение кнопки
04:23   Добавление функции - название модуля_hookProcess_core()
04:47   Установка модуля
05:14   Как работает AMD и что хотим получить
06:00   Преимущества данного подхода
07:04   Какие возникали проблемы и как их решать?
08:31   Дополним исходящие маршруты
08:55   Модуль не подписан, как быть?
09:22   Как подписать модуль
09:38   Модуль для тестирования
10:54…
источник

AS

Alexander Serebryany in Asterisker-ы
зная кодек вы знаете сколько занимает один разговор + оверхед. Зная какой канал передачи данных вы можете узнать макс колическто разговоров одноврменных
источник

R

Roman in Asterisker-ы
Правильно понимаю, что внутри самого Астериска нет ограничений? Вопрос в физических характеристиках (канал интернета, память, процессор и т.п.)
источник

OS

Oleg Shteinliht in Asterisker-ы
есть еще архитектурные ограничения
источник

R

Roman in Asterisker-ы
А в чём они выражаются?
источник

OS

Oleg Shteinliht in Asterisker-ы
это когда увеличение ядер, памяти, не приводят к большему количеству обрабатываемых звонков
источник

OS

Oleg Shteinliht in Asterisker-ы
например: есть управляющий поток, в котором происходит прием управляющих команд. Один поток всегда выполняется одним ядром. Если этот поток будет работать на пределе (съест все ядро), то он просто перестанет принимать команды. И вся система заглохнет
источник

AS

Alexander Serebryany in Asterisker-ы
астериск сам не умеет в кластер когда нагрузка распределяется по нодам равномерно. собственно это только офисная атс, не опеарторское решение
источник

R

Roman in Asterisker-ы
Ага, понял. Благодарю!
источник

OS

Oleg Shteinliht in Asterisker-ы
астериск это многопоточное приложение. В нем одновременно крутится десятки (под сотню, а может и боллее) потоков. Но не все потоки одинаково полезны. Управляющие потоки особенно важны. Если они глохнут, глохнет вся система (как я уже описал выше)
источник

a

agic in Asterisker-ы
звучит как магия
источник

OS

Oleg Shteinliht in Asterisker-ы
архитектура приложения подразумевает распределение нагрузки между потоками. Управляющий поток должен делать как можно меньше работы. Это замкнутый цикл, который принимает команду, и кладет ее в какую-то очередь. Дальше обработкой занимается какой-то threadpool (пул-потоков), который можно масштабирвать
источник

YG

Yuriy Gorlichenko in Asterisker-ы
там же просто ядро забивается командами управляющей шины получается?
и если команд очень много - они становятся в очередь
Если очередь слишком большая осообенно на комманды каналов то сообщения начинают тухнуть
источник

YG

Yuriy Gorlichenko in Asterisker-ы
У астериска taskprocessor есть и на сколько я помню он от этого и переполняется
источник

a

agic in Asterisker-ы
ядро там жутко жирное и хочет знать всё...
источник

OS

Oleg Shteinliht in Asterisker-ы
да, taskprocessor с ним же связан threadpool это все про это
источник

YG

Yuriy Gorlichenko in Asterisker-ы
вот
В свое время я разгружал taskprocessor просто не доводя ненужные subscribe, options и тд до астериска
меньше траффика меньше работы
источник

a

agic in Asterisker-ы
я правильно понял реги снимал с астера?
источник

OS

Oleg Shteinliht in Asterisker-ы
это можно масштабировать, но в определенных пределах (если бы не блокировки)
источник

NK

ID:0 in Asterisker-ы
Притча о доверии (вендорам) | Linkmeetup v06.21

В своем выступлении Марат Сибгатулин расскажет о вечных вопросах без ответа, но с которыми как-то надо жить.

00:21 - Начало выступления
01:58 - Основные темы доклада
02:15 - Как устроена сеть в Облаке
02:51 - Overlay SDN
07:33 - Сетевая фабрика
10:20 - Связь с реальностью
12:40 - Data Center Interconnect
13:36 - День, когда что-то пошло не так
14:31 - Мы решили заменить Edge-устройства
15:20 - Миграция
16:58 - Кто виноват?
17:23 - Устройство сетевого устройства. Железо
19:51 - Устройство чипа коммутации
21:01 - Устройство сетевого устройства. Софт
21:58 - Где что-то может пойти не так?
22:14 - Что пошло не так?
22:57 - Балансировка трафика
24:44 - ECMP и 5-tuple
26:50 - А если не TCP и не UDP?
27:42 - Вендор, делай раз!
28:42 - Вендор, делай два!
30:18 - Вендор, делай три!
30:36 - И кому теперь верить?
32:00 - Спасибо и вопросы

Полную запись выступления можно посмотреть по адресу:
https://youtu.be/2L8-jdV8oG8
источник