Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >讨厌的ALG

讨厌的ALG

作者头像
杜金房
发布于 2020-12-21 07:33:52
发布于 2020-12-21 07:33:52
1.2K0
举报

这几天测试FreeSWITCH的Bypass Media功能,FreeSWITCH在公网上,客户端在私网,发现SDP数据被篡改,影响通话。

在客户端抓包,发出去的SDP是这样的(用ngrep抓包,每行会多显示个点)

Content-Length: 544.

.

v=0.

o=- 3693862075 3693862075 IN IP4 192.168.3.119.

s=pjmedia.

b=AS:117.

t=0 0.

a=X-nat:0.

m=audio 4006 RTP/AVP 103 102 104 125 109 3 0 8 9 101.

c=IN IP4 192.168.3.119.

b=TIAS:96000.

a=rtcp:4007 IN IP4 192.168.3.119.

a=sendrecv.

a=rtpmap:103 speex/16000.

a=rtpmap:102 speex/8000.

a=rtpmap:104 speex/32000.

a=rtpmap:125 opus/48000/2.

a=fmtp:125 useinbandfec=1.

a=rtpmap:109 iLBC/8000.

a=fmtp:109 mode=30.

a=rtpmap:3 GSM/8000.

a=rtpmap:0 PCMU/8000.

a=rtpmap:8 PCMA/8000.

a=rtpmap:9 G722/8000.

a=rtpmap:101 telephone-event/8000.

a=fmtp:101 0-16.

在服务端看到的SDP却是这样的:

Content-Length: 542

v=0

o=- 3693862075 3693862075 IN IP4 27.194.24.94

s=pjmedia

b=AS:117

t=0 0

a=X-nat:0

m=audio 4006 RTP/AVP 103 102 104 125 109 3 0 8 9 101

c=IN IP4 27.194.24.94

b=TIAS:96000

a=rtcp:4007 IN IP4 192.168.3.119

a=sendrecv

a=rtpmap:103 speex/16000

a=rtpmap:102 speex/8000

a=rtpmap:104 speex/32000

a=rtpmap:125 opus/48000/2

a=fmtp:125 useinbandfec=1

a=rtpmap:109 iLBC/8000

a=fmtp:109 mode=30

a=rtpmap:3 GSM/8000

a=rtpmap:0 PCMU/8000

a=rtpmap:8 PCMA/8000

a=rtpmap:9 G722/8000

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-16

我们本次实验,希望客户端能保持私网IP,以便我们在Bypass Media的情况下RTP可以直接通过私网互通,不经过服务器

这一般是ALG在捣鬼。ALG的全称是应用层网关,有时会偷偷地修改SIP协议,然而,检查了路由器的设备,并没有找到相关设置,也无法判定到底是中由器问题还是运营商在中间自作聪明捣了鬼。

另外,不知道你有没有注意到,这个篡改还有个Bug,那就是它没有改rtcp那一行。

上面的SIP使用的是UDP协议,后来,把SIP变成TCP传输就好了。看来,这个ALG只会篡改UDP的包。

