如何才能抓取手机打电话过程中产生的 sip 及 rtp 码流

3 天前
 Exxfire
最近小组在做 IMS 的上层应用,我正在搞 DTMF 相关部分的调研,看了几天的 3GPP 以及 RFC 协议了,还是有些问题没搞清楚。所以想着能抓一下现网环境下哪些场景都有用到 DTMF ,但是手机上没有现成的抓包软件,要是 wireshark 有安卓版就好了。。。。
目前已知的场景大概有两种:
1. 打运营商的客户电话时按键然后获取对应的回答;
2. 协议当中还提到了有补充业务会用到,CAT ( Customized Alerting Tones ),目前对这个业务的初步理解就是一些彩铃是可以按键复制彩铃等等,不确定是否准确。

论坛里面应该在安卓环境下开发的大佬不少,会经常抓码流吧,求推荐个好用的工具!!!!
1208 次点击
所在节点    Android
10 条回复
datou
3 天前
ims sip 为啥不在 ont 上抓固话的?
pagxir
3 天前
没用过 tcpdump ?手机上的不一定能解开,因为会开 IPSec
Exxfire
3 天前
@datou 我现在是用一款叫做 cellular-pro 的 APP 在抓 IMS SIP 信令, 但是这个 APP 没办法抓到 RTP 包。
固话的话,大佬细说一下,或者有没有链接参考一下
Exxfire
3 天前
@pagxir linux 下用过,但是没在安卓环境下用过。我找了点资料看了下,感觉可以操作👍。
IPsec 刚好搞过,只要能抓到完整的码流,IPsec 的 key 值捣鼓捣鼓应该能拿到。
datou
3 天前
@Exxfire 你找找那些固话改 SIP 座机的文章看看
pagxir
3 天前
我记得 dtmf 并不走 RTP ,直接就是 SIP 信令,需要把 sip 信令抛给上层播放音调。这跟 WCDMA 不同,不需要混音
Exxfire
3 天前
@pagxir 根据我这几天看下来的结果,DTMF 承载的方式有 3 类:
1. 带外( out-band ), 就是你说的这种,通过 SIP 当中的 INFO request 携带--- TS 24229 ;
2. 带内(in-band),DTMF 经过处理后放在普通的 RTP 包中发送;
3. 带内(in-band),DTMF 在 RTP 包中使用一种单独的格式进行发送,和普通的 RTP 包区分,见 RFC 4733 。

协议当中明确提到了第一种和第三种,没有提到第二种方式的使用场景,也有部分说法是:当方式 3 不可用时默认采用方式 2 承载 DTMF 。

所以比较需要实际抓包进行确认。
Exxfire
3 天前
@Exxfire @pagxir 我指的是 IMS 的协议当中明确提到方式 1,3 的使用场景。
Feeling22
3 天前
手机连电脑网络,电脑 Wireshark 抓包。。。
Exxfire
3 天前
@Feeling22 是要拨号的,必须得走运营商才行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1088898

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX