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. web开发小知识

    session共享机制:f5刷新是再次提交之前的数据请求 地址栏回车属于不同的请求 不同浏览器获取不到之前数据 同一浏览器可以获取同步数据 session注销:session.invalidate() ...

  2. webstorm 分屏

  3. interleave two text files with specified lines

    a_file=$1 a_step=$2 b_file=$3 b_step=$4 a_start=1 let a_end=$a_start+$a_step b_start=1 let b_end=$b_ ...

  4. nginx-413

    修改nginx配置文件:client_max_body_size 300M 修改php.ini upload_max_filesize | post_max_size

  5. Java继承方法隐藏(覆盖)

    方法隐藏 一个类从其超类继承所有非私有静态方法.在子类中重新定义继承的静态方法称为方法隐藏.子类中的重定义静态方法隐藏其超类的静态方法.在类中重定义非静态方法称为方法覆盖.关于方法隐藏的重定义方法(名 ...

  6. libvirt虚拟机管理常用指令

    创建虚拟机 virt-install virt-install --connect qemu:///system -n $NAME -r $MEM -f $DISK -s $DISK_SIZE --v ...

  7. 通用唯一标识码UUID的介绍及使用。

    什么是UUID? UUID全称:Universally Unique Identifier,即通用唯一识别码. UUID是由一组32位数的16进制数字所构成,是故UUID理论上的总数为16^32 = ...

  8. Shell内置命令 eval

  9. batch normlization (BN)的讲解

    1. https://zhuanlan.zhihu.com/p/54073204(简单理解) 2. https://zhuanlan.zhihu.com/p/34879333 (有举例说明,但是不太理 ...

  10. 头文件 <sys/un.h>

    struct sockaddr_un server_sockaddr ; struct sockaddr_un cli_sockaddr ;