I thought only me experienced this problem. Anyway, we have to do something which can hide our signalling and voice traffic across network broader. Since I was busy with using vmess (one of V2Ray protocols) to surf HK websites, I guess we can use similar method to get ride of this annoyed voip blocking problem. I need to speed some time to explore this possibility. Besides vmess, we may use other methods, for instance ss-tunneling method.
Your IAX method is a short-termed solution, we need a more secure method to overcome this issue.
As per your message, are you using two Elastix boxes, one in Guangzhou and the other in HK. Both of them are linked using the IAX protocol right?
Unencrypted VOIP packets can very easily be detected. Skype is detected based on the initial connection and communication between two peers based on that initial connection is then disturbed or blocked.
Pure encrypted tunnels like VPNs carrying voice or Skype traffic cannot be detected by DPI devices.
Finally I got a solution for this issue. The initial problem came from desktop Siemens DECT IP phone. There is no encryption when connected to the HK Asterisk server. The traffic goes through the local ISP. I thought local IPS has done something in blocking VoIP traffic.
In this morning, I use mobile phone with the built-in data plan to make phone calls to one of my friends in Hong Kong and found the same problem (phone dropped after a few minutes talk). Based on my past experience, I have to run the VoIP over a VPN/proxy tunnels. Then I closed the VoiP app and started BifrostV to connect the remote HK V2Ray node to form a secured tunnel. I switched on VoIP app again. I can able to talk with my friend for more than an hour without any interruption.
After the call, I checked with my BifrostV data flow information. I indicated my VoiP app make phone call via proxy (the V2Ray server in HK) via the port 443.
For the case of the second post, you have to established a link built by V2Ray between your Guangzhou and Hong Kong office. Connect your phone call via the port 443 through the umbrella of V2Ray tunnel.
Based on my findings, using V2Ray's dokodemo (port forwarding method) should help you in resolving the VoIP issue when when you switch to use the single-port aix protocol [1,2].
In case you need to establish site-to-site, you may consider to use the OpenVPN method [1].
In the last report, I mentioned that the packet-drop rate was extremely high. As a result, it would not be suitable for VoIP connection. However I found the cause of high drop rate was due to improper settings on my network. Now the problem has resolved and the OpenVPN connection can carry out ping packets with extremely low drop rate.
In this morning, I carried out an experiment using ping.
The reason for long ping time 360ms is China <--> US <--> Hong Kong. The packet travelling time is half of this figure, i.e. 180ms.
If you want to make it shorter, you can China <--> Hong Kong, the packet travel time will be reduced to 50ms.
If you have problem in setting up the V2Ray server, please let me know.
Thank you for your information about the choices of DDNS services. You are right that using mainland China's DDNS may cause problems as I experienced it before. The mainland Chinese DDNS does not resolve non-mainland-China IP.
As for your case, please do not worry as I shall create another post for your issue such that we can concentrate on the problems you have.
Let me clarify your statement
if the connection between 2 elastix is IAX (using single port forward)
I can use V2Ray's dokodemo alone to connect 2 elastix and calls
China-to-HongKong should be no problems. If you have public IP in China office, HongKong-to-China VoIP will not have problems. If you do not have public IP, you need to establish the reverse-proxy-method, which I have never tried it before.
if i use sip phone on 1 site to connect to elastix on the remote site
because sip connection require 5606 for handshaking and voice signaling thro port 10000 to 20000
I have to setup vpn (openvpn) to establish the connection and
accommodate multiple port forwarding for the voice call
in that case it should make reference to your V2ray dokodemo and openvpn thro it