Nope... it wont because that will be executed upon REGISTER for both calling and called (where they register) and SER will KNOW from flag that one of parties behind then NAT after lookup(location) upon INVITE, it doen not matter caller or called.. if one of then behind then nat (flag 4 set) – do rtpproxy

 

 


From: Tina [mailto:kramarv@yahoo.com]
Sent: Wednesday, February 23, 2005 4:15 PM
To: Vitaly Nikolaev
Subject: RE: [Serusers] User ser+nathelper+rtppoxy as outbound server

 

Thank you, I'll try this

(though I think nat_uac_test() will fail, because the calling party not behind the NAT).

BRs,

Tina

Vitaly Nikolaev <vitaly@voipsonic.com> wrote:

That where u need to use flags

 

Example:

If register -

                if (nat_uac_test("4")) {

                        setflag(4);

                        force_rport();

                };

                if (nat_uac_test("1")) {

                        setflag(4);

                        fix_nated_contact();

                };

 

 

Now you will have flag set in location database.

 

Now when u have INVITE regardless of from nat to non nat or from non nat to nat client you wil do lookup("location")

And then if any contact has flag set it will do _OR_ for it.. and then you can do:

 

 if (isflagset(4))

            do rtp proxy

 

 

 

do not forget do rtp proxy in onreplay and do all usual stuff flike: fix_nated_contact();fix_nated_sdp

 

 


From: serusers-bounces@iptel.org [mailto:serusers-bounces@lists.iptel.org] On Behalf Of Tina
Sent: Wednesday, February 23, 2005 3:00 PM
To: serusers@lists.iptel.org
Subject: [Serusers] User ser+nathelper+rtppoxy as outbound server

 

========================================================

----Original Message-----
From: Jiang zhou [mailto:zjiang at sipod.com]
Sent: Thursday, September 02, 2004 6:06 PM
To: Richard; serusers at 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.

===========================================================

 

I encountered into exactly the same problem:

UA1 ->SER->NAT->UA2

nathelper does not forces RTP relay upon INVITE (because there is no need), and 200 OK SDP won't be rewrited (lookup mode). Help me please whether I can resolve this problem in configuration file.

Thanks a lot,

Tina


Do you Yahoo!?
Take Yahoo! Mail with you! Get it on your mobile phone.


Do you Yahoo!?
Yahoo! Mail - 250MB free storage. Do more. Manage less.