SIP 协议的主要流程

目录

SIP 协议的呼叫模型图

基本呼叫建立流程

基本呼叫拆除流程

经过代理的呼叫建立流程

经过代理的呼叫拆除流程

SIP 协议在软交换 SoftX3000(华为推出的一个支持sip协议的交换机设备) 流程图


  • SIP 协议的呼叫模型图

 MGC 负责将 PSTN 前向信令映射为 SIP 请求,并且将 SIP 响应映射为 PSTN 后向信令,并且应该实现 Megaco/h.248 协议以及 SIP 用户助理部分。

SIP 代理逻辑上是一个独立的实体,实现是可以作为单独的物理实体也可以与 MGC 捆绑在一起。负责转发或重定向 SIP 请求和响应。

SIP 客户是一个单独的物理实体,可以是 SIP 电话,SIP 会议终端等。

MG 负责 PSTN 域 IP 网之间媒体流的转换和转发。 MG 之间,MG 与 SIP 终端之间使用 RTP/RTCP 协议传输媒体流。 MG 与 MGC 之间使用 Megaco/h.248 协议或 MGCP 协议传输 MGC 对 MG 的 控制信息以及 MG 向 MGC 上报的通知消息。 MGC 与 SIP 代理,MGC 与 SIP 客户或者 SIP 代理之间使用 SIP 协议来传输 呼叫控制消息。

  • 基本呼叫建立流程

(1) 主叫摘机

(2) S1 向 MGC1 发 IAM

(3) MGC1 向 MG1 发 CreateConnection 命令

(4) MG1 在响应中返回 MG1 的 RTP/RTCP 传输地址

(5) MGC1 向 MGC2 发送 INVITE,其消息体中包含完整的 IAM 消息

(6) MGC2 收到 INVITE 向 MG2 发送 CreateConnection 命令

(7) MGC2 从 INVITE 消息中拆离 IAM,将其发送到 S2

(8) MG2 建立与 MG1 的 RTP 连接,并在确认响应中返回自己的 RTP/RTCP 传输地址

(9) MGC2 向MGC1返回100(TRYING)响应,其中包含MG2的RTP/RTCP 传输地址信息 (10) MGC1 向 MG1 发送 ModifyConnection 命令

(11) MG1 建立与 MG2 的 RTP 并且向 MGC1 返回确认消息

(12) S2 向 MGC2 发送 ACM

(13) MGC2 向 MGC1 发送 180( RINGING)响应,其消息体包含 ACM

(14) MGC1 收到 180 响应,拆离 ACM 并将其发送给 S1 (15) 被叫摘机

(16) S2 向 MGC2 发送 ANM

(17) MGC2 向 MGC1 返回 200(OK)响应,其消息体中包含 ANM

(18) MGC1 收到 200 响应,拆离 ANM 并将其发送到 S1

(19) MGC1 向 MGC2 发送 ACK

  • 基本呼叫拆除流程

(1) 主叫挂机

(2) S1 向 MGC1 发送 REL

(3) MGC1 向 MG1 发 DeleteConnection 命令

(4) MG1 向 MGC1 返回 DeleteConnectionACK 响应

(5) MGC1 向 S1 发送 RLC

(6) MGC1 向 MGC2 发送 BYE 消息

(7) MGC2 向 MG2 发送 DeleteConnection 命令

(8) MG2 向 MGC2 返回 DeleteConnectionACK 响应

(9) MGC2 向 MGC1 返回 200(OK)响应

(10) MGC2 向 S2 发送 REL

(11) S2 向 MGC2 发送 RLC

  • 经过代理的呼叫建立流程

 (1) Caller goes off hook

(2) S1 向 MGC1 发 IAM

(3) MGC1 向 MG1 发 CreateConnection 命令

(4) MG1 在响应中返回 MG1 的 RTP/RTCP 传输地址

(5) MGC1 向 SIP 代理发送 INVITE,其消息体中包含完整的 IAM 消息

(6) SIP 代理向 MGC1 发送 INVITE,其消息体中包含完整的 IAM 消息

(7) MGC2 收到 INVITE 向 MG2 发送 CreateConnection 命令

(8) MGC2 从 INVITE 消息中拆离 IAM,将其发送到 S2

