无法从客户端设备连接到 voip 服务器?

Cannot connect to voip server from client device?

我在地址 70.40.180.100/ 上托管了一个星号服务器。当我在 web 浏览器上键入它时,我可以打开 freePBX web-front 来访问该应用程序。我现在想将客户端设备连接到此服务器。当我在本地系统上托管服务器时,我将本地 ip 地址作为我在客户端设备上的主机地址 (android phone),并且我能够进行 voip 呼叫。这里服务器的 ip 地址不可用于连接,服务器地址也不起作用。我知道,问题是因为 ip 地址不是 public,我需要做一些类似端口转发的事情。但是,我想在这里得到一些指导。

我的服务器是 Ubuntu-1404-trusty-64-minimal 并且 ifconfig 给出

  docker0   Link encap:Ethernet  HWaddr 02:42:32:c1:87:5f  
  inet addr:172.17.0.1  Bcast:0.0.0.0  Mask:255.255.0.0
  inet6 addr: fe80::42:32ff:fec1:875f/64 Scope:Link
  UP BROADCAST MULTICAST  MTU:1500  Metric:1
  RX packets:1 errors:0 dropped:0 overruns:0 frame:0
  TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:0 
  RX bytes:76 (76.0 B)  TX bytes:360 (360.0 B)

  eth0 Link encap:Ethernet  HWaddr 52:54:a2:01:1f:d7  
  inet addr:172.31.1.100  Bcast:172.31.1.255  Mask:255.255.255.0
  inet6 addr: 2a01:4f8:c17:19fb::2/64 Scope:Global
  inet6 addr: fe80::5054:a2ff:fe01:1fd7/64 Scope:Link
  UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  RX packets:1118766 errors:0 dropped:0 overruns:0 frame:0
  TX packets:40869980 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:1000 
  RX bytes:1310353426 (1.3 GB)  TX bytes:2943301636 (2.9 GB)

  lo Link encap:Local Loopback  
  inet addr:127.0.0.1  Mask:255.0.0.0
  inet6 addr: ::1/128 Scope:Host
  UP LOOPBACK RUNNING  MTU:65536  Metric:1
  RX packets:189405 errors:0 dropped:0 overruns:0 frame:0
  TX packets:189405 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:0 
  RX bytes:31714766 (31.7 MB)  TX bytes:31714766 (31.7 MB)

假设您没有更改任何其他默认设置,您需要的端口转发是:

UDP 5060

UDP 10000-20000

因此,在您的 router/firewall 中,您需要将所有这些转发到您的本地 IP。

请记住,这会造成很大的安全问题。您不想允许开放访问。确保将只需要连接的 IP 列入白名单。更好的选择是在您的服务器和客户端之间配置一个 VPN。 NAT 和 VoIP 不太好用,所以 VPN 也会在它们开始之前为您解决这些问题。