SIP через веб-сокеты на настоящий SIP

Я пытаюсь реализовать sip-сервер для подключения к HTML sip-клиенту (сделанному с использованием sipml5). Во время моего исследования этого я наткнулся на sip через веб-сокеты, которые могут быть мне полезны, однако я не уверен, сможет ли пользовательский агент, подключающийся через sip через web-sockets к совместимому серверу, успешно сделать вызов кому-то, кто использует несовместимый сервер (т. е. звонит с SIP через web-sockets на настоящий SIP).

Я знаю, что webrtc2sip можно использовать для подключения к устаревшим сетям, но я бы предпочел избегать использования другого прокси, если это вообще возможно. Итак, можно ли подключиться к совместимому SIP серверу, используя SIP поверх web-sockets, а затем сделать вызов из этого пользовательского агента другому, который не поддерживает SIP поверх web-sockets, без использования gateway?


person awriis    schedule 21.11.2013    source источник
comment
Вы можете использовать SIP-сервер, который поддерживает как традиционный SIP (через TCP/UDP), так и WebSockets для реализации функции шлюза. Примером поддерживающей технологии могут быть SIP-сервлеты Mobicents (см. code.google.com). /p/sipservlets/wiki/Welcome?tm=6).   -  person yotommy    schedule 21.11.2013
comment
Будет ли создание шлюза таким же простым, как простое подключение пользовательских агентов через прокси-сервер, который поддерживает и то, и другое, или определенные заголовки должны быть исправлены/закодированы мультимедиа/и т. д.?   -  person awriis    schedule 21.11.2013
comment
Ответ на этот вопрос зависит от совместимости ваших конечных точек (sipml5 и некоторых других неуказанных SIP UA). Чтобы было ясно, вам нужно реализовать прокси в SIP-сервлетах Mobicents. В конце концов, функция шлюза должна выполняться где-то.   -  person yotommy    schedule 21.11.2013


Ответы (3)


Вы правы, SIP через веб-сокеты — это черновик, а не спецификация. И я не знаю многих поставщиков SIP, которые поддерживают этот проект.

Возможное решение - действительно шлюз websocket-SIP. Например, Flashphoner Web Call Server реализован как шлюз, который работает через веб-сокеты с браузером и работает через SIP (TCP и UDP) с SIP-серверами. Поэтому он совместим с любым сервером, поддерживающим RFC3261 — стандартную спецификацию SIP.

Краткая схема сигнализации:

Браузер — [Веб-сокеты] — Сервер веб-вызовов — [SIP TCP, UDP] — любой SIP-сервер

Краткая схема стрима:

Браузер — [WebRTC = SRTP, DTLS, ICE, STUN] — Сервер веб-вызовов — [RTP UDP] — любой сервер SIP/RTP

person Nick    schedule 02.04.2014

Альтернативный способ — использовать kamailio, так как он понимает как sip, так и ws sip.

когда вы говорите «внедрение sip-сервера», это простой регистратор или прокси-сервер, или вам нужна логика управления/наличие других функций?

Во всех случаях kamailio отвечает всем требованиям, плюс это открытый исходный код.

person Altanai    schedule 23.04.2014

Пример Mobicents SIP Servlets уже предоставляет B2BUA приложение, которое позаботится об этом за вас. Мультимедиа является одноранговым (или через TURN сервер ретрансляции), но если вам нужно подключиться к медиа-серверу, вы действительно можете исправить SDP тело, чтобы медиафайлы каждой стороны проходили через медиа-сервер (при условии, что он поддерживает медиа-отношения). кодеки от WebRTC, DTLS-SRTP и т. д.), чтобы добавить возможности конференц-связи, типа записи.

person jeand    schedule 22.11.2013