了解SIP、WebRTC和PSTN如何协同工作

了解SIP、WebRTC和PSTN如何协同工作,sip,voip,webrtc,telephony,Sip,Voip,Webrtc,Telephony,我一直在学习更多关于WebRTC、SIP和PSTN的知识,以及它们如何协同工作,特别是在浏览器中接收电话的能力。我在Twilio的网站上花了一些时间,我喜欢他们让你从PSTN接收电话到浏览器的方式 我想了解他们是如何让某人拨打一个普通的PSTN电话号码,并将电话转接到网络浏览器的 我偶然发现并得到了一些理解,但仍有一些东西是我所缺少的 为了澄清我的问题,让我们以以下场景为例: 第一部分 假设我住在伦敦,有自己的SIP服务器和SIP帐户,有一个PSTN电话号码,号码映射到SIP帐户。现在,我希望能

我一直在学习更多关于WebRTC、SIP和PSTN的知识,以及它们如何协同工作,特别是在浏览器中接收电话的能力。我在Twilio的网站上花了一些时间,我喜欢他们让你从PSTN接收电话到浏览器的方式

我想了解他们是如何让某人拨打一个普通的PSTN电话号码,并将电话转接到网络浏览器的

我偶然发现并得到了一些理解,但仍有一些东西是我所缺少的

为了澄清我的问题,让我们以以下场景为例:

第一部分 假设我住在伦敦,有自己的SIP服务器和SIP帐户,有一个PSTN电话号码,号码映射到SIP帐户。现在,我希望能够在浏览器中接收来自世界各地的电话。当人们拨打PSTN号码时,电话会通过我的电信服务提供商。那么这些电话是如何进入我的浏览器的呢?我是否必须先将SIP服务器连接到电信提供商系统,然后才能将呼叫转接到浏览器

这是否意味着,为了能够将呼叫指向浏览器,电信公司系统必须知道,对于这个特定的PSTN号码,呼叫必须到达我的SIP服务器或类似的地方

我想知道呼叫进入我的浏览器的所有步骤,包括介于两者之间的软件和(可能是硬件)

第二部分 Twilio将本地号码提供给需要的人。据我所知,Twilio与电信公司签署了协议,以获得这些号码。Twilio系统在能够直接呼叫用户浏览器之前是否连接到所有这些电信公司的系统?

Eddy

我想说的是,你的问题可以分为两个所需的技术解决方案。 第一个-从PSTN接到WebRTC的电话 第二个-浏览器上的来电

从PSTN接到WebRTC的电话

这样做需要网关(GW)。WebRTC在这一点上没有什么特别之处。将PSTN呼叫接入任何VoIP网络(SIP,H.323,专有)将需要一个将终止PSTN呼叫并初始化VoIP呼叫的端口。对于WebRTC,有一些特殊要求,如安全性、WebSockets、Opus 9或通用的G.711)。 另一个特殊之处是WebRTC没有指定信令。您可以使用SIP,但许多只使用简单的专有信令。这就是为什么许多解决方案创建了一种GW和WebRTC客户端的端到端解决方案

浏览器上的来电

这是一个更复杂的需求,它实际上取决于您拥有的整个应用程序。 如果您的浏览器未运行,则没有简单的方法可以通过它获取来电。一个解决方案可以是让用户安装一些小型应用程序来启动浏览器,但是您会错过无安装的优势,但是它比完整的客户端安装要好,因为它需要比这个小型启动程序应用程序更多的更新。 另一种情况是,用户在浏览您的网站时,您看到他遇到了麻烦,或者想买东西(或者选择任何其他用例),您要求他接听来电。这是一个更简单的情况,因为您已经运行了JS。 如前所述,这完全取决于具体的应用程序和场景


Amir

您可以使用plivo web SDK开发应用程序。这样你就不必担心电信供应商或服务器了。查看此处

了解SIP代理(无论是VOIP电话还是带有SIP Websockets的WebRTC)之间的内部通信,我们需要一个PSTN网关,它主要由3个组件组成:MGC(媒体网关控制器)用于控制,SGW(信令网关)用于将信号从PSTN转换为SIP,MGW(媒体网关控制器)用于将介质从G711/G729转换为Opus/vp8

至于号码转换,电信服务提供商维护一个枚举库,用于将sipuri映射到电话号码。如果您是OTT玩家,您应进行一次性验证/输入以存储映射值


我不能评论twilio的过程,因为我不知道他们做什么,但是架构指南使用网关在IP世界和GSM/UMTS/PSTN世界之间进行互连。

让我们先看看语音环境架构中的元素,包括SIP和PSTN转接

  • 语音交换:这将是您的软交换/SIP服务器。它可以提供路由、媒体和应用服务。您的用户将注册到此节点,或者可能通过代理/SBC注册到此节点。此节点上甚至可以有webRTC模块/节点,也可以是单独的
  • PSTN网关:这也可能包括在上述软交换中。它允许您的SIP呼叫从您的环境中断到外部世界(PSTN、GSM等)
这可以通过以下一种或两种方式实现:

  • SIP中继:这是PSTNGW或软交换机之间通过SIP与CSP/电信提供商之间的SIP互连。您向SIP中继发送任何外部呼叫,CSP就可以连接到世界其他地方。他们每打一个电话都要收费
  • 通过将模拟、GSM、SS7、ISDN卡插入软交换机或GW,您可以构建自己的PSTN转接。然后,外部调用将遍历这些外部网络
现在,来自某个SIP用户的到PSTN的出站呼叫将击中软交换机,它将通过SIP中继或PSTN GW将其路由出去。对于来自PSTN的入站呼叫,它将通过SIP中继或PSTN GW进入,软交换将其路由到用户。您的用户可以是标准注册SIP用户,也可以是webRTC用户。无论哪种方式,电话都可以转接给他

在您的示例中:

第一部分:::您需要将SIP服务器/软开关连接到Prov