Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kamailio: add behind NAT multisocket support #2495

Merged
merged 5 commits into from
Jan 31, 2024

Conversation

cruzccl
Copy link
Member

@cruzccl cruzccl commented Jan 29, 2024

Type Of Change

  • Small bug fix
  • New feature or enhancement
  • Breaking change

Checklist:

  • Commits are named and have tag following commit rules
  • Commits are split per component (schema, web/admin, kamusers, agis, ..)
  • Changes have been tested locally
  • Fixes an existing issue (Fixes #XXXX)
  • Upport from existing Pull request #XXXX

Description

After #2493 KamUsers can have multiple binding sockets.

After #2489 and #2491 those additional sockets may be configured to be advertised as public addresses both in KamUsers and KamTrunks.

This PR adds all the necessary logic in Kamailio to generate a listeners.cfg with such configuration and to call rtpengine_offer() (via rtpengine_manage() of first SDP) with the socket used, using direction= keyword.

With this and with a right configuration of rtpengine interfaces (using SIP signalling addresses as labels, as this is the information that Kamailio will send in direction=), Ivoz Provider can work behind NAT escenarios, using SIP and SDP with advertised addresses or local addresses accordingly.

Additional information

rtpengine.conf interface configuration must be manual (using labels and advertised addresses) at this moment, some PRs may come to handle this via web UI.

@cruzccl cruzccl added +feature New feature trunks SIP Trunks Proxy users SIP Users Proxy *tempest* IvozProvider 4.x Tempest Release labels Jan 29, 2024
@cruzccl cruzccl added this to the 4.0.0 milestone Jan 29, 2024
@cruzccl cruzccl requested a review from Kaian January 29, 2024 13:16
@cruzccl cruzccl self-assigned this Jan 29, 2024
@cruzccl cruzccl added the ci-no-tests Do not run test for this Pull Request label Jan 29, 2024
@cruzccl cruzccl force-pushed the PROVIDER-1583-kamailio-behind-nat-changes branch 3 times, most recently from 093e724 to 7defde3 Compare January 29, 2024 15:48
@cruzccl cruzccl force-pushed the PROVIDER-1583-kamailio-behind-nat-changes branch 2 times, most recently from e9b3a9b to 7ac468c Compare January 30, 2024 14:52
@cruzccl cruzccl force-pushed the PROVIDER-1583-kamailio-behind-nat-changes branch from 7ac468c to aa1f529 Compare January 30, 2024 18:11
@cruzccl cruzccl merged commit ea2f54f into bleeding Jan 31, 2024
2 checks passed
@cruzccl cruzccl deleted the PROVIDER-1583-kamailio-behind-nat-changes branch January 31, 2024 11:49
@dbbrito
Copy link

dbbrito commented Jan 31, 2024

Hello Kaian, how are you? Will kamailio allow ivoz to be behind nat on amazon, google cloud etc? I'll be happy to help test, any specific configuration or documentation to follow?
Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci-no-tests Do not run test for this Pull Request +feature New feature *tempest* IvozProvider 4.x Tempest Release trunks SIP Trunks Proxy users SIP Users Proxy
Development

Successfully merging this pull request may close these issues.

3 participants