Hello,

while you can use Kamailio operations to modify the SDP, usually you use 
something like rtpengine to do this job.
It will additionally also process the RTP for you to be able to handle NAT 
better.

Have a look e.g., to the Kamailio default cfg for an inspiration how to use it.

Cheers,

Henning

--
Henning Westerholt – https://skalatan.de/blog/
Kamailio services – https://gilawa.com<https://gilawa.com/>

From: sr-users <sr-users-boun...@lists.kamailio.org> On Behalf Of Sergio Charrua
Sent: Monday, December 12, 2022 2:07 AM
To: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
Subject: [SR-Users] NAT issues with Kamailio + Asterisk with 2 NICs

Hi all!

Got a random issue with NAT which I really have no clue how to solve.

Setup is as follows:
- Client A sends SIP INVITE through Public IP 1.2.3.4, where a Cisco Firewall 
forwards NATed data to a Kamailio instance (acting as a SIPProxy with 
dispatcher) listening with internal address 192.168.0.1 on port 5060. RTPEngine 
is in the same server and address too.
- Kamailio will forward the invite to Asterisk NIC 1 (192.168.0.2) which will 
do some provisioning and accounting stuff and redirect the call (if authorized) 
to Client B's public IP address (all clients are outside the network, reachable 
via WWW) using NIC 2 (192.168.1.2) and public address 4.3.2.1.

The issue is that from time to time, calls will not have audio.
Here is what I have found:
- when Client A sends INVITE, Asterisk NIC 1 will reply SIP 183 with SDP IP 
Address set to the internal IP of NIC 1 (192.168.0.2)
- when Asterisk forwards call to Client B public IP address the SDP IP address 
is 192.168.1.2 (NIC 2)

And I think the issue is the SDP address is wrong: when Asterisk forwards call 
to Client B, the SDP address should be the public IP 4.3.2.1 but it sends 
192.168.1.2.
And when Asterisk replies to Kamailio the SDP is 192.168.0.1.

Correct me if I am wrong but i think the solution should be:
- when Kamailio receives a reply from Asterisk to be forwarded to Client A, it 
should modify the SDP address to public IP 1.2.3.4
- when Asterisk forwards call to Client B, the sip.conf should have the 
parameter externip set to the public IP 4.3.2.1

Questions:
- are my analysis & solution correct?
- is there an example of the above setup where I could get some ideas?
- how do I set Kamailio to modify the SDP address for me?  Any examples?

Thanks in advance.


Sérgio Charrua



__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions
To unsubscribe send an email to sr-users-le...@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the 
sender!
Edit mailing list options or unsubscribe:

Reply via email to