[Serusers] interesting 2 way SIP signalling problem

İlker Aktuna (Koç.net) ilkera at koc.net
Mon Apr 9 10:28:45 CEST 2007


Hi,

This is under my method=="REGISTER" section:

        if (nat_uac_test("1")) {
                setflag(6);
                fix_nated_contact();
                force_rport();
        };


I also have this under method=="INVITE" :

if (method=="INVITE" || method=="ACK") {

                        if (client_nat_test("19")) {
                                fix_nated_contact();
                        };

And this one under a onreply route :

onreply_route[2] {
      if (status=~"(183)|(2[0-9][0-9])") {
        use_media_proxy();

        if (nat_uac_test("19")) {
                fix_nated_contact();
        };
      }
    };


Thanks for your reply...

ilker 

-----Original Message-----
From: Ladislav Andel [mailto:ladaan at iptel.org] 
Sent: Monday, April 09, 2007 11:31 AM
To: İlker Aktuna (Koç.net)
Cc: serusers at iptel.org
Subject: Re: [Serusers] interesting 2 way SIP signalling problem

Hi,

do you call  force_rport() function for NATed clients?
Can you paste in the NAT section of your ser.cfg here?
Paste in NAT detecting section too.

Lada


İlker Aktuna (Koç.net) wrote:
> Hi,
>
> I have a working configuration on my SER server. Most of the users can make calls (both way incoming and outgoing) with no problem.
> However, I have some clients that can't make calls. 
> When I analyze these by ngrep and/or tcpdump, I see that the SER server does not reply the packet on the correct port.
>
> For example, I have a testing client which is behind NAT.
> The client sends INVITE message from UDP port 3023 to port 5061 of my SER.
> (cseq number is 1)
> SER exchanges the message with the uplink sip gateway and when it 
> receives a "OK" response it forwards this message to the client's NAT 
> IP address BUT on a different port (14640) with correct cseq number 
> (1)
>
> Of course, this new port is not open on the NAT router and it does not reach the client.
>
> I see that the first INVITE message has Contact field with internal IP address of the client and the port number as 14640.
> So the SER server sends the returning message to the external IP address with internal port number.
>
> How can I fix this issue ?
>
> I can send the configuration of my SER server if that would help to find the problem.




More information about the sr-users mailing list