We have tested and used the following however there are some strange issues with some as noted
The test 3cx system was on an open public ip . we made changes to the Network setting in the INI to make all public IPs "local" and all STUN was disabled. We also were not using port 5060 as the SIP port.
Tested with various UAs behind distant NATs, including SNOM, Cisco, Sipura, Leadtek
http://www.Les.net (some inbound calls seem to drop, however this may depend on the DID We also had to disable reinvites)
http://www.Terravon.com (some issues noted with inbound calls dropping)
http://www.Messagenet.it (not heavily tested. Inbound seems to work)
http://www.v2.com.mx (tested inbound only and works, not yet heavily tested)
http://www.rapidvox.com This was thew only IP authorization that we tested and we could not get an outbound call to work from 3cx, however other programs from the same IP have no issues sending calls to this provider. 3CX requires information not typical of a Trunk for an IP authorization ; username for one, and this is most probably the issue
http://www.Alestra.com.mx . (Even after making the host entry in windoze , 3cx seems to ignore the entry in the hosts file and tries to register to the invalid DNS entry fow asbw.alestravoip.com - complete failure 3cx needs to recognize the hosts file or allow some accommodation of this as there are other providers that are like this)
http://www.supernettel.com (Complete success in and out . IN fact , we directed some of the problematic DIDs through this service and they are now working)
On an additional note we also tested localhost or loopback 127.0.0.1 and noted some issues there, regardless what the UA was on the other end. They seem to work if we register, however not as an unregistered trunk (IP Auth), and we had to kind of fudge hostnames, giving two hostnames to the same ip one that was not used on 3cx to allow us to loopback calls to the same IP (different port). As I recall, 3cx would not allow 127.0.0.1 as a host for a trunk, but inbound calls to 3cx showed 127.0.0.1 as the source requiring some customization of the header options.