Понимание того, как SIP, WebRTC и PSTN работают вместе

Я узнал больше о WebRTC, SIP и PSTN и о том, как они работают вместе, особенно о возможности принимать телефонные звонки в браузере. Я провел некоторое время на веб-сайте Twilio, и мне нравится, как они могут заставить вас принять телефонный звонок из PSTN в ваш браузер.

Я хочу понять, как они могут позволить кому-то звонить на обычный телефонный номер PSTN, и звонок направляется в веб-браузер.

Я столкнулся с этим вопросом и немного понял, но есть некоторые вещи, которые мне до сих пор не хватает.

Чтобы прояснить мой вопрос, давайте возьмем следующий сценарий:

1-я часть

Предположим, я живу в Лондоне, у меня есть собственный SIP-сервер и учетная запись SIP, а также номер телефона PSTN, и этот номер привязан к учетной записи SIP. Теперь я хочу иметь возможность принимать телефонные звонки со всего мира в своем браузере. Когда люди звонят на номер PSTN, звонки проходят через моего оператора связи. Так как же звонки попадают в мой браузер? Нужно ли мне подключать свой SIP-сервер к системам оператора связи, прежде чем я смогу направлять вызовы в свой браузер?

Означает ли это, что для того, чтобы иметь возможность направить вызов в браузер, система телекоммуникационной компании должна знать, что для этого конкретного номера ТфОП вызов должен прийти на мой SIP-сервер или что-то в этом роде?

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

2-я часть

Twilio дает местные номера тем, кто их хочет. Насколько я понимаю, Twilio подписывает соглашение с телекоммуникационными компаниями, чтобы получить эти номера. Подключается ли система Twilio ко всем системам этих телекоммуникационных компаний, прежде чем они смогут направлять вызовы в браузеры пользователей?


person Eddy Freeman    schedule 25.01.2014    source источник


Ответы (4)


Эдди,

Я бы сказал, что ваш вопрос можно разделить на 2 необходимых технических решения. Первый — получение звонка с PSTN на WebRTC Второй — входящие звонки в браузере

Получение звонка с PSTN на WebRTC

Для этого требуется шлюз (GW). Ничего особенного в WebRTC в этом факте нет. Для получения вызова PSTN в любую сеть VoIP (SIP, H.323, проприетарная) потребуется устройство, которое будет завершать вызовы PSTN и инициализировать вызовы VoIP. Для WebRTC есть несколько особых требований, таких как безопасность, WebSockets, Opus 9 или G.711, что является общим). Еще одна особенность заключается в том, что WebRTC не определяет сигнализацию. Вы можете использовать SIP, но многие просто используют простую проприетарную сигнализацию. Вот почему многие решения создают своего рода сквозное решение GW и клиентов WebRTC.

Входящие вызовы в браузере

Это немного более сложное требование, и оно действительно зависит от общего приложения, которое у вас есть. Если ваш браузер не запущен, нет простого способа получить на него входящий вызов. Решением может быть небольшое приложение, которое вы заставите пользователей установить, которое вызовет браузер, но тогда вы упустите преимущество отсутствия установки, но это лучше, чем полная установка клиента, которая потребует больше обновлений, чем это небольшое приложение запуска. Другой случай: пользователь просматривает ваш сайт, вы видите, что у него проблемы или он хочет что-то купить (или выбрать любой другой вариант использования), и вы просите его ответить на входящий звонок. Это гораздо более простой случай, поскольку у вас уже запущен JS. Итак, как сказано, все зависит от конкретного приложения и сценария.

Амир

person AmirZ    schedule 26.01.2014

Давайте сначала рассмотрим элементы архитектуры голосовой среды, включающей SIP и подключение к PSTN.

  • Голосовой переключатель: это будет ваш программный переключатель / SIP-сервер. Он может предоставлять услуги маршрутизации, мультимедиа и приложений. Ваши пользователи будут РЕГИСТРИРОВАТЬСЯ на этом узле или, возможно, через прокси/SBC на этом узле. На этом узле может быть даже модуль/узел webRTC, или он может быть отдельным.
  • Шлюз PSTN: он также может быть включен в указанный выше программный переключатель. Это позволяет вашим SIP-вызовам выходить из вашей среды во внешний мир (PSTN, GSM и т. д.).

Это может быть достигнуто с помощью одного или обоих из:

  • Магистраль SIP: это SIP-соединение между вашим PSTNGW или программным коммутатором и CSP/телекоммуникационным провайдером через SIP. Вы отправляете любые внешние вызовы на SIP-транк, а у CSP есть соединения с остальным миром. Они берут деньги за каждый звонок.
  • Вы можете построить свой собственный выход к PSTN, вставив аналоговые карты, карты GSM, SS7, ISDN в свой программный коммутатор или GW. Затем внешние вызовы будут проходить через эти внешние сети.

Теперь исходящий вызов от одного из ваших SIP-пользователей, предназначенный для PSTN, попадет на программный переключатель и направит его через SIP Trunk или PSTN GW. А входящие вызовы из PSTN будут поступать через SIP Trunk или PSTN GW, и программный коммутатор направит их вашим пользователям. Ваш пользователь может быть либо стандартным ЗАРЕГИСТРИРОВАННЫМ пользователем SIP, либо пользователем webRTC. В любом случае вызов будет направлен на него.

В ваших примерах:

1-я часть::: Вам нужно будет подключить свой SIP-сервер / программный переключатель к вашему провайдеру либо через SIP-транк, либо через ISDN/GSM/аналоговое соединение. Для SIP-транка провайдер предоставит вам номер DID из своего диапазона и сопоставит его с вашим SIP-транком. Любые вызовы на этот номер будут направляться по магистрали SIP к вашему SIP-серверу. Как только он попадает на ваш SIP-сервер, вы можете легко отправить его любому пользователю SIP или webRTC. Ваш SIP-сервер вполне может быть сервером Asterisk, на котором работают следующие модули:

  • SIPML5 для WebTRC
  • libPRI или DAHDI для прорыва PSTN

2-я часть::: У Twilio либо есть собственные межсоединения с телефонными компаниями через SS7 или SIP, либо они сотрудничают с телефонной компанией, чтобы обеспечить свои прорывы.

person Yusuf    schedule 24.07.2014
comment
Спасибо за Ваш ответ. Это добавляет дополнительную информацию к ответам, которые я получаю - person Eddy Freeman; 28.07.2014

Для взаимодействия между агентом SIP (будь то телефон VOIP или WebRTC с веб-сокетами SIP) нам требуется шлюз PSTN, который состоит в основном из 3 компонентов MGC (контроллер медиашлюза) для управления, SGW (шлюз сигнализации) для преобразования сигналов ISUP из PSTN в SIP, MGW (контроллер медиашлюза) для преобразования медиа из G711/G729 в ​​Opus/vp8.

Что касается преобразования номеров, поставщики телекоммуникационных услуг поддерживают базу ENUM для сопоставления sipuri с телефонными номерами. На всякий случай, если вы являетесь OTT-игроком, вы должны выполнить однократную проверку/ввод для сохранения сопоставленных значений.

Я не могу комментировать процесс twilio, так как не знаю, что они делают, но архитектурные рекомендации используют шлюзы для взаимосвязи между миром IP и миром GSM/UMTS/PSTN.

person Altanai    schedule 24.05.2014
comment
спасибо за Ваш ответ - person Eddy Freeman; 10.06.2014

вы можете использовать plivo web SDK и разработать свое приложение. Так что вам не нужно беспокоиться о провайдере связи или серверах. Проверьте здесь https://plivo.com/docs/sdk/web/

person Naggappan Ramukannan    schedule 11.04.2014