2014-08-31 32 views
0

我一直在閱讀關於IP語音的知識,目前還不清楚您必須實現哪些協議(即RFC)才能支持兩個端點之間可能不會駐留在同一網絡上的兩個IP端點之間的音頻呼叫。VoIP呼叫所需的最小協議集是多少?

到目前爲止,我的理解是:

  • RTP(RFC 3550),用於音頻的有效載荷運輸
  • SIP(​​RFC 3261),用於信令
  • SDP(RFC 4566)用於媒體協商(即,編解碼器使用)
  • RTCP(RFC 3550)用於傳輸統計

所以,如果我沒有記錯它應該可以建立兩個設備之間的SIP音頻呼叫與3個上述協議

。但我不能完全確定的是(?):

  • 哪個RFC中你需要實現,以確保是否可以在位於不同(防火牆)網絡的兩臺設備之間建立SIP音頻呼叫?
+0

這證明更適合serverfault和/或有點超級用戶 – 2014-08-31 18:19:28

+0

我看到大量的SIP問題在stackoverflow – user1884325 2014-08-31 18:29:18

回答

1

RPort(RFC 3851)非常簡單,對SIP消息和防火牆有很大的幫助。否則,防火牆/ NAT穿越是一大堆蠕蟲。有諸如TURN和ICE之類的協議,以及諸如檢查和修改不在任何RFC中的IP地址之類的簡單技術。雖然RTCP仍然是很大程度上可選的,但您的RFC列表很好。

+0

因此,3協議的實現就足夠了(不考慮NAT穿越問題)?大多數SIP電話如何解決這些NAT穿越問題? – user1884325 2014-09-01 19:21:26

+0

取決於NAT的類型,端口轉發等,它是一個很大的主題,沒有任何解決方案。例如,查看XLite中的選項。也許可以從使用rport開始,並知道你的外部地址。 – user3194963 2014-09-02 09:12:55

+0

是的,對於最小的實現,你只需要SIP,SDP和RTP。 – user3194963 2014-09-04 12:39:57

相關問題