Hi,
I'm having problems with accounting calls made from my SIP phone. Radius
accounting keeps logs at two interfaces, i.e. 127.0.0.1 & 192.168.1.1
(which is my router's ip). However, I keep getting an error at
127.0.0.1, which states:
Wed Apr 6 04:38:51 2005
Acct-Status-Type = Failed
Service-Type = Sip-Session
Sip-Response-Code = 200
Sip-Method = 16
User-Name = "sipsak(a)localhost.localdomain"
Calling-Station-Id = "sip:sipsak@localhost.localdomain:57722"
Called-Station-Id = "sip:1010@orion.lab.test.com.sg"
Sip-Translated-Req-ID =
"sip:1010@192.168.1.16:5065;user=phone;transport=udp"
Acct-Session-Id = "9863344725(a)localhost.localdomain"
Sip-To-Tag = "n/a"
Sip-From-Tag = "3acb0955"
Sip-Cseq = "2"
NAS-IP-Address = 192.168.1.2
NAS-Port = 5060
Acct-Delay-Time = 0
Client-IP-Address = 127.0.0.1
Acct-Unique-Session-Id = "0db3766b5e79495d"
Timestamp = 1112733531
As for the 192.168.1.1 interface, I only get :
Wed Apr 6 16:21:06 2005
Acct-Session-Id = "00000001"
Cisco-AVPair = "client-mac-address=0011.216f.a290"
Framed-Protocol = PPP
Cisco-AVPair = "connect-progress=Call Up"
Acct-Authentic = RADIUS
Acct-Status-Type = Start
User-Name = "AST_test"
Acct-Multi-Session-Id = "00000002"
Acct-Link-Count = 1
NAS-Port-Type = Virtual
NAS-Port = 0
NAS-Port-Id = "0/0/1/0"
Service-Type = Framed-User
NAS-IP-Address = 192.168.1.1
Acct-Delay-Time = 0
Client-IP-Address = 192.168.1.1
Acct-Unique-Session-Id = "a68d09c330a0010d"
Timestamp = 1112775666
Not all states of a current session are accounted for. Can someone pls
advise me on what I might be missing? My ser.cfg is as follows, and any
advise will be greatly appreciated.
Regards,
YY
-----------------------------------------------------------------------
#
# $Id: ser.cfg,v 1.21.4.1 2003/11/10 15:35:15 andrei Exp $
#
# simple quick-start config script
#
# ----------- global configuration parameters ------------------------
#debug=3 # debug level (cmd line: -dddddddddd)
#fork=yes
#log_stderror=no # (cmd line: -E)
# Uncomment these lines to enter debugging mode
debug=7
fork=yes
listen=192.168.1.2
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"
# ------------------ 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/exec.so"
# RADIUS support
loadmodule "/usr/local/lib/ser/modules/acc.so"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "/usr/local/lib/ser/modules/auth.so"
#loadmodule "/usr/local/lib/ser/modules/auth_db.so"
loadmodule "/usr/local/lib/ser/modules/auth_radius.so"
# ----------------- setting module-specific parameters ---------------
# -- usrloc params --
#modparam("usrloc", "db_mode", 0)
# Uncomment this if you want to use SQL database
# for persistent storage and comment the previous line
modparam("usrloc", "db_mode", 2)
# -- 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)
# -- acc params --
modparam("acc", "radius_config",
"/usr/local/etc/radiusclient/radiusclient.conf")
modparam("acc", "radius_missed_flag", 2)
modparam("acc", "radius_flag", 1)
#modparam("acc", "log_level", 1)
#modparam("acc", "log_flag", 1)
# -- auth_radius params --
modparam("auth_radius", "radius_config",
"/usr/local/etc/radiusclient/radiusclient.conf")
# ------------------------- request routing logic -------------------
# main routing logic
route{
# initial sanity checks -- messages with
# max_forwards==0, or excessively long requests
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;
};
setflag(1);
# we record-route all messages -- to make sure that
# subsequent messages will go through our proxy; that's
# particularly good if upstream and downstream entities
# use different transport protocol
record_route();
# loose-route processing
if (loose_route()) {
t_relay();
break;
};
# 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") {
# Uncomment this if you want to use digest authentication
if (!radius_www_authorize("")) {
www_challenge("", "0");
break;
};
save("location");
break;
};
if (method=="INVITE") {
acc_rad_request("Start");
};
if (method=="BYE") {
acc_rad_request("Stop");
};
if (method=="REGISTER" || method=="INVITE" ||
method=="BYE" || method=="CANCEL") {
#Save messages in mysql for CDRTool
exec_msg("/usr/local/etc/sertrace.py; exit 1");
};
# attempt handoff to PSTN
if (uri=~"^sip:9[0-9]*@orion.lab.test.com.sg") {
## This assumes that the caller is
log(1, "Forwarding to PSTN");
## registered in our realm
forward(192.168.1.1, 5060);
## Our Cisco router
break;
};
# attempt handoff to 1003
if (uri=~"^sip:1003@orion.lab.test.com.sg") {
## This assumes that the caller is
log(1, "Forwarding to 1003");
## registered in our realm
forward(192.168.1.1, 5060);
## Our Cisco router
break;
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
break;
};
};
# forward to current uri now; use stateful forwarding; that
# works reliably even if we forward from TCP to UDP
if (!t_relay()) {
sl_reply_error();
};
}
I have some problem with radius and mysql, i don't see the ser authenticate users against radius.
i setup everything i hope correctly and i tried to run
radtest test 123 localhost "secret"
and it's working fine i see in the logs the access to database and verifying username with password against mysql database radius,working great.
The problem is that my ip phone sending register and i don't see anything inside logs for radius access and verification.
inside ser.cfg
----------------------------------
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/modules/auth_db.so"
loadmodule "/usr/local/lib/ser/modules/auth_radius.so"
loadmodule "/usr/local/lib/ser/modules/uri_radius.so"
loadmodule "/usr/local/lib/ser/modules/group_radius.so"
if (method=="REGISTER")
{
log(1, "REGISTER: Authenticating user\n");
if (!radius_www_authorize(""))
{
log(1, "REGISTER: challenging user\n");
www_challenge("", "0");
break;
};
#setflag(1);
save("location");
sl_send_reply("200","ok");
break;
};
Any help will be appreciated
U xxx.xxx.xxx.xxx:11180 ->xxx.xxx.xxx.xxx:5060
REGISTER sip:xxx.xxx.xxx.xxx SIP/2.0..Via: SIP/2.0/UDP xxx.xxx.xxx.xxx:10000;branch=z9hG4bKef6000bc36b8ba8c..From: "Test Alex" <s
ip:1222@xxx.xxx.xxx.xxx;user=phone>;tag=f68212efe4b736fc..To: <sip:1222@xxx.xxx.xxx.xxx;user=phone>..Contact: <sip:
1222..Call-ID" target=_blank>@xxx.xxx.xxx.xxx 10000;user=phone>..Call-ID: 96adcd230772d600@10.0.0.8..CSeq: 100 REGISTER..Expires: 3600..User-Agent:
Grandstream HT286 1.0.5.18..Max-Forwards: 70..Allow: INVITE,ACK,CANCEL,BYE,NOTIFY,REFER,OPTIONS,INFO,SUBSCRIBE..Content-Length:
0....
#
U xxx.xxx.xxx.xxx:5060 -> xxx.xxx.xxx.xxx:10000
SIP/2.0 401 Unauthorized..Via: SIP/2.0/UDP xxx.xxx.xxx.xxx:10000;branch=z9hG4bKef6000bc36b8ba8c..From: "Test Alex" <sip:1222;tag=f68212efe4b736fc..To" target=_blank>@xxx.xxx.xxx.xxx;user=phone>;tag=f68212efe4b736fc..To: <sip:1222@xxx.xxx.xxx.xxx;user=phone>;tag=b27e1a1d33761e85846fc98
f5f3a7e58.0e22..Call-ID: 96adcd230772d600@10.0.0.8..CSeq: 100 REGISTER..WWW-Authenticate: Digest realm="xxx.xxx.xxx.xxx", nonce
="4253fab9da5dd9126389dc88bb264384bd1da6e9"..Server: Sip EXpress router (0.8.14 (i386/linux))..Content-Length: 0..Warning: 392
xxx.xxx.xxx.xxx:5060 "Noisy feedback tells: pid=4233 req_src_ip=xxx.xxx.xxx.xxx req_src_port=11180 in_uri=sip:xxx.xxx.xxx.xxx ou
t_uri=sip:xxx.xxx.xxx.xxx via_cnt==1"....
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
I guess you should use several add_branch calls and one final t_replicate. Similar to the t_relay behavior....in fact they are almost the same...
Try something like:
if (!src_ip==blah.netlogic.net) {
add_rcv_param();
add_branch( "server1.netlogic.net", "5060");
t_replicate("server2.netlogic.net", "5060");
Samuel.
Unclassified.
>>> "Matt Schulte" <mschulte(a)netlogic.net> 04/06/05 04:43PM >>>
Does anyone know if it's possible to replicate to multiple servers? When
testing, the first one in the list is fine but all subsequent replicates
don't ever make it to the servers. When I look in my 'main' ser I see:
ERROR: t_newtran: transaction already in process 0xd7231e04
I'm assuming it's talking about replication to the first one, maybe I'm
barking up the wrong tree?
code:
if (!src_ip==blah.netlogic.net) {
add_rcv_param();
t_replicate("server1.netlogic.net",
"5060");
t_replicate("server2.netlogic.net",
"5060");
};
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
I have some problem with radius and mysql,
i setup everything i hope correctly and i tried to run
radtest test 123 localhost "secret"
and it's working fine i see in the logs the access to database and verifying username with password against mysql database radius,working great.
The problem is that my ip phone sending register and i don't see anything inside logs for radius access and verification.
inside ser.cfg
----------------------------------
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/modules/auth_db.so"
loadmodule "/usr/local/lib/ser/modules/auth_radius.so"
loadmodule "/usr/local/lib/ser/modules/uri_radius.so"
loadmodule "/usr/local/lib/ser/modules/group_radius.so"
if (method=="REGISTER")
{
log(1, "REGISTER: Authenticating user\n");
if (!radius_www_authorize(""))
{
log(1, "REGISTER: challenging user\n");
www_challenge("", "0");
break;
};
#setflag(1);
save("location");
sl_send_reply("200","ok");
break;
};
Any help will be appreciated
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
Oh,what kind of sip phone is it? Has you checked your call flows? ie
invite --> ack ....
-----Original Message-----
From: Iqbal [mailto:iqbal@gigo.co.uk]
Sent: Wednesday, April 06, 2005 4:57 AM
To: Matt Schulte
Cc: serusers(a)lists.iptel.org
Subject: Re: [Serusers] some REGISTER requests not passing through to DB
well its seems to be with one typ of phone, and they both started
yesterday at the same time, the weird thing was that one of the phones
was working and when plugged into our network , it stopped, so I dont
know if something out there can corrupt the software , we have now tried
the phone on another network and they are still both dead, all other
hard/soft phones are still working fine.....hope no virii for SIP phones
:-)
Iqbal
Matt Schulte wrote:
>What distro of linux? (unix even?) What type of motherboard, I wouldn't
>expect hardware to be the issue though.. Is this a production problem,
>as in did it happen out of the blue? One thing you could do is log
>save_loc errors if not already.. If save_loc is NOT failing then like
>you said something is seriously messed up... :-)
>
> if (!save("location")) {
> sl_send_reply("503", "OH NO THE WORLD IS
>FLAT");
> xlog("L_INFO", "FATAL: Register failed
>for %fu");
> } else {
> xlog("L_INFO", "LOG: Yippy");
> }
>
>
>-----Original Message-----
>From: Iqbal [mailto:iqbal@gigo.co.uk]
>Sent: Tuesday, April 05, 2005 12:56 PM
>To: serusers(a)lists.iptel.org
>Subject: [Serusers] some REGISTER requests not passing through to DB
>
>
>Hi
>
>Just come across a really strange problem, some of my REGISTER queries
>do not hit the DB, even though they hit SER, anyone ever come across
>this, it only seems to happen with a particular kind of hardware
>(unbranded), and only started recently. No firmware upgrades done
>
>Iqbal
>
>_______________________________________________
>Serusers mailing list
>serusers(a)lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
>
>.
>
>
>
Dear group
Ive a pair of Vizufon model CIP 4500. I want to run it on my OWN LAN using a sip server. Im trying to install SER 0.8.14. is it possible to run two hard SIP phone without authenticate from any Internet server only from my LAN sip server? Can any one help me regard this.
Thanks
Moin
---------------------------------
Yahoo! Messenger - Communicate instantly..."Ping" your friends today! Download Messenger Now
Hi!
While testing presence I ran into the problem that presence information
is inserted into the SQL backup database but never gets updated/removed.
Could I run the presence db in WRITE_THROUGH mode (db_mode = 1) mode?
Is there any easy way to dump the current pa information from memory?
Btw: I'm running a fairly old short-before 0.9.0 cvs snapshot.
Thanks,
Hendrik
--
freenet Cityline GmbH, Hamburger Chaussee 2-4, 24114 Kiel, Germany
Phone: +49 (0)431 9020552, Fax: +49 (0)431 9020559
Internet: http://www.freenet.de, eMail: hendrik.scholz(a)freenet-ag.de