Как стать автором
Обновить

Комментарии 25

В первую очередь, необходимо отключить SELinux...

А ведь можно создать политику. Почему это никто не делает?
Я не видел ни одного мануала по настройке Asterisk/Kamalio/FreeSwitch/etc, который не начинается с отключения SELinux.
Позволю себе процитировать часть комментария bARmaleyKA
Для тех кто сталкивается с этой надстройкой безопасности впервые куда б интересней было знать как получать и читать информацию о блокировке процесса системой SELinux средствами утилит audit2allow и audit2why (хотя и они иногда бред выдают), поиск и просмотр блокировок утилитами ausearch, aureport и sealert, или как примерно разобрать сообщения аудита, которые не попали в обработку (там самый цимес бывает). А то человек настроит сервис, пытается запустить, отладить — на выходе ничего и в журнале работы нихрена не разобрать. Помучается и выключит приблуду. Наверное поэтому многие статьи начинаются со слов: «Первым делом выключаем SELinux...»

Простите, а что нужно сделать, чтобы Астериск перестал справляться с обработкой звонков. У меня астер обрабатывает около 30000 тысяч звонков в сутки, годами без остановки. При этом он работает на ВМ под hyper-v, 4 ядра, 4 гига рама. LoadAverage 0.91 под нагрузкой. Памяти впритык, нужно добавить, а по процессору зазор 4х кратный. ЧЯДНТ?

Например, желание его перезагрузить :). А разговоры пишутся?

Да. ionice помогает все это сбалансировать. Мы еще и жмем разговоры после записи.

30000 — это средненько, проблемы с LA начинаются позже, когда количество одновременно активных каналов доходит до 600+.
Затык там или в CDR или в записи вызовов, потому что второй сервер, обрабатывающий чуть меньше потоков — проблем с LA не имеет, хотя он слабее вашего даже. Но там нет CDR и записи.

У меня 110 endpoint'ов, так-что больше 150 каналов мне не грозит. На позапрошлый новый год было 60000+ звонков и я особо их и не заметил.
Интересно чем вы занимаетесь с такими телефонными нагрузками?

Интернет-магазин
попробуйте помониторить количество одновременных звонков в пиках, количество за сутки — не особо показатель, продолжительность звонка может сильно влиять.
Даже на таких цифрах, нет проблем с LA, если не юзать запись и\или CDR. Пока особо не было времени детальнее выяснить, что именно влияет на LA.
По теме — SIP proxy это больше про отказоустойчивость, чем про разнос нагрузки.
Планируем попробовать FreeSwitch вместо астера, в тестах показал себя гораздо лучше по тупой производительности.
Sip proxy можно и для отказоустойчивости, и для сокрытия топологии использовать, но и для распределения нагрузки вполне подходит. FreeSwitch по синтетическим тестам — да, вроде показывает себя лучше. Когда перейдете с Asterisk на FreeSwitch, обязательно напишите статью, думаю, многим будет интересно прочесть о сравнении под реальной нагрузкой
Количество звонков в сутки без указания средней длительности — не всегда показательно. Вот пиковое число одновременных вызовов — более интересная метрика
НЛО прилетело и опубликовало эту надпись здесь
А что происходит с самим звуковым потоком, он тоже идёт через прокси?
Нет, звук в данной схеме не проксируется
Халтура. Последний абзац следовало бы написать в начале статьи, а также добавить туда, что в мануале не будет объяснено зачем нужна большая часть действий, почему обязательны те или иные параметры и тд.
Да и вообще статья в стиле «Ну мы сделали вот так, у нас заработало».
В названии потому и есть слово «пример», и нет слова «мануал». Понимаете, в чем разница?
Ну тогда в чем смысл этой статьи? С камаилио в комплекте идут примеры конфигурации.
И если вы все таки решили написать еще один пример, то это не отменят факта что для новичков вы должны объяснять почему в примере сделано именно так, а не иначе. Те кто понимают — им пример базовых вещей без пояснений не нужен. Тем кто хочет разобраться ничем не поможет.
И это я еще не трогал пункта «Выключаем Selinux». Это ОЧЕНЬ СТРАННО слышать от человека, пишущего от centos-admin.ru.
Если у вас все входящие вызовы должны попадать в queue, при этом вызова на queue members раскидываются на разные asterisk, то информатор о позиции в очереди будет работать криво. Для того, чтобы работал как надо потребуется всех участников одной группы «селить» на одном asterisk

В этом примере все будет корректно: пусть у нас на одном asterisk 1000 агентов в очереди и на втором тоже 1000 агентов в очереди, причем, это разные агенты. Пришел вызов, направился на первый asterisk, попал в очередь из 1000 агентов. Его позиция будет считаться для заданной очереди.
А как тогда статистику собирать? 2 разных астериска, 2 разных базы данных cdr/queue…
вы серьезно пишите что нужно отключить Selinux?
В качестве примера на демо-стенде это вполне допустимо
НЛО прилетело и опубликовало эту надпись здесь
Одно дело руками в конфигах, и другое дело — руками в БД
Всем привет.

Поставил версию 5.0.3 согласно инструкции, но не могу запустить — выдает ошибку модулей presence.

[root@localhost ~]# systemctl start kamailio
Job for kamailio.service failed because the control process exited with error code. See «systemctl status kamailio.service» and «journalctl -xe» for details.
[root@localhost ~]# systemctl status kamailio.service -l
● kamailio.service — SYSV: Kamailio is a fast, reliable and flexible SIP Server.
Loaded: loaded (/etc/rc.d/init.d/kamailio; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2017-10-04 12:09:58 MSK; 5s ago
Docs: man:systemd-sysv-generator(8)
Process: 14091 ExecStart=/etc/rc.d/init.d/kamailio start (code=exited, status=1/FAILURE)

Oct 04 12:09:58 localhost.localdomain kamailio[14091]: 0(14101): [cfg.y:3426]: yyerror_at(): parse error in config file //etc/kamailio/kamailio.cfg, line 412, column 43: Can't set module parameter
Oct 04 12:09:58 localhost.localdomain kamailio[14091]: 0(14101) ERROR: [cfg.y:3286]: yyparse(): cfg. parser: failed to find command handle_publish (params 0)
Oct 04 12:09:58 localhost.localdomain kamailio[14091]: 0(14101): [cfg.y:3426]: yyerror_at(): parse error in config file //etc/kamailio/kamailio.cfg, line 719, column 18: unknown command, missing loadmodule?
Oct 04 12:09:58 localhost.localdomain kamailio[14091]: 0(14101) ERROR: [cfg.y:3286]: yyparse(): cfg. parser: failed to find command handle_subscribe (params 0)
Oct 04 12:09:58 localhost.localdomain kamailio[14091]: 0(14101): [cfg.y:3426]: yyerror_at(): parse error in config file //etc/kamailio/kamailio.cfg, line 722, column 20: unknown command, missing loadmodule?
Oct 04 12:09:58 localhost.localdomain kamailio[14091]: ERROR: bad config file (7 errors)
Oct 04 12:09:58 localhost.localdomain systemd[1]: kamailio.service: control process exited, code=exited status=1
Oct 04 12:09:58 localhost.localdomain systemd[1]: Failed to start SYSV: Kamailio is a fast, reliable and flexible SIP Server…
Oct 04 12:09:58 localhost.localdomain systemd[1]: Unit kamailio.service entered failed state.
Oct 04 12:09:58 localhost.localdomain systemd[1]: kamailio.service failed.

В папке с модулями их нет. В инете тоже не нашел.
Как исправить эту ситуацию?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий