Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

WebRTC Gateway соединяет WebRTC с установленной технологией VoIP, такой как SIP . WebRTC ( Web Real-Time Communication ) представляет собой API определение разработан в World Wide Web Consortium (W3C) , который поддерживает браузер -в-браузера приложения для голосового вызова , видео - чат и обмен сообщениями без необходимости внутренних или внешних плагинов . [1]

Сценарий использования [ править ]

Чтобы браузеры, использующие разных поставщиков приложений, могли взаимодействовать друг с другом (например, пользователь, вошедший в систему поставщиков приложений X, хочет позвонить кому-то, кто вошел в систему поставщика приложений Y), можно использовать так называемую трапецию WebRTC. В этом случае два провайдера используют широко используемый протокол сигнализации VoIP , такой как SIP, для объединения между ними. Однако каждый из их соответствующих клиентов на основе браузера передает сигнал своему серверу, используя проприетарные протоколы приложений, построенные на основе HTTP и WebSocket .

Этот компонент, который является посредником между WebRTC и SIP , называется шлюзом WebRTC . Помимо подключения различных приложений WebRTC, шлюз WebRTC также обеспечивает связь между телефоном WebRTC и телефоном VoIP или даже телефоном PSTN . Таким образом, шлюз WebRTC расширяет сферу применения приложений WebRTC и обеспечивает гораздо более широкий охват и сценарии использования. [2]

Пример трапеции WebRTC

Функциональность [ править ]

Обычный процесс с WebRTC заключается в том, что пользователь загружает приложение WebRTC JavaScript . Затем это приложение используется для связи с другим пользователем. Шлюз WebRTC обычно содержит сервер, с которого пользователь загружает приложение JavaScript WebRTC . При получении вызова от пользователя шлюз WebRTC должен решить, доступен ли вызываемый объект через WebRTC. Если нет, то вызов нужно будет, например, перевести в SIP. Чтобы перевести вызов в SIP, шлюз должен будет сопоставить разные слои:

  • Сигнализация: для приложений WebRTC не существует стандартизованного протокола сигнализации. Однако SIP через WebSockets ( RFC  7118 ) часто используется частично из-за применимости SIP к большинству предполагаемых сценариев связи, а также из-за наличия программного обеспечения с открытым исходным кодом, такого как JsSIP . В таком случае шлюзу потребуется только переупаковать пакеты SIP из уровня WebSocket в UDP , TCP или TLS .
  • Транспорт мультимедиа: спецификации WebRTC указывают, что из соображений безопасности приложения WebRTC должны использовать SRTP для передачи мультимедийного контента. Хотя некоторые приложения VoIP также поддерживают протокол SRTP, это необязательно и, следовательно, не всегда. Если вызываемый абонент не поддерживает SRTP, тогда шлюз WebRTC должен будет выполнить сопоставление между SRTP и RTP .
  • Медиа-контент: спецификации WebRTC указывают, что приложения WebRTC должны использовать для аудиосвязи либо G.711, либо OPUS в качестве аудиокодека . Приложения, использующие SIP для установления аудиосеанса, могут выбирать любой тип кодека . Если вызываемый абонент не поддерживает OPUS или G.711, тогда шлюз WebRTC должен будет выполнить перекодировку между сторонами WebRTC и SIP связи.
  • Согласование медиа-адреса: чтобы иметь возможность проходить все виды NAT , спецификации WebRTC указывают, что приложения WebRTC должны использовать STUN и ICE , чтобы определять адреса, по которым две конечные точки могут обмениваться медиа-пакетами. Хотя эти технологии также реализуются некоторыми пользовательскими агентами SIP, это не является обязательным. Если вызываемый объект не поддерживает ICE, или в случае, если транспортный уровень мультимедиа требует сопоставления или транскодирования мультимедиа, тогда шлюз WebRTC должен будет действовать как конечная точка ICE и маршрутизировать мультимедийные пакеты между вызывающим и вызываемым.
Сопоставление WebRTC с SIP

Доступные решения [ править ]

Уже существует ряд коммерческих решений и решений с открытым исходным кодом, обеспечивающих функциональность шлюза WebRTC. Поскольку многие необходимые функции шлюза WebRTC, такие как обработка мультимедиа, отображение сигналов, поддерживаются SBC, функция шлюза WebRTC часто интегрируется в SBC или предоставляется поставщиками SBC.

Шлюзы WebRTC с открытым исходным кодом [ править ]

  • OverSIP
  • Камайлио
  • Звездочка
  • reSIProcate и воспроизводить
  • WebRTC2SIP
  • Янус
  • FreeSWITCH
  • SylkServer
  • mediasoup

Собственные решения [ править ]

  • AhoyRTC
  • AudioCodes с поддержкой WebRTC SBC , WebRTC GW
  • Cisco Meeting Server (ранее Acano)
  • Видео шлюз RTC (WebRTC) [3]
  • FRAFOS ABC WebRTC шлюз
  • Холодное сердце - LiveSwitch [4]
  • IVèS Аудио-видео и текст WebRTC в SIP GW
  • Oracle
  • Платформа Pexip Infinity
  • ПортSIP WebRTC шлюз
  • REVE WebRTC-SIP шлюз
  • Шлюз Kandy Link от Ribbon (ранее GENBAND и Sonus)
  • TeleFinity WebRTC-SIP шлюз [5]
  • Программное обеспечение WIT

Ссылки [ править ]

  1. ^ «WebRTC 1.0: обмен данными между браузерами в реальном времени» . Dev.w3.org . Проверено 12 сентября 2012 .
  2. ^ "WebRTC: как и почему?" (PDF) . FRAFOS. 2015-01-12.
  3. ^ https://www.ivrpowers.com/videortc/
  4. ^ https://www.frozenmountain.com/products-services/liveswitch/
  5. ^ https://www.tele-finity.com/webrtcsip/