使用SIP建立呼叫时,是建立RTP流的呼叫方还是被呼叫方?

时间:2018-12-17 21:59:05

标签: android sip voip rtp

有关SIP的IETF文档非常密集,但是一旦OKs和ACK消失,我找不到与建立RTP连接的操作顺序相关的任何信息。

另外,端口是否应该在发送最终SIP消息之前或之后打开?

作为参考,我正在使用Yealink电话作为呼叫设备,并且正在开发一个Android应用程序来接收这些呼叫。

对不起,如果以前曾有人问过我,虽然我找不到任何帮助... 我将不胜感激!

2 个答案:

答案 0 :(得分:0)

RTP流通常使用UDP数据包发送。因此,没有实际的连接,数据包只是发送到指定的IP地址和端口。

用户代理客户端一旦发送了包含SDP报价的INVITE请求,就必须准备好在SDP报价的IP地址和端口上接收RTP数据包。参见RFC3264

  

要约人发送要约后,必须准备好接收      该要约描述的所有正常流的媒体。一定是      准备发送和接收媒体中任何sendrecv流的媒体      要约,并为要约中的任何sendonly流发送媒体      当然,只有在对方提供答案之前,它才能真正发送      以及所需的地址和端口信息。

答案 1 :(得分:0)

他们俩都不;一旦ACK收到会话,数据包将被双向发送。使用RTPSRTP建立连接; (可选)与RTCP一起支持STUN

这显示了直接呼叫:

SIP call procedure

提示:通过服务器进行的间接调用的工作方式有所不同。

来源:3cx.de(德语)。