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)的更多相关文章

  1. sip会话流程以及sip介绍(2)

    下面我们通过一个简单的场景例子来简单介绍一下 SIP 会话流程. Tom 和 Jerry 是非常好的伙伴,Tom 在他的 PC 上使用一个 SIP 的应用程序呼叫 Internet 上另一个 SIP ...

  2. sip会话流程以及sip介绍(1)

    参考连接 :https://www.2cto.com/kf/201609/546336.html https://www.w3cschool.cn/session_initiation_protoco ...

  3. Android网络功能之会话发起协议SIP

    原文:http://android.eoe.cn/topic/android_sdk * 会话发起协议* Android提供了一个支持会话发起协议(SIP)的API,这可以让你添加基于SIP的网络电话 ...

  4. 基于GBT28181:SIP协议组件开发-----------第三篇SIP注册流程分析实现

    原创文章,引用请保证原文完整性,尊重作者劳动,原文地址http://www.cnblogs.com/qq1269122125/p/3941172.html,qq:1269122125. 上两章节简要的 ...

  5. SIP呼叫流程典型流程图解及其详细解释

    目录(?)[+]   1.注册流程: 2.注销流程: 3. 基本呼叫建立过程: 4. 会话更改流程: 5. 正常呼叫释放过程: 6. 被叫忙呼叫释放: 7.被叫无应答流程一: 8.被叫无应答流程二: ...

  6. SIP会话发起协议 - 先知道是什么(一)

    少年,思无邪,最最动人. 协议概述 SIP会话发起协议是VoIP技术中最常用的协议之一.它是一种应用层协议,与其它应用层协议协同工作,通过Internet控制多媒体通信会话. SIP采用SDP(会话描 ...

  7. 基于GBT28181:SIP协议组件开发-----------第四篇SIP注册流程eXosip2实现(一)

    原创文章,引用请保证原文完整性,尊重作者劳动,原文地址http://www.cnblogs.com/qq1269122125/p/3945294.html. 上章节讲解了利用自主开发的组件SIP组件l ...

  8. sip 注册流程

    基本注册流程示意图: 注册流程描述如下: 1.         SIP代理向SIP服务器发送REGISTER请求: 2.         SIP服务器向SIP代理发送响应401,并在响应的消息头WWW ...

  9. vlc源码分析(一) RTSP会话流程

    可以先了解一下RTSP/RTP/RTCP的概念与区别:RTP与RTCP协议介绍(转载). 在调试vlc-android时,熟悉了RTSP的会话流程.C表示RTSP客户端,S表示RTSP服务端: 第一步 ...

随机推荐

  1. Python selenium web UI之Chrome 与 Chromedriver对应版本映射表及下载地址和配置(windows, Mac OS)

    浏览器及驱动下载 进行web UI 自动化时,需要安装浏览器驱动webdriver,Chrome浏览器需要安装chromedriver.exe 驱动,Firefox需安装 geckodriver.ex ...

  2. idea sevlet连sqlserver失败解决

    1   普通java程序连sqlserver失败解决办法:https://www.cnblogs.com/Demonfeatuing/p/9208514.html 出现javax.xml.bind.J ...

  3. 6. 使用cadvisor监控docker容器

    Prometheus监控docker容器运行状态,我们用到cadvisor服务,cadvisor我们这里也采用docker方式直接运行.这里我们可以服务端和客户端都使用cadvisor 客户端 1.下 ...

  4. 微信小程序观察者模式 observers

    const app = getApp(); const request = require('../../../utils/request.js'); Component({ options: { m ...

  5. python学习笔记:使用freeze命令迁移模块

    使用freeze 给所有模块搬家 导出安装模块的文档pip freeze > my_freeze.txt 或者指定地址pip freeze > e:\my_freeze.txt 在另一个环 ...

  6. java中接口的简单运用&java中的一些异常(运用myeclipse)

    package test;//创建一个名为test的包 public class A4paper implements Paper { public String getSize(){ return& ...

  7. 如何更规范化的编写JAVA 代码

    如何更规范的编写JAVA代码 一.MyBatis 不要为了多个查询条件而写 1 = 1 当遇到多个查询条件,使用where 1=1 可以很方便的解决我们的问题,但是这样很可能会造成非常大的性能损失, ...

  8. shell编程:命令替换的运用

    命令替换,有两种方式 方式一:`command` 方式二:$(command) user.sh 查找系统中所有的用户,并且输出 #!/bin/bash nginx=`netstat -tnlp | | ...

  9. PAT(A) 1042. Shuffling Machine (20)

    Shuffling is a procedure used to randomize a deck of playing cards. Because standard shuffling techn ...

  10. 欧拉函数(Euler_Function)

    一.基本概述在数论,对正整数n,欧拉函数varphi(n)是少于或等于n的数中与n互质的数的数目.此函数以其首名研究者欧拉命名,它又称为Euler's totient function.φ函数.欧拉商 ...