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@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers