结合freeswitch,分析voip中sip信令与音视频rtp传输的流程

freeswitch(下面用fs指代)作为sip server转发rtp包时,sip通话的整体流程大致如下:

1、主叫发送invite给fs,并在sdp中携带主叫方接下来节将发送rtp包给fs的端口port1;

2、fs转发invite信令给被叫放,其中已经修改过主叫方sdp中的IP&port2为fs服务端接收rtp包的地址信息(因为fs需要转流,所以fs要告诉需要修改sdp中描述rtp包目的发送、接收地址的信息,就是sdp中的Connection  Information(c) IN IPV6 2103:xxxxx:xxx; m:audio 21396等信息);

3、被叫方响应200 ok给fs,并在sdp中携带被叫方接受音视频rtp包的端口port3;

4、fs响应给主叫方200 ok,并携带fs的另一个接受rtp包的port4(注意,此port不同于fs给被叫方的port);

5、接下来,主叫方就将语音、视频等媒体流通过前面协商的port4来发送给fs,然后fs通过port2->port3这对端口将媒体流转发给被叫方。

具体的流程可以看下面图片(未完待续。。):

你可能感兴趣的:(voip)