还有几天就过年了,最近一年无法想象的忙,更新有点少。这几天如果老板提前放假,我就补几篇。提前祝大家新年快乐。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-01-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeSWITCH中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
一次完整的通话过程SIP报文分析
主叫方(1004,Yate客户端,端口号:52110) -> 通过FreeSWITCH(端口号:5070)呼叫 -> 被叫方(1000,ZoIPer客户端,端口号:5070)
菩提树下的杨过
2021/05/27
3.2K0
Sip协议(三)- 通话接听流程
INVITE sip:1000@10.0.0.1:10000;transport=tcp SIP/2.0
用户2878604
2024/06/25
2890
创建 WebRTC 会话
一WebRTC 是一套基于 Web 的实时通信解决方案,通过浏览器内置的 API 来支持音视频通道的搭建。
派大星在吗
2021/12/05
5.7K0
一个sofia-sip问题的解决过程记录
广播终端作为被叫方,接听时,只看对方的视频,本端的视频是recvonly,webrtc生成sdp时是recvonly,但是janus转到freeswitch后,freeswitch收到的sdp的video部分却成了sendrecv;
呱牛笔记
2023/05/02
6440
一个sofia-sip问题的解决过程记录
webrtc信令交互格式
帐篷Li-物联网布道师
2024/08/17
1430
如何在XSwitch中使用mod_unimrcp
MRCP(Media Resource Control Protocol)媒体资源控制协议,是语音服务器用来向客户端提供各种服务(比如我们熟悉的语音识别和语音合成)的通信协议。MRCP需要承载于其他协议之上,如RTSP (Real Time Streaming protocol)或SIP (Session Initiation protocol),MRCP协议有两个版本,版本v1依赖于RTSP协议来创建媒体流和数据传输,但版本V1兼容性较差,很难兼容不同厂家的扩展要求。版本v2使用了SIP来负责会话和媒体的创建,增加了扩展性,保证了兼容性,目前大多数使用的都是V2版本。
杜金房
2024/03/18
4361
如何在XSwitch中使用mod_unimrcp
Kamailio Transformations - 常用的伪变量转换函数
伪变量转换函数大部分在 pv 模块中处理,官方文档记录的很全面,但是给的例子比较少。本文列举比较常用的转换函数
杜金房
2024/04/11
2530
Kamailio Transformations - 常用的伪变量转换函数
SIP菜鸟如何学SIP
SIP是一个应用层的控制协议,可以用来建立、修改、和终止多媒体会话(或者会议)例如Internet电话。SIP在建立和维持终止多媒体会话协议上,支持5个方面:
杜金房
2022/12/12
3K0
SIP菜鸟如何学SIP
【项目实战】基于 WebRTC 的音视频在线监考模块的设计与实现(上)
最近在做关于考试系统的项目,其中有一项需求分析是要做在线监考模块,因为之前没有做过这方面的东西,还是比较迷茫的,在查阅了大量的资料之后,再结合系统是以 H5 的形式展示的,最后选用了 WebRTC 框架为主体来实现这一模块,本文会介绍其基本理论;  
sidiot
2023/08/31
5100
【项目实战】基于 WebRTC 的音视频在线监考模块的设计与实现(上)
不需要SFU实现WebRTC联播实践
https://webrtchacks.com/a-playground-for-simulcast-without-an-sfu/
LiveVideoStack
2021/09/01
7980
Google Hangouts支持使用Firefox WebRTC
在2017年的末尾,Google Hangouts(环聊)开始重新支持Firefox。自2017年4月Firefox 53删除NPAPI以来,该插件一直无法正常访问。尽管Firefox WebRTC团队测试Hangouts的事情已经公开了一段时间,但看到它付诸实际仍然是一件很令人兴奋的事情。 Tsahi Levent-Levi是最先注意到的人之一。Hangouts 团队用实际行动表示他们仍然视网络为一个开放的平台!
LiveVideoStack
2021/09/02
7740
Google Hangouts支持使用Firefox WebRTC
oraclejobschedulerorcl禁用_oracledbconsoleorcl找不到
This document covers information about the SBC Setup.
全栈程序员站长
2022/10/01
4.1K0
语音对讲广播模式和TALK模式
帐篷Li-物联网布道师
2024/08/17
1750
语音对讲广播模式和TALK模式
最佳实践 | 基于腾讯云MRCP-Server打造简单智能外呼系统
智能外呼在国内已发展多年,整体的技术早已非常成熟。那么一个简单的智能外呼系统应该包含哪些东西呢?
腾讯云AI
2023/04/06
8K5
最佳实践 | 基于腾讯云MRCP-Server打造简单智能外呼系统
sipp学习笔记
sipp是一个针对SIP协议进行测试的免费开源工具,可运行于windows/mac/linux,官方地址:http://sipp.sourceforge.net/。
菩提树下的杨过
2021/05/18
3.3K0
sipp学习笔记
模拟丢包测试
首先,FreeSWITCH在公网上,客户端在NAT环境中。我们先用客户端呼叫9196。呼通后可以听到自己的回音。
杜金房
2020/12/21
2.9K0
国网B接口调阅实时视频(INVITE)接口描述和消息示例
前面三篇blog分别介绍国网B接口注册、资源上报和资源信息获取,今天过一下国网B接口调阅实时视频相关的接口描述和消息示例,做过GB28181设备接入的都知道,国网B接口调阅实时视频流程和GB28181的基本一致的,区别在于SDP的一些参数描述,有些差别,举个例子,调阅实时视频,GB28181的SDP里面“s=Play”,国网B接口SDP取值定义“s=-”,如果严格按照规范来,估计好多系统都没法正常接入。
音视频牛哥
2022/10/26
1.6K0
国网B接口调阅实时视频(INVITE)接口描述和消息示例
国网B接口语音对讲和广播技术探究及与GB28181差别
在谈国网B接口的语音广播和语音对讲的时候,大家会觉得,国网B接口是不是和GB28181大同小异?实际上确实信令有差别,但是因为要GB28181设备接入测的对接,再次做国网B接口就简单多了。
音视频牛哥
2023/04/14
6930
国网B接口语音对讲和广播技术探究及与GB28181差别
生活中的信令和媒体
这还不简单,咔咔咔,我能讲一小时。但对于非技术人员来讲,我应该怎么解释呢?讲个故事吧。
杜金房
2020/12/21
1.4K0
生活中的信令和媒体
手撕RTSP协议系列(3)——sdp格式详解
上一篇我们介绍了RTSP数据包的格式,在整个rtsp的交互过程,sdp也是很重要不可获取的一环,本篇我们来详细介绍一下sdp的格式!
视界音你而不同
2020/10/19
6.5K0
手撕RTSP协议系列(3)——sdp格式详解
相关推荐
一次完整的通话过程SIP报文分析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档