Hi all,
The problem is I can't register two SIP UAs to SER
server.
This is my environment:
Internet
|
router (X.X.X.163)
|
|Fiber |---- Ser server (X.X.X.166)
| |
Switch------|---- Trunk Gateway (X.X.X.167)
|
|---- Other servers
|
|---- Router( cisco 26xx) (X.X.X.163)
|
Switch
|
_____________________|_________________
Users SIP UA1(172.16.2.11) SIP UA2(172.16.2.23)
My ser.cfg like:
route{
if ( msg:len > max_len ) {
sl_send_reply("513", "Message too
big");
break;
};
record_route();
if (loose_route()) {
t_relay();
break;
};
if (!method=="BYE") {
force_rport();
fix_nated_contact();
};
if (method=="REGISTER") {
if (!www_authorize("novsky.com",
"subscriber")) {
www_challenge("novsky.com",
"1");
break;
};
save("location");
break;
};
if (method=="INVITE") {
if(!proxy_authorize("novsky.com","subscriber")) {
proxy_challenge("novsky.com","1");
break;
};
};
if(uri=~"^sip:6169[0-9]*@[0-9|\.]*") {
if(!lookup("location")) {
sl_send_reply("404", "Not
Found");
break;
};
}else {
forward(172.16.255.2,6050);
break;
};
if (!t_relay()) {
sl_reply_error();
};
}
I use ethereal to look the packet, first UA1 send
REGISTER to SER server, on NAT it use 5060 port, and
SER return to corrent address/port.
When UA2 send REGISTER to SER server, on NAT it use
1027 port, but SER return to NAT:5060 port and the
packet transfered to UA1.
So UA2 can't register.
I can see the NAT table on route, like
udp x.x.x.165:5060 172.16.2.11:5060 x.x.x.165:5060
x.x.x.x.165:5060
udp x.x.x.165:5060 172.16.2.23:5060 x.x.x.165:1025
x.x.x.x.165:1025
Wangji
12/1/03
__________________________________
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
http://antispam.yahoo.com/whatsnewfree