Zeus,
Thanks for replying me.
Again, My SER behind NAT, so is rtpproxy. rtpproxy and ser running on the same machine.
consider these two UA register outside my network. UA1 (kphone) -> beeplove@projuktee.com (my domain) UA2 (windows messenger) -> beeplove@iptel.org (other domain)
@ UA1 can send message UA2 and UA2 receives that message @ UA1 can't see UA2's status. In other words, UA1 dont know if UA2 is online. So is UA2. @ As windows messenger can't send message to any user that appears to offline, UA2 can't start sending message to UA1 but UA2 can send message to UA1 once it get message from UA1.
What do you think?
Mohammad
On Tue, 2005-03-01 at 10:16 +1100, Zeus Ng wrote:
If ALL clients are outside your network and SER is behind NAT, you can advertise your public IP in ser.cfg.
advertised_address="your public IP"
Replace record_route() with record_route_preset("your public IP").
For rtpproxy, I think it must be internet facing (correct me if I'm wrong) beofore it can relay RTP packets outside your network. That means rtpproxy cannot be behind NAT.
Zeus
-----Original Message----- From: serusers-bounces@lists.iptel.org [mailto:serusers-bounces@lists.iptel.org] On Behalf Of Mohammad Khan Sent: Tuesday, 1 March 2005 5:53 AM To: serusers Subject: [Serusers] Please help...
I have three UA UA1 -> beeplove@iptel.org (Windows Messenger) UA2 -> beeplove@projuktee.com (Kphone) UA3 -> someone@projuktee.com (Windows Messenger)
These three UAs, registering from outside of my network but behind NAT.
I can communicate between, UA1 <=> UA2 and UA1 <=> UA3 but not between UA2 <=> UA3
I am running ser-0.9.0 with rtpproxy on the same machine. my ser is behind NAT too.
Would anybody please help me?
Thanks, MOhammad
here is my ser.cfg
# ----------- global configuration parameters ------------------------
debug=4 # debug level (cmd line: -dddddddddd) fork=no log_stderror=yes
check_via=no # (cmd. line: -v) dns=no # (cmd. line: -r) rev_dns=no # (cmd. line: -R) listen=192.168.71.2 alias=projuktee.com port=5060 children=10 fifo="/tmp/ser_fifo" fifo_db_url="mysql://ser:heslo@localhost/ser"
# ------------------ module loading ----------------------------------
loadmodule "/usr/lib/ser/modules/mysql.so" loadmodule "/usr/lib/ser/modules/sl.so" loadmodule "/usr/lib/ser/modules/tm.so" loadmodule "/usr/lib/ser/modules/rr.so" loadmodule "/usr/lib/ser/modules/maxfwd.so" loadmodule "/usr/lib/ser/modules/usrloc.so" loadmodule "/usr/lib/ser/modules/registrar.so" loadmodule "/usr/lib/ser/modules/textops.so" loadmodule "/usr/lib/ser/modules/nathelper.so" loadmodule "/usr/lib/ser/modules/acc.so" loadmodule "/usr/lib/ser/modules/auth.so" loadmodule "/usr/lib/ser/modules/auth_db.so"
# ----------------- setting module-specific parameters ---------------
# -- auth params -- modparam("auth_db", "db_url", "mysql://ser:heslo@localhost/ser")
# -- auth_db params -- modparam("auth_db", "db_url", "mysql://ser:heslo@localhost/ser") modparam("auth_db", "calculate_ha1", 0) modparam("auth_db", "password_column", "ha1") modparam("auth_db", "password_column_2", "ha1b")
# -- usrloc params -- modparam("usrloc", "db_url", "mysql://ser:heslo@localhost/ser") modparam("usrloc", "db_mode", 1) modparam("usrloc", "timer_interval", 5)
# -- register params -- modparam("registrar", "nat_flag", 6)
# -- nathelper params -- modparam("nathelper", "natping_interval", 10) modparam("nathelper", "ping_nated_only", 1)
# -- rr params -- modparam("rr", "enable_full_lr", 1)
# -- acc params -- modparam("acc", "log_flag", 1) modparam("acc", "log_missed_flag", 2) modparam("acc", "log_level", 2) modparam("acc", "log_fmt", "cdfimorstup") modparam("acc", "early_media", 1) modparam("acc", "failed_transactions", 1) modparam("acc", "report_ack", 1)
# ------------------------- request routing logic -------------------
# main routing logic
route{
if (!mf_process_maxfwd_header("10")) { sl_send_reply("483","Too Many Hops"); break; }; if (msg:len >= max_len ) { sl_send_reply("513", "Message too big"); break; }; if (!method=="REGISTER") record_route(); if (loose_route()) { append_hf("P-hint: rr-enforced\r\n"); route(1); break; }; if (!uri=~"projuktee.com") { append_hf("P-hint: outbound\r\n"); route(1); break; }; if (uri=~"projuktee.com") { if (method=="REGISTER") { if (!www_authorize("projuktee.com",
"subscriber")) { www_challenge("projuktee.com", "0"); setflag(1); break; };
save("location"); break; }; lookup("aliases"); if (!uri=~"projuktee.com") { append_hf("P-hint: outbound alias\r\n"); route(1); break; }; if (!lookup("location")) { sl_send_reply("404", "Not Found"); break; }; }; append_hf("P-hint: usrloc applied\r\n"); route(1);
}
route[1] { if (!t_relay()) { sl_reply_error(); }; }
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers