在本地网络中使用VoIP

时间:2014-04-30 11:35:41

标签: ios networking voip skype

我们正在开发一个iOS应用程序,我们需要了解它如何在同一本地网络上的2台设备/机器上运行VoIP。在同一网络上的2个Skype用户之间传输文件时,文件传输速度非常快。因此,当连接2个设备在同一网络上时,必须有不同的东西。

文件共享可能与VoIP不同,至少VoIP部分对同一网络或不同网络上的用户的工作方式相同。但如果不是这样,那么我想知道通过Skype在同一网络和不同网络上连接机器的区别。

1 个答案:

答案 0 :(得分:0)

通常VoIP基于3种协议。 SIP,RTP和RTCP。

尝试阅读一些有关SIP信号或SIP消息流的文章。同一网络中的两个设备可以直接通信或通过SIP代理进行通信。基本上,应用程序必须至少支持:

  • REGISTER
  • INVITE
  • CANCEL
  • BYE
  • 100尝试
  • 180 Ringing
  • 200 OK
  • 486在这里忙碌

以及其他一些SIP消息和状态代码。您的应用必须能够处理协商编解码器的SDP消息 - 选择一些免费和开放的编解码器,如G.711或iLBC。在SDP报头内也协商RTP和RTCP端口,尝试阅读有关SDP的内容。

由于此标准模型使用多个端口,因此在实施NAT时可能会出现问题,但由于您位于同一LAN内,因此不是这种情况。

注意转移速度 - 如果您在同一网络中,您在呼叫时不会遇到任何损伤 - 语音以每20 ms发送的非常小的数据包(即273字节)发送。如果您使用的是有线100 Mbit或1 Gbit网络,则可以完美运行。在使用Wi-Fi时,可能会出现一些损伤,因为它不太可靠。

可在此处找到更多信息:

http://www.ietf.org/rfc/rfc3261.txt

http://tools.ietf.org/html/rfc4566.html

http://www.ietf.org/rfc/rfc3550.txt

如果您对VoIP有任何进一步的问题,我希望至少能回答一下您的问题。