Kamailio mangler模块测试

编程入门 行业动态 更新时间:2024-10-21 05:57:29

Kamailio mangler<a href=https://www.elefans.com/category/jswz/34/1771428.html style=模块测试"/>

Kamailio mangler模块测试

# Kamailio mangler模块测试

mangler是一个很老的模块,可以修改`sdp`,可以修改和恢复`contact`头

## 修改`sdp`

Kamailio Native 路由示例:

```cfg
sdp_mangle_ip("192.168.0.0/16"/*私网地址*/, "113.113.113.113"/*公网地址*/);
route[LOCATION];
...
```

这是进来的sdp:

```sdp
v=0
o=- 6 2 IN IP4 192.168.100.172
s=-
c=IN IP4 192.168.100.172
t=0 0
m=audio 45742 RTP/AVP 0 8 18 101
a=fmtp:18 annexb=no
a=fmtp:101 0-15
a=rtpmap:18 G729/8000
a=rtpmap:101 telephone-event/8000
a=sendrecv
a=x-rtp-session-id:680CAB49531344A3AE049DFDAAE4292B
```

修改之后成这样:

```sdp
v=0
o=- 6 2 IN IP4 192.168.100.172
s=-
c=IN IP4 113.113.113.113      # 更换成公网地址
t=0 0
m=audio 45642 RTP/AVP 0 8 18 101
a=fmtp:18 annexb=no
a=fmtp:101 0-15
a=rtpmap:18 G729/8000
a=rtpmap:101 telephone-event/8000
a=sendrecv
a=x-rtp-session-id:680CAB49531344A3AE049DFDAAE4292B
```

## 修改`contact`头

Kamailio Native 路由示例:

```cfg
encode_contact("enc_prefix", "113.113.113.113"/*公网地址*/)
route[LOCATION];
...
```

这是进来的`contact`头`:

```
Contact: <sip:1001@192.168.100.172:36938>
```

修改之后成这样:

```
Contact: <sip:enc_prefix*1001**192.168.100.172*36938**192.168.100.172*36938*@113.113.113.113>
```

按这个公式进行变换`sip:enc_pref*username*ip*port*protocol@public_ip`,目的主要是为了增加公网地址,以便后续的sip交互

`decode_contact`跟`encode_contact`正好反过来,为了节省篇幅不再举例了

## 简评

`sdp_mangle_ip`还有点作用,但`encode_contact`跟`nathelper`模块的`add_contact_alias`作用比较类似,个人觉得这个函数作用不大
 

更多推荐

Kamailio mangler模块测试

本文发布于:2023-12-03 11:10:21,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1654703.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:模块   测试   Kamailio   mangler

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!