this post was submitted on 27 Oct 2023
1 points (100.0% liked)

VoIP

1 readers
1 users here now

Rules

founded 1 year ago
MODERATORS
 

I have self-hosted kubernetes cluster, launched on oracle cloud instances.

I want to launch there FreePBX (asterisk distribution). So, I have problems with NAT - sip protocol is terrible to work with NAT.

How can I bypass it? I have two ideas:

  1. create VPN (openvpn??) service in the another container in the same pod with freepbx, so, clients(app on smartphone, hardware phone) will connect to vpn, and than to freepbx
  2. use turn/coturn, something like this: https://github.com/l7mp/stunner

So, client will use turn, and freepbx will use turn as well

But maybe I can just somehow configure SIP protocol for server?

Basically, I have multiple NATs: client > router > external IP > internal IP of oracle cloud > metallb (which uses this internal IP > pod's IP address.

And it kills SIP traffic. It even can't auth :(

Also, I used gomplate template to generate ports for my service (for SIP I need high range of ports for RTP)

top 4 comments
sorted by: hot top controversial new old
[–] ravenze@alien.top 1 points 1 year ago

Use a session border controller to manage your NAT'ing

[–] ForeheadMeetScope@alien.top 1 points 1 year ago (1 children)
[–] Polnoch@alien.top 1 points 1 year ago

session border controller

Why? It will be the same problem with pure Asterisk.

[–] TheRealNalaLockspur@alien.top 1 points 1 year ago

I setup K8's successfully using freeswitch and KAZOO/Kamailio as an SBC. Even have our webapp in Azure kubes.

NAT was a bitch... but just keep pushing through!

I highly doubt there is anything on the market that is turn key though... and this took a couple of months to program too.