(9) MG2 建立与 MG1 的 RTP 连接,并在确认响应中返回自己的 RTP/RTCP 传输地址

(10) MGC2 向 SIP 代理返回 100(TRYING)响应,其中包含 MG2 的 RTP/RTCP 传输地址信息

(11) SIP 代理向 MGC1 返回 100(TRYING)响应,其中包含 MG2 的 RTP/RTCP 传输地址信息

(12) MGC1 向 MG1 发送 ModifyConnection 命令

(13) MG1 建立与 MG2 的 RTP 并且向 MGC1 返回确认消息

(14) S2 向 MGC2 发送 ACM

(15) MGC2 向 SIP 代理 发送 180( RINGING)响应,其消息体包含 ACM

(16) SIP 代理 向 MGC1 发送 180( RINGING)响应,其消息体包含 ACM

(17) MGC1 收到 180 响应,拆离 ACM 并将其发送给 S1

(18) 被叫摘机

(19) S2 向 MGC2 发送 ANM

(20) MGC2 向 SIP 代理返回 200(OK)响应,其消息体中包含 ANM

(21) SIP 代理向 MGC1 返回 200(OK)响应,其消息体中包含 ANM

(22) MGC1 收到 200 响应,拆离 ANM 并将其发送到 S1

(23) MGC1 向 SIP 代理发送 ACK

  • 经过代理的呼叫拆除流程

(1) 主叫挂机

(2) S1 向 MGC1 发送 REL

(3) MGC1 向 MG1 发 DeleteConnection 命令

(4) MG1 向 MGC1 返回 DeleteConnectionACK 响应

(5) MGC1 向 S1 发送 RLC

(6) MGC1 向 SIP 代理发送 BYE 消息

(7) SIP 代理向 MGC2 转发 BYE 消息

(8) MGC2 向 MG2 发送 DeleteConnection 命令

(9) MG2 向 MGC2 返回 DeleteConnectionACK 响应

(10) MGC2 向 SIP 代理 返回 200(OK)响应

(11) SIP 代理向 MGC1 转发 200(OK)响应

(12) MGC2 向 S2 发送 REL (13) S2 向 MGC2 发送 RLC

  • SIP 协议在软交换 SoftX3000(华为推出的一个支持sip协议的交换机设备) 流程图

 

(1) A 用户拨打 B 用户号码后,A 用户向 SoftX3000 发 INVITE 的 SIP 请求;

(2) SoftX3000 受到 A 用户 INVITE 的请求后,发 100 TRYING 的 SIP 临时 响应,表示请求正在处理中;

(3) SoftX3000 认证通过后,发 407 AUTHENTICATION 消息给 A 用户,A 用户从中获得域名等信息;

(4) A 用户受到 AUTHENTICATION 消息后,向 SoftX3000 反馈 ACK 确认 消息;

(5) A 用户重发 INVITE 请求,但与原 INVITE 请求的消息内容有所区别(详 细见主要消息说明);

(6) SoftX3000 受到 A 用户的 INVITE 请求后,发 100 TRYING 的 SIP 临时 响应,表示请求正在处理中;

(7) SoftX3000 向 B 用户发 INVITE 请求,准备创建连接;

(8) B 用户受到 INVITE 请求后,向 SoftX3000 送 100 TRYING 临时响应;

(9) B 用户判断可以接受本次呼叫后,向 SoftX3000 送 180 RINGING 振铃 消息;

(10) SoftX3000 向 A 用户转发 180 RINGING 消息;

(11) B 用户摘机后向 SoftX3000 送 200 OK 消息,包含会话能力的描述等内 容;

(12) SoftX3000 向 A 用户转发该消息;

(13) A 用户向 SoftX3000 反馈 ACK 确认消息;

(14) SoftX3000 向 B 用户转发 ACK 消息;

(15) B 用户发送 OPTIONS 给 SoftX3000,通知 A 用户修改连接;

(16) SoftX3000 向 A 用户转发 OPTIONS 消息,进入通话状态

(17) B 用户挂机后向 SoftX3000 送 BYE 消息,准备删除连接;

