1

I have a rather complicated setup in which I'd like to run a SIP server. In general, I want to run an IPv6-only Kamailio SIP-server on internal network and have outside SIP-clients be able to make calls to the inside over IPv4-only network.

This is the setup: enter image description here

So, the problem is that I can't reach any device in the other network over IPv4. The network with the Kamailio-server has IPv6-connectivity, though can be reached from other IPv6-networks in the internet.

However, I want to connect to the SIP-server with a SIP-App on Android (specifically Mizudroid, but whatever works, even the native Android-client is fine for me) from on-the-road/out-of-office. Unfortunately, the mobile network is IPv4-only and also most WiFi-networks are IPv4-only.

I found a service provider, though (https://myonlineportal.net/portmapper), that can act as an IPv4-to-IPv6-gateway on specific ports. That is, if you connect to this service on portmapper.myonlineportal.net:12345 it will forward this traffic to [your-ipv6]:5060 (5060 could be whatever you like, but 5060 is for SIP). The downside is that it only offers this for TCP-connections.

Anyways, I set up the Kamailio-server, configured it, and clients inside the IPv6-network are able to call and also talk with each other just fine. The problem is with the clients from outside. They can connect to Kamailio, and they can also call someone on the inside. But after answering the call, the connection is unsuccessful and the call is dropped. Also, calling from the inside to an outside doesn't work, the error-message from softphone "PhonerLite" is "477: Unfortunately error on sending to next hop occurred (477/SL)".

Unfortunately, I am not too familiar with the SIP-protocol. As I understand it, Kamailio is just a "broker" that tells Caller1 how to reach Caller2. The problem here might be, that there's only a connection from one port to the Kamailio server via the portmapper. Even though I set every device to use TCP as transport protocol.

I am wondering if this is at all possible? I am thinking it could work if Kamailio is not just the registrar, but also acting as a relay/proxy? So calls from outside shouldn't be dev-to-dev but rather dev-kamailio-dev. It doesn't matter for my application if there'd be a delay due to using TCP. Also, using an external service is no option, because eventually the Kamailio-server would be integrated with the landline.

I'd be happy to hear also about other suggestions. Just keep in mind that the Kamailio-server and router can also be accessed by IPv6 from the internet, while the mobile device has an IPv4-only connection!

Any help is much appreciated!

0

You must log in to answer this question.

Browse other questions tagged .