I can successfully register my zoiper-client on an android-based mobile phone with my dsl-router (fritzbox) which is my call manager.
I use the public IP of the dsl-router for registration (dyndns).
I get all calls and can make calls from the mobile phone. but here's the catch - there is no voice transported from the mobile device, i.e. on my mobile I can hear everything but when I speak nothing arrives at the other client.
Now if I use the private address of the dsl-router for registration of the zoiper-client, voice is working.
I don't have this behavior when I use a different app (CSipsimple for example).