thanks a lot.
I use the following and everything seems Ok ...
onreply_route[1] {
if (status=~"(180)|(183)|2[0-9][0-9]") {
if (!search("^Content-Length:[ ]*0")) {
if (nat_uac_test("13")) {
log(1, " - Reply behind NAT...");
setflag(7);
force_rport();
fix_nated_contact();
fix_nated_sdp("3");
};
};
};
}
Kostas
samuel wrote:
I would add a condition like
if (!search("^Content-Length:[ ]*0")) {
fix_mated_sdp()
}
So replies without body (180,100,101,...) will not raise the ERROR you
have in the logs.
It would be also nice to check wether the reply is not an error (>299)
so you do not need to use NAT transversal for error replies.
if (status=~"(180)|(183)|2[0-9][0-9]") {
}
I recommend you to check
www.onsip.org and the discussion about the
on_reply route in the getting started and the config files.
Hope it helps,
Samuel.
2006/5/3, Kostas Marneris <K.Marneris(a)otenet.gr>gr>:
Hello all,
I'm trying to find a solution to overcome the NAT issue using only the nathelper
module.
(I've already successfully worked with 'STUN' & 'MediaProxy'
solutions but I'm trying also this).
1. OUTBOUND direction:
--- INVITE handler ---
...
# NAT Traversal mechanism for INVITEs
if (nat_uac_test("19")) {
setflag(7);
force_rport();
fix_nated_contact();
fix_nated_sdp("3");
};
#
...
The solution above works fine for OUTBOUND calls,
either on-net (a) or off-net (b). (For off-net calls I use a Cisco GW).
a/ SIP_UA_behind_NAT -------- SER ------- SIP_UA_on_public_IP
b/ SIP_UA_behind_NAT -------- SER ------- Cisco_PSTN_GW ------- PSTN
2. INBOUND direction:
route[1] {
# Default Message Handler
t_on_reply("1");
if (!t_relay()) {
log(1, " - Cannot RELAY !!!");
sl_reply_error();
};
}
onreply_route[1] {
if (nat_uac_test("19")) {
log(1, " - Response behind NAT...");
setflag(7);
force_rport();
fix_nated_contact();
fix_nated_sdp("3");
};
}
Although I have two-way audio between calling and called parties,
I get the following logging mesgs :
May 3 17:22:26 server ./ser[13705]: ERROR: extract_body: message body has length zero
May 3 17:22:26 server ./ser[13705]: ERROR: fix_nated_sdp: cannot extract body from msg!
May 3 17:22:26 server ./ser[13705]: ERROR: on_reply processing failed
My question is :
Is the above the correct way for NAT traversal of SIP Responses (200 OK) ?
Do I have to add something else somewhere in ser.cfg ?
Any idea on the log mesgs above ?
thanks in advance for any help,
Kostas
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers