专注SIP通讯产品与方案

SAP协议是什么

    SAP的全称是会话通告协议,是英文Session Announcement Protocol的首个字母的缩写。其目的是为了通知一个多播的多媒体会议或其他多播会话而将相关的会话建立信息发送给所期望的会议参与者。SAP协议本身并不建立会话,它只是将建立会话所必要的信息(例如,将所采取的视频或音频编码方式)通知给其他在一个多播组内的参与者,当参与者接收到该通知数据包后就可以启动相应的工具,并设置正确的参数向该会议的发起者建立会话了(建立会话可以使用SIP协议)。

SAP会话通告协议

     通知的发起者并不知道各参与者是否收到了会话通知,也就是说每个参与者并不向通知发起者回复“我收到了通知”的确认。因此,通知发起者只能够通过周期性地发送这个会话通知从而最大可能地使参与者收到通知。

     SAP并不是向每个参与者一一发通知数据包,它是通过多播的机制(multicast)向一个已知的多播地址和端口一次性发送一个通知数据包,该多播组内的成员如果工作正常的化就会收到该通知数据包。因此,为了使会议的参与者都能够接收到通知,就要确保其参加到该多播组内。

SAP数据包传输

     一个通知数据报除了可以通知某会话将要发起外,还可以通知该会话取消了或该会话的某些通信参数已被修改了。当然,这需要相应机制使这几个通知都是针对同一会话的。
     那么SAP如何描述会话的相关信息,这就需要借助SDP协议了。在SAP数据包的payload字段中一般情况下填充的就是SDP数据,它描述了建立会话所必要的基本信息。