SIP协议学习笔记

SIP 协议(Session initialization Protocol)会话发起协议

是IETF制定的多媒体通信协议,是一个基于文本的应用层控制协议,用于建立,修改和终止IP网上的双方多方多媒体会话,支持代理、重定向、登记定位用户等功能 支持用户的移动,与RTP/RTCP/SDP/DNS等协议配合,可支持和应用于语音、视频、数据等多媒体业务
在这里插入图片描述

SIP是一种基于文本的协议,它的语法和消息非常类似于HTTP协议,不同之处在于SIP不仅可以用TCP,也可以用UDP封装。
在这里插入图片描述

一、SIP提供的功能:
名字翻译和用户定位
无论被呼叫方在哪里都确保呼叫达到被叫方、执行任何描述信息到定位信息的映射,确保呼叫(会话)的本质细节被支持。
特征协商:
它允许与呼叫有关的组(这可以是多方呼叫)在支持的特征上达成一致(注意:不是所有各方都能够支持相同级别的特征)。例如,视频可以或不可以被支持。总之,存在很多需要协商的范围。
呼叫参与者管理:
呼叫中参与者能够引入其他用户,加入呼叫或取消到其他用户的连接。此外,用户可以被转移或置为呼叫保持。
呼叫特征改变:
用户应该能够改变呼叫过程中的呼叫特征。例如,一个呼叫可以被设置为“voice-only”,但是在呼叫过程中,用户可以开启视频功能。也就是说一个加入呼叫的第三方为了加入该呼叫可以开启不同的特征。


二、SIP系统基本组成
SIP协议虽然主要为IP网络设计的,但它并不关心承载网络,也可以在ATM、帧中继等承载网中工作,它是应用层协议,可以运行于TCP,UDP,SCTP等各种传输层协议之上。SIP用户是通过类似于e-mail地址的URL标识,例如:sip:myname@mycompany.com,通过这种方式可以用一个统一名字标识不同的终端和通信方式,为网络服务和用户使用提供充分的灵活性。按逻辑功能区分,SIP系统由4种元素组成:用户代理、代理服务器、重定向服务器以及注册服务器。
在这里插入图片描述

1.用户代理
用户代理(UserAgent)一个软终端或者一个支持SIP协议的电话UA对接收到的行为进行代理,发送到SIP网络中,是发起和终止会话的实体,包括两个功能实体。

客户端(UserAgentClient),负责发起呼叫,UAC是负责发起SIP事务请求的功能实体,将动作翻译成invite请求
在这里插入图片描述

用户代理服务器(UserAgentServer),负责接受呼叫并做出响应,接收SIP事务请求的功能实体,SIP向用户发送invite请求,UAS把这个请求翻译成相应的动作,例如:电话振铃、网页上显示新的呼叫
在这里插入图片描述

二者组成用户代理存在于用户终端中。用户代理按照是否保存状态可分为有状态代理、有部分状态用户代理和无状态用户代理。

2.代理服务器
代理服务器(ProxyServer),负责接收用户代理发来的请求,根据网络策略将请求发给相应的服务器,并根据收到的应答对用户做出响应。它可以根据需要对收到的消息改写后再发出。
转发
在这里插入图片描述

3.重定向服务器
重定向服务器(RedirectServer),用于在需要时将用户新的位置返回给呼叫方。呼叫方可根据得到的新位置重新呼叫。

PS:位置服务器,网络还需要提供位置目录服务,以便在呼叫接续过程中定位被叫方(服务器或用户端)的具体位置。在这里插入图片描述
在这里插入图片描述

4.注册服务器 注册服务器(Registrar),用于接收和处理用户端的注册请求,完成用户地址的注册。
在这里插入图片描述


在这里插入图片描述

在这里插入图片描述
SIP基本请求消息:
在这里插入图片描述
SIP响应消息:
在这里插入图片描述


SIP会话建立的基本流程:
在这里插入图片描述
用户首先发送invite消息,被叫用户收到后返回100表示试呼,180Ringing表示处理完了(例图打印错误),这两条消息是临时响应消息,然后发送200ok,200ok是成功的响应消息,包含了被叫的这次通信的媒体信息,主叫收到200后,会向被叫发送ACK,完成三次握手


有时候,主叫侧没有被叫侧的路由信息,这时需要代理服务器
在这里插入图片描述

代理服务器只起到转发功能,不是解析功能,UAS返回的200包含了联系地址,100、180临时未返回,因为本就是可选消息。


重定向服务器用于在需要时将用户新的位置返回给呼叫方。呼叫方可根据得到的新位置重新呼叫。
用户想要使用重定向服务,就要先向重定向服务器里登记自己的新地址
在这里插入图片描述


参考:
1、SIP协议工作原理
2、什么是SIP

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Netty SIP协议是一种基于Netty框架的会话初始化协议SIP代表会话初始化协议,它是一种基于文本的通信协议,用于在IP网络上建立、修改和终止多媒体会话。Netty是一个基于Java的异步事件驱动的网络应用编程框架,提供了高性能、可扩展的网络通信能力。 Netty SIP协议的设计目标是提供一个可靠、高速的会话初始化协议,以满足多媒体会话的需求。它基于Netty的事件驱动模型和异步IO,能够在网络通信中实现高性能和低延迟。 Netty SIP协议主要包含以下几个核心组件: 1. SIP消息格式:Netty SIP协议定义了SIP消息的格式,包括请求和响应的格式。这样可以方便地将SIP消息进行编解码,并在网络上进行传输。 2. SIP状态管理:Netty SIP协议通过状态管理来处理会话的各种状态。它能够跟踪会话的建立、修改和终止,并在需要时触发相应的事件。 3. 路由与转发:Netty SIP协议支持路由和转发功能,能够根据会话的相关信息将消息正确地转发到目标节点。这样可以构建一个分布式的会话系统。 4. 会话管理:Netty SIP协议提供了会话管理功能,能够管理会话的生命周期和相关的资源。它允许创建、销毁和管理会话,以及处理会话的各种事件。 总的来说,Netty SIP协议是一个基于Netty框架的高性能、可扩展的会话初始化协议。它能够实现多媒体会话的建立、修改、终止和管理,为网络通信提供了可靠和高效的解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

挥剑决浮云 -

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值