将 sip 与 VOIP 一起使用的目的是什么?只是知道远程IP地址吗?
如果我(通过服务器)知道远程 IP 地址,然后建立直接 TCP 套接字连接进行呼叫协商,并通过 RTP 协议发送媒体,那么我还需要 sip 协议吗?或者 sip 在这里如何帮助我?
会话发起协议不仅仅是找出远程 IP 地址/端口/传输三元组。
它让两方
它还描述了如何构建可扩展的基础设施(代理、使用 SRV 和 NAPTR 记录、背靠背用户代理)、位置服务和许多其他细节,这些细节用于向任意第三方发出语音(或任何其他类型)呼叫.
SIP为 voip 呼叫分配一个 IP:port。然后,RTP 流(每个方向一个)将使用此 IP:端口作为目标地址。如果您只有一个静态 RTP 流要发送到您的服务器,那么按照您所说的去做可能会很有用并且可以。
否则,如果有很多客户端,或者如果您的系统需要进行大量更改,最好使用一个可以动态分配端口并建立会话的完善协议。
那么你已经实现了一个 sip 替代方案。sip(会话实例化协议)只是控制“电话呼叫”。如果你想自己做,为什么不呢?唯一的问题是有许多 sip 客户端和只有一个(或少数)客户端使用您的协议。
没有人强迫您实施标准。
例如,为什么要在 RTP 中实现媒体流?很可能是因为您已经拥有“讨论”RTP 的代码(例如库或raedymade 应用程序)。
标准的好处是,它将与所有其他实现相同标准的应用程序一起“开箱即用”。
如果它是一个开放标准,还有另一件好事:其他人已经花费了很多脑力来正确实施。你不需要陷入同样的问题。