Вы не авторизованы

Вы можете читать сообщения. Если вы хотите создать новую тему или присоединиться к обсуждению, пройдите процедуру регистрации или авторизуйтесь.

RSS
Опять загрузка процессора 100%, При звонке с транка IAX на SIP
 
Блин, второй раз сталкиваюсь с непонятной загрузкой процессора.
В городе А стоит АТС и звонит в город Б по IAX.
Если звоним на внутренние номера А - все хорошо.
Если звоним на в город (стоит карта DIGIUM аналоговая) - все хорошо.
Если звоним на SIP-GSM шлюз - 10 секунд после соединения загрузка 100% и звука нет. После этого загрузка процессора падает и появляется звук. Процессор жрет сам процесс asterisk -fn.
При звонках из города а на этот SIP-GSM шлюз таких аномалий не наблюдается.
Кто что посоветует? Кодек везде один используется ulaw.

Пробовал подключать АТС А и Б по SIP -  такой загрузки не наблюдается. Но периодически отваливается пир, поэтому вариант не подходит такого соединения. Кстати, кто как еще борется с отваливанием пиров SIP?
 
Как подключен SIP-GSM шлюз? Askozia его видит?

Наблюдал проблему при использовании SIP провайдера (еще одна Askozia) если адрес провайдера myprovaider.com  не доступен  (DNS не вернул IP) то Askozia начинает работать заметно медленнее и в логах много предупреждений.
 
Шлюз подключен в одной подсети. Аскозия конечно же видит и звонит через него без проблем. Загрузка процессора возникает именно когда на Аскозию звонит другая АТС по IAX соединенная.
Проблема еще осложняется тем, что разработчики повырезали все средства диагностики. Понять что именно забирает все ресурсы нет возможности. Только процесс удается установить, а что происходит не понятно. Причем, странно как-то. Пробовал включать отладку RTP. Пакеты идут до момента соединения. Потом после соединения все замирает на 10 секунд. Потом снова отживает и пакеты начинают снова идти, появляется звук. Что он  в эти 10 секунд делает совершенно непонятно.
 
В общем, проблему локализовать удалось, но физику процесса объяснить не могу. И так, напомню, чтобы не лезть в шапку темы.
Есть АТС 1. К ней подключен SIP-GSM шлюз. Есть АТС 2, соединенная с АТС 1 по IAX. Если звонить с АТС через SIP-GSM, аналоговые или IP провайдера, все проходит хорошо. Если звоним с АТС 2 на мобильные через АТС 1 -> SIP-GSM, то после соединения у АТС 1 в течение 10 секунд загрузка процессора 100% и нет звука. Если звоним с АТС 2 через ATC 1 и ее аналоговые или IP каналы, то проблем нет.
Задержка в 10 секунд исчезла, когда убрал у записи провайдера SIP-GSM шлюза код для записи разговоров из соответствующих полей в настройках. Объяснить это логически я не могу. Какие есть идеи? Запись разговоров критична.
Причем для аналоговых каналов провайдеров запись разговора сделана путем манипуляции с файлом экспорта - импорта настроек, ибо для аналоговых каналов даже полей записи нет. Однако это работает без проблем. А вот для SIP - провайдеров и поля есть, но работает как-то аномально: если звонки с этой же АТС, то нет задержки. Если звонок с удаленной АТС 2 через SIP на АТС 1 и на SIP-GSM, нет задержек. А вот если с удаленной АТС 2 через IAX на АТС 1 и на SIP-GSM - то задержка появляется.
Где логика?
 
В общем, проблема решилась. Но только методом проб и ошибок. Опять же объяснению не поддается. А решилась она, собственно, заменой в диалплане записи разговора функции Monitor() на MixMonitor().
 
А если обратно поменять, воспроизводится проблема?
 
Да, снова возникает задержка секунд 10, сопровождаемая отсутствием передачи RTP, а соответственно, звука.
 
Стенд:
  • Виртуальная машина на VirtualBox
  • 128 мб оперативной мамяти
  • 1 процессор
  • Mac OS
Работает стабильно. Звонки аудио / видео идут свободно. Нагрузка на процессор не превышает 20%

При установке режима отладки в консоли:

Код
# core set debug 10
# core set verbose 10
ЦП (по понятным причинам) загружен на 100%.
Читают тему (гостей: 1)