首页 > 其他分享 >SIP协议

SIP协议

时间:2022-12-24 19:33:26浏览次数:49  
标签:协议 SIP 请求 URL 消息 呼叫 INVITE

目录

一、SIP协议概念

会话启动协议 SIP(Session Initiation Protocol) 是一个在IP网络上进行多媒体通信的应用层控制协议,被用来创建、修改、和终止一个或多个参加者参加的会话进程。

协议功能:

  • 用户定位:确定参加通信的终端用户位置;
  • 用户通信能力协商:确定通信的媒体类型和参数;
  • 建立呼叫:包括向被叫 "振铃",确定主叫和被叫的呼叫参数;
  • 呼叫处理和控制:包括呼叫重定向、呼叫转移、终止呼叫等等。

SIP是在应用层上的协议,可以使用UDP、TCP,但一般默认使用UDP5060端口进行信令控制

控制流:由上图可以分析到,首先发送方将呼叫送到语音网关上面,再由语音网关送到接收方。

媒体流:媒体流是不需要经过语音网关的,直接是和接收方点对点传输媒体流。

所以可能会出现一种情况,我们信令层面是可以送达的(有振铃音),但是接起来电话没有声音,遇到这种情况需要排查一下 从发送方接收方网络上是否有限制。

二、SIP URL

为了能够正确传送协议消息,SIP还需要解决两个重要问题,第一是 "寻址",即采用什么样的地址形式标识终端用户。第二是 "用户的定位"。

寻址采用 SIP URL,按照RFC2396规定的URL导则定义其语法,特别是用户名字段可以是电话号码,以支持IP电话网关寻址,实现IP电话和PSTN的互通。

SIP URL的一般格式结构为:

三、SIP协议消息体

1、请求消息分类

请求消息 消息含义
INVITE 发起会话请求,邀请用户加入一个会话
ACK 对INVITE请求的最终响应;该消息配合INVITE使用
BYE 结束会话
CANCEL 取消尚未完成的请求
REGISTER 注册
OPTIONS 查询服务器的能力

2、请求消息结构

INVITE sip:[email protected]:15060 SIP/2.0   # 消息名称 对端URL 版本

From: <sip:[email protected]>;tag=XrU4v00Xm6ZrQ # 发送方
To: <sip:[email protected]:15060>                 # 接收方
CSeq: 61369395 INVITE
Call-ID: 977c6c60-fdcf-123b-2e8a-fefcfeabc200           # 唯一标识
Via: SIP/2.0/UDP 27.17.53.100:38890;rport;branch=z9hG4bKByyNQBrUKmy9K  # 标识请求路径
Contact: <sip:[email protected]:38890>
Supported: timer, path, replaces
Max-Forwards: 70                                         # 最大跳转数

3、响应消息分类

对上面请求消息的回应

状态码 解释 表述
1xx 临时响应 表示已经接收到请求,正在处理
2xx 成功响应 表示成功接受请求、处理
3xxx 重定向响应 表示需要采取下一步动作,以完成请求
4xx 客户端出错 表示请求消息中包含错误或SIP服务器不能完成该请求
5xx 服务端出错 表示SIP服务器故障不能完成对正确消息的处理
6xx 全局出错 表示请求不能在任何SIP服务器上实现

四、SIP呼叫流程

标签:协议,SIP,请求,URL,消息,呼叫,INVITE
From: https://www.cnblogs.com/qinziteng/p/17003261.html

相关文章

  • 单片机通信协议
    ADC工作原理采样——保持——量化——编码采样:间隔一定时间对模拟信号进行采样,单位时间对信号的采样次数被称为采样率保持:保持电路将模拟信号保持一段时间,让后级的数字......
  • AMBA 总线协议-AXI 协议
    AXI组成部分:AXI4协议中包含五种信道,通道之间相互独立且存在差别,通过通道进行通信之前需要使用VALID/READY进行握手,Read和Write根据Master定义:读地址信道(ReadA......
  • 恶意软件加密通信概要分析——端口分布、协议分布、恶意软件类型分布,20年的文章
    恶意软件加密通信概要分析主编 • 2020年1月9日上午10:51 • 恶意软件, 网络攻击 • 阅读20800恶意加密流量是当前流量安全检测的难点和难点。机器学习可以......
  • Spring Security系列教程29--OAuth2.0协议详解
    前言截止到现在,一一哥已经带各位把SpringSecurity中的主要功能学完了,并且剖析了这些内容的底层实现原理,希望你可以有所收获。但是在安全认证领域,还有另一种很重要的授权机......
  • 实用干货!看壹哥如何在SpringBoot项目中同时支持https和http协议
    最近壹哥的一个学生在做项目时碰到了一个特殊的需求,前端浏览器需要存放跨域请求的cookie,需要将cookie的secure属性设置为true。这样一来,就要求后端的接口必须以HTTPS协议提......
  • SMBus 协议
     SMBus是I2C协议的一个子集SMBus:SystemManagementBus,系统管理总线。SMBus最初的目的是为智能电池、充电电池、其他微控制器之间的通信链路而定义的。SMBus也......
  • 【操作系统---并发编程】CPU cache结构和缓存一致性(MESI协议)
    转载自:https://blog.csdn.net/reliveIT/article/details/50450136?spm=1001.2014.3001.5506(三人行,必有我师) 一、cachecpucache已经发展到了三级缓存结构,基本上现在......
  • HTTPS 中 SSL/TLS 协议基本流程(转)
    SSL/TLS 协议基本流程:客户端向服务器索要并验证服务器的公钥。双⽅协商⽣产「会话秘钥」。双⽅采⽤「会话秘钥」进⾏加密通信。前两步也就是 SSL/TLS 的建⽴过程,也......
  • 5G NR - RLC协议阅读笔记 - 从LTE到NR的变化
    通过前面的学习,我们已经知道,在NR中,每个PDCPSDU形成PDCPPDU,然后形成RLCSDU,然后组成RLCPDU。由于NR里面去掉了RLC级联功能。一个RLCPDU可能包含一个RLCSDU或一个RL......
  • 正点原子STM32-串口协议学习笔记
    bit15bit14bit13~0接收完成标志接收到0x0d接收到的有效字节数过程:接收abcd然后/n最后立结束标志位为1对数组USART2_RX_BUF[]处理时,发现数组不......