Hi serusers
another simple problem making me crazy. I can't get my NATed clients to send
ACKs and BYEs thru ser. After inviting another uac with ser taking care of
the relay (setting up rtpproxy and fixing nat), any other signaling message
doesn't even hit ser and gets lost.
My configuration is the following: I have ser running on a machine with only
private ip, but reachable from the internet via router public ip and port
forwarding. I noticed that the INVITE is sent by uacs to the right public ip
but then every other signal (ACKs, BYEs, CANCELs) is sent by uacs to ser
private ip.
Let me understand something more about ser, please. Any ideas why BYEs are
sent to private ip? Is ser forcing the uacs to modify sip header whith its
own ip? where is it doing this? maybe in record_route or in
fix_nated_contact?
Thanks in advance to everyone who will make some light on my doubts.
Here is the stripped ser.cfg
listen=192.168.1.100
if (nat_uac_test("3")) {
if (method == "REGISTER" || !search("^Record-Route:")) {
fix_nated_contact();
if (method == "INVITE") {
fix_nated_sdp("1");
};
force_rport();
setflag(6);
};
};
record_route();
if (loose_route()) {
route(1);
};
if (method=="INVITE") {
if (lookup("location")) {
setflag(1);
route(1);
break;
};
};
route[1] {
if (isflagset(6)){
force_rtp_proxy();
t_on_reply("1");
};
if (method == "BYE" || method == "CANCEL"){
setflag(1);
};
if (!t_relay()){
sl_reply_error();
};
break;
}
--
Giovanni Balasso
giaso(a)yahoo.it