Our SER server is behind NAT, so we are having all
sorts of NAT problems.
I have tried to read all the information I was able to find on documents,
maillist archives, and onsip and by googling. And I believe that I were
able to solve SIP signalling problems by record routing, NAThelper and
rtpproxy, and some tricks (double record routing) for HT486. So SIP
signalling seems fine now.
A few months back I posted a short how-to on that and people reported back
that it worked, AFAIK. I don't really see why you need fouble record routing
for HT486 unless you have an ALG in your NAT.
But when UAs are connected to sems, they send RTP
messages to the local IP
of SER. I also tried to use another ser instance dedicated to sems, but
still the same. So I thought it's time to ask a couple of questions to the
list.
To solve SIP problems, I tried to use advertised_address, but I could not
see any effect of it, SER still advertises its local IP, afaics. I also
tried mhomed. Apparently, I don't know how to use this parameter, I
thougth it would function similar to externip/localnet parameters on
Asterisk. So I tried solutions mentioned above, with success, as far as I
can see. But ser.cfg becomes quite complicated. I wish I could use
advertised_address properly.
adverstised_address should be used, it changes the IP address used in the
Via header. mhomed is to be used if your box has two interfaces where one is
public-facing and one is private and routing is done across.
To solve RTP problems, I tried to use mangler. But I
need to manipulate
messages sent from SER to the UA, for example 200 OK messages with SDP
info. But, again I guess I don't know where to use sdp_mangle_ip function.
I tried to use it in onreply_route without success. Where should I place
it in ser.cfg? I guess I am missing something obvious. Would
advertised_address solve this also, if I could have it working for me?
I'm not sure why sems send to SER's IP address. Unless you call
force_rtp_proxy or use_media_proxy, the SDP address should not be changed.
To summarize, I don't care too much about
connections from local network
(btw, I've set SER as DMZ), it's OK if SER forgets its local IP and always
advertises its public IP. I want SER to put its public IP everywhere in
every message (SIP/SDP) it sends out. Is there anyway to achive this?
advertised_address=public_ip
You also need to make sure that you have an alias statement for both the
local IP and the public.
If you want to use rtpproxy on all calls to sems, you can just make sure
that you call force_rtp_proxy() on all INVITEs and OK (onreply) to/from
sems.
g-)
I've done all these on both SER 0.9.4 and 0.10.99
(CVS HEAD a week from
now), the server is a CentOS 4.1 x86_64.
I would appreciate any help.
Sincerely,
Soner Tari
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers