Hello!
I used to use ser+nathelper+rtpproxy and it worked well. Unfortunately
I found some buggy routers which have some SIP support but what they
have is buggy (e.g. Draytek Vigor 2104 v2.3.6). They rewrite the IP in
SIP message (in this version REGISTER message is not rewritten, but
INVITE). While I have www/proxy_authorize and ser sends back auth.
request, the phone (GS BT101) does not respond. I guess this is
because it remembers for internal IP and receives public IP in message
- because router rewrote it.
For this I think there are 2 solutions:
1. Upgrade firmware which is many times not an option while the user
may not have the knowledge to make it and this can be a real pain.
2. Use STUN, so this rewriting of router won't make any effect.
While not every router is buggy, I would like to leave nathelper as is
and somehow detect if the UA is behind NAT or not. Andrei suggested to
use force_rport() in the main section (not just inside the NAT
section), but I guess, this will mean, that every call's every RTP
will pass through rtpproxy - which is not desirable.
As I was looking for messages, the Call-Id also has the private IP
portion, e.g.:
Call-ID: 1400999426(a)192.168.24.37
My question would be: how to filter this part of sip message in ser
configuration? I'm far-far not an expert to be able to do that :(
I'm using 0.8.14.
Thanks in advance,
Tamas