Как настроить вызов REFER в SIPML5 WebRTC?

Я пытаюсь сделать веб-клиент для моего запроса вызова SIP. Я успешно пригласил вызов из браузера. Но я не понимаю, как ссылаться на сторонний вызов через Javascript. Я использую WebRTC и SIPML5.

При попытке session.transfer(), после успешного реферала, ссылка на реферера прервана... но я могу слышать звук от рефери рефереру. "Я не получаю уведомления. Просто обратитесь к ACK sip сообщению, а затем к 1 одностороннему вызову.

Например: A относится к B, После успешного обращения я не могу отправлять / получать SIP-пакеты от A, Но я могу сделать то же самое из B, Так когда B переговоры, A могу слышать. Но, наоборот, не работает.

Ссылка SIP работает отлично через SIPP. И двусторонние пакеты доступны.

PS: Я НЕ ХОЧУ ПЕРЕВОДИТЬ ВЫЗОВ.

Если SIPML5 не поддерживает это, могу ли я сделать то же самое через Java. Где я отправляю запрос реферала в SIP-сервлет, который обрабатывает его через doRefer()?

Это ссылки, на которые я ссылался:

1 ответ

Решение

Я нашел это самостоятельно.

SIPML5 не поддерживает передачу вызовов, но перевод вызовов. Таким образом, он использует REFER для перевода вызова, но затем вызываемый абонент отключается.

Итак, найдя обходной путь, я отправил детали сообщения REFER в session.send() в виде строки. Мне пришлось проанализировать строку, чтобы получить данные, которые, конечно, не SIP-сообщение, а простая строка.

и при обработке ссылки я могу получать пакеты от вызывающего и вызывающего абонентов.

Проблема остается, хотя,

Проблема состоит в том, что сеанс приглашения вызова имеет тип "вызов", тогда как сеанс сообщения был типа "сообщение".

Итак, я добавил CALL-ID сеанса вызова в сеанс Message и проанализировал его. Таким образом, успешно получая пакеты на том же канале.

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