Hi,
I have already installed SER and mySQL into my Debian system, so I have
installed serweb to make administration tastks a bit easier ;-)
The problem now is that when I try to access to "http://localhost/serweb"
and try to log in with the default user/password (or any other xD), it
always tells me "DB Error: connect failed" and "Bad username or password".
It seems as if there were no possible connection between SER and the mySql
service running in the background. I have tried with ser/heslo,
admin/heslo... What I am doing wrong?
Thanks,
Pablo
Dear all,
I use SER 0.8.14, radiusclient 0.4.3 and remote radius server: freeradius 1.0.4. I want radius to do the authentication and accounting.
Now I can only receive acc start message and none stop message in /usr/local/var/log/radius/radacct/.. :
Mon Oct 3 16:10:22 2005
Acct-Status-Type = Start
Service-Type = Sip-Session
Sip-Response-Code = 200
Sip-Method = 1
User-Name = "41001(a)localhost.localdomain"
Calling-Station-Id = "sip:41001@localhost.localdomain"
Called-Station-Id = "sip:41002@localhost.localdomain"
Sip-Translated-Request-URI = "sip:41002@202.204.118.219:5060"
Acct-Session-Id = "D7046CD5-B8EB-4F17-A926-EE7F4A4C52FB(a)218.97.252.37"
Sip-To-Tag = "523922641"
Sip-From-Tag = "3394148029"
Sip-Cseq = "9206"
NAS-IP-Address = 218.97.252.34
NAS-Port = 5060
Acct-Delay-Time = 0
Client-IP-Address = 218.97.252.34
Acct-Unique-Session-Id = "3b5c2410e3d50ac7"
Timestamp = 1128370222
How come? Did anyone know this problem?
Here is my ser.cfg:
# ----------- 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=no
#log_stderror=yes
/**/
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
listen=218.97.252.34
#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"
# 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/acc.so"
loadmodule "/usr/local/lib/ser/modules/auth_radius.so"
loadmodule "/usr/local/lib/ser/modules/group_radius.so"
loadmodule "/usr/local/lib/ser/modules/uri_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", "log_fmt", "cdfimorstup")
modparam("acc", "early_media", 1)
modparam("acc", "failed_transactions", 1)
modparam("acc", "radius_missed_flag", 3)
modparam("acc", "report_ack", 0)
modparam("acc", "report_cancels", 1)
modparam("acc", "radius_missed_flag", 3)
# set the reporting log level
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", "radius_flag", 1 )
# ------------------------- 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")) {
log(1,"LOG: Too many hops\n");
sl_send_reply("483","Too Many Hops");
break;
};
if ( msg:len > max_len ) {
log(1,"LOG: Message too big");
sl_send_reply("513", "Message too big");
break;
};
# 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()) {
if (method=="BYE" || method=="CANCEL") {
log (1, "BYE or CANCEL\n");
setflag(1);
};
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=~"localhost.localdomain") {
if (method=="REGISTER") {
log(1, "REGISTER: Authenticating user\n");
# Uncomment this if you want to use digest authentication
if (!radius_www_authorize("localhost.localdomain")) {
log(1, "REGISTER: challenging user\n");
www_challenge("localhost.localdomain", "0");
break;
};
save("location");
break;
};
if (method=="INVITE") {
log(1, "INVITE MESSAGE RECEIVED - START ACCOUNTING\n");
setflag(1); /* set for accounting (the same value as in log_flag!) */
};
if (method=="MESSAGE") {
log(1, "MESSAGE\n");
setflag(1); /* set for accounting (the same value as in log_flag!) */
};
if (method=="BYE" || method=="CANCEL") {
log (1, "%method - STOP ACCOUNTING\n");
setflag(1);
};
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
break;
};
};
setflag(3);
# 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();
};
}
Many thanks for your help!
Shuai
Hi guys,
I got these errors whenever I restarted SER. What is the meaning
of these?
0(0) preload_udomain: ERROR: bad contact record in table aliases
0(0) preload_udomain: ERROR: for username 123
0(0) preload_udomain: ERROR: skipping...
0(0) preload_udomain: ERROR: bad contact record in table aliases
0(0) preload_udomain: ERROR: for username 108
0(0) preload_udomain: ERROR: skipping...
0(0) preload_udomain: ERROR: bad contact record in table aliases
0(0) preload_udomain: ERROR: for username 100
0(0) preload_udomain: ERROR: skipping...
0(0) preload_udomain: ERROR: bad contact record in table aliases
0(0) preload_udomain: ERROR: for username 130
0(0) preload_udomain: ERROR: skipping...
0(0) preload_udomain: ERROR: bad contact record in table aliases
0(0) preload_udomain: ERROR: for username 104
0(0) preload_udomain: ERROR: skipping...
0(0) preload_udomain: ERROR: bad contact record in table aliases
0(0) preload_udomain: ERROR: for username 124
0(0) preload_udomain: ERROR: skipping...
0(0) preload_udomain: ERROR: bad contact record in table aliases
0(0) preload_udomain: ERROR: for username 118
0(0) preload_udomain: ERROR: skipping...
0(0) preload_udomain: ERROR: bad contact record in table aliases
0(0) preload_udomain: ERROR: for username 128
0(0) preload_udomain: ERROR: skipping...
0(0) preload_udomain: ERROR: bad contact record in table aliases
0(0) preload_udomain: ERROR: for username 112
0(0) preload_udomain: ERROR: skipping...
0(0) preload_udomain: ERROR: bad contact record in table aliases
0(0) preload_udomain: ERROR: for username 111
0(0) preload_udomain: ERROR: skipping...
0(0) preload_udomain: ERROR: bad contact record in table aliases
0(0) preload_udomain: ERROR: for username 110
0(0) preload_udomain: ERROR: skipping...
0(0) preload_udomain: ERROR: bad contact record in table aliases
0(0) preload_udomain: ERROR: for username 109
0(0) preload_udomain: ERROR: skipping...
0(0) preload_udomain: ERROR: bad contact record in table aliases
0(0) preload_udomain: ERROR: for username 132
Could this be the problem with my aliases that are not been used by SER?
Thanks,
--
Ryan Pagquil
Infodyne Inc. - PhilOnline.com
3603 Antel Global Corporate Center
Doña Julia Vargas Ave.
Ortigas Center Pasig City
Tel: 687-0715
Web: www.philonline.com
I have tethereal on my ser server but didn't see a 408.
_____
From: Leon Sun [mailto:leon.sun@keywestcommunications.com]
Sent: Friday, September 30, 2005 5:41 PM
To: 'Leon Sun'; rthompson(a)vir2com.com
Cc: 'Mark Aiken'
Subject: RE: [Serusers] ser and * voicemail
Hi, guys,
I used Ethereal to trace SIP and found code 408 when it's time out. I
believe we need focus 408 rather than 487.
Sorry Rick, for last e-mail.
Regards
Leon
_____
From: Leon Sun [mailto:leon.sun@keywestcommunications.com]
Sent: Friday, September 30, 2005 2:33 PM
To: 'rthompson(a)vir2com.com'
Cc: 'Mark Aiken'
Subject: RE: [Serusers] ser and * voicemail
>From Mark:
SER normally sends a 487 when the INVITE timer runs out so you would need to
trigger the voicemail on that event. We have our feature server handing
timeouts not SER (our SER timeout is set to a very large value) so I'm not
sure the best way to proceed.
Does SER call the failure_route for a locally generated 487 timeout? If so
then rather than the 'break' you have there now just forward to vm. I would
set a different t_on_failure instead of reusing "1" though, so you dont keep
forwarding if the vm fails.
Mark
_____
From: Rick Thompson [mailto:rthompson@vir2com.com]
Sent: Friday, September 30, 2005 2:27 PM
To: 'Leon Sun'
Subject: RE: [Serusers] ser and * voicemail
Leon
Thanks for the reply to my post
I see what you are doing here, but that part has been taken care of. When I
get a failure on "INVITE" of 486, 404, 408 or 480 I look in the mysql
database and find the voicemail box for that uri and replace the sip contact
then prefix it with a "V" and relay it to asterisk. Over on the asterisk
side, I route the call to the voicemail context and delete the "V" and send
it to voicemail. All this works except when ser times out on the "INVITE"
and for some reason it doesn't route to asterisk. That's the problem I'm
having.
Rick
_____
From: Leon Sun [mailto:leon.sun@keywestcommunications.com]
Sent: Friday, September 30, 2005 4:36 PM
To: rthompson(a)vir2com.com; serusers(a)lists.iptel.org
Subject: RE: [Serusers] ser and * voicemail
Rick,
I had same problem before and I gave it up since I didn't get any answer
from list. I am using another way(tricky but working) to do voice mail. Hope
it can help you if you can't fix it.
1. Check location in your routing parts before relay, if not, forward
to Asterisk.
2. set up unconditional forward in ATA as 00 + ATA'DID. Make a route
in SER and point 00* to Asterisk.
3. Strip 00 in Asterisk and send it to voicemail2(${EXTEN})
Regards
Leon Sun
_____
From: serusers-bounces(a)iptel.org [mailto:serusers-bounces@lists.iptel.org] On
Behalf Of Rick Thompson
Sent: Friday, September 30, 2005 12:58 PM
To: serusers(a)lists.iptel.org
Subject: [Serusers] ser and * voicemail
Hi All
I'm working with a ser script, written by someone that's gone now, that
routes inbound calls to an asterisk server for voicemail. The
failure_route[1], sends calls to asterisk and the IVR plays if the ua is
unreachable (not in location) "404", "408" or the ua is busy "486" but it
doesn't when the inv time exceeds 30 sec (rings for 30 sec or more). The
call just stops ringing and 10 sec later gets a fast busy. Any ideas from
anyone would be greatly appreciated. Here is the code I'm working with.
failure_route[1] {
xlog("L_ALERT", "%Tf %mf ****** Failure Route 1: <%rm> <%rr>
<%rs>\n");
if(t_check_status("487")) {
break;
};
if(method=="INVITE" && (t_check_status("486|408|404|480"))) {
if(avp_db_load("$ruri", "s:mailbox"))
avp_pushto("$ruri/username",
"s:mailbox");
prefix("V");
rewritehostport("A.B.C.D:5060");
append_branch();
xlog("L_ALERT", "****** Transfering to
Voicemail\n");
t_on_reply("1");
t_relay();
};
}
Thanks
Rick
hi
i just came by http://www.iptelorg.de/SOP.php, and it's quite clearly
SER, but then, on the downloads site, it tells me "This site offers
only commercial products and services . Please follow the links below
if you wish to find support related to respective software".
although their stuff looks good, can you really make GPLed code a
"commercial product"?
roy