Sip协议(三)- 通话接听流程

Sip协议(三)- 通话接听流程

本文主要记录下sip通信下接听的流程.

一: 接听流程

  1. agent接听电话
  2. 远端在未接听情况下主动挂断电话.

接听流程涉及到的请求有: INVITE,CANCEL,ACK,BYE

具体的过程如下:

二: sip过程

  1. agent收到INVITE

    INVITE sip:1000@10.0.0.1:10000;transport=tcp SIP/2.0
    Via: SIP/2.0/TCP 10.0.0.1:5060;branch=z9hG4bKxxxx;rport=5060
    Route: <sip:1000@124.64.0.1:10988>;transport=tcp
    Max-Forwards: 70
    From: "Extension 1001" <sip:1001@172.17.0.1>;tag=Q79QQcg41UBpe
    To: <sip:1000@10.0.0.1:10000;transport=tcp>
    Call-ID: e040d830-a8aa-123d-0a8e-11111111111b
    CSeq: 84836083 INVITE
    Contact: <sip:mod_sofia@10.0.0.1:5060;transport=tcp>
    User-Agent: FreeSWITCH-mod_sofia/1.10.10-release~64bit
    Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
    Supported: path, replaces
    Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer
    Content-Type: application/sdp
    Content-Disposition: session
    Content-Length: 426
    X-voice_call_number: 18300000000
    X-empolyee_id: 1001
    X-FS-Support: update_display,send_info
    Remote-Party-ID: "Extension 1001" <sip:1001@172.17.0.1>;party=calling;screen=yes;privacy=offv=0
    o=FreeSWITCH 1718762975 1718762976 IN IP4 10.0.0.1
    s=FreeSWITCH
    c=IN IP4 10.0.0.1
    t=0 0
    m=audio 16776 RTP/AVP 9 0 8 101
    a=rtpmap:9 G722/8000
    a=rtpmap:0 PCMU/8000
    a=rtpmap:8 PCMA/8000
    a=rtpmap:101 telephone-event/8000
    a=fmtp:101 0-15
    a=ptime:20
    m=video 16862 RTP/AVP 102
    b=AS:3072
    a=rtpmap:102 VP8/90000
    a=rtcp-fb:102 ccm fir
    a=rtcp-fb:102 ccm tmmbr
    a=rtcp-fb:102 nack
    a=rtcp-fb:102 nack pli
    
  2. agent发起 Trying 100

    SIP/2.0 100 Trying
    Via: SIP/2.0/TCP 10.0.0.1:5060;branch=z9hG4bK1111;rport=5060
    To: <sip:1000@10.0.0.1:10000;transport=tcp>
    From: "Extension 1001" <sip:1001@172.17.0.1>;tag=027KZHpcBFDXH
    Call-ID: 42ed1f48-a8ac-123d-0a8e-11111111111a
    CSeq: 84836381 INVITE
    Server: AgentTest/1.0.0/V2318A
    Content-Length: 0
    
  3. agent发起请求 Ringing 180

    180: 振铃中.

     SIP/2.0 180 RingingVia: SIP/2.0/TCP 10.0.0.1:5060;branch=z9hG4bKgvtvc29HgQZ5e;rport=5060To: <sip:1000@10.0.0.1:10000;transport=tcp>;tag=ec6c9cb5b93df28eFrom: "Extension 1001" <sip:1001@172.17.0.1>;tag=027KZHpcBFDXHCall-ID: 42ed1f48-a8ac-123d-0a8e-11111111111aCSeq: 84836381 INVITEServer: AgentTest/1.0.0/V2318AContent-Length: 204Content-Type: application/sdpv=0o=1000@10.0.0.1 0 0 IN IP4 10.239.19.29s=Session SIP/SDPc=IN IP4 10.239.19.29t=0 0m=audio 21000 RTP/AVP 8 101a=rtpmap:8 PCMA/8000a=rtpmap:101 telephone-event/8000a=fmtp:101 0-15
    
  4. agent接收到CANCEL请求

    CANCEL sip:1000@10.0.0.1:10000;transport=tcp SIP/2.0
    Via: SIP/2.0/TCP 10.0.0.1:5060;branch=z9hG4bKgvtvc29HgQZ5e;rport=5060
    Route: <sip:1000@124.64.22.13:10988>;transport=tcp
    Max-Forwards: 70
    From: "Extension 1001" <sip:1001@172.17.0.1>;tag=027KZHpcBFDXH
    To: <sip:1000@10.0.0.1:10000;transport=tcp>
    Call-ID: 42ed1f48-a8ac-123d-0a8e-11111111111a
    CSeq: 84836381 CANCEL
    Reason: SIP;cause=487;text="ORIGINATOR_CANCEL"
    Content-Length: 0
    
  5. agent回执 200

    SIP/2.0 200 OK
    Via: SIP/2.0/TCP 10.0.0.1:5060;branch=z9hG4bKgvtvc29HgQZ5e;rport=5060
    To: <sip:1000@10.0.0.1:10000;transport=tcp>
    From: "Extension 1001" <sip:1001@172.17.0.1>;tag=027KZHpcBFDXH
    Call-ID: 42ed1f48-a8ac-123d-0a8e-11111111111a
    CSeq: 84836381 CANCEL
    Server: AgentTest/1.0.0/V2318A
    Content-Length: 0
    
  6. agent回执487

    487: Request Terminated 请求被BYE或者CANCEL所终止.

     SIP/2.0 487 Request TerminatedVia: SIP/2.0/TCP 10.0.0.1:5060;branch=z9hG4bKgvtvc29HgQZ5e;rport=5060To: <sip:1000@10.0.0.1:10000;transport=tcp>From: "Extension 1001" <sip:1001@172.17.0.1>;tag=027KZHpcBFDXHCall-ID: 42ed1f48-a8ac-123d-0a8e-11111111111aCSeq: 84836381 INVITEServer: AgentTest/1.0.0/V2318AContent-Length: 0
    

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

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