(18) SoftX3000 向 B 用户送 200 消息,表示成功删除 B 用户到 SoftX3000 的连接;

(19) SoftX3000 向 A 用户转发 BYE 消息;

20) SoftX3000 向 A 用户送 200 消息,表示成功删除 A 用户到 SoftX3000 的连接;

注:以上消息只是 SoftX3000 对 SIP 协议处理过程,不同产品可能实现方式 不一样。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/12865.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

51单片机--点亮LED灯和流水灯

文章目录 前言LED模块的原理点亮一个LED灯LED灯的闪烁LED流水灯 前言 大家好,这里是诡异森林。我使用的是普中科技的A2的51开发板,适合新手入门。用到的应用是Keil5和Stc-isp,第一个软件主要用来写代码的,第二个是将代码程序输送…

宝塔 安装/使用Apollo(阿波罗)参数配置中心-图文小白教程

官方安装教程手册:Apollo apollo(阿波罗)是一款可靠的分布式配置管理中心,诞生于携程框架研发部,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的…

Langchain的新课程;Mozilla开发的AI文档工具遭到开发者批评

🦉 AI新闻 🚀 Mozilla开发的AI文档工具遭到开发者批评,已下线 摘要:Mozilla开发的基于生成式AI的工具AI Help在开发者群体中遭到广泛批评。开发者认为该工具提供的信息常常错误,甚至认为它没有这个功能反而更好。针对…

win10 python3.7 pycharm安装dlib库报错

使用pycharm安装dlib一直报错 心态有点崩 好在没有放弃 解决了 报错 note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure. 解决:直接好用的就是安装.whl文件 将下载好对应Python3.7版本的.whl…

无线基站与无线频谱资源

文章目录 基站的主要组成天线馈线(电缆线)RRU(射频拉远单元,Remote Radio Unit)BBU(室内基带处理单元,Building Base band Unit)AAU(有源天线单元,Active Ant…

【异常错误】Unexpected option: --local_rank=0(pycharm可以run但是不可以debug)

今天在使用用run运行shell文件转为的cmd命令后,run可以正常运行,但是debug却出现问题,错误信息: Usage:pydevd.py --port N [(--client hostname) | --server] --file executable [file_options] Traceback (most recent call la…

在前端页面正确展示后端返回的验证码图片

前言: 在开发登录界面时,通过接口请求验证码;后端给返回的格式是Blob,直接用src引用没办法显示。 在控制台输入结果是: 第一想法就是通过 window.URL.createObjectURL(new Blob([res.data],{type:image/png}))转换成u…

【计算机网络】集线器和交换机的区别

1. 早期–总线型以太网 2. 集线器–星型以太网 3.以太网交换机 4. 集线器和以太网交换机的对比 4.1 单播、多播、同时单播 4.2 扩展以太网的单播 4.3 扩展以太网的多播 4.4 小结

数学建模常用模型(五):多元回归模型

数学建模常用模型(五):多元回归模型 由于客观事物内部规律的复杂性及人们认识程度的限制,无法分析实际对象内在的因果关系,建立合乎机理规律的数学模型。所以在遇到有些无法用机理分析建立数学模型的时候,…

交易所行情基础相关知识

目录 一、行情基本概念 二、简单交易模型 三、行情系统结构 四、各种行情协议 1.FIX 2.STEP 3.FAST 4.Binary 五、集合竞价和连续竞价 1.集合竞价 2.连续竞价 六、上交所LDDS和深交所Binary行情对比 一、行情基本概念 行情是描述市场繁荣状态的数据,…

Docker学习笔记26

Docker stack应用: 1)Docker 层级关系中的最高层次——stack,一个stack就是一组有关联的服务的组合,可以一起编排,一起管理。 早期,使用service来发布服务。但是service每次只能发布一个service。 yaml可…

基于matlab检测使用校准的立体摄像头拍摄的视频中的人物并确定其与摄像头的距离(附源码)

一、前言 此示例演示如何检测使用校准的立体摄像头拍摄的视频中的人物,并确定他们与摄像头的距离。 二、加载立体摄像机的参数 加载对象,这是使用应用程序或函数校准相机的结果。 三、创建视频文件阅读器和视频播放器 创建用于读取和显示视频的系统对…