概述

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标识的更多相关文章

  1. Nginx干货(一)隐藏Nginx标识与版本号

    注:默认读者自己会安装nginx,不会的就搜一下怎么安装吧.说明一点.在make的时候可以使用make -j num这里面的num是你的cpu核心数.这样会快一点~~~意为以num个进程同时编译 首先 ...

  2. Nginx隐藏标识以及其版本号

    1.隐藏版本号 curl Nginx服务器时,有这么一行Server: nginx,说明我用的是 Nginx 服务器,但并没有具体的版本号.由于某些 Nginx 漏洞只存在于特定的版本,隐藏版本号可以 ...

  3. ASP.NET Core 中文文档 第二章 指南(4.6)Controller 方法与视图

    原文:Controller methods and views 作者:Rick Anderson 翻译:谢炀(Kiler) 校对:孟帅洋(书缘) .张仁建(第二年.夏) .许登洋(Seay) .姚阿勇 ...

  4. Linux Process Virtual Memory

    目录 . 简介 . 进程虚拟地址空间 . 内存映射的原理 . 数据结构 . 对区域的操作 . 地址空间 . 内存映射 . 反向映射 .堆的管理 . 缺页异常的处理 . 用户空间缺页异常的校正 . 内核 ...

  5. Qt之股票组件-自选股--列表可以拖拽、右键常用菜单

    目录 一.开头嘴一嘴 二.效果展示 三.自选股列表 1.列表初始化 2.添加Item 3.右键菜单 4.拖拽Item 5.刷新数据 四.相关文章 原文链接:Qt之股票组件-自选股--列表可以拖拽.右键 ...

  6. Axure案例:用中继器实现便捷好用的3级菜单--转载

    提示1:本篇教程可能不太适合新手,以及不了解中继器.全局变量.系统变量等使用的…新手 提示2:文字其实不多,截图太多,所以看上去很长,也可直接翻到末尾查看所有的用例,其实并不多 之前有介绍过使用中继器 ...

  7. 【抓包工具之Fiddler】增加IP列;session高亮

    Fiddler 在处理每个session时,脚本文件CustomRules.js中的方法都会运行,该脚本使得你可以隐藏,标识或任意修改负责的session.规则脚本在运行状态下就可以修改并重新编译,不 ...

  8. 『言善信』Fiddler工具 — 5、Fiddler界面布局详解【会话列表】

    目录 1.会话列表说明 2.会话列表不同颜色的含义 3.会话列表图标说明 4.会话列表应用设置 (1)给Fiddler会话列表增加IP列 (2)添加自定义列 (3)添加完成请求时间 (4)其他操作 1 ...

  9. 解决ueditor表格拖拽没反应的问题

    背景 ueditor作为百度推出的富文本编辑框,以功能强大著称. 笔者最近用这个编辑框做了一个自定义打印格式的功能.允许用户在富文本编辑框中设定打印格式,再实际打印时,根据关键字替换数据库中信息,然后 ...

  10. Dynamics CRM记录页面上隐藏子网格“+”标识

    前段时间微软发布了Dynamics 365,这是Dynamics产品的又一次大的变动,期待新的版本能够更好的满足客户的需求,同时提供更多的可定制化的内容. 近期做Dynamics CRM项目遇到很多审 ...

随机推荐

  1. 使用nacos配置,启动服务时一直报 Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. APPLICATION FAILED TO START

    报错日志如下: Error starting ApplicationContext. To display the conditions report re-run your application ...

  2. [洛谷P5368] [PKUSC2018] 真实排名

    [PKUSC2018]真实排名 题目描述 小 C 是某知名比赛的组织者,该比赛一共有 \(n\) 名选手参加,每个选手的成绩是一个非负整数,定义一个选手的排名是:成绩不小于他的选手的数量(包括他自己) ...

  3. Mock框架moco学习笔记

    目录 一.Moco框架基本介绍 1. 什么是Moco 2. Moco原理简介 3. Moco的配置和运行 4. Moco启动以及第一个demo 二.mock 的启动及第一个demo 1. 创建star ...

  4. matlab 2018b 下载链接

    matlab 2018b 功能强大下载地址为 https://pan.baidu.com/s/1QZO35BtzcIkh_yPYRIGVWg

  5. 华企盾DSC邮件白名单问题常见处理方法

    1.先检查邮件白名单服务器配置测试连接的通(不通可能是协议未开或者账号密码错误) 2.检查邮件发送端口是否配置(常见的有25和s465.s587) 3.邮件是否到发件箱或者收件箱的垃圾邮件里面了 4. ...

  6. java中的数据库连接池

    常见的连接池的优缺点: HikariCP 优点: 性能出色,尤其在高并发负载下表现良好 内存消耗低,占用系统资源较少 具有自动化的连接池维护和统计功能 缺点: 需要 JDK7 或以上版本支持 配置选项 ...

  7. Asp .Net Core 系列:基于 Swashbuckle.AspNetCore 包 集成 Swagger

    什么是 Swagger? Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.它提供了一种规范的方式来定义.构建和文档化 RESTful Web ...

  8. IoT与鸿蒙、低代码、生成式AI,引爆技术浪潮——华为云开发者日南京站成功举办

    本文分享自华为云社区<IoT与鸿蒙.低代码.生成式AI,引爆技术浪潮--华为云开发者日南京站成功举办>,作者:华为云社区精选 . 近日,华为云开发者日HDC.Cloud Day南京站成功举 ...

  9. 洞见商业新机,云原生数据库GaussDB让企业决策更科学

    摘要:华为云GaussDB(for Redis)为数位科技打造了一个稳定可靠.高效安全.卓越性能的大数据引擎,KV存储降本80%,助力实体企业数字化转型之路走的更加稳健. 本文分享自华为云社区< ...

  10. Redis现网那些坑:用个缓存,还要为磁盘故障买单?

    摘要:向业务查询超时say goodbye! 本文分享自华为云社区<Redis现网那些坑:用个缓存,还要为磁盘故障买单?>,作者: GaussDB 数据库 . 近日,网上一些电商用户出现了 ...