Sip VoIP呼叫所需的最低协议集是什么?

Sip VoIP呼叫所需的最低协议集是什么?,sip,voip,rtp,rfc,Sip,Voip,Rtp,Rfc,我一直在阅读关于IP语音的内容,但我仍然不清楚必须实现哪些协议(即RFC)来支持两个IP端点之间的音频呼叫,而这两个端点可能不在同一网络上 到目前为止,我了解到: RTP(RFC3550)用于音频有效负载传输 SIP(rfc3261)用于信令 SDP(RFC 4566)用于媒体协商(即使用哪种编解码器) RTCP(RFC 3550)用于传输统计 所以,如果我没弄错的话,应该可以使用上述3种协议在两台设备之间建立SIP音频呼叫(?) 但我不能完全确定的是: 您需要实现哪些RFC以确保可以在驻

我一直在阅读关于IP语音的内容,但我仍然不清楚必须实现哪些协议(即RFC)来支持两个IP端点之间的音频呼叫,而这两个端点可能不在同一网络上

到目前为止,我了解到:

  • RTP(RFC3550)用于音频有效负载传输
  • SIP(rfc3261)用于信令
  • SDP(RFC 4566)用于媒体协商(即使用哪种编解码器)
  • RTCP(RFC 3550)用于传输统计
所以,如果我没弄错的话,应该可以使用上述3种协议在两台设备之间建立SIP音频呼叫(?)

但我不能完全确定的是:

  • 您需要实现哪些RFC以确保可以在驻留在不同(防火墙)网络上的两个设备之间建立SIP音频呼叫
RPort(RFC 3851)非常简单,对SIP消息和防火墙有很大帮助。否则,防火墙/NAT穿越就是一大罐蠕虫。有诸如TURN和ICE之类的协议,还有诸如检查和修改IP地址之类的简单技术,这些都不会出现在任何RFC中。顺便说一下,您的RFC列表很好,尽管RTCP在很大程度上仍然是可选的

这证明更适合serverfault和/或某种程度上的超级用户。我在StackOverflow上看到很多SIP问题。实现3个协议就足够了(忽略NAT遍历问题)?大多数SIP电话如何解决这些NAT穿越问题?取决于NAT的类型、端口转发等,这是一个没有解决方案的大问题。例如,查看XLite中的选项。也许可以从使用rport开始,并了解您的外部地址。是的,对于最小的实现,您只需要SIP、SDP和RTP。