Netsed透明代理和服务器在同一系统上

问题描述 投票:-1回答:1

我想使用netsed来改变在Linux系统(debian 10 Stretch)上运行的PBX服务器上的传入SIP通信(UDP端口5060)。

在第一步中,我只是尝试设置电话以连接到UDP / 5061,并开始使用该命令进行联网:

./netsed udp 5061 127.0.0.1 5060 s/profile-level-id=4280D/profile-level-id=42800D

流量被截获,更改并转发到PBX软件的端口5060。

[不幸的是,SIP协议“通知”电话使用的端口与PBX不匹配(由于端口转发,PBX正在使用5060,电话正在使用5061)。现在的问题是如何用网进行此操作。

所以问题是如何在与pbx相同的系统上创建透明代理。

或者是否有一种方法可以在端口5060上使用netsed进行侦听,然后将其传递给端口5060上的pbx软件?

更深的背景是Mobotix门电话,这些电话用于未正确编码配置文件级别ID字段的呼出电话(它应该是六个base16字符长,但是五个字符长)。我的想法是只要SIP邀请进入PBX即可简单地更改配置文件级别ID。

StackExchange处的相同问题。

linux networking sip iptables pbx
1个回答
2
投票

[如果我没有误解你的想法,我的事情很有趣;您正在尝试使用netsed设置透明的应用程序IP代理。根据该实验,直接解决方案不适合,因为SIP协议“ notices”表示“ netsed”正在更改数据路径。

需要注意的几点:

  • 本身,SIP不能通过NAPT用作传输数据包含IP地址和端口号。

  • 此外,TLSSIP传输协议不可知,其中表示已授权SIP会话在服务器上同时使用UDPTCP同时。

我建议您看一下SIP代理,SBC B2BUASTUN,以便对所有这些问题有正确的理解,这似乎很难路径,但很有价值。

或者您可以激发SIP代理的灵感,并将最小的SIP代理功能实现到netsed中。这很有趣,但并不是那么容易。

但是,如果您放弃了“基本”代理的最初想法,则可以使用[kamalio][1]之类的SIP工具箱。这是进行SIP相关管道的一种已知方法,但显然远非您的最初目标。

希望此帮助。

© www.soinside.com 2019 - 2024. All rights reserved.