Sip协议(五)-通话拨打流程

Sip协议(五)-通话拨打流程

本次主要记录下sip协议中的通话拨打流程.

一: 主要流程

  1. agent主动拨打
  2. 对方接听
  3. 对方挂断

二: sip协议过程

  1. 发送请求INVITE

    INVITE sip:777xxxx***********@1.1.1.101 SIP/2.0
    Via: SIP/2.0/TCP 127.0.0.1:40838;rport;branch=z9hG4bK54926
    Max-Forwards: 70
    To: <sip:777xxxx***********@1.1.1.101>
    From: <sip:1001@1.1.1.100>;tag=z9hG4bK98652650
    Call-ID: 008308008483@127.0.0.1
    CSeq: 1 INVITE
    Contact: <sip:1001@127.0.0.1:40838;transport=tcp>
    Expires: 3600
    User-Agent: TestAgent/1.0.0/V2318A
    Content-Length: 285
    Content-Type: application/sdp
    
    v=0
    o=1001@1.1.1.100 0 0 IN IP4 127.0.0.1
    s=Session SIP/SDP
    c=IN IP4 127.0.0.1
    t=0 0
    m=audio 21000 RTP/AVP 8 0 101
    a=rtpmap:8 PCMA/8000
    a=rtpmap:0 PCMU/8000
    a=rtpmap:101 telephone-event/8000
    a=fmtp:101 0-15
    m=video 21070 RTP/AVP 103
    a=rtpmap:103 h263-1998/90000
    
  2. 主叫接收到407

    407 Proxy Authentication Required
    Via: SIP/2.0/TCP 192.168.12.36:40838;rport=44274;branch=z9hG4bK54926
    From: <sip:1001@10.10.10.109>;tag=z9hG4bK98652650
    To: <sip:777100118337104423@101.200.234.52>;tag=cBc0Q2jNBDggp
    Call-ID: 008308008483@192.168.12.36
    CSeq: 1 INVITE
    User-Agent: FreeSWITCH-mod_sofia/1.10.10-release~64bit
    Accept: application/sdp
    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
    Proxy-Authenticate: Digest realm="10.10.10.109", nonce="25e5cb3c-4e82-4d64-a225-8551aa052dd2", algorithm=MD5, qop="auth"
    Content-Length: 0
    
  3. 发送ACK

    ACK sip:777100118337104423@101.200.234.52 SIP/2.0
    Via: SIP/2.0/TCP 192.168.12.36:40838;rport;branch=z9hG4bK54926
    Max-Forwards: 70
    To: <sip:777100118337104423@101.200.234.52>;tag=cBc0Q2jNBDggp
    From: <sip:1001@10.10.10.109>;tag=z9hG4bK98652650
    Call-ID: 008308008483@192.168.12.36
    CSeq: 1 ACK
    User-Agent: MVCAgent/1.0.0/V2318A
    Content-Length: 0
    
  4. 重新发送INVITE

    INVITE sip:777100118337104423@101.200.234.52 SIP/2.0
    Via: SIP/2.0/TCP 192.168.12.36:40838;rport;branch=z9hG4bK65875
    Max-Forwards: 70
    To: <sip:777100118337104423@101.200.234.52>
    From: <sip:1001@10.10.10.109>;tag=z9hG4bK98652650
    Call-ID: 008308008483@192.168.12.36
    CSeq: 2 INVITE
    Contact: <sip:1001@192.168.12.36:40838;transport=tcp>
    Expires: 3600
    User-Agent: MVCAgent/1.0.0/V2318A
    Proxy-Authorization: Digest username="1001", realm="10.10.10.109", nonce="25e5cb3c-4e82-4d64-a225-8551aa052dd2", uri="sip:777100118337104423@101.200.234.52", algorithm=MD5, qop=auth, nc=00000001, cnonce="fc99574c8f31dfcc", response="fea67a410d5852640394870d7f24fb14"
    Content-Length: 285
    Content-Type: application/sdp
    
    v=0
    o=1001@10.10.10.109 0 0 IN IP4 192.168.12.36
    s=Session SIP/SDP
    c=IN IP4 192.168.12.36
    t=0 0
    m=audio 21000 RTP/AVP 8 0 101
    a=rtpmap:8 PCMA/8000
    a=rtpmap:0 PCMU/8000
    a=rtpmap:101 telephone-event/8000
    a=fmtp:101 0-15
    m=video 21070 RTP/AVP 103
    a=rtpmap:103 h263-1998/90000
    
  5. 接收到sip协议

    100 Trying
    Via: SIP/2.0/TCP 127.0.0.1:40838;rport=44274;branch=z9hG4bK65875
    From: <sip:1001@1.1.1.100>;tag=z9hG4bK98652650
    To: <sip:777100118337104423@1.1.1.101>
    Call-ID: 008308008483@127.0.0.1
    CSeq: 2 INVITE
    User-Agent: FreeSWITCH-mod_sofia/1.10.10-release~64bit
    Content-Length: 0
    
  6. 主叫接收到183

    183 Session Progress
    Via: SIP/2.0/TCP 192.168.12.36:40838;rport=44274;branch=z9hG4bK65875
    From: <sip:1001@10.10.10.109>;tag=z9hG4bK98652650
    To: <sip:777100118337104423@101.200.234.52>;tag=F6QaXK5Z27j8r
    Call-ID: 008308008483@192.168.12.36
    CSeq: 2 INVITE
    Contact: <sip:777100118337104423@10.10.10.109:8060;transport=tcp>
    User-Agent: FreeSWITCH-mod_sofia/1.10.10-release~64bit
    Accept: application/sdp
    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: 265
    Remote-Party-ID: "1001" <sip:1001@101.200.234.52>;party=calling;privacy=off;screen=no
    
    v=0
    o=FreeSWITCH 1719796008 1719796009 IN IP4 10.10.10.109
    s=FreeSWITCH
    c=IN IP4 10.10.10.109
    t=0 0
    m=audio 17264 RTP/AVP 8 101
    a=rtpmap:8 PCMA/8000
    a=rtpmap:101 telephone-event/8000
    a=fmtp:101 0-15
    a=ptime:20
    m=video 0 RTP/AVP 99
    a=rtpmap:99 VP8/90000
    
  7. 主叫接收到200

    SIP/2.0 200 OK
    Via: SIP/2.0/TCP 192.168.12.36:40838;rport=44274;branch=z9hG4bK65875
    From: <sip:1001@10.10.10.109>;tag=z9hG4bK98652650
    To: <sip:777100118337104423@101.200.234.52>;tag=F6QaXK5Z27j8r
    Call-ID: 008308008483@192.168.12.36
    CSeq: 2 INVITE
    Contact: <sip:777100118337104423@10.10.10.109:8060;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: 265
    Remote-Party-ID: "Outbound Call" <sip:1001@101.200.234.52>;party=calling;privacy=off;screen=no
    
    v=0
    o=FreeSWITCH 1719796008 1719796009 IN IP4 10.10.10.109
    s=FreeSWITCH
    c=IN IP4 10.10.10.109
    t=0 0
    m=audio 17264 RTP/AVP 8 101
    a=rtpmap:8 PCMA/8000
    a=rtpmap:101 telephone-event/8000
    a=fmtp:101 0-15
    a=ptime:20
    m=video 0 RTP/AVP 99
    a=rtpmap:99 VP8/90000
    
  8. 主叫发送ACK

    ACK sip:777100118337104423@1.1.1.100:8060;transport=tcp SIP/2.0
    Via: SIP/2.0/TCP 192.168.12.36:40838;rport;branch=z9hG4bK02029
    Max-Forwards: 70
    To: <sip:777100118337104423@1.1.1.101>;tag=F6QaXK5Z27j8r
    From: <sip:1001@1.1.1.100>;tag=z9hG4bK98652650
    Call-ID: 008308008483@192.168.12.36
    CSeq: 2 ACK
    Contact: <sip:1001@192.168.12.36:40838;transport=tcp>
    Expires: 3600
    User-Agent: MVCAgent/1.0.0/V2318A
    Content-Length: 0
    
  9. 主叫接收到BYE

    BYE sip:1001@192.168.12.36:40838;transport=tcp SIP/2.0
    Via: SIP/2.0/TCP 1.1.1.100:8060;branch=z9hG4bKpmS8S2vtreKra
    Max-Forwards: 70
    From: <sip:777100118337104423@1.1.1.101>;tag=F6QaXK5Z27j8r
    To: <sip:1001@1.1.1.100>;tag=z9hG4bK98652650
    Call-ID: 008308008483@192.168.12.36
    CSeq: 85352847 BYE
    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
    Reason: Q.850;cause=16;text="NORMAL_CLEARING"
    Content-Length: 0
    
  10. 主角回执200

    SIP/2.0 200 OK
    Via: SIP/2.0/TCP 1.1.1.100:8060;branch=z9hG4bKpmS8S2vtreKra
    To: <sip:1001@1.1.1.100>;tag=z9hG4bK98652650
    From: <sip:777100118337104423@1.1.1.101>;tag=F6QaXK5Z27j8r
    Call-ID: 008308008483@192.168.12.36
    CSeq: 85352847 BYE
    Server: TestAgent/1.0.0/V2318A
    Content-Length: 0
    

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SwiftUI 中 Grid 内多个 NavigationLink 同时发生导航之诡异问题的解决