相关文章

爬山算法优点

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

【stm32单片机应用】基于I2C协议的OLED显示(利用U82G库)

一、U8g2库 &#xff08;一&#xff09;U8g2简介 U8g2 是一个用于单色和彩色显示的嵌入式图形库&#xff0c;特别适用于单色OLED、LCD显示屏的驱动。它是对早期U8g库的扩展和改进&#xff0c;提供了更多功能和更广泛的硬件支持。U8g2作为一款强大而灵活的嵌入式图形库&#x…

JAVA语言开发的一套(智慧工地监管系统源码)让工地变得更加“聪明”

JAVA语言开发的一套&#xff08;智慧工地监管系统源码&#xff09;让工地变得更加“聪明” 数字智慧工地是指利用物联网、大数据、云计算、人工智能等先进技术&#xff0c;对工地进行全面数字化改造和智能化升级&#xff0c;实现工地管理的精细化、高效化和智能化。它通过实时…

Windows上PyTorch3D安装踩坑记录

直入正题&#xff0c;打开命令行&#xff0c;直接通过 pip 安装 PyTorch3D : (python11) F:\study\2021-07\python>pip install pytorch3d Looking in indexes: http://mirrors.aliyun.com/pypi/simple/ ERROR: Could not find a version that satisfies the requirement p…

聚焦AIoT最后一公里:EasyCVR+AI视频技术在各领域的创新应用

随着5G、AI、边缘计算、物联网&#xff08;IoT&#xff09;、云计算等技术的快速发展&#xff0c;万物互联已经从概念逐渐转变为现实&#xff0c;全新的行业生态AIoT正在开启新时代。巨大的市场潜力与AI等新兴技术不断融合形成的庞大市场缺口&#xff0c;深度场景化应用落地诉求…

恭喜!W医生斩获加拿大多伦多大学访问学者邀请函

➡️【院校介绍】 多伦多大学(University of Toronto)&#xff0c;位于加拿大安大略省多伦多市&#xff0c;成立于1827年&#xff0c;今年&#xff0c;因多大在各学科领域中成就卓著&#xff0c;再一次重回加拿大大学排名第一&#xff0c;QS世界排名第21的位置。 ➡️【W医生…

生产环境OpenLDAP主从集群

1、背景 在很多组织中&#xff0c;需要对用户和系统进行统一的身份认证和授权管理。为了实现这一目标&#xff0c;通常会使用LDAP&#xff08;轻量级目录访问协议&#xff09;来构建集中化的身份认证和授权服务。而在生产环境中&#xff0c;为了保证高可用性和可扩展性&#x…

Ubuntu server 24 (Linux) 安装lua + 卸载软件

1 apt 安装 # sudo apt update #查看可安装的lua版本 sudo apt-get install luaversion # sudo apt-get install lua5.3 #查看版本 testiZbp1g7fmjea77vsqc5hmmZ:/data/soft$ lua -v Lua 5.3.6 Copyright (C) 1994-2020 Lua.org, PUC-Rio2 Ubuntu卸载软件 #查找lua已安装…

python安装包中的.dist-info作用

在使用pip install 包名 进行python第三方库的时候&#xff0c;安装完库之后通常会出现一个库名&#xff0c;还有一个.dist-info的文件&#xff0c;以安装yolov8所依赖的框架ultralytics为例&#xff0c;成功安装后会出现以下文件夹&#xff1a; 第一个ultralytics是概该框架包…

for循环 绘制Echarts图表之后,点击 添加图表向前插入图表遇到实例未更新

一、问题及预期 for循环 绘制图表之后&#xff0c;点击 添加图表&#xff0c; 应该展示空表的初始状态&#xff0c;但是展示的是上一个图表正常有数据的图表 二、复盘 采用index 作为下标去渲染图表实例导致点击【添加图表】按钮的时候向前添加的下标为0 &#xff0c;和原来…

【Gin框架基础使用附带各种小案例和简易登录模块的实现】

Gin框架基础使用附带各种小案例和整个登录模块的实现 前言&#xff1a; Gin框架介绍使用示例安装Gin框架使用代码接收参数的方法 简易登录模块Gin的边角料 前言&#xff1a; Gin框架介绍 Gin框架功能&#xff1a; 在介绍Gin框架之前我们要先明白Gin框架要完成那些功能&#x…

css记录:三维变换之transform

CSS 的 transform 属性用于对元素进行 2D 或 3D 转换。这些转换包括旋转、缩放、倾斜和移动等。在 3D 变换中&#xff0c;我们可以创建更为复杂和动态的效果&#xff0c;让用户体验更为丰富。 transform 属性 transform 是一个简写属性&#xff0c;用于设置以下 2D 和 3D 转换…

【Android】构建 Android Automotive OS:适合初学者的指南

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

vue脚手架 vuex模块化和四大辅助函数的结合使用

目录 01 四大辅助函数结合vuex模块化的使用 02 event-bus事件总线的使用 01 四大辅助函数结合vuex模块化的使用 mapState 在映射模块化带有命名空间的使用步骤: 方式一:(重要) ...mapState(模块名1,[该模块的变量1,该模块的变量2....]) ...mapState(模块名2,[该模块的变量1,该…

深入探究RTOS的IPC机制----邮箱

阅读引言&#xff1a; 因为将来工作需要&#xff0c; 最近在深入学习OS的内部机制&#xff0c;我把我觉得重要的、核心的东西分享出来&#xff0c; 希望对有需要的人有所帮助&#xff0c; 阅读此文需要读友有RTOS基础&#xff0c; 以及一些操作系统的基础知识&#xff0c; 学习…

行列式和矩阵的区别

目录 一、行列式 1. 行列式的定义 2. (全)排列 3. 逆序数 二、矩阵 1. 矩阵的定义 三、行列式和矩阵的区别 四、参考书目 一、行列式 1. 行列式的定义 2. (全)排列 3. 逆序数 二、矩阵 1. 矩阵的定义 三、行列式和矩阵的区别 四、参考书目 同济大学数学系. 工程数学…

【LeetCode面试经典150题】105. 从前序与中序遍历构造二叉树

一、题目 105. 从前序与中序遍历序列构造二叉树 - 力扣&#xff08;LeetCode&#xff09;给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 二、思路 …

Dynamics 365 on-premise 隐藏高级查找导出按钮

提示 着急可以直接看结果代码部分 背景 Dynamics 365 on-premise中有个高级查找的功能,查询的结果支持导出,如下图 业务反馈这个有数据安全风险,要修改显示规则。 一开始想着能用RibbonWorkbench改,就很爽快得答应了业务。结果用RibbonWorkbench改不了。 反复尝试 既…

Linux远程管理日志

实验介绍 本实验旨在实现主机将日志远程发送到堡垒机或远程服务器上&#xff0c;实现通过一台机器管理整个网络内的主机的效果。 准备两台虚拟机作为生产主机和管理机&#xff0c;保证网络通畅&#xff0c;展示如下&#xff1a; 关闭firewalld&#xff0c;通过配置rsyslog&a…

Sklearn之朴素贝叶斯应用

目录 sklearn中的贝叶斯分类器 前言 1 分类器介绍 2 高斯朴素贝叶斯GaussianNB 2.1 认识高斯朴素贝叶斯 2.2 高斯朴素贝叶斯建模案例 2.3 高斯朴素贝叶斯擅长的数据集 2.3.1 三种数据集介绍 2.3.2 构建三种数据 2.3.3 数据标准化 2.3.4 朴素贝叶斯处理数据 2.4 高斯…