-
Notifications
You must be signed in to change notification settings - Fork 17
Description
Improve the NethVoice Proxy module (Kamailio integration) so that, in scenarios where NethServer 8 does not have a public IP directly assigned to its network interface (on-premise installations), Kamailio can selectively use the local IP address in SDP for communications with local clients.
Purpose and Motivation
Currently, for on-premise installations, Kamailio is configured to always use the public IP address in SDP, which requires implementing hairpin NAT firewall rules for local clients to reach NethVoice through the public IP. This setup adds considerable complexity and is often difficult for many users to manage, as it requires expertise in NAT and firewall configurations. As a result, managing local clients becomes unsustainable for less-experienced users.
Proposed Solution
Enhance Kamailio's logic so that it:
- Continues using the configured public IP for standard communications.
- Uses the NethServer's local IP address for SDP in communications that are destined for clients belonging to networks marked as "local" by NethServer 8.
- Allows NethServer 8 to specify which client networks are considered "local" and to provide the appropriate local IP.
This change will ensure local clients communicate using the local IP, removing the need for complex hairpin NAT configurations while maintaining proper behavior for remote clients.
Alternative Solutions
- Maintain the current setup and rely on resellers to correctly configure hairpin NAT rules; however, this is not always feasible due to varying knowledge and expertise levels.
- Provide improved documentation or a wizard to help guide users through NAT configuration, which is less optimal than solving the problem at the protocol level.
Additional Context
The request stems from significant feedback among users struggling to support local clients in on-premise environments lacking a public IP directly on NethServer 8. Simplifying the networking requirements would lower the barrier for installations and reduce support overhead.
See Also
- Evoseed Ticket: https://odoo.evoseed.it/my/ticket/144
Metadata
Metadata
Assignees
Labels
Type
Projects
Status