My Config File:
listen=72.65.56.136
#alias=0.0.0.0 alias=dstpl.com
check_via=no # (cmd. line: -v) dns=no # (cmd. line: -r) rev_dns=no # (cmd. line: -R) port=5060 children=6 fifo="/tmp/openser_fifo" fifo_db_url="postgres://openser:openserrw@localhost/openser"
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database loadmodule "/usr/local/lib/openser/modules/postgres.so" loadmodule "/usr/local/lib/openser/modules/sl.so" loadmodule "/usr/local/lib/openser/modules/tm.so" loadmodule "/usr/local/lib/openser/modules/rr.so" loadmodule "/usr/local/lib/openser/modules/uac.so" loadmodule "/usr/local/lib/openser/modules/maxfwd.so" loadmodule "/usr/local/lib/openser/modules/usrloc.so" loadmodule "/usr/local/lib/openser/modules/registrar.so" loadmodule "/usr/local/lib/openser/modules/textops.so" # Uncomment this if you want diest authentication mysql.so must be loaded ! loadmodule "/usr/local/lib/openser/modules/auth.so" loadmodule "/usr/local/lib/openser/modules/auth_radius.so" loadmodule "/usr/local/lib/openser/modules/acc.so" loadmodule "/usr/local/lib/openser/modules/avpops.so" loadmodule "/usr/local/lib/openser/modules/avp_radius.so" loadmodule "/usr/local/lib/openser/modules/group_radius.so" # loadmodule "/usr/local/lib/openser/modules/lcr.so" loadmodule "/usr/local/lib/openser/modules/nathelper.so" #loadmodule "/usr/local/lib/openser/modules/mediaproxy.so" loadmodule "/usr/local/lib/openser/modules/uri.so" loadmodule "/usr/local/lib/openser/modules/uri_db.so" loadmodule "/usr/local/lib/openser/modules/permissions.so"
modparam("auth_db|permissions|uri_db|usrloc","db_url", "postgres://openser:openserrw@localhost/openser")
# ----------------- setting module-specific parameters ---------------
# Uncomment this if you want to use SQL database # for persistent storage and comment the previous line #modparam("usrloc", "db_mode", 2) modparam("maxfwd", "max_limit", 32)
modparam("auth_radius","radius_config","/etc/radiusclient-ng/radiusclient.co nf") modparam("auth_radius", "service_type", 15) modparam("avp_radius", "radius_config", "/etc/radiusclient-ng/radiusclient.conf") modparam("group_radius", "radius_config", "/etc/radiusclient-ng/radiusclient.conf")
# -- Accounting param --
modparam("acc", "radius_config", "/etc/radiusclient-ng/radiusclient.conf") modparam("acc", "service_type", 16) modparam("acc", "radius_flag", 1) modparam("acc", "log_level", 1) # modparam("acc", "radius_missed_flag", 1) modparam("acc", "report_ack", 0) # 1 reporta dos starts en acc modparam("acc", "radius_extra", "Sip-Source-IP-Address=$si")
# -- auth params -- # Uncomment if you are using auth module #modparam("auth_db", "calculate_ha1", yes) # # If you set "calculate_ha1" parameter to yes (which true in this config), # uncomment also the following parameter) #modparam("auth_db", "password_column", "password")
# -- rr params -- # add value to ;lr param to make some broken UAs happy # modparam("rr", "enable_full_lr", 1)
# modparam("avpops", "avp_aliases", "c_uri=i:888; s_ip=i:999" )
modparam("nathelper", "natping_interval", 30) modparam("nathelper", "ping_nated_only", 1) modparam("nathelper", "rtpproxy_sock", "unix:/var/run/rtpproxy.sock")
#modparam("usrloc", "db_mode", 2) modparam("registrar", "nat_flag", 6)
# ------------------------- request routing logic -------------------
# main routing logic
route{
# initial sanity checks -- messages with # max_forwards==0, or excessively long requests
if((method=="INVITE") || (method=="ACK") || (method=="BYE") || (method=="CANCEL")) { setflag(1); } if (!mf_process_maxfwd_header("10")) { sl_send_reply("483","Too Many Hops"); exit; }; if (msg:len > 2048 ) { sl_send_reply("513", "Message too big"); exit; }; # ----------------------------------------------------------------- # Record Route Section # ----------------------------------------------------------------- if (method!="REGISTER") { record_route(); };
if (method=="BYE" || method=="CANCEL") { unforce_rtp_proxy(); }
# ----------------------------------------------------------------- # Loose Route Section # ----------------------------------------------------------------- if (loose_route()) {
if (has_totag() && (method=="INVITE" || method=="ACK")) { if (nat_uac_test("19")) { setflag(6); force_rport(); fix_nated_contact(); }; force_rtp_proxy("l"); }; route(1); exit; };
if (!uri==myself) { route(5); route(1); exit; }; if (uri==myself) { if (method=="CANCEL") { route(1); exit; } else if (method=="INVITE") { route(3); exit; } else if (method=="REGISTER") { route(2); exit; };
lookup("aliases"); if (uri!=myself) { route(5); route(1); exit; }; if (!lookup("location")) { sl_send_reply("404", "User Not Found"); exit; }; }; route(1); }
route[1] {
# ----------------------------------------------------------------- # Default Message Handler # -----------------------------------------------------------------
t_on_reply("1");
if (!t_relay()) { if (method=="INVITE" && isflagset(6)) { unforce_rtp_proxy(); }; sl_reply_error(); }; }
route[2] {
# ----------------------------------------------------------------- # REGISTER Message Handler # ----------------------------------------------------------------
if (!search("^Contact:\ +*") && nat_uac_test("19")) { setflag(6); fix_nated_register(); force_rport(); };
sl_send_reply("100", "Trying");
if (!radius_www_authorize("72.65.56.136")) { www_challenge("72.65.56.136", "0"); exit; };
if (!check_to()) { sl_send_reply("401", "Unauthorized"); exit; };
consume_credentials();
if (!save("location")) { sl_reply_error(); }; }
onreply_route[1] { if (isflagset(6) && status=~"(180)|(183)|2[0-9][0-9]") { if (!search("^Content-Length:\ +0")) { force_rtp_proxy(); }; }; if (nat_uac_test("1")) { fix_nated_contact(); }; }
route[5] {
# ----------------------------------------------------------------- # RTP Proxy Enabler # -----------------------------------------------------------------
if (isflagset(6) || isflagset(7)) { force_rport(); fix_nated_contact(); force_rtp_proxy(); };
}
route[3] {
# ------------------------------------------------------------------------ # INVITE Handler # ------------------------------------------------------------------------
if (nat_uac_test("19")) { setflag(6); }
lookup("aliases"); if (uri!=myself) { route(5); route(1); exit; };
if (!allow_trusted() && uri=~"^sip:[0-9]*@.*") { if (!radius_www_authorize("72.65.56.136")) { www_challenge("72.65.56.136", "0"); exit; }; };
if (uri=~"^sip:[0-9]*@.*"){ route(11); exit; };
if (!lookup("location")) { sl_send_reply("404", "User Not Found"); exit; };
if (method=="CANCEL") { route(1); exit; };
route(5); route(1); } route[11]{ # ----------------------------------------------------------------- # PSTN Handler # ----------------------------------------------------------------- strip(0); prefix(""); rewritehostport("206.234.108.104:5060"); route(5); route(1); }
-----Original Message----- From: users-bounces@openser.org [mailto:users-bounces@openser.org] On Behalf Of Dan-Cristian Bogos Sent: Tuesday, September 04, 2007 1:30 PM To: users openser.org Subject: Re: [OpenSER-Users] Opnser rejecting BYE packet
Hello Inaki,
yes, it is almost sure that it does (except receiving this answer from remote party). This is the reason all the people place loose-route block before location query and this is why I have assumed that it does not match the loose-routing and ends up to location query automatically. DanB
On 9/4/07, Marc LEURENT lftsy@free.fr wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Like Dan said, send us your configuration, you may have forbidden something!
Dan a écrit :
*_Scenario 1:_*
U 212.34.169.220:5060 -> 78.45.146.34:5060
BYE sip:test@78.45.146.34 SIP/2.0.
Route: sip:78.45.146.34;ftag=aa313a3c;lr.
CSeq: 2 BYE.
Via: SIP/2.0/UDP 212.34.169.220:5060.
From: sip:1217773456@78.45.146.34;tag=03095807065938997270316869.
Call-ID: 8246bf729f62a754.
To: 58.68.96.11sip:test@78.45.146.34;tag=aa313a3c.
Content-Length: 0.
#
U 78.45.146.34:5060 -> 212.34.169.220:5060
SIP/2.0 404 User Not Found.
CSeq: 2 BYE.
Via: SIP/2.0/UDP 212.34.169.220:5060.
From: sip:1217773456@78.45.146.34;tag=03095807065938997270316869.
Call-ID: 8246bf729f62a754.
To: 58.68.96.11sip:test@78.45.146.34;tag=aa313a3c.
Server: OpenSer (1.0.1 (i386/linux)).
Content-Length: 0.
Warning: 392 78.45.146.34:5060 "Noisy feedback tells: pid=24525 req_src_ip=78.45.146.34 req_src_port=5060 in_uri=sip:78.45.146.34;ftag=aa313a3c;lr out_uri=sip:78.45.146.34;ftag=aa313a3c;lr via_cnt==2".
*_Scenario 2:_*
U 59.176.78.110:50496 -> 210.68.65.78:5060
BYE sip:210.68.65.78 SIP/2.0.
Route: sip:@209.67.171.10;transport=udp.
Via: SIP/2.0/UDP 59.176.78.110:50496.
From: sip:user1@210.68.65.78;tag=4154163258.
To: sip:12818495027@210.68.65.78;user=phone;tag=3005360702044301069847989.
Call-ID: 4202237689@192.168.1.156.
CSeq: 3 BYE.
User-Agent: Cisco ATA v2.15 ata18x (020927a).
Content-Length: 0.
.
#
U 210.68.65.78:5060 -> 59.176.78.110:50496
SIP/2.0 478 Unresolvable destination (478/TM).
Via: SIP/2.0/UDP 59.176.78.110:50496.
From: sip:user1@210.68.65.78;tag=4154163258.
To: sip:12818495027@210.68.65.78;user=phone;tag=3005360702044301069847989.
Call-ID: 4202237689@192.168.1.156.
CSeq: 3 BYE.
Server: OpenSer (1.0.1 (i386/linux)).
Content-Length: 0.
Warning: 392 210.68.65.78:5060 "Noisy feedback tells: pid=2144 req_src_ip=59.176.78.110 req_src_port=50496 in_uri=sip:210.68.65.78.
In both cases BYE is not getting accounted for. Can anyone help me on this ??
Regards
Dan
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFG3Q9/qjpLE0HiOBYRArgmAKCec0eFK2QQyBmV5eGoCWRmUOMM8ACgmFgp tOKvu9D6afXK2f8if8FABnM= =66HB -----END PGP SIGNATURE-----
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
_______________________________________________ Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users