问题现象 不知小伙伴们发现了没有?在 SwiftUI 中如果有多个 NavigationLink 视图嵌入在 Grid(包括 LazyVGrid 和 LazyHGrid)容器中,点击其中任意一个 NavigationLink 都会导致所有导航一起发生。 如上图所示,点击 Grid 中任何一个 NavigationLink,所有 NavigationLink 都…

[数据结构] --- 树

1 树的基本概念 1.1 树的定义 树是n(n>0)个结点的有限集。当 n 0 时&#xff0c;称为空树。在任意一棵树非空树中应满足&#xff1a; (1) 有且仅有一个特定的称为根 (root) 的结点&#xff1b; (2) 当 n > 1 时&#xff0c;其余结点可分为m(m>0)个互不相交的有限集…

bootloader原理介绍

bootloader解析 bootloader的引出 不知道你有没有想过这样一个问题&#xff0c;当你按下电源开关的那一瞬间&#xff0c;第一行代码是如何在芯片上运行起来的呢&#xff1f;我们都知道嵌入式软件代码&#xff0c;是需要通过一定的方式&#xff0c;烧录在硬件芯片中&#xff0c…

【Zotero】【国标csl调教(七)】导入专著M、学位论文D以及百度学术的问题

一、百度学术 百度学术导入的字段&#xff08;期卷号、页码&#xff09;等会有严重错误&#xff0c;不建议通过Baidu Scholar导入&#xff0c; 建议在文库编目字段自行查找修改 二、专著【M】以及学位论文【D】的出版地问题 国标对硕博论文【D】和专著【M】要求写上出版地 …

OpenSSL的一些使用案例

目录 一、介绍 二、基本使用 1、Shell &#xff08;1&#xff09;文件加解密 &#xff08;2&#xff09;生成密钥文件 2、API &#xff08;1&#xff09;md5sum &#xff08;2&#xff09;AES256加解密 一、介绍 本篇博客重点不是详细描述 OpenSSL 的用法&#xff0c;只…

昇思第7天

模型训练 模型训练一般分为四个步骤&#xff1a; 构建数据集。 定义神经网络模型。 定义超参、损失函数及优化器。 输入数据集进行训练与评估。 数据集加载 import mindspore from mindspore import nn # 从 MindSpore 数据集包中导入 vision 和 transforms 模块。 # visio…

使用DC/AC电源模块时需要注意的事项

BOSHIDA 使用DC/AC电源模块时需要注意的事项 1. 仔细阅读和理解产品说明书&#xff1a;在使用DC/AC电源模块之前&#xff0c;应该仔细阅读和理解产品说明书&#xff0c;了解其性能特点、技术要求和使用方法&#xff0c;以确保正确使用和避免潜在的安全风险。 2. 选择适当的电…

MySQL 9.0 发布了!

从昨晚开始&#xff0c;在DBA群里大家就在讨论MySQL 9.0发布的事情&#xff0c;但是Release Note和官方文档都没有更新&#xff0c;所以今天早上一上班就赶紧瞅了下具体更新了哪些内容&#xff1f; 整体看来&#xff0c;基本没什么创新。下面是9.0新增或废弃的一些特性。 &…

Power Platform功能管理实战概述

Power Platform功能管理实战概述 Microsoft Power Platform是一个强大的低代码开发平台&#xff0c;它使组织能够自动化商业流程、开发自定义应用程序&#xff0c;并加强与客户的连接。该平台由四个主要组件组成&#xff1a;Power Apps、Power Automate、Power BI和Power Virt…

