什么是SIP请求和SIP响应?

130 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第13天,点击查看活动详情

通过VoIP(IP电话)建立呼叫时,大多数情况下使用所谓的SIP协议。SIP(SessionInitiationProtocol)是一种信令协议,它通过SIP请求和相应的SIP响应在两个或多个参与者之间建立连接,参与者的终端设备通过它相互通信,从而发起呼叫的建立或终止。

SIP请求和响应

SIP如何工作?

SIP是一种应用层协议,与HTTP等基于文本的应用层协议非常相似,它本身是不提供通信服务的;它在开放系统互连(OSI)通信模型的应用层中工作。

SIP是一种请求 - 响应协议,接收来自客户端的请求和来自服务器的响应。请求可以通过任何传输协议发送,例如UDP,SCTP或TCP。

SIP确定要用于会话的终端系统,通信媒体和媒体参数,以及被叫方是否同意参与通信。一旦确保这些,SIP就在通信的任一端建立呼叫参数,也处理呼叫转移和终止。

SIP请求


IP电话中使用的SIP请求一共有14个(前6个是基本请求):

  1. INVITE:邀请对方加入通话(发起会话)
  2. ACK:确认INVITE请求
  3. BYE:结束会话
  4. CANCEL:取消挂起的请求
  5. REGISTER:向服务器传输参与者的位置信息(主机名、IP地址)
  6. OPTIONS:提供有关呼叫中涉及的SIP电话支持的功能的信息
  7. PRACK:作为请求的初步确认
  8. SUBSCRIBE:订阅某个事件发生时的通知
  9. NOTIFY:发生状态变化时发送通知(事件监控)
  10. PUBLISH:主动向服务器传输状态或事件信息
  11. INFO:在通话过程中传输控制和监控信息
  12. REFER:请求接收者转发现有连接
  13. MESSAGE:发送即时消息
  14. 更新:更改通话状态

SIP响应


SIP响应
SIP响应是对SIP请求的响应。有六类SIP响应,有许多响应选项:

1xx:提供信息性消息(180表示,例如,接收者的振铃)

2xx:报告请求成功

3xx:报告重定向

4xx:表示请求错误

5xx:通知服务器错误

6xx:报告一般错误