I'm currently run ser with media proxy and it working fine if I force all calls throught the the media proxy...
I want only calls destine to PSTN gateway to go through the media proxy for billing purpose and all other calls, I just want to fix the NAT and setup the call. I dont want the media to go throught my server if it not destine to PSTN network.
Let me know how my config should be...Am new with SER and am stuck on this. below is my configure for NAT.
Thanks in Advance.
# -- nat ping --
modparam("mediaproxy", "natping_interval", 10)
modparam("mediaproxy", "mediaproxy_socket", "/var/run/mediaproxy.sock")
# ------------------------- request routing logic -------------------
# main routing logic
record_route();
# loose-route processing
if (loose_route()) {
t_relay();
break;
};
# -- nat code --
if (method == "BYE" || method == "CANCEL") {
end_media_session();
};
if (client_nat_test("3")) {
if (method == "REGISTER" || ! search("^Record-Route:")) {
fix_contact();
force_rport();
};
};
if (method=="INVITE") {
use_media_proxy();
t_on_reply("1");
setflag(6);
};
# if the request is for other domain use UsrLoc
# (in case, it does not work, use the following command
# with proper names and addresses in it)
if (uri==myself) {
if (method=="REGISTER") {
save("location");
break;
};
# setflag(1);
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
log (1, "********************** Rewriting the host:port ***********************************");
rewritehostport ("PSTN Gateway Ip:5060");
};
};
if (method == "INVITE"){
t_relay();
sl_send_reply ("180", "Ringing");
break;
}
if (!t_relay()) {
sl_send_reply("404", "Not Found");
break;
};
# -- nat code ----
}
onreply_route[1] {
if (status=~"(183)|2[0-9][0-9]") {
if (client_nat_test("1")) {
fix_contact();
};
use_media_proxy();
};
if (status=~"[3-4]0[0-9]") {
end_media_session();
break;
};
}
--------------------------------- Post your free ad now! Yahoo! Canada Personals
You could move the test on INVITE and call to use_media_proxy(); until you have reached the sections routing to and from the gateway. Of course, calls from the gw could be tested using if (src_ip == ip_address_of_gw). Anyway, the idea would be to wait with the call to use_media_proxy until you are sure that these calls are from/to the gateway.
Please remember that all incoming calls to UAs behind symmetric NAT and some combinations with UAs behind port-restricted NAT need to be proxied. If you only proxy gw calls, some ip-to-ip calls will fail. g-)
---- Original Message ---- From: Mohamed Omar To: serusers@lists.iptel.org Sent: Monday, December 20, 2004 02:41 AM Subject: [Serusers] NAT & Madia Proxy.
I'm currently run ser with media proxy and it working fine if I force all calls throught the the media proxy...
I want only calls destine to PSTN gateway to go through the media proxy for billing purpose and all other calls, I just want to fix the NAT and setup the call. I dont want the media to go throught my server if it not destine to PSTN network.
Let me know how my config should be...Am new with SER and am stuck on this. below is my configure for NAT.
Thanks in Advance.
# -- nat ping -- modparam("mediaproxy", "natping_interval", 10) modparam("mediaproxy", "mediaproxy_socket", "/var/run/mediaproxy.sock")
# ------------------------- request routing logic -------------------
# main routing logic
record_route(); # loose-route processing if (loose_route()) { t_relay(); break; };
# -- nat code -- if (method == "BYE" || method == "CANCEL") { end_media_session(); };
if (client_nat_test("3")) { if (method == "REGISTER" || !
search("^Record-Route:")) { fix_contact(); force_rport(); }; };
if (method=="INVITE") { use_media_proxy(); t_on_reply("1"); setflag(6); }; # if the request is for other domain use UsrLoc # (in case, it does not work, use the following command # with proper names and addresses in it) if (uri==myself) { if (method=="REGISTER") { save("location"); break; };
# setflag(1);
# native SIP destinations are handled using our
USRLOC DB if (!lookup("location")) { log (1, "********************** Rewriting the host:port ***********************************");
rewritehostport ("PSTN Gateway Ip:5060"); }; }; if (method == "INVITE"){ t_relay(); sl_send_reply ("180", "Ringing"); break; } if (!t_relay()) { sl_send_reply("404", "Not Found"); break; };
# -- nat code ---- }
onreply_route[1] { if (status=~"(183)|2[0-9][0-9]") { if (client_nat_test("1")) { fix_contact(); }; use_media_proxy(); }; if (status=~"[3-4]0[0-9]") { end_media_session(); break; }; }
Post your free ad now! Yahoo! Canada Personals
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Thanks Greger, I will give it a try but I just bump in to problem on one way voice that I want to deal with first. I wll let you know how it turns out, Thanks again..
Thanks
"Greger V. Teigre" greger@teigre.com wrote: You could move the test on INVITE and call to use_media_proxy(); until you have reached the sections routing to and from the gateway. Of course, calls from the gw could be tested using if (src_ip == ip_address_of_gw). Anyway, the idea would be to wait with the call to use_media_proxy until you are sure that these calls are from/to the gateway.
Please remember that all incoming calls to UAs behind symmetric NAT and some combinations with UAs behind port-restricted NAT need to be proxied. If you only proxy gw calls, some ip-to-ip calls will fail. g-)
---- Original Message ---- From: Mohamed Omar To: serusers@lists.iptel.org Sent: Monday, December 20, 2004 02:41 AM Subject: [Serusers] NAT & Madia Proxy.
I'm currently run ser with media proxy and it working fine if I force all calls throught the the media proxy...
I want only calls destine to PSTN gateway to go through the media proxy for billing purpose and all other calls, I just want to fix the NAT and setup the call. I dont want the media to go throught my server if it not destine to PSTN network.
Let me know how my config should be...Am new with SER and am stuck on this. below is my configure for NAT.
Thanks in Advance.
# -- nat ping -- modparam("mediaproxy", "natping_interval", 10) modparam("mediaproxy", "mediaproxy_socket", "/var/run/mediaproxy.sock")
# ------------------------- request routing logic -------------------
# main routing logic
record_route(); # loose-route processing if (loose_route()) { t_relay(); break; };
# -- nat code -- if (method == "BYE" || method == "CANCEL") { end_media_session(); };
if (client_nat_test("3")) { if (method == "REGISTER" || !
search("^Record-Route:")) { fix_contact(); force_rport(); }; };
if (method=="INVITE") { use_media_proxy(); t_on_reply("1"); setflag(6); }; # if the request is for other domain use UsrLoc # (in case, it does not work, use the following command # with proper names and addresses in it) if (uri==myself) { if (method=="REGISTER") { save("location"); break; };
# setflag(1);
# native SIP destinations are handled using our
USRLOC DB if (!lookup("location")) { log (1, "********************** Rewriting the host:port ***********************************");
rewritehostport ("PSTN Gateway Ip:5060"); }; }; if (method == "INVITE"){ t_relay(); sl_send_reply ("180", "Ringing"); break; } if (!t_relay()) { sl_send_reply("404", "Not Found"); break; };
# -- nat code ---- }
onreply_route[1] { if (status=~"(183)|2[0-9][0-9]") { if (client_nat_test("1")) { fix_contact(); }; use_media_proxy(); }; if (status=~"[3-4]0[0-9]") { end_media_session(); break; }; }
Post your free ad now! Yahoo! Canada Personals
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
_______________________________________________ Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
--------------------------------- Post your free ad now! Yahoo! Canada Personals