首页 文章

星号直接媒体和NAT

提问于
浏览
2

我有一个带有公共IP地址的Asterisk盒子和同一个NAT设备后面的两个SIP客户端;我也有不同NAT的SIP客户端 . 我想知道Asterisk是否有可能检测到两个客户端是否在同一个NAT之后并在它们之间使用直接媒体并为不同NAT后面的客户端使用其他选项?

PS:我假设每个NAT盒子都有一个外部IP地址,这个假设对我有好处 .

4 回答

  • 1

    您可以尝试将其设置为directmedia = nonat . 这样,只有当客户端不在NAT后面时才会这样做 . 但是我认为它不适用于您的情况,因为您还需要与2个客户端相同的NAT背后的PBX,这是无用的 .

  • 0

    Asterisk 11.6有这个功能,看看sip.conf.example并查找directmedia部分 .

  • 0

    不,不可能 .

    原因:大多数现代路由器都有网络192.168.1.0/24,因此它会认为几乎所有客户端都在同一网络中 .

    但是对于某些客户,你可以强迫nat = never directmedia = yes . 使用该设置,它将直接工作,但不能与服务器一起使用 .

    Optionaly你可以将vpn(openvpn?)隧道添加到你的网络,将其添加到localnet = list并使用没有NAT的直接路由 .

  • 2

    我有相同的设置,它正在工作 .

    Asterisk 1.8中所需的配置位于 sip.conf (或任何其他包含的文件)中 . 我输入了 [general] 部分:

    [general]
    directmediapermit=192.168.0.0/24 (local_network/netmask)
    directmediadeny=0.0.0.0/0
    ...
    

    在SIP设备定义中,在这种情况下,SIP电话:

    [phones]
    nat=no
    directmedia=nonat
    ...
    

相关问题