When kamailio need to pass call from carrier to customer VoIP PBX in docker container on swarm cluster then it not possible.
Network interconnection.
In docker environment eth1 NIC of kamailio and VoIP PBX connected to internet via iptables masquerading. eth1 NIC of kamailio and VoIP PBX have random IP address and generally no way to pass message between kamailio and VoIP PBX via eth1 NIC.
Also both containers have eth0 NIC in same network with static IP. But network on eth0 NIC not connected to Internet.
SIP signaling is passed like
eth1-Kamailio-eth0 <-> eth0-VoIP PBX
In this network kamailio add/removes two Record-Route. For ACK message with two Route
headers this rule does not work. Each Route
headers for same kamailio instance and must be translated by one loose_route call
The proxy will inspect the URI in the topmost Route header
field value. If it indicates this proxy, the proxy removes it
from the Route header field (this route node has been
reached).
Really Route
headers translated separately and second loose_route
cannot be completed. Details in details.txt
details.txt
Wireshark pcap file and kamailio log with enabled debug attached of similar calls is attached.
full-call.zip
Create config when kamailio add two Record-Route
headers and send ACK with two Route
headers
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.