freeswitch隐藏fs标识

概述
freeswitch是一款好用的开源软交换平台。
fs的默认配置环境下,sip消息中有很多freeswitch的标识,比如“user-agent”,“contact”头域等等。
对于某些场景,我们希望隐藏掉这些有识别性的标识。
环境
centos:CentOS release 7.0 (Final)或以上版本
freeswitch:v1.6.19
GCC:4.8.5
默认的invite消息
freeswitch默认的invite消息如下。
INVITE sip:10011@10.55.55.137:5080;user=phone SIP/2.0
Via: SIP/2.0/UDP 10.55.55.138:5080;rport;branch=z9hG4bKFrH7aXtvQyKSc
Max-Forwards: 66
From: "" <sip:10012@10.55.55.138>;tag=Z3gB0ygy8F4ep
To: <sip:10011@10.55.55.137:5080>
Call-ID: 2f8fa2b9-baa0-123b-d08b-0cc47a9bab4c
CSeq: 57675850 INVITE
Contact: <sip:mod_sofia@10.55.55.138:5080>
User-Agent: FreeSWITCH-mod_sofia/1.6.19~64bit
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, PRACK, NOTIFY
Supported: precondition, 100rel, timer, path, replaces
Allow-Events: talk, hold, conference, refer
Privacy: none
Content-Type: application/sdp
Content-Disposition: session
Content-Length: 218
X-FS-Support: update_display,send_info
P-Asserted-Identity: <sip:10012@10.55.55.138>
v=0
o=FreeSWITCH 1664417843 1664417844 IN IP4 10.55.55.138
s=FreeSWITCH
c=IN IP4 10.55.55.138
t=0 0
m=audio 41442 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
其中,有3个地方需要修改。
Contact: <sip:mod_sofia@10.55.55.138:5080>
User-Agent: FreeSWITCH-mod_sofia/1.8.7~64bit
o=FreeSWITCH 1664417843 1664417844 IN IP4 10.55.55.138
s=FreeSWITCH
配置
修改配置文件conf/sip_profile/external.xml。影响头域“User-Agent”和SDP信息。
<param name="user-agent-string" value="sbc001"/>
<param name="username" value="sbc001"/>
修改配置文件conf/dialplan/test01.xml。影响头域“Contact”。
<X-PRE-PROCESS cmd="set" data="sip_contact_user=SBC001"/>
修正后的invite消息
配置后重启fs,修正后的invite消息如下。
INVITE sip:10011@10.55.55.137:5080;user=phone SIP/2.0
Via: SIP/2.0/UDP 10.55.55.138:5080;rport;branch=z9hG4bKQBg4gFvQKXKUK
Max-Forwards: 57
From: "" <sip:10012@10.55.55.138>;tag=j26Bv08Ne8a5D
To: <sip:10011@10.55.55.137:5080>
Call-ID: e3d32a8e-c008-123b-df8b-0cc47a9bab4c
CSeq: 57973213 INVITE
Contact: <sip:SBC001@10.55.55.138:5080>
User-Agent: sbc001
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, PRACK, NOTIFY
Supported: precondition, 100rel, timer, path, replaces
Allow-Events: talk, hold, conference, refer
Privacy: none
Content-Type: application/sdp
Content-Disposition: session
Content-Length: 236
X-FS-Support: update_display,send_info
P-Asserted-Identity: <sip:10012@10.55.55.138>
v=0
o=sbc001 1665013537 1665013538 IN IP4 10.55.55.138
s=sbc001
c=IN IP4 10.55.55.138
t=0 0
m=audio 40474 RTP/AVP 8 18 101
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
影响到的头域包括。
Contact: <sip:SBC001@10.55.55.138:5080>
User-Agent: sbc001
o=sbc001 1665013537 1665013538 IN IP4 10.55.55.138
s=sbc001
总结
freeswitch的模块化和配置项非常多,初期学习比较困难,首先要学会查找文档资料,配置一个测试环境,随时测试。
遗留问题,“X-FS-Support”头域。
空空如常
求真得真
freeswitch隐藏fs标识的更多相关文章
- Nginx干货(一)隐藏Nginx标识与版本号
注:默认读者自己会安装nginx,不会的就搜一下怎么安装吧.说明一点.在make的时候可以使用make -j num这里面的num是你的cpu核心数.这样会快一点~~~意为以num个进程同时编译 首先 ...
- Nginx隐藏标识以及其版本号
1.隐藏版本号 curl Nginx服务器时,有这么一行Server: nginx,说明我用的是 Nginx 服务器,但并没有具体的版本号.由于某些 Nginx 漏洞只存在于特定的版本,隐藏版本号可以 ...
- ASP.NET Core 中文文档 第二章 指南(4.6)Controller 方法与视图
原文:Controller methods and views 作者:Rick Anderson 翻译:谢炀(Kiler) 校对:孟帅洋(书缘) .张仁建(第二年.夏) .许登洋(Seay) .姚阿勇 ...
- Linux Process Virtual Memory
目录 . 简介 . 进程虚拟地址空间 . 内存映射的原理 . 数据结构 . 对区域的操作 . 地址空间 . 内存映射 . 反向映射 .堆的管理 . 缺页异常的处理 . 用户空间缺页异常的校正 . 内核 ...
- Qt之股票组件-自选股--列表可以拖拽、右键常用菜单
目录 一.开头嘴一嘴 二.效果展示 三.自选股列表 1.列表初始化 2.添加Item 3.右键菜单 4.拖拽Item 5.刷新数据 四.相关文章 原文链接:Qt之股票组件-自选股--列表可以拖拽.右键 ...
- Axure案例:用中继器实现便捷好用的3级菜单--转载
提示1:本篇教程可能不太适合新手,以及不了解中继器.全局变量.系统变量等使用的…新手 提示2:文字其实不多,截图太多,所以看上去很长,也可直接翻到末尾查看所有的用例,其实并不多 之前有介绍过使用中继器 ...
- 【抓包工具之Fiddler】增加IP列;session高亮
Fiddler 在处理每个session时,脚本文件CustomRules.js中的方法都会运行,该脚本使得你可以隐藏,标识或任意修改负责的session.规则脚本在运行状态下就可以修改并重新编译,不 ...
- 『言善信』Fiddler工具 — 5、Fiddler界面布局详解【会话列表】
目录 1.会话列表说明 2.会话列表不同颜色的含义 3.会话列表图标说明 4.会话列表应用设置 (1)给Fiddler会话列表增加IP列 (2)添加自定义列 (3)添加完成请求时间 (4)其他操作 1 ...
- 解决ueditor表格拖拽没反应的问题
背景 ueditor作为百度推出的富文本编辑框,以功能强大著称. 笔者最近用这个编辑框做了一个自定义打印格式的功能.允许用户在富文本编辑框中设定打印格式,再实际打印时,根据关键字替换数据库中信息,然后 ...
- Dynamics CRM记录页面上隐藏子网格“+”标识
前段时间微软发布了Dynamics 365,这是Dynamics产品的又一次大的变动,期待新的版本能够更好的满足客户的需求,同时提供更多的可定制化的内容. 近期做Dynamics CRM项目遇到很多审 ...
随机推荐
- 编辑linux服务启动命令(app-script.sh命令编写)
#!/bin/sh# 注:这里可替换为你自己的执行程序,其他代码无需更改APP_NAME=app-biz.jar #使用说明,用来提示输入参数usage() { echo "Usage: s ...
- 【Python】【OpenCV】定位条形码(一)
关于二维码和条形码的检测和识别,在OpenCV中已经有提供了对应的API,cv2.QRCodeDetector() | cv2.barcode_BarcodeDetector() ,相关的实现极其简单 ...
- ElasticSearch之cat anomaly detectors API
curl -X GET "https://localhost:9200/_cat/ml/anomaly_detectors?v=true&pretty" --cacert ...
- 如何使用Redisson实现分布式锁?
在分布式系统中,当多个线程(或进程)同时操作同一个资源时,为了保证数据一致性问题,所以就需要一种机制来确保在同一时间只有一个线程(或进程)能够对资源进行修改,这就是分布式锁的作用. 分布式锁是一种在分 ...
- IDEA将JavaFx打包为exe Win+Mac+Linux多平台分发等等
IDEA将JavaFx打包为exe Win+Mac+Linux多平台分发等等 前面介绍到了用packr打包javafx17为exe多平台分发,比较复杂,这篇则介绍用idea直接打包exe,比较简单,但 ...
- Java异常中处理return
Java中的return语句 在Java中,return语句用于从一个方法中返回结果,并终止当前方法的执行.在方法中使用return语句后,后续的语句将不会执行. public int add(int ...
- 资深Linux 系统管理员常用的15个很好用的Cron工作示例
摘要:Linux Cron 实用程序是一种在特定时间和/或日期持续调度例行后台作业的有效方法.这篇文章讲述了15 个很好用的 crontab 工作调度示例. 本文分享自华为云社区<Linux C ...
- aPaaS将如何改变软件行业?
摘要:当SaaS在云计算中的占比越来越高的时候,几乎所有软件厂商言必谈SaaS,各大云厂商.咨询机构也都将目光瞄准了SaaS.如此火爆的现象背后,真实情况如何呢? 本文分享自华为云社区<[开天a ...
- centos 8 yum 默认安装nginx php 重启nginx服务,报错 403 404
centos yum nginx 默认安装nginx 服务,重启nginx服务,报错. nginx: [error] open() "/run/nginx.pid" failed ...
- 如何构建面向海量数据、高实时要求的企业级OLAP数据引擎?
在字节跳动各产品线飞速成长的过程中,对数据分析能力也提出了更高的要求,现有的主流数据分析产品都没办法完全满足业务要求.因此,字节跳动在ClickHouse引擎基础上重构了技术架构,实现了云原生环境的部 ...