sip会话流程以及sip介绍(3)
1、mtk_ims_mo_sip报文交互流程
log:
步骤1:ATD触发MO呼叫尝试
步骤2:VDM选择ADS到IMS。
步骤3:触发VoLTE UA来设置MO调用。
步骤4:SIP信息到P-CSCF进行MO呼叫设置和协商
步骤5:在VoLTE情况下确认专用承载与此调用尝试的QoS条件匹配。
步骤6:更新数据路径的媒体参数。在VoWiFi中, WFCA信号被handle RTP on WiFi。
步骤7:将呼叫状态传递给IMC,并激活媒体流。
步骤8:URC来指示Framework的call状态。
2、mtk_ims_MT_sip报文交互流程
步骤1:VoLTE UA接收SIP消息为MT呼叫尝试和协商P-CSCF为MT呼叫设置。
步骤2:在VoLTE情况下确认专用承载与此调用尝试的QoS条件匹配
步骤3:更新数据路径的媒体参数。在VoWiFi中,也给WFCA发信号来处理WiFi上的RTP
步骤4、5:传递MT call attempt到Framework,等待用户接受。
步骤6:通知VoLTE UA接受MT调用并完成调用设置
步骤7:SIP消息到P-CSCF完成MT设置
步骤8:将呼叫状态传递给IMC,激活媒体流
步骤9:URC来指示框架的调用状态
//receive,request,INVITE [AT_URC p31,ch1]+ESIPCPI: 0,1,0,1,0,"" [AT_URC p31,ch1]+EAIC: 1,"13267945631",129,20,102,0 [AT_RX p33,ch3]AT+EAIC=0,1,102 //send ,response,INVITE [AT_URC p31,ch1]+ESIPCPI: 1,0,1,1,183,"" [ATCI_AT_I_0 s33]AT+EIMSCI=1,0,0 //IMS 开启,LTE //MT,IMS_VOICE_CALL,国内呼叫 [AT_URC p31,ch1]+ECPI: 1,0,0,1,1,20,"13267945631",129,"<tel:13267945631>" [AT_URC p31,ch1]+ESIPCPI: 1,1,0,13,0,"" //receive request PRACK [AT_URC p31,ch1]+ESIPCPI: 1,0,1,13,200,"" //send response PRACK [AT_URC p31,ch1]+ESIPCPI: 1,1,0,3,0,"" //receive request UPDATE [AT_URC p31,ch1]+ESIPCPI: 1,0,1,3,200,"" //send response UPDATE [AT_URC p31,ch1]+ESIPCPI: 1,0,1,1,180,"" //send response INVITE [AT_URC p31,ch1]+CRING: VOICE //180 Ring [AT_URC p31,ch1]+ESIPCPI: 1,0,1,1,200,"" //send response INVITE [AT_URC p31,ch1]+ECPI: 1,132,0,1,1,20,"13267945631",129,"<tel:13267945631>" [AT_URC p31,ch1]+ECPI: 1,6,0,1,1,20,"13267945631",129,"<tel:13267945631>" [AT_URC p31,ch1]+ESIPCPI: 1,1,0,6,0,"" // receive request ACK [AT_URC p31,ch1]+ESIPCPI: 1,1,0,1,0,"" // receive request INVITE [AT_URC p31,ch1]+ESIPCPI: 1,0,1,1,200,"" // send response INVITE [AT_URC p31,ch1]+ESIPCPI: 1,1,0,6,0,"" // receive request ACK [AT_URC p31,ch1]+EIMSCMODE: 1,20,0,3,"<tel:13267945631>",2 //接132的电话 [AT_RX p50,ch6]AT+CHLD=11 //释放特定的active call 1 [AT_URC p31,ch1]+ECPI: 1,133,0,1,1,20,"13267945631",129,"<tel:13267945631>",16 [ATCI_AT_I_0 s33]AT+EIMSCI=0,0,0[AT_URC p31,ch1]+ESIPCPI: 1,1,0,7,0,"" // receive request BYE[AT_URC p31,ch1]+ESIPCPI: 1,0,1,7,200,"" //send response BYE [AT_RX p33,ch3]AT+CEER [AT_TX p33,ch3]+CEER: 16,CM_NORMAL_CALL_CLR 小结: 1、不管是MT/MO,最后BYE SIP信令可能由主动呼叫方发起,也有可能由被动呼叫方发起。 2、info 为100 Trying的INVITE SIP信令在AT下发的时候没有对应的AT指令。
sip会话流程以及sip介绍(3)的更多相关文章
- sip会话流程以及sip介绍(2)
下面我们通过一个简单的场景例子来简单介绍一下 SIP 会话流程. Tom 和 Jerry 是非常好的伙伴,Tom 在他的 PC 上使用一个 SIP 的应用程序呼叫 Internet 上另一个 SIP ...
- sip会话流程以及sip介绍(1)
参考连接 :https://www.2cto.com/kf/201609/546336.html https://www.w3cschool.cn/session_initiation_protoco ...
- Android网络功能之会话发起协议SIP
原文:http://android.eoe.cn/topic/android_sdk * 会话发起协议* Android提供了一个支持会话发起协议(SIP)的API,这可以让你添加基于SIP的网络电话 ...
- 基于GBT28181:SIP协议组件开发-----------第三篇SIP注册流程分析实现
原创文章,引用请保证原文完整性,尊重作者劳动,原文地址http://www.cnblogs.com/qq1269122125/p/3941172.html,qq:1269122125. 上两章节简要的 ...
- SIP呼叫流程典型流程图解及其详细解释
目录(?)[+] 1.注册流程: 2.注销流程: 3. 基本呼叫建立过程: 4. 会话更改流程: 5. 正常呼叫释放过程: 6. 被叫忙呼叫释放: 7.被叫无应答流程一: 8.被叫无应答流程二: ...
- SIP会话发起协议 - 先知道是什么(一)
少年,思无邪,最最动人. 协议概述 SIP会话发起协议是VoIP技术中最常用的协议之一.它是一种应用层协议,与其它应用层协议协同工作,通过Internet控制多媒体通信会话. SIP采用SDP(会话描 ...
- 基于GBT28181:SIP协议组件开发-----------第四篇SIP注册流程eXosip2实现(一)
原创文章,引用请保证原文完整性,尊重作者劳动,原文地址http://www.cnblogs.com/qq1269122125/p/3945294.html. 上章节讲解了利用自主开发的组件SIP组件l ...
- sip 注册流程
基本注册流程示意图: 注册流程描述如下: 1. SIP代理向SIP服务器发送REGISTER请求: 2. SIP服务器向SIP代理发送响应401,并在响应的消息头WWW ...
- vlc源码分析(一) RTSP会话流程
可以先了解一下RTSP/RTP/RTCP的概念与区别:RTP与RTCP协议介绍(转载). 在调试vlc-android时,熟悉了RTSP的会话流程.C表示RTSP客户端,S表示RTSP服务端: 第一步 ...
随机推荐
- Python selenium web UI之Chrome 与 Chromedriver对应版本映射表及下载地址和配置(windows, Mac OS)
浏览器及驱动下载 进行web UI 自动化时,需要安装浏览器驱动webdriver,Chrome浏览器需要安装chromedriver.exe 驱动,Firefox需安装 geckodriver.ex ...
- idea sevlet连sqlserver失败解决
1 普通java程序连sqlserver失败解决办法:https://www.cnblogs.com/Demonfeatuing/p/9208514.html 出现javax.xml.bind.J ...
- 6. 使用cadvisor监控docker容器
Prometheus监控docker容器运行状态,我们用到cadvisor服务,cadvisor我们这里也采用docker方式直接运行.这里我们可以服务端和客户端都使用cadvisor 客户端 1.下 ...
- 微信小程序观察者模式 observers
const app = getApp(); const request = require('../../../utils/request.js'); Component({ options: { m ...
- python学习笔记:使用freeze命令迁移模块
使用freeze 给所有模块搬家 导出安装模块的文档pip freeze > my_freeze.txt 或者指定地址pip freeze > e:\my_freeze.txt 在另一个环 ...
- java中接口的简单运用&java中的一些异常(运用myeclipse)
package test;//创建一个名为test的包 public class A4paper implements Paper { public String getSize(){ return& ...
- 如何更规范化的编写JAVA 代码
如何更规范的编写JAVA代码 一.MyBatis 不要为了多个查询条件而写 1 = 1 当遇到多个查询条件,使用where 1=1 可以很方便的解决我们的问题,但是这样很可能会造成非常大的性能损失, ...
- shell编程:命令替换的运用
命令替换,有两种方式 方式一:`command` 方式二:$(command) user.sh 查找系统中所有的用户,并且输出 #!/bin/bash nginx=`netstat -tnlp | | ...
- PAT(A) 1042. Shuffling Machine (20)
Shuffling is a procedure used to randomize a deck of playing cards. Because standard shuffling techn ...
- 欧拉函数(Euler_Function)
一.基本概述在数论,对正整数n,欧拉函数varphi(n)是少于或等于n的数中与n互质的数的数目.此函数以其首名研究者欧拉命名,它又称为Euler's totient function.φ函数.欧拉商 ...