【问题标题】:Netsed transparent proxy and server on the same systemNetsed透明代理和服务器在同一个系统
【发布时间】:2019-11-05 22:44:08
【问题描述】:

我想使用 netsed 更改在 linux 系统(debian 10 拉伸)上运行的 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)。现在的问题是如何用 netsed 做到这一点。

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

或者有没有办法在端口 5060 上使用 netsed 进行监听,然后将其传递给端口 5060 上的 pbx 软件?

更深层的背景是用于拨出电话的 Mobotix 门电话,未正确编码配置文件级别 ID 字段(它应该是六个 base16 字符长,但长度是五个字符)。我的想法是在 SIP-Invite 进入 PBX 后立即更改 profile-level-id。

StackExchange 有同样的问题。

【问题讨论】:

  • Stack Overflow 用于编程问题,而不是关于使用或配置 Unix 及其实用程序的问题。 Unix & LinuxServer Fault 将是解决此类问题的更好地方。
  • 好的,我去Server Fault试试
  • NAPT 在 VoIP 系统上尤其困难。要让 VoIP 与 NAPT 一起工作,还有很多工作要做。

标签: linux networking sip iptables pbx


【解决方案1】:

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

需要注意的几点:

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

  • 此外,除了 TLSSIP 与传输协议无关 表示 SIP 会话被授权同时使用 UDPTCP 同一时间。

我建议你看看 SIP 代理、SBC B2BUASTUN 以构建正确理解所有这些问题,似乎是一条艰难但有价值的道路。

或者您可以从 SIP 代理中获得灵感,并在 netsed 中实现最小的 SIP 代理功能。这很有趣,但并不那么容易。

但是,如果您放弃“基本”代理的最初想法,那么您可以使用像 [kamalio][1] 这样的 SIP 工具箱。这是一种已知的与 SIP 相关的管道,但显然离您的初始目标很远。

希望对您有所帮助。

【讨论】:

  • 更深层次的背景是 Mobotix 门电话,用于未正确编码 profile-level-id 字段(它应该是六个 base16 字符,但长度是五个字符)。我的想法是在 SIP-Invite 进入 PBX 后立即更改配置文件级别 ID。因此,只要不更改 UDP 端口,我就不必担心 NAPT 或 TLS(Mobotix 门电话无法处理 TLS)。
  • 感谢您提供的信息,在这种情况下,我的做法是将 SBC 作为代理/注册器放在电话前面,以便规范 SIP 消息。
  • 在我的配置中只有三个对讲机和六个电话。到目前为止,我只是使用 Mobotix 门电话的集成 SIP 代理/注册器,并想在 Raspberry Pi 上切换到 3CX。作为 SBC,我可以使用什么软件来更正配置文件级别 ID?对我来说同样重要的是,我实际上并不需要 STUN 或 ICE 之类的技术,因为电话和门电话在同一个 LAN 中。
  • 永远不要使用它,但要在似乎合适的纸上使用:siproxd.sourceforge.net/siproxd_guide/siproxd_guide_c1.html
  • 请关闭离题问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-29
  • 2013-08-22
  • 1970-01-01
  • 2022-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多