【探索Linux】P.36(传输层 —— TCP协议段格式)

阅读导航 引言一、TCP段的基本格式二、控制位详细介绍三、16位接收窗口大小⭕窗口大小的作用⭕窗口大小的限制⭕窗口缩放选项⭕窗口大小的更新⭕窗口大小与拥塞控制 四、紧急指针温馨提示 引言 在上一篇文章中&#xff0c;我们深入探讨了一种无连接的UDP协议&#xff0c;它以其…

Searchsploit漏洞利用搜索工具的介绍及使用

目录 0x00 介绍0x01 常用参数0x02 使用1. 在线搜索2. 使用步骤3. 使用实例 0x00 介绍 kali自带的&#xff0c;Searchsploit会通过本地的Exploit-db查找软件漏洞信息。 Exploit Database&#xff08;https://gitlab.com/exploit-database/exploitdb&#xff09;存储了大量的漏洞…

33.哀家要长脑子了!

憋说了&#xff0c;感觉好不容易长出来的脑子又缩回去了。。。 1.539. 最小时间差 - 力扣&#xff08;LeetCode&#xff09; 把所有时间排好序&#xff0c;然后计算两两之间的分钟差就好&#xff0c;但是要注意加上最后一个和第一个的判断&#xff0c;因为这个时间是按字典序来…

AI研究的主要推动力会是什么?ChatGPT团队研究科学家:算力成本下降

AI 研究发展的主要推动力是什么&#xff1f;在最近的一次演讲中&#xff0c;OpenAI 研究科学家 Hyung Won Chung 给出了自己的答案。 近日&#xff0c;斯坦福大学《CS25: Transformers United V4》课程迎来了一位我们熟悉的技术牛人&#xff1a;Hyung Won Chung。 Chung 是 O…

Hadoop-03-Hadoop集群 免密登录 超详细 3节点公网云 分发脚本 踩坑笔记 SSH免密 服务互通 集群搭建 开启ROOT

章节内容 上一节完成&#xff1a; HDFS集群XML的配置MapReduce集群XML的配置Yarn集群XML的配置统一权限DNS统一配置 背景介绍 这里是三台公网云服务器&#xff0c;每台 2C4G&#xff0c;搭建一个Hadoop的学习环境&#xff0c;供我学习。 之前已经在 VM 虚拟机上搭建过一次&…

Spring容器生命周期中如前置运行程序和后置运行程序

在Spring容器加入一个实现了BeanPostProcessor接口bean实例&#xff0c;重写postProcessBeforeInitialization、postProcessAfterInitialization方法&#xff0c;在方法里面写具体的实现&#xff0c;从而达到Spring容器在初如化前或销毁时执行预定的程序&#xff0c;方法如下&a…

深入浅出:npm常用命令详解与实践【保姆级教程】

大家好,我是CodeQi! 在我刚开始学习前端开发的时候,有一件事情让我特别头疼:管理和安装各种各样的依赖包。 那时候,我还不知道 npm 的存在,手动下载和管理这些库简直是噩梦。 后来,我终于接触到了 npm(Node Package Manager),它不仅帮我解决了依赖管理问题,还让我…

解决Visual Studio 一直弹出管理员身份运行问题(win10/11解决办法)

不知道大家是否有遇到这个问题 解决办法也很简单 找到启动文件 如果是快捷方式就继续打开文件位置 找到这个程序启动项 右键 选择 兼容性疑难解答&#xff08;win11 则需要 按住 shift 右键&#xff09; win10 解决办法 这样操作完后就可以了 win11解决办法按以下选择就行

深入理解策略梯度算法

策略梯度&#xff08;Policy Gradient&#xff09;算法是强化学习中的一种重要方法&#xff0c;通过优化策略以获得最大回报。本文将详细介绍策略梯度算法的基本原理&#xff0c;推导其数学公式&#xff0c;并提供具体的例子来指导其实现。 策略梯度算法的基本概念 在强化学习…

AI大模型时代来临:企业如何抢占先机?

AI大模型时代来临:企业如何抢占先机? 2023年,被誉为大模型元年,AI大模型的发展如同一股不可阻挡的潮流,正迅速改变着我们的工作和生活方式。从金融到医疗,从教育到制造业,AI大模型正以其强大的生成能力和智能分析,重塑着行业的未来。 智能化:企业核心能力的转变 企…