In short u are trying to connect to a database but cant
1. Do you have a database
2. If yes, is it on same machine
3. If not on same machine can you connect to the database from the ser
machine from the command line eg mysql -h DB.IP.ADD.RESS -u ser -p<pass>
<db_name>
4. If not then make sure you can before you go into ser
5. Once you can connect from the command line, then change
modparam("usrloc", "db_url",
"mysql://ser:heslo@localhost/ser")
and enter is ur username instead of "ser", and your password instead of
"heslo" and your IP address of machine where DB is instead of
"localhost", and if by some strange act s & M you have decided to call
your database something other than "ser" replace the "ser" at the
end with your db name
6. Try starting ser again, and it should connect
7. To debug your DB connection, and to see what ser is doing under the
hood, start mysql with logging enabled, usually will goto mysqld.log in
/var/log
8. then tail -f /var/log/mysqld.log |more and sit and watch as ser tries
to connect, and see what error it shows
Iqbal
PS If you have changed your DB name to something other than ser....change
back :-)
On 3/3/2005, "Mohammad Khan" <info(a)beeplove.com> wrote:
First of all, I am not SER expert.
From my last couple of weeks learning I will suggest below:
Olivier.taylor wrote:
Thx to be so fast,
here is my ser.cfg
#
# $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=no
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"
fifo_db_url="mysql://ser:heslo@localhost/ser" #
<--------- if you want fifo db
# ------------------ module loading
----------------------------------
# Uncomment this if you want to use SQL database
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"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "/usr/lib/ser/modules/auth.so"
loadmodule "/usr/lib/ser/modules/auth_db.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_url",
"mysql://ser:heslo@localhost/ser") #
<---- you need define this, if your database is different than default
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) # <----------- i think you
want this
# ------------------------- request routing logic -------------------
# main routing logic
alias="finalcut.be"
alias="linux.finalcut.be"
alias="82.146.123.252"
its better to put above three lines in global section
if your computer ip is 82.146.123.252
you should have
listen=82.146.123.252
alias="finalcut.be"
alias="linux.finalcut.be"
For the rest of your config file, i really can't help.
I am also learing to write route logic.
route{
# initial sanity checks -- messages with
# max_forwards==0, or excessively long requests
if (!mf_process_maxfwd_header("70")) {
sl_send_reply("483","Too Many Hops");
break;
};
if ( msg:len > max_len ) {
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()) {
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 (!www_authorize("82.146.123.252", "subscriber")) {
www_challenge("82.146.123.252", "0");
break;
};
save("location");
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();
};
}
Mohammad Khan wrote:
> you will need something like this in you ser.cfg
> modparam("auth_db", "db_url",
"mysql://ser:heslo@localhost/ser")
> modparam("usrloc", "db_url",
"mysql://ser:heslo@localhost/ser")
>
> I can tell you better if I could see your ser.cfg
>
> MOhammad
>
>
> Olivier.taylor wrote:
>
>> I installed ser on a linux box centos 3.4
>> I use mysql 4.10
>>
>> Furthermore I am noob on Linux and Ser :(
>>
>> I get this messages at boot in the messages file
>> Impossible the for an UA to connect to ser...
>>
>> Help is welcome,
>> regards,
>>
>> Olivier
>>
>> Mar 3 17:12:19 linux ser: WARNING: could not rev. resolve
>> 82.146.123.252
>> Mar 3 17:12:19 linux ser: Listening on
>> Mar 3 17:12:19 linux ser: 127.0.0.1 [127.0.0.1]:5060
>> Mar 3 17:12:19 linux ser: 82.146.123.252
>> [82.146.123.252]:5060
>> Mar 3 17:12:19 linux ser: Aliases: localhost:5060
>> localhost.localdomain:5060 82.146.123.252:* linux.finalcut.be:*
>> finalcut.be:*
>> Mar 3 17:12:19 linux ser: Listening on
>> Mar 3 17:12:19 linux ser: 127.0.0.1 [127.0.0.1]:5060
>> Mar 3 17:12:19 linux ser: 82.146.123.252
>> [82.146.123.252]:5060
>> Mar 3 17:12:19 linux ser: Aliases: localhost:5060
>> localhost.localdomain:5060 82.146.123.252:* linux.finalcut.be:*
>> finalcut.be:*
>> Mar 3 17:12:19 linux ser: Listening on
>> Mar 3 17:12:19 linux ser: 127.0.0.1 [127.0.0.1]:5060
>> Mar 3 17:12:19 linux ser: 82.146.123.252
>> [82.146.123.252]:5060
>> Mar 3 17:12:19 linux ser: Aliases: localhost:5060
>> localhost.localdomain:5060 82.146.123.252:* linux.finalcut.be:*
>> finalcut.be:*
>> Mar 3 17:12:19 linux ser: ser startup succeeded
>> Mar 3 17:12:19 linux /usr/sbin/ser[2649]: connect_db(): Can't
>> connect to local MySQL server through socket
>> '/var/lib/mysql/mysql.sock' (2)
>> Mar 3 17:12:19 linux /usr/sbin/ser[2649]: db_init(): Error while
>> trying to connect database
>> Mar 3 17:12:19 linux /usr/sbin/ser[2649]: mod_init(): Error while
>> connecting database
>> Mar 3 17:12:19 linux /usr/sbin/ser[2649]: init_mod(): Error while
>> initializing module usrloc
>>
>> _______________________________________________
>> Serusers mailing list
>> serusers(a)lists.iptel.org
>>
http://lists.iptel.org/mailman/listinfo/serusers
>
>
>
>
>
Let me know, if it improves the situation.
Good Luck
MOhammad
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers