当前位置: 首页 > article >正文

FreeSWITCH dialplan/default.xml 之释疑

准备花时间好好研究下,一直都是一知半解

sip_looped_call

通俗地说,就是自己呼叫自己

查文档,是这样讲的:如果调用已通过 ACL 以外的方式进行身份验证,并且当前请求 IP/port 与配置文件 IP/port 匹配,那么就为 true

实际测试,如果呼叫自己的 5060 端口,那么 sip_looped_call 就为 true,写了一段路由,同时仿到 default.xml 和 public.xml 的最前面:

<extension name="test" continue="true">
    <condition>
        <action application="log" data="ERR sip_looped_call = ${sip_looped_call}"/>
    </condition>
</extension>

日志如下:

Dialplan: sofia/internal/0000000000@192.168.99.206 parsing [public->test] continue=true
Dialplan: sofia/internal/0000000000@192.168.99.206 Absolute Condition [test]
Dialplan: sofia/internal/0000000000@192.168.99.206 Action log(ERR sip_looped_call = ${sip_looped_call}) 
EXECUTE [depth=0] sofia/internal/0000000000@192.168.99.206 log(ERR sip_looped_call = true)

发现没有挑战,context 走到了 public

park vs unpark

往泊车方面去想,很容易想明白。有二个模块:mod_fifo 和 mod_valet_parking

echo vs 'delay_echo 5000'

这个对开局太有用了

不过本人有一次吃瘪的经历,某网关呼叫 FreeSWITCH,dialplan 配置为 echo,信令正常,但听到的是静音,其实是网关自带了回声消除功能。后来终于觉醒了,换成 delay_echo,网关一般只能消除 128 ms(有的只能 32 或者 64),配置为  delay_echo 300 就能听到了

play_fsv vs record_fsv

mod_fsv 里面的二个 app,之所以用 mod_fsv 而不用 mod_av,估计是效率方面的考虑(本人对视频不太熟)

ringback_180 vs ringback_183_uk_ring vs ringback...

设置 ringback、transfer_ringback 等变量,送到的端点是 loopback,以及 ignore_early_media 对呼出的影响

个人感觉这个有点炫技

conference

conference,众所周知,不再赘述

mad_boss_intercom

摇人入会,向 sales 组里面所有的成员都发 INVITE

fax

这个不讲了,本人很熟,但现在几乎没人用传真了

esf_page_group

rtp_multicast_page,广播,Yealink/GrandStream 等话机支持

Local_Extension

呼叫本地分机,要留意 hangup_after_bridge、continue_on_fail 等通道变量的使用

含义很丰富,建议仔细研究和多做测试

留意 global-intercept/group-intercept/intercept-ext 跟  Local_Extension 之间的关联性

留意 bind_meta_app 跟 features.xml 之间的联系

个人感觉这个 extension 是最复杂的,需要花大量时间做研究(实现了 IPPBX 的很多功能)

rtp_secure_media

媒体加密

本人专门做过笔记

group_call

组呼

snom、skinny

不讲,很少人用

ivr

不讲,查资料可得

show_info

太简单,不讲

acknowledge_call

就是回 SIP 100 trying,没别的,估计很少有人用他

eavesdrop

监听

call_return

待研究

unroll_loops

待研究

ruri

待研究

refer

呼叫后转,待研究

add-group

待研究

set open=true

待研究,没查到这个通道变量的含义

enum

国内没人用,不讲


<extension name="tod_example" continue="true">

<condition field="${default_password}" expression="^1234$" break="never">
    <action application="log" data="CRIT WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING "/>
    <action application="log" data="CRIT Open $${conf_dir}/vars.xml and change the default_password."/>
    <action application="log" data="CRIT Once changed type 'reloadxml' at the console."/>
    <action application="log" data="CRIT WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING "/>
    <action application="sleep" data="10000"/>
</condition>

continue=true 和 break=never,这二者的作用有点分不清,回头研究


数了数,800 多行,包含的内容非常多

未完待续


http://www.kler.cn/a/466593.html

相关文章:

  • 2024年河北省职业院校技能大赛云计算应用赛项赛题第4套(容器云)
  • 【可实战】测试用例组成、用例设计方法、用例编写步骤、测试用例粒度、用例评审(包含常见面试题)
  • 图像分割基础:使用Python和scikit-image库
  • 计算机的错误计算(二百零一)
  • 周末总结(2024/01/04)
  • Backend - C# 的日志 NLog日志
  • 如何删除 Android 设备上的应用程序 | 3种高效方法
  • Springcloud项目-前后端联调(一)
  • 代码随想录算法训练营day21
  • Spring线程池优雅关闭
  • YOLOv8/YOLOv11改进 添加CBAM、GAM、SimAM、EMA、CAA、ECA、CA等多种注意力机制
  • GWAS数据和软件下载
  • JeeSite 快速开发平台:全能企业级快速开发解决方案|GitCode 光引计划征文展示
  • 【深度学习进阶】基于CNN的猫狗图片分类项目
  • pycharm 命令行下的链接,不自动形成链接和定位了。
  • 深入解析-正则表达式
  • github加速源配置
  • RK3588+FPGA全国产异步LED显示屏控制卡/屏幕拼接解决方案
  • HTML——61. 单行文本框和密码输入框(主讲input元素的type属性)
  • DC-2 靶场渗透
  • 深度解析 LDA 与聚类结合的文本主题分析实战
  • Flutter踩坑记-第三方SDK不兼容Gradle 8.0,需适配namespace
  • 【Java回顾】Day2 正则表达式----异常处理
  • 曲速引擎前端代码生成器 6.6.0 介绍
  • LLM - 使用 LLaMA-Factory 部署大模型 HTTP 多模态服务 (4)
  • 小程序26-事件绑定和事件对象