Skip to content
This repository has been archived by the owner on Feb 8, 2024. It is now read-only.

Difficulties when connecting via Proxy #172

Open
riquedev opened this issue Mar 27, 2021 · 1 comment
Open

Difficulties when connecting via Proxy #172

riquedev opened this issue Mar 27, 2021 · 1 comment

Comments

@riquedev
Copy link

Hello, I'm trying to install FreePBX inside a Portainer and I can make all connections to port 5060 normally, they all arrive at FreePBX but I'm having problems with the request headers (I'm testing via applications like Zoiper), see:

[2021-03-27 18:57:53] ERROR[1104] pjproject: sip_transport.c Error processing 597 bytes packet from UDP 192.168.100.1:39327 : PJSIP syntax error exception when parsing 'Via' header on line 2 col 37:
REGISTER sip:192.168.100.100:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.100.1:39327branch=z9hG4bK.99qn03bai;rport
From: sip:[email protected]:5060;tag=MIRec9E0K
To: sip:[email protected]:5060
CSeq: 35 REGISTER
Call-ID: f8x5CoJwbW
Max-Forwards: 70
Supported: replaces, outbound, gruu
Accept: application/sdp
Accept: text/plain
Accept: application/vnd.gsma.rcs-ft-http+xml
Contact: sip:[email protected]:39327;transport=udp;+sip.instance="urn:uuid:a601bec0-2f0d-00c4-8eeb-a908e24c9942"
Expires: 3600
User-Agent: LinphoneAndroid/4.3.1 (Mi A2) LinphoneSDK/4.4.2 (tags/4.4.2^0)

What happens externally is that a different machine, using Nginx, is trying to make a Proxy Pass for this one, apparently my Nginx is damaging the header (?), Is there any way to solve this?

Below my configuration on Nginx:

server {
      # freepbx pjsip                                                                                                                                                                                                                         
      listen [::]:5060 udp;                                                                                                                                                                                                                       
      listen 5060 udp;                                                                                                                                                                                                                        
      proxy_bind $remote_addr:$remote_port transparent;                                                                                                                                                                                           
      proxy_pass 192.168.100.109:5060;                                                                                                                                                                                                            
      proxy_responses 1;                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
}      

I don't have much experience with this, I just tried to follow several tutorials on the internet and I was stuck here for a few days.

@neilherbertuk
Copy link

neilherbertuk commented Mar 14, 2023

Out of the box Nginx only supports HTTP and HTTPS traffic. You need to use the stream {} block to enable UDP or TCP (non HTTP) traffic. Take a look at the docs here → https://docs.nginx.com/nginx/admin-guide/load-balancer/tcp-udp-load-balancer/

I use nginx proxy manager with my dockerised installation of FreePBX which has a GUI to help configure all of this for you.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants