SIP协议概述
以tcp/ip参考模型为例,sip是在应用层中
一、为什么会出现SIP协议?
随着多媒体技术和网络技术的发展,越来越多网络视频监控应用应运而生,人们对视频监控系统的要求也越来越高。另外Internet上有很多的应用都需要建立和管理一个会话,会话指的是数据的交换,根据实际情况来说,实现起来是非常复杂的,例如,他们传递的数据可能有多种(文本、语音、图片、视频)。在这种情况下,sip的出现很好的解决了上面的问题,SIP允许创建基础的network hosts(叫做代理服务器),并且允许终端用户注册上去,发出会话邀请,或者发出其他请求。SIP是一个轻形的,多用途的工具,可以用来创建,修改和终止会话,它独立运作于通讯协议之下,并且不依赖建立的会话类型。
二、SIP协议的功能
SIP是一个应用层的控制协议,可以用来建立、修改、和终止多媒体会话(或者会议)例如Internet 电话。SIP也可以邀请参与者参加已经存在的会话,比如多方会议。媒体可以在一个已经存在的会话中方便的增加(或者删除)。SIP显示的支持名字映射和重定向服务,这个用于支持个人移动业务-用户可以使用一个唯一的外部标志而不用关系他们的实际网络地点。SIP在建立和维持终止多媒体会话协议上,有5个主要功能:
1) 用户定位: 确定被叫SIP终端所在的位置。SIP的最强大之处就是用户定位功能。。
2) 用户有效性:检查用户参与会话的意愿程度。
3) 用户能力:检查媒体和媒体的参数。
4) 建立会话:建立主被叫双方的会话参数。SIP会话双方通过协商媒体类型和媒体参数,最终选择双方都具有的能力建立起会话
5) 会话管理:包括发送和终止会话,修改会话参数,激活服务等等。
三、SIP协议的详细过程
(1)主叫A发送invite请求到代理服务器
(2)代理服务器返回100Trying响应
(3)代理服务器搜索被叫B的地址,获取到后转发接收到的invite请求
(4)被叫B生成180的振铃响应,返回给主叫A
(5)被叫B生成200 ok响应返回给主叫A
(6)主叫A收到B的200 ok响应后,向被叫B发送ACK确认,会话建立
(7)会话结束后,任何参与者(A或者B)可以发送一个BYE请求来终止会话
(8)另一方收到BYE,发送200 ok,会话终止
参考文档
相关文章
- 机器编程驾到,会让2700万程序员丢掉饭碗吗?
- 偷师 Next.js:我学到的 6 个设计技巧
- 关于动态规划,你该了解这些!
- 真正影响DevOps/DevSecOps应用的趋势是什么?
- 谁说明天上线,这货压根不知道开发流程!
- 三万字带你彻底吃透MyBatis源码!!
- 2021年如何成为一名Web开发人员
- 高性能解决线程饥饿的利器 StampedLock
- 程序员开发抢茅台脚本,两天刷榜 GitHub 后谢幕
- 大多数数据仓库项目都失败了,这里有避免失败的灵丹妙药
- 我从 17w star 的 Vuejs 中学到了什么?
- MatRec : 解决推荐系统马太效应的利器
- 用太极拳讲分布式理论,真舒服!
- 数据结构与算法之基本概念
- 看这8个DevOps重点,提高2021 生产率
- 狂揽标星3.2K,程序员的这个开源直播软件火了
- 在DevOps中整合“安全即代码”文化
- 降低代码的圈复杂度
- 一篇文章带你了解Go语言基础之网络编程
- 分库分表实战:竿头日上-千万级数据优化之读写分离