В организации стоит Asterisk Realtime собранный на http://www.voiceone.it/ (и порядком переделанный).
На нем порядка 250 внутренних пользователей и 10 внешних многоканальных номеров.
Появилась проблема, что asterisk очень медленно обрабатывает запросы, т.е. звонишь на городской номер, в ivr набираешь добавочный номер сотрудника и проходит секунд 25 прежде чем начинаешь слышать КПВ и вызов уходит на этот внутренний вызов.
Загрузка проца минимальна, памяти тоже хватает, куда копать ума не приложу.
Так же есть еще asterisk2, при попытке позвонить с него на проблемный asterisk1 вижу 7 подряд инвайтов, в итоге на asterisk2 вызов умирает через 10 секунд, а asterisk1 через 9-10 секунд шлет trying, а потом 8 раз declined (это нормально, т.к. на asterisk1 для asterisk2 нет пира, но почему сразу не приходит отбой, а такая задержка?).
У вас в хозяйстве стоит Asterisk с realtime, порядком переделанный из какой-то итальянской коробочки, плюс там же какой-то asterisk2, при этом вы уверенно оперируете словами "пир", "trying", "declined", и вы не можете определить, почему медленно обрабатываются вызовы?
Итальянскую коробочку ставил не я, я настраивал только asterisk2.
У меня был рутовый доступ на asterisk1 и для того чтобы можно было звонить с asterisk2 на asterisk1 я достаточно быстро настроил заводят руками пользователя в mysql. Работало весьма стабильно, но в одну сторону. Чтобы с asterisk1 могли звонить на asterisk2 зашел в вэб админку, посмотрел как там заведены транки, по образу и подобию прописал под asterisk2 - звонки заходили, но появилась эта проблема с задержкой. Удалил все настройки в mysql, но проблема осталась. Естественно рестарт сервера делал - не помогло.
Когда что-то не работает я привык делать дамп, но в данном случае это не помогло, т.к. только подтвердил что задержки есть, но не позволяет понять их причину.
смотреть нужно логи, на каком моменте возникает задержка, т.е. что исполняется в этот момент
а так это может много чего быть. от тормозящего запроса к БД до тормозов при чтении с винта. например при включенной записи вызовов, когда в папке monitor очеееень много файлов.
мой SIP URI sip:virus_net@asterisk.ru bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin) ENUMER - звони бесплатно и напрямую.
virus_net писал(а):смотреть нужно логи, на каком моменте возникает задержка, т.е. что исполняется в этот момент
а так это может много чего быть. от тормозящего запроса к БД до тормозов при чтении с винта. например при включенной записи вызовов, когда в папке monitor очеееень много файлов.
Тоже думал, что это скрипт тормозит сначала, но потом обратил внимание на входящий звонок с другого астера, в этот момент в логах ничего нет совсем, пир не прописан и вызов должен просто отбиться без всяких скриптов по дефолтному контексту с exten => _X.,1,hangup, но даже это происходит со значительной задержкой.
Во втором окне параллельно смотрите выхлоп tcpdump port 5060
чтобы понять - торможение на каком участке.
В первом окне,когда входящий звонок с другого астера, в этот момент в логах ничего нет совсем, включите sip set debug on.
Всё будет видно.