什么是SIP请求和SIP响应?

简介: 什么是SIP请求和SIP响应?

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


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

101.png


SIP如何工作?

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

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

100.png



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响应



99.png

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


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

2xx:报告请求成功

3xx:报告重定向

4xx:表示请求错误

5xx:通知服务器错误

6xx:报告一般错误


相关文章
|
存储 编解码 网络协议
SIP极简教程
SIP运行在我们熟知的TCP和UDP协议之上,既可以使用TCP协议通信也可以通过UDP协议通信。SIP是对等协议,一个端既是客户端又是服务端。
2255 1
SIP极简教程
|
7月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS收费价格:最新MySQL、SQL Server、PostgreSQL和MariaDB收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL和MariaDB,多种引擎任选。基础版优惠价低至88元/年,如MySQL倚天版1核2G仅需88元,SQL Server 2核4G 299元/年,PostgreSQL 2核4G 227元/年,高性价比,弹性可扩展,安全稳定,详情可查官方活动页面。
1177 1
|
运维 小程序 数据安全/隐私保护
vos对接移动、电信、联通的线路你要清楚这些
vos对接移动、电信、联通各种线路
3885 0
|
10月前
|
算法 安全 Python
【顶级EI复现】分布式电源选址定容的多目标优化算法(Matlab代码实现)
【顶级EI复现】分布式电源选址定容的多目标优化算法(Matlab代码实现)
262 1
|
人工智能 编解码 5G
虚拟现实(VR)与增强现实(AR)的融合:开启全新交互时代
【6月更文挑战第17天】虚拟现实(VR)与增强现实(AR)融合成混合现实(MR),打造全新交互体验。MR结合VR的沉浸感和AR的现实增强,应用于教育、游戏、设计和营销,带来创新教学方式、沉浸式游戏体验和高效设计工具。尽管面临技术挑战,随着5G和AI的发展,MR有望引领未来交互的革命。
1068 5
|
消息中间件 缓存 NoSQL
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
|
编解码 网络协议 数据安全/隐私保护
计网 - 图解OSI 七层模型 和 TCP/IP 四层模型
计网 - 图解OSI 七层模型 和 TCP/IP 四层模型
11994 0
|
网络协议 中间件 机器人
通过顶顶通呼叫中心中间件玩转FreeSWITCH媒体流
怎么获取FreeSWITCH的媒体流是一个老生常谈的问题了,最常见的方法media_bug 很多人需要直接获取原始的声音流,然后自己处理,其实FreeSWITCH也是支持的,只是知道的极少,FreeSWITCH原生支持 unicast 通过udp 把声音流推送到一个UDP端口,和播放网络的声音流。 fs实现的unicast,有一个缺陷如果启动了unicast 就没办法调用playback等放音函数了。
1504 0