Hi,
Is there a way to force SER to use compact form when it sends SIP message?
i.e. presence notification provided by "pa module"
Regards,
Luba Vincent
Hello,
I already have a database with username, password (clear), firstname,
lastname and I want to use ser with this database. I already have an
administration interface for tis database so I want to keep it as is. I
want to create a view for the 'subscribers' table based on my database.
I'm looking for a good documentation about fields of 'subscribers'
table. I also want to know if I can use ser without timestamp and
encrypted fields of 'subscriber' table and if I have to create other
tables in order to use ser only with auth_db.
best regards,
Arnaud Ligot
- compile the mysql module, by doing: make modules=modules/mysql modules
- copy mysql.so (found in modules/mysql) to /usr/lib/ser/modules/
Marc
-----Original Message-----
From: serusers-bounces(a)iptel.org [mailto:serusers-bounces@lists.iptel.org] On Behalf Of viking
Sent: Monday, August 29, 2005 12:12 PM
To: serusers(a)lists.iptel.org
Subject: [Serusers] hi,about mysql.so problem.
hi,everyone,
I have installed ser-0.9.3-src on red-hat 9.0,i wanna to use mysql module,the problem is how can
get the /usr/lib/ser/modules/mysql.so if i compile them from the src? thanks a lot!
yours viking
tieban(a)sina.com
2005-08-29
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
Hi!
I have a problem with my failure route. In the failure route, I send the
call to voicemail, except the call is CANCELED by the caller:
failure_route[1] {
if(t_check_status("487")) {
xlog("L_INFO","caller cancelled call, no voicemail needed...\n");
exit;
}
route(4); # route to voicemail
}
The problem is, when a call is forked and one of the destinations is
busy or has any other reasons to not accept the call.
/-------- <-486 phone1
/
caller ----------------- <-488 phone2
\
\-------- <-487 phone3
In the above case, phone1 and 2 immedately response with an error
message. Then several seconds later, the caller hangs up and now phone3
sends 487.
If I now check the status in the failure route it will be 486 (the
lowest one). Also any other algorithm (the highest one, the first one,
the last one) would be ambiguous. Thus, deciding if the call will be
sent to voicemail or not is not possible using t_check_status.
AFAIK there is no other method to check the status of the transaction in
the failure route. IMO this is an issue which should be solved.
I suggest setting the status explicitly to "487" if the transaction was
cancelled by the caller, independent of the resonse status received from
the phones.
regards
klaus
Hello,
Look at my ethereal file.
When User agent send REGISTER message to ser this
one try to register with itself so User agents receive
authorization + "401 Unauthorized" !?
What's wrong ?
Regards
Harry
___________________________________________________________________________
Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger
Téléchargez cette version sur http://fr.messenger.yahoo.com
hi,everyone,
I have installed ser-0.9.3-src on red-hat 9.0,i wanna to use mysql module,the problem is how can
get the /usr/lib/ser/modules/mysql.so if i compile them from the src? thanks a lot!
yours viking
tieban(a)sina.com
2005-08-29
It would be useful if we could DEFINE parameters in the .cfg file
e.g.
define SOME_IP=1.2.3.4
and somewhere later in the file
record_route_preset("SOME_IP;nat=yes");
Speaking as someone who has to manage openser.cfg instances across
multiple servers (not to mention test environments!), it would certainly
make my life a heck of a lot easier....
cheers
Dear List,
Assume that there are two different service providers and one OpenSER in middle of them. A client needs to use/connect OpenSER but also he/she has accounts in both providers and both supplied him/her DDIs (landline phone). Now again assume that client registers both of phones into OpenSER. But still he/she wants to receive calls from both providers, is it possible to receive calls from different providers to that client and/or how to i setup ?
In current SER.CFG below, i only setup one prefix which is "0", but i can change it to any and/or add many prefixes, ex: 0049 (germany), 001 (usa), 0044 (uk), 0090 (turkey) to Provider 1 and 0033 (france), 0038 (italy) to Provider 2 and so on.
debug=3
fork=yes
log_stderror=no
listen=212.XXX.104.XXX # This is OpenSER's Public IP
port=5060
children=4
alias=212.XXX.104.XXX # This is OpenSER's Public IP
dns=no
rev_dns=no
fifo="/tmp/openser_fifo"
fifo_db_url="mysql://openser:openserrw@localhost/openser"
loadmodule "/usr/local/lib/openser/modules/mysql.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/maxfwd.so"
loadmodule "/usr/local/lib/openser/modules/usrloc.so"
loadmodule "/usr/local/lib/openser/modules/registrar.so"
loadmodule "/usr/local/lib/openser/modules/auth.so"
loadmodule "/usr/local/lib/openser/modules/auth_db.so"
loadmodule "/usr/local/lib/openser/modules/uri.so"
loadmodule "/usr/local/lib/openser/modules/uri_db.so"
loadmodule "/usr/local/lib/openser/modules/mediaproxy.so"
loadmodule "/usr/local/lib/openser/modules/nathelper.so"
loadmodule "/usr/local/lib/openser/modules/textops.so"
loadmodule "/usr/local/lib/openser/modules/domain.so"
loadmodule "/usr/local/lib/openser/modules/acc.so"
modparam("auth_db", "calculate_ha1", 1)
modparam("auth_db", "password_column", "password")
modparam("auth_db", "use_domain", 1)
modparam("domain", "db_mode", 1)
modparam("nathelper", "rtpproxy_disable", 1)
modparam("nathelper", "natping_interval", 180)
modparam("mediaproxy","natping_interval", 30)
modparam("mediaproxy","mediaproxy_socket", "/var/run/mediaproxy.sock")
modparam("mediaproxy","sip_asymmetrics","/usr/local/etc/openser/sip-asymmetric-clients")
modparam("mediaproxy","rtp_asymmetrics","/usr/local/etc/openser/rtp-asymmetric-clients")
modparam("usrloc", "db_mode", 2)
modparam("usrloc", "use_domain", 1)
modparam("registrar", "default_expires", 60)
modparam("registrar", "min_expires", 30)
modparam("registrar", "nat_flag", 6)
modparam("registrar", "use_domain", 1)
modparam("rr", "enable_full_lr", 1)
modparam("acc", "db_url", "mysql://openser:openserrw@localhost/openser")
modparam("acc", "failed_transactions", 1)
modparam("acc", "log_level", 1)
modparam("acc", "log_flag", 1)
modparam("acc", "db_flag", 1)
route {
# -----------------------------------------------------------------
# Sanity Check Section
# -----------------------------------------------------------------
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483", "Too Many Hops");
break;
};
if (msg:len > max_len) {
sl_send_reply("513", "Message Overflow");
break;
};
# -----------------------------------------------------------------
# Record Route Section and Acc section
# -----------------------------------------------------------------
if (method=="INVITE" && client_nat_test("3")) {
record_route_preset("212.XXX.104.XXX:5060;nat=yes"); # This is OpenSER's Public IP
} else if (method!="REGISTER") {
if!(uri=~"^sip:833[0-9]*@") { # I do not want to make accounting if clients' prefix is beginning with 833
record_route();
setflag(1);
}
};
# -----------------------------------------------------------------
# Call Tear Down Section
# -----------------------------------------------------------------
if (method=="BYE" || method=="CANCEL") {
end_media_session();
};
# -----------------------------------------------------------------
# Loose Route Section
# -----------------------------------------------------------------
if (loose_route()) {
if (has_totag() && (method=="INVITE" || method=="ACK")) {
if (client_nat_test("3") || search("^Route:.*;nat=yes")) {
setflag(6);
use_media_proxy();
};
};
route(1);
break;
};
# -----------------------------------------------------------------
# Call Type Processing Section
# -----------------------------------------------------------------
if (uri!=myself) {
route(1);
break;
};
if (uri==myself) {
if (method=="CANCEL") {
route(3);
break;
} else if (method=="INVITE") {
route(3);
break;
} else if (method=="REGISTER") {
route(2);
break;
};
lookup("aliases");
if (uri!=myself) {
route(1);
break;
};
if (!lookup("location")) {
sl_send_reply("404", "User Not Found");
break;
};
};
route(1);
}
route[1] {
# -----------------------------------------------------------------
# Default Message Handler
# -----------------------------------------------------------------
t_on_reply("1");
if (!t_relay()) {
if (method=="INVITE" || method=="ACK") {
end_media_session();
};
sl_reply_error();
};
}
route[2] {
# -----------------------------------------------------------------
# REGISTER Message Handler
# ----------------------------------------------------------------
if (!search("^Contact:\ +\*") && client_nat_test("7")) {
setflag(6);
fix_nated_register();
force_rport();
};
sl_send_reply("100", "Trying");
if (!www_authorize("","subscriber")) {
www_challenge("","0");
break;
};
if (!check_to()) {
sl_send_reply("401", "Unauthorized");
break;
};
consume_credentials();
if (!save("location")) {
sl_reply_error();
};
}
route[3] {
# -----------------------------------------------------------------
# CANCEL and INVITE Message Handler
# -----------------------------------------------------------------
if (client_nat_test("3")) {
setflag(7);
force_rport();
fix_nated_contact();
};
lookup("aliases");
if (uri!=myself) {
route(1);
break;
};
if (uri=~"^sip:0[0-9]*@*") { # If calling number is beginning with prefix 0, route it to PSTN
rewritehost("195.XXX.122.XXX"); # This is PSTN Gateway's Public IP
route(1);
break;
};
if (!lookup("location")) {
sl_send_reply("404", "User Not Found");
break;
};
if (method=="CANCEL") {
route(1);
break;
};
if (!proxy_authorize("","subscriber")) {
proxy_challenge("","0");
break;
} else if (!check_from()) {
sl_send_reply("403", "Use From=ID");
break;
};
consume_credentials();
if (isflagset(6) || isflagset(7)) {
use_media_proxy();
};
route(1);
}
onreply_route[1] {
if ((isflagset(6) || isflagset(7)) && (status=~"(180)|(183)|2[0-9][0-9]")) {
if (!search("^Content-Length:\ +0")) {
use_media_proxy();
};
};
if (client_nat_test("1")) {
fix_nated_contact();
};
}
i tried the command ser -c -f ser.cfg and this is the result.
bash-2.05# ser -c -f ser.cfg
0(2092) ERROR: load_module: could not open module
</usr/local/lib/ser/modules/mysql.so>: ld.so.1: ser: fatal:
libmysqlclient.so.10: open failed: No such file or directory
0(2092) parse error (15,13-14): failed to load module
ERROR: bad config file (1 errors)
bash-2.05#
but, /usr/local/lib/ser/modules/mysql.so is existing, pls advise what could
have gone wrong.