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(a)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(a)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.11<sip: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.11<sip: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(a)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(a)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(a)openser.org
-----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(a)openser.org
http://openser.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
Users(a)openser.org
http://openser.org/cgi-bin/mailman/listinfo/users