1

我想知道两台装有 VoIP 软件的计算机如何在没有外部 IP 地址的情况下相互连接并交换语音数据。

4

3 回答 3

4

仅当您尝试将两者直接相互连接时,您才需要静态 IP 地址。VOIP 服务器充当中间人。

例子:

  • 人员 1 和人员 2 正在尝试进行 VOIP 通话
  • 他们都使用自己的 ID 在 VOIP 服务器上注册。
  • 当一个 ID 向另一个 ID 发出呼叫时,两者之间存在连接,服务器介于两者之间,但不直接相互连接。

SIP(会话发起协议)通常是用于 VOIP 的协议。有一个 SIP 注册器,即服务器。您可以使用Asterisk 的免费解决方案建立自己的 SIP 服务器。SIP 实际上使直接连接对等点成为可能。但是,这在人们没有静态 IPS 的互联网上是不可能的

Skype 等软件使用类似的工作流程。Skype 客户端尝试连接对等方。当它不能时,它会使用UDP Hole Punching之类的东西。

于 2012-07-21T09:01:24.083 回答
0

互联网上的每台计算机都有一个外部 IP。互联网就是这样工作的。

互联网上有许多页面,您可以在其中查看您的“外部 IP”。关于语音交换:它们连接到服务器,该服务器要么自己进行中继,要么在客户端之间交换 IP 信息,然后让客户端在它们之间建立连接。

于 2012-07-21T09:02:18.597 回答
0

VoIP 呼叫的实际数据是通过 RTP 传输的,它实际上只需要 24-64Kbps(取决于编解码器)并且需要双向传输 UDP 地址。偶尔会发送 RTCP 数据包来报告状态、指标等,但实际上并不需要。SIP 用于呼叫建立和拆除。

两个 VoIP 端点之间总是有一个网络地址,由 IP 地址和 VoIP 套接字组成。

是的,您可以通过其他一些传输协议或隧道(通过 http?)等代理 RTP。

于 2013-10-04T03:06:53.063 回答