Well, the question is too generic and it does not contain enough information so we will not be able to help you. There are many things that can go wrong, try to investigate yourself. You have higher chance of getting reply with more specific questions.
Jan.
On 01-12 11:04, Pavel Siderov wrote:
Marian, Jan please tell me what to do. ----- Original Message ----- From: Pavel Siderov To: serusers@lists.iptel.org Sent: Tuesday, November 30, 2004 6:58 PM Subject: [Serusers] Forward to Quintum GW - One way audio
Hi guys, I have a strange problem when tying to forward call to Quintum gw. Callee is hearing what I speak but I don't hear anything. Forwarding to another SER is ok. Both - users with real ips and natted. Somebody can help me?
Here is my config file: debug=10 # debug level (cmd line: -dddddddddd) #fork=yes log_stderror=yes # (cmd line: -E)
/* Uncomment these lines to enter debugging mode debug=7 fork=no log_stderror=yes */
check_via=no # (cmd. line: -v) dns=no # (cmd. line: -r) rev_dns=no # (cmd. line: -R) port=5060 children=4 fifo="/tmp/ser_fifo" #fork=no # ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database loadmodule "/usr/local/lib/ser/modules/mysql.so"
loadmodule "/usr/local/lib/ser/modules/sl.so" loadmodule "/usr/local/lib/ser/modules/tm.so" loadmodule "/usr/local/lib/ser/modules/rr.so" loadmodule "/usr/local/lib/ser/modules/maxfwd.so" loadmodule "/usr/local/lib/ser/modules/usrloc.so" loadmodule "/usr/local/lib/ser/modules/registrar.so" loadmodule "/usr/local/lib/ser/modules/auth.so" loadmodule "/usr/local/lib/ser/modules/auth_db.so" loadmodule "/usr/local/lib/ser/modules/textops.so" loadmodule "/usr/local/lib/ser/modules/domain.so" loadmodule "/usr/local/lib/ser/modules/mediaproxy.so" loadmodule "/usr/local/lib/ser/modules/acc.so" loadmodule "/usr/local/lib/ser/modules/group.so" loadmodule "/usr/local/lib/ser/modules/nathelper.so" # ----------------- setting module-specific parameters ---------------
# -- usrloc params -- modparam("usrloc", "db_mode", 2) modparam("usrloc", "db_url", "mysql://ser:heslo@192.168.2.15/ser") modparam("usrloc","user_column","username")
modparam("auth_db", "calculate_ha1", yes) modparam("auth_db", "password_column", "password") modparam("rr", "enable_full_lr", 1) #modparam("acc", "db_url", "mysql://ser:heslo@192.168.2.15/ser") #modparam("acc", "log_level", 2) #modparam("acc", "log_flag", 3) #modparam("acc", "log_level", 1) # number of flag, which will be used for accounting; if a message is # labeled with this flag, its completion status will be reported modparam("acc", "log_flag", 1) modparam("acc", "log_fmt", "cdfimorstup") modparam("acc", "db_url", "mysql://ser:heslo@192.168.2.15/ser") modparam("acc", "db_flag", 1) modparam("acc", "db_missed_flag", 1) modparam("acc", "log_missed_flag", 1) #modparam("acc", "report_cancels", 1) modparam("acc", "report_ack", 1) #modparam("mediaproxy", "mediaproxy_socket", "/var/run/proxydispatcher.sock") #modparam("mediaproxy", "natping_interval", 20) modparam("nathelper","rtpproxy_sock", "/var/run/rtpproxy.sock") modparam("registrar", "nat_flag", 6) modparam("nathelper", "natping_interval", 30) # Ping interval 30 s modparam("nathelper", "ping_nated_only", 1)
listen=193.2.6.17 # ------------------------- request routing logic ------------------- # main routing logic route{ if (!mf_process_maxfwd_header("70")) { sl_send_reply("483","Too Many Hops"); break; }; if ( msg:len > max_len ) { sl_send_reply("513", "Message too big"); break; }; if (nat_uac_test("3")) { if (method == "REGISTER" || ! search("^Record-Route:")) { log("LOG: Someone trying to register from private IP, rewriting\n");
# This will work only for user agents that support symmetric # communication. We tested quite many of them and majority is # smart enough to be symmetric. In some phones it takes a configuration # option. With Cisco 7960, it is called NAT_Enable=Yes, with kphone it is # called "symmetric media" and "symmetric signalling". fix_nated_contact(); # Rewrite contact with source IP of signalling if (method == "INVITE") { fix_nated_sdp("1"); # Add direction=active to SDP }; force_rport(); # Add rport parameter to topmost Via setflag(6); # Mark as NATed };
};
if (!method=="REGISTER") record_route();
if (loose_route()) { # mark routing logic in request append_hf("P-hint: rr-enforced\r\n"); route(1); break; };
if (!uri==myself) { # mark routing logic in request append_hf("P-hint: outbound\r\n");
route(1); break;
};
if (uri==myself) {
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication if (!www_authorize("193.2.6.17", "subscriber")) { www_challenge("193.2.6.17", "0"); break; };
save("location"); break; }; lookup("aliases"); if (!uri==myself) { append_hf("P-hint: outbound alias\r\n"); route(1); break; };
if (uri=~"^sip:[1-9]*@193.2.6.17") { # QUINTUM GW rewritehost("194.24.1.6"); append_branch("194.24.1.6"); # t_relay_to_udp("194.24.1.6", "5060"); t_relay(); rewritehostport("194.24.1.6:5060"); append_hf("P-hint: VoipSwitch GATEWAY"); break; } } else { if (uri=~"^sip:[0]*@193.2.6.17") { ### Other SER setflag(1); rewritehostport("bla.mydomain.com:5060"); append_branch("bla.mydomain.com"); t_relay(); break; }; };
# native SIP destinations are handled using our USRLOC DB if (!lookup("location")) { sl_send_reply("404", "Not Found"); break; };
# }; append_hf("P-hint: usrloc applied\r\n"); route(1); }
route[1] {
# if client or server know to be behind a NAT, enable relay if (isflagset(6)) { force_rtp_proxy(); };
# NAT processing of replies; apply to all transactions (for example, # re-INVITEs from public to private UA are hard to identify as # NATed at the moment of request processing); look at replies t_on_reply("1");
# send it out now; use stateful forwarding as it works reliably # even for UDP2TCP if (!t_relay()) { sl_reply_error(); }; }
# !! Nathelper onreply_route[1] { # NATed transaction ? if (isflagset(6) && status =~ "(183)|2[0-9][0-9]") { fix_nated_contact(); force_rtp_proxy(); # otherwise, is it a transaction behind a NAT and we did not # know at time of request processing ? (RFC1918 contacts) } else if (nat_uac_test("1")) { fix_nated_contact(); }; }
Thanks In Advance! Pavel Siderov
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