Since ser knows both inside and outside addresses, there should be no
special check on the IP address if record route is used. Just have to make
sure that ser puts the right address on outgoing packets depending on the
outgoing interface.
SDP address needs to be changed if a call is forwarded to an outside IP. For
intra-office call, nothing needs to be changed, no uac-nat-test().
Presumably RTP packets can be relayed by rtpproxy with no or minimum change.
Since ser can only handle one branch of forking, it would be a real problem
on how to handle a call forking to both inside and outside.
This whole setup would be perfect to run on a cheap SBC (single board
computer) with very small RAM and flash message, e.g. Linksys wrt54G and
rv042. Both are based on linux and have open source code available.
Richard
-----Original Message-----
From: Jiang zhou [mailto:zjiang@sipod.com]
Sent: Thursday, September 02, 2004 6:06 PM
To: Richard; serusers(a)lists.iptel.org
Subject: Re: [Serusers] User ser+nathelper+rtppoxy as outbound server
I think the normal Nathelper+rtpproxy will have a bug for public ua call a
nated ua.
ua1(pblic ip) ------->ser(nathelper+rtpproxy)----->nat----->ua2
ua2 can call ua1.
The ua2's invite sdp can be modified by nathelper and rewrite the ip/port to
rtpproxy's ip/port . So ua1 send voice to rtpproxy to ua1
Ua1 can't call ua2.
Ua1's Invite message will fail in nat_uac_test("3") test. So ser dos't
setflag for this invite and don't use the rtpproxy.
Ua2's reply can't be modified by nathelper. So Ua1 find the reply with a
private ip.
So ua2 can't send voice to ua1, only ua1 send voice to ua2.
Is it right?
If use a ser+rtppoxy as a outbound server, I can resovle this issue.
----- Original Message -----
From: "Richard" <richard(a)o-matrix.org>
To: "'Zhou Jiang'" <zjiang(a)sipod.com>om>;
<serusers(a)lists.iptel.org>
Sent: Thursday, September 02, 2004 2:52 PM
Subject: RE: [Serusers] User ser+nathelper+rtppoxy as outbound server
Hi,
I am looking at the same type of setup too.
A local ser runs on the NAT firewall. A UA behind NAT registers with the
local ser. When a SIP message is sent out to outside world, local ser does
record route. So it is always in the path and there is not need to change
SIP contact field. The only thing which needs mangle is the SDP if calling
the outside world. It should be changed to the local ser's outside ip
address. Rtpproxy, (if it is capable of doing this), can forward the
traffic
between inside and outside.
The greatest benefit I can see is that traffic for an intra-office call
never has to go out. It would be easy to maintain a good quality. Also the
phone system is still up even if the outside connection is down. Other
benefits include a distributed registration database.
Any comment?
Richard
-----Original Message-----
From: serusers-bounces(a)iptel.org [mailto:serusers-bounces@lists.iptel.org] On
Behalf Of Zhou Jiang
Sent: Wednesday, September 01, 2004 5:19 PM
To: serusers(a)lists.iptel.org
Subject: [Serusers] User ser+nathelper+rtppoxy as outbound server
I want to cofig ser as a outbound server to resolve all nat problem. The
follow picture is the system architecture.
uac--nat-->outboud1(ser1+nathelper+rtpproxy)------------->ser(main)
uac--nat-->outboud2(ser2+nathelper+rtpproxy)-------------|
uac--nat-->outboud3(ser3+nathelper+rtpproxy)-------------|
Can someone know if ser can rewrite the uac's contact as itself ip address
and
forward to main ser? Nathelper can rewrite sdp ip/port to it own ip/port.
But it
only rewrite contac with nat's ip and port.
Jiangzhou