Pull to refresh
1
0
Артур Краев @RaveNoX

User

Send message
У меня в 80% случаев работает, в остальных случаях это либо использование нативных библиотек, либо активное использование reflection
ну на 60 абонентов — да, у меня порядка 1к и разные тарифы по направлениям — там FastAGI лучше справляется
FastAGI + DB ИМХО будет быстрее и меньше жрать ресурсов…
>Астер держал 168 соединений в реальном времени и дальше либо вообще падал либо намертво подвешивал систему.

Это кстати странно, т.к. asterisk 1.4.22 на freebsd и 2 xeon (времен p4) успешно протягивает в продакшене по 200-250 параллельных звонков. Может это ветка 1.8 так себя ведёт? Хочется ещё увидеть 1.4 в тесте
>Как выяснилось стоит программное ограничение на 1000 вызовов в самом FS правда я так и не нашел пока где его снять.

/opt/freeswitch/conf/autoload_configs/switch.conf.xml
параметр max-sessions
Когда оно уже зарелизиться то?!!!
по 3 пункту zabbix не подходит =)
сможет, там есть специальные задания для проверки доступности сайтов с таймингами и кодами ответов + автоуведомления на почту и прочие средства связи
это для передачи внутренних событий FreeSWITCH, а не для SIP over WS
тут скорее лучше solr подойдёт, т.к.:
> Rich Document Parsing and Indexing (PDF, Word, HTML, etc) using Apache Tika
lucene.apache.org/solr/features.html
Спасибо, вот только новые комментарии добавляются не там где кликнул, а сверху.
Я в том году за статью об этом методе получил инвайт =).
Потом вышла более продуманная и расписанная тут: www.gotdotnet.ru/blogs/RaveNoX/7202/
У него есть несколько проблем, в частности с Hub'ами — не отслеживается отвал клиента по таймауту, плюс месяц назад были проблемы с реконнектом отвалившегося клиента. Разработчики на эти проблемы сказали — да мы знаем, но пока что фиксить не будем.
После всего перечисленного я у себя откатился на .net реализацию socket.io протокола (пишется за час-два т.к. основые спеки есть) и кастомную логику на стороне сервера.
Хочется инструкцию по развёртыванию этого хозяйства на своём сервере
# -*- shell-script -*-
#
# Configuration file for ferm(1).
#

# Interfaces
@def $WAN_IF = eth0;
@def $LO_IF = lo;

# My IPs
@def $L_NET = 0.0.0.0/20;
@def $M_IP = 0.0.0.0;
@def $LO_IP = 127.0.0.1;

# SIP proviers
@def $S_IP = 0.0.0.0;
@def $M_IP = sip.sip.sip;
@def $A_IP = 0.0.0.0;

@def $PROVS_IPS = ($S_IP $M_IP $A_IP);

# Users
@def $SIP_USERS = ( 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 );

@def $ADM_IPS = ($A_IP $M_IP);

table filter {
chain INPUT {
policy ACCEPT;

# allow local packages
interface $LO_IP ACCEPT;

saddr (
$L_NET
$PROVS_IPS
$ADM_IPS
$SIP_USERS
) proto udp dport 5060 ACCEPT;
proto udp dport 5060 DROP;

# connection tracking
mod state state INVALID DROP;
mod state state (ESTABLISHED RELATED) ACCEPT;

# respond ping
proto icmp ACCEPT;

# allow SSH connections
proto tcp dport ssh mod state state NEW mod recent {
update seconds 180 hitcount 5 rsource name NOSSHBRUTE DROP;
set rsource name NOSSHBRUTE ACCEPT;
}

saddr ( $ADM_IPS ) proto tcp dport 5038 ACCEPT;
proto tcp dport 5038 DROP;
}

chain OUTPUT {
policy ACCEPT;
}

chain FORWARD {
policy DROP;
}
}

Для примера сойдёт?
www.voip-info.org/wiki/view/Asterisk+AGI
посмотрите, там есть примеры на perl

на .Net fast agi пишется минут за 30 под вашу задачу
www.voip-info.org/wiki/view/Asterisk+func+db — общение с базой из диалплана
ну или agi/fastagi скрипт позволит сделать то же с диалпланом
www.voip-info.org/wiki/view/Asterisk+RealTime
www.voip-info.org/wiki/view/Asterisk+RealTime+Sip

Это не LDAP auth, это хранение данных о пользователях и т.п. в odbc-enabled базе, из плюсов вы получите отсутствие перегрузки всего конфига при изменении пользователей + меньше шансов на нештатную ситуацию при ошибочных/ неправильной обработке входящих данных из AD т.к. они будут контролироваться на уровне схемы БД.
А почему не использовали realtime для хранения пользователей? Он не требует передёргивания всего конфига, плюс свежедобавленные подтягиваются автоматом.

Information

Rating
6,229-th
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity