Re registration problem again

Discuss any topic about Brekeke SIP Server.

Moderator: Brekeke Support Team

Post Reply
jaisonkim
Posts: 7
Joined: Thu Oct 26, 2006 2:51 am

Re registration problem again

Post by jaisonkim »

1. Brekeke Product Name and version:

2. Java version:

3. OS type and the version:

4. UA (phone), gateway or other hardware/software involved:

5. Select your network pattern from http://www.brekeke-sip.com/bbs/network/ ... terns.html :

6. Your problem:

Like the previous topic issued by Rei.Wee, I will describe the problem in detail.

According to RFC32761, it doesn't mention about the port update for every REGISTER messages.
But practically, when REGISTER message is being received in SIP Proxy, SIP Proxy shall update SIP UA information correctly.


My case is like this.
SIP UA is under NAT device which changes outgoing port number periodically.

Brekeke SIP is on global IP address network.

When SIP UA sends out Register message to Brekeke SIP Server, the SIP server records all the necessary information into SIP session context I guess.

Register messages are sent to periodically according to registration time out value configured.

When next Register message is being sent from SIP UA under NAT, the port number of NAT device can be changed.

Brekeke SIP server then receives Register Message which has different port number of previous Register Message.

As far as we have seen, the Brekeke SIP server doesn't update the changed port number which can be detected only the UDP IP header. Of course, I know the changed port number is not seen in the REGISTER message body.

Actually we found out this problem when we use Ethereal to debug this problem.

RE REGISTRATION is succeeded but the call is not being made because the Brekeke SIP server only remember previous port number.

Do I need to configure more about the Brekeke SIP server ?
Or please let us know this is implementation specific or can be fixed in next update.
lakeview
Posts: 319
Joined: Thu Nov 15, 2007 11:54 am
Location: Florida

Post by lakeview »

Hi jaison,

Do you have any DialPlan rule for REGISTER?
If so, please disable it.

What kind of SIP UA are you using?
Does the UA have own NAT feature? If so, please disable it.

Are you using 3rd party database as the registration-database?
rei.wee
Posts: 47
Joined: Thu Oct 26, 2006 11:51 pm

Post by rei.wee »

lakeview wrote:Hi jaison,

Do you have any DialPlan rule for REGISTER?
If so, please disable it.

What kind of SIP UA are you using?
Does the UA have own NAT feature? If so, please disable it.

Are you using 3rd party database as the registration-database?
We don't use Dialplan rule for REGISTER
and We use 3rd party database as the registration-database.

We use peculiar NAT device.
the device change outgoing port periodically.

If a UA send REGISTER to the proxy, proxy save the ip address & port to "Requester" field on DB.
But If a UA send re - REGISTER to the proxy, the proxy change the expire field only.

As a result, when another UA try to call to the UA, the proxy send INVITE to wrong port.

AND we don't use STUN.

this is the scenario.

UA1's local IP & port : 192.168.1.10:5060
NAT device's IP : 203.216.171.110

1. UA1 send REGISTER to proxy.
proxy store the "Requester" field like "203.216.171.110:11234"
the port 11234 is mapped to UA1's local IP&port.

2. The NAT device change the NAT mapping TABLE.
192.168.1.10:5060 <-> 203.216.171.110:22222.

3. UA1 send re-REGISTER to proxy.
proxy receive the message from "203.216.171.110:22222".
but proxy doesn't update the "Requester" field.
proxy update only "expire" filed.

4. Another UA try to call to UA1.
Another UA send INVITE to proxy
the proxy relay INVITE to UA1's IP( 203.216.171.110:11234 )

NAT device occur ICMP error that is "unreachable port"
because the NAT device change the port to 22222 already.

We want to update the "Requester" field when a UA send re-REGISTER to proxy.

Thanks for comments.[/b]
Mohney
Posts: 79
Joined: Tue Nov 20, 2007 12:05 pm

Post by Mohney »

Which version of SIP Server are you using?

If it is ver 1.x, let you use 2.x.
Post Reply