Kamailio распространяет 180 и 200 OK, чтобы ПРИГЛАСИТЬ ИЗ ЗАКАЗА - PullRequest
0 голосов
/ 07 апреля 2020

Добрый день,

Я тестирую модуль диспетчера, используя Kamailio в качестве прокси-сервера без сохранения состояния. У меня есть пул UA C (скрипты в SIPP) и пул UAS (также скрипты в SIPP) для пунктов назначения. Версия Kamailio kamailio-5.3.3-4.1.x86_64.

Проблема, с которой я столкнулся, заключается в том, что если UAS отвечает 180 и 200 OK, чтобы пригласить немедленно, иногда они распространяются не по порядку. 200 ОК до 180, например:

180-200_out-of-order

UAS 172.30.4.195:5061. UA C - 172.30.4.195:5080. Kamailio составляет 192.168.253.4:5070

Разница между 180 и 200 составляет всего около 50 микросекунд.

Я предполагаю, что оба сообщения получены разными экземплярами Kamailio, а затем из-за переключений контекста, даже несмотря на то, что 180 получен ранее, этот процесс заканчивается после обработки 200. Однако у меня была идея что во избежание этих проблем процессы kamailio синхронизируются друг с другом, используя общую память. Я попытался использовать прокси с сохранением состояния и получил тот же результат.

Кстати, у кого-нибудь есть идеи о том, как реализована общая память Kamailio? Он явно не использует типичные системные вызовы shmget (), shmat (), потому что они не отображаются командой ipcs.

Перед публикацией здесь я погуглил, но не смог найти ничего, связанного с этим. Я не могу поверить, что я единственный, кто когда-либо имел эту проблему, поэтому я думаю, что я делаю что-то не так ...

Пожалуйста, помогите. Я действительно застрял в этом.

Спасибо.

...