pjsip如何发送媒体声音_Asterisk环境下完整PJSIP分机拨号流程分析

本文介绍了Asterisk为何选择PJSIP作为新一代SIP协议栈,详细阐述了PJSIP在Asterisk中的结构、核心模块及处理流程。通过示例展示了PJSIP分机呼叫的13个步骤,帮助读者理解PJSIP的呼叫处理和拨号规则。
摘要由CSDN通过智能技术生成

​PJSIP是目前Asterisk官方使用的最新的SIP协议栈。根据官方说明,Asterisk官方已经不再继续更新chan_sip协议栈,除非有重大安全漏洞才会进行升级维护。通过几年的测试和生成场景的使用,PJSIP在整体性能和功能支持方面已经超越了chan_sip 协议栈。因为PJSIP涉及了很多比较新的配置文件和呼叫流程,导致很多用户对PJSIP配置说明缺乏一定的了解。今天,我们针对一些PJSIP的流程,并且结合呼叫规则进行介绍。以前有很多用户对使用PJSIP协议栈有疑问,以及其完整的技术概要,读者可以访问PJSIP官方网站和Asterisk官方网站。这里,笔者仅结合Asterisk介绍PJSIP具体的处理过程和Asterisk呼叫流程方面的内容。

1

关于PJSIP介绍

PJSIP是开源的SIP协议栈,在最近的Asterisk版本中,官方已经开始使用PJSIP协议栈作为Asterisk引擎的SIP协议栈。关于为什么Asterisk选择PJSIP作为Asterisk新一代SIP协议栈的讨论读者可以查阅此链接:

SIP Stack Research

PJSIP的核心是SIP endpoint,通过pjsip_endpoint来表示。

61fbe9f5dac2c1c6023fb4e52a7445df.png

pjsip_endpoint负责几个方面的工作:

  • 它具有一个pool factory, 为SIP模块分配自己的pool。
  • 它支持对每个SIP模块实现定时器管理。
  • 它支持一个传输管理模块,传输管理模块支持对SIP传输和控制消息解析打印。
  • 它支持PJLIB的 ioqueue支持网络事件的调度处理。
  • 它提供thread安全保护,对每个应用的thread进行安全管理。
  • 它可以管理PJSIP的相关模块,拓展,解析处理等功能。
  • 它负责从管理模块接收到的SIP 进入的消息,分发SIP消息到其他模块。

因为篇幅的关系,笔者在这里不再做太多关于PJSIP的介绍,网络有很多关于PJSIP协议栈,PJSIPUA的使用方式,读者可以安装练习。这里,我们主要介绍pjsip_endpoint的作用,因为它直接影响着我们后续章节中所讨论的Asterisk呼叫流程。

2

PJSIP在Asterisk的结构

在Asterisk环境中,PJSIP通过各自的模块对终端,业务订阅,认证和传输都进行管理。PJSIP模块的几个核心模块如下:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值