Настройка регистратора / прокси-сервера Kamailio/OpenSER для исходящего SIP?

Я установил Kamailio v4.0 SIP-регистратор и прокси-сервер для SIP через веб-сокеты, и все работает нормально, за исключением отправки исходящих сообщений или исходящих звонков на SIP-адрес в чужом домене. Я могу получать сообщения и звонки с нелокальных SIP-адресов, но не отправлять их.

Я пытался понять документацию различных модулей, таких как domain а также outbound и я все еще в тупике. Мой файл конфигурации по сути идентичен этому.

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

редактировать: заметил следующее в файле журнала:

INFO: rr [../outbound/api.h:49]: Failed to import bind_ob
INFO: rr [rr_mod.c:159]: outbound module not available

Перекомпилировано с STUN=1 и загружен outbound.so в конфиге (это лай не на то дерево?). Теперь журнал говорит:

INFO: rr [rr_mod.c:156]: Bound rr module to outbound module
[...]
WARNING: <core> [msg_translator.c:2499]: TCP/TLS connection (id: 0) for WebSocket could not be found
ERROR: <core> [msg_translator.c:1725]: could not create Via header
ERROR: tm [t_fwd.c:435]: could not build request

1 ответ

Журналы предполагают, что не может быть найдено соединение с клиентом WebSocket. Kamailio не может открыть соединение с программным телефоном WebSocket (webrtc), если он не существует, сообщение SIP не может быть доставлено.

Вы можете просмотреть список активных TCP-соединений, используя инструмент kamcmd:

kamcmd core.tcp_list

Если вы используете WebSockets поверх TLS:

kamcmd tls.list

Существует функция конфигурации, которая должна использоваться в этом случае - set_forward_no_connect () - чтобы избежать столь длительного процесса обработки.

Другие вопросы по тегам