There should be a ser_mysql.sh in /usr/local/sbin (or where ever you installed ser) that will create the tables for you. Dans admin guide is also really good at www.iptel.org/ser
Hope this helps
-----Original Message-----
From: serusers-bounces(a)iptel.org [mailto:serusers-bounces@lists.iptel.org]On Behalf Of Darren Nay
Sent: Friday, 21 November 2003 10:38 a.m.
To: serusers(a)lists.iptel.org
Subject: [Serusers] MySQL table scheme docs
Hey all,
Another quick question. Being new to SER I don't completely understand the mysql table schema and how the data in the tables affects the configuration of the server.
Are there any good docs on Configuring the data within the MySQL "ser" database? schema, values, etc.. I have been unsuccessful in finding such documentation thus far. :)
Thanks for your help!
Darren Nay - dnay(a)libertyisp.com
Hey all,
Another quick question. Being new to SER I don't completely understand the mysql table schema and how the data in the tables affects the configuration of the server.
Are there any good docs on Configuring the data within the MySQL "ser" database? schema, values, etc.. I have been unsuccessful in finding such documentation thus far. :)
Thanks for your help!
Darren Nay - dnay(a)libertyisp.com
Jan,
is that script in the IPTEL site
-----Original Message-----
From: Jan Janak [mailto:jan@iptel.org]
Sent: Thursday, November 20, 2003 10:29 AM
To: Peter David
Cc: serusers(a)lists.iptel.org; John W. Leonard; George Sepeda; otto(a)unitedlayer.com
Subject: Re: [Serusers] Request input
Hello,
On 20-11 10:21, Peter David wrote:
>
> Hello everyone,
>
>
> I am in the process of installing ser-0.8.11_src.tar.gz
> into a Linux 9 box and I had followed the instrictions from the Install doc link
> http://cvs.berlios.de/cgi-bin/viewcvs.cgi/*checkout*/ser/sip_router/INSTALL
>
> Building ser From Source Distribution
>
> However, when looking at all the file generated, I don't see a and ser startup file
> in the /etc/init.d/ directory
>
The startup file is not installed automatically, you must do it by
hand. You can find the script in sip_router/rpm (for redhat and SuSE),
> I ran the rpm version but in this version I don't see the file.
>
> here are the files:
>
> /usr/local/etc/ser
> /usr/local/lib/ser
> /usr/local/sbin/ser
> /usr/local/share/doc/ser
>
>
> Is tere a way some one can send me a startup script for the /etc/init.d/ directory?
What distribution are you using ?
Jan.
Hello everyone,
I am in the process of installing ser-0.8.11_src.tar.gz
into a Linux 9 box and I had followed the instrictions from the Install doc link
http://cvs.berlios.de/cgi-bin/viewcvs.cgi/*checkout*/ser/sip_router/INSTALL
Building ser From Source Distribution
However, when looking at all the file generated, I don't see a and ser startup file
in the /etc/init.d/ directory
I ran the rpm version but in this version I don't see the file.
here are the files:
/usr/local/etc/ser
/usr/local/lib/ser
/usr/local/sbin/ser
/usr/local/share/doc/ser
Is tere a way some one can send me a startup script for the /etc/init.d/ directory?
Peter David
Network Engineer
BBCOM, Inc.
Office 213-489-2156 x228
pdavid(a)bbcominc.com
Hi,
I an dialing from my Cisco IP phone to SER (0.8.11) on the same network
(192.168.1.x) and it is giving me a STATUS message: 483 Too many hops. Any
suggestions.
TIA,
Urvish Khandwalla
Hi!
1. Please answer always to the mailing list, so others can help you too!
2. Your configuration is wrong! Are you using 2 ser proxies? If you want
to use redirect to voicemail after a certain time, you need 2 instances
of ser! The may run on the same PC. One ser instance is the main proxy
(register, forwarding, forward to the voicemail proxy after timeout) and
the other proxy serves the voicemail server. You should split your
configuration (as in the examples of jiri)
---
# Voicemail specific configuration - begin
if(method=="ACK" || method=="INVITE" || method=="BYE"){
if (!t_newtran()) {
log("could not create new transaction\n");
sl_send_reply("500","could not create new
transaction");
break;
};
t_reply("100","Trying -- just wait a minute !");
if(method=="INVITE"){
log("**************** vm start - begin
******************\n");
if (uri=~"sip:as_welcome@.*" ||
uri=~"sip:as_nomoney@.*") {
if (!vm("/tmp/am_fifo", "announcement"))
{
log("couldn't contact
announcement server\n");
t_reply("500", "couldn not
contact announcement server");
};
} else {
if(!vm("/tmp/am_fifo","voicemail")){
log("could not contact the
answer machine\n");
t_reply("500","could not contact
the answer machine");
};
};
log("**************** vm start - end
******************\n");
} else if(method=="BYE"){
log("**************** vm end - begin
******************\n");
if(!vm("/tmp/am_fifo","bye")){
log("could not contact the answer
machine\n");
t_reply("500","could not contact the
answer machine");
};
log("**************** vm end - end
******************\n");
};
break;
};
-----------
This part must be in the ser.cfg of the voicemail proxy, not in the
ser.cfg of the main processing proxy.
Klaus
> -----Original Message-----
> From: Sesha B [mailto:sesha@iic.com]
> Sent: Thursday, November 20, 2003 4:00 PM
> To: Klaus Darilion
> Subject: RE: voicemail
>
>
> I used the same thing in my config, but I dont know why it is directly
> transferring to the voicemail. Can youplease see the attached
> ser.cfg in
> this mail and please let me know where I'm doing wrong? That
> would be a
> great help to me. Please let me know. Thank you very much.
>
> -----Original Message-----
> From: Klaus Darilion [mailto:darilion@ict.tuwien.ac.at]
> Sent: Tuesday, November 18, 2003 10:17 AM
> To: sesha(a)iic.com
> Cc: serusers(a)lists.iptel.org
> Subject: RE: voicemail
>
>
> I used the sample config files provided by jiri from
> http://iptel.org/~faqomatic/fom-serve/cache/92.html
>
> klaus
>
> > -----Original Message-----
> > From: Sesha B [mailto:sesha@iic.com]
> > Sent: Tuesday, November 18, 2003 4:10 PM
> > To: Klaus Darilion
> > Subject: RE: voicemail
> >
> >
> > Hi,
> >
> > I'm trying to do the redirection to voicemail, but I was not
> > able to. Can
> > you please do me a favor? Can you please send me the section
> > of the code
> > that does the redirection to the voicemail? Thank you very much.
> >
> >
> > -----Original Message-----
> > From: serusers-bounces(a)lists.iptel.org
> [mailto:serusers-bounces@lists.iptel.org]On
> > Behalf Of Klaus Darilion
> > Sent: Tuesday, November 18, 2003 6:01 AM
> > To: serusers(a)lists.iptel.org
> > Subject: [Serusers] fr_inv_timer problem when using SIPPS
> >
> >
> > Hi!
> >
> > I tried voicemail with redirect to the vm-proxy if the user
> > doesn't pick up
> > the phone after 10 seconds. It works fine if I call a kphone
> > user, but not
> > with SIPPS users. SIPPS sends a 180 Ringing every five seconds which
> > probably resets the timer - if I choose timer intervalls
> > shorter than 5
> > seconds it also works with SIPPS.
> >
> > Is this a bug?
> >
> > tried with ser:
> > 0.8.12dev-t14
> > 0.8.11rc1
> > 0.8.11-r1
> >
> > regards,
> > Klaus
> >
> >
> > ----------
> > #
> > # $Id: ser.cfg,v 1.21 2003/06/04 13:47:36 jiri 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"
> > alias=obelix.ict.tuwien.ac.at
> > # ------------------ 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"
> >
> > # load the voicemail module
> > #loadmodule "/usr/local/lib/ser/modules/vm.so"
> >
> > # load the enum module
> > loadmodule "/usr/local/lib/ser/modules/enum.so"
> >
> > # load the group module, to verify if a user forwards to voicemail
> > loadmodule "/usr/local/lib/ser/modules/group.so"
> >
> > # load the nathelper module
> > #loadmodule "/usr/local/lib/ser/modules/nathelper.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)
> > modparam("usrloc", "db_url", "sql://ser:ser2000@localhost/ser")
> >
> > # -- 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")
> > modparam("auth_db", "db_url", "sql://ser:ser2000@localhost/ser")
> >
> > # -- rr params --
> > # add value to ;lr param to make some broken UAs happy
> > modparam("rr", "enable_full_lr", 1)
> >
> > # -- voicemail params --
> > #modparam("voicemail", "db_url","sql://ser:ser2000@localhost/ser")
> >
> > # -- voicemail params --
> > modparam("group", "db_url","sql://serro:serro2000@localhost/ser")
> >
> > # -- nathelper params --
> > #modparam("nathelper", "natping_interval", 10)
> >
> > modparam("tm", "fr_inv_timer", 8 )
> > modparam("tm", "fr_inv_timer", 8 )
> >
> > # ------------------------- request routing logic
> -------------------
> >
> > # main routing logic
> >
> > route{
> >
> > lookup("aliases");
> > # 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) {
> > if (len_gt( 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
> >
> > #remove record route for dissipate
> > #if (!(method=="REGISTER")) 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("obelix.ict.tuwien.ac.at",
> > "subscriber")) {
> > # www_challenge("obelix.ict.tuwien.ac.at",
> > "0");
> > # break;
> > # };
> >
> > if (!save("location")) {
> > sl_reply_error();
> > };
> > break;
> > };
> >
> > # check if number beginns with 00, then convert
> > it into a +
> > if (uri=~"^sip:00[0-9]*@") {
> > # strip booth leading "0"
> > strip(2);
> > prefix("+");
> > };
> > # check if request uri begins with an internation phone
> > number, if yes, try enum to resolve
> > if (uri=~"sip:\+?[0-9]+@.*") {
> > enum_query("voice");
> > };
> >
> > #mark transaction for voicemail
> > if (is_user_in("Request-URI", "voicemail")) {
> > setflag(4);
> > };
> >
> > # native SIP destinations are handled using our
> > USRLOC DB
> > if (!lookup("location")) {
> > # handle user which was not found
> > route(4);
> > break;
> > };
> > };
> >
> > #add failure route which should be performed if
> > response code >=300
> > if (method=="INVITE" && isflagset(4)) {
> > t_on_failure("1");
> > };
> >
> > # 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();
> > };
> >
> > }
> >
> > route[4]{
> >
> > # non-Voip -- just send "off-line"
> > if (!(method == "INVITE" || method == "ACK" || method
> > == "CANCEL" ||
> > method == "REFER" || method == "BYE")) {
> > sl_send_reply("404", "Not Found");
> > break;
> > };
> >
> > # not voicemail subscriber
> > if (!isflagset(4)) {
> > sl_send_reply("404", "Not Found and no voicemail turned
> > on");
> > break;
> > };
> >
> > # forward to voicemail now
> > #rewritehostport("machtnix.ict.tuwien.ac.at:5060");
> > t_relay_to_udp("machtnix.ict.tuwien.ac.at", "5060");
> >
> > #klaus
> > #forward(machtnix.ict.tuwien.ac.at, 5060)
> > }
> >
> >
> >
> > failure_route[1] {
> > /* XX: note: unsafe if preloaded routes without username used */
> > revert_uri();
> > revert_uri();
> > #rewritehostport("machtnix.ict.tuwien.ac.at:5060");
> > append_branch();
> > t_relay_to_udp("machtnix.ict.tuwien.ac.at", "5060");
> > }
> >
> >
> > _______________________________________________
> > Serusers mailing list
> > serusers(a)lists.iptel.org
> > http://lists.iptel.org/mailman/listinfo/serusers
> >
> >
>
Hi Alex,
Please keep these questions on the list, the answer may (or
may not) help others!
Anyway, I thought that postgres was distributed with SER.
It is in the modules/postgres directory, and it can be
compiled in by removing it from the Makefile, ie, remove postgres
from the lines in the Makefile that look something like:
exclude_modules?= cpl cpl-c ext extcmd mangler pdt \
postgres snmp xlog \
im radius_acc radius_auth \
jabber mysql \
auth_radius group_radius uri_radius
You will also need to compile postgres on the machine you
are installing on, and create a database. Standard database stuff.
You can get information on postgres from www.postgresql.org.
---greg
Alex Trofimov wrote:
> Hello greg,
>
> can you help me find postgres module for SER ?
>
>
> thanks,
I looked around, I cannot find the create script.
I know I wrote the initial copy...a mystery.
Anyway, the postgres module is not 'completely' done.
It is working in production at our place, but there are
some missing parts.
For example, I had to hack my copy of serctl for the db specific
stuff.
As far as creating the tables, I don't have the script. I'll
cobble together the commands here. I note that many of the
tables are now missing; phonebook, pending, event, active_sessions,
acc, silo, realm, uri, server_monitoring and server_monitoring_ul.
I also note that the column names seem to change with each release
of SER. I don't know if my tables listed here will reflect those
changes...but they can be controlled via ser.cfg, ie:
modparam("usrloc","db_mode",1)
modparam("usrloc","user_column","user_id")
modparam("usrloc","db_url",
"sql://USERNAME:PASSWORD@postgres.hostname.com:5432/DBNAME")
Just because the tables are missing doesn't mean that the
modules that use them won't work under postgres, it simply
means that I haven't used them yet and therefore haven't created
the table and tested the functionality of that module.
I use the SER/postgres combination for subscriber and location
and that is it. I have about 3000 current users, the postgres module
is hit relatively hard, and it hasn't experienced any problems. Memory
usage is steady and I go months between restarts (which are necessary
when reconfiguring ser.cfg).
There is one issue with the postgres module that I experience, if you
restart the postgres database you will have to restart SER.
Good Luck,
---greg
CREATE TABLE public.subscriber
(
phplib_id varchar(32) NOT NULL DEFAULT '',
user_id varchar(100) NOT NULL DEFAULT '',
password varchar(25) NOT NULL DEFAULT '',
first_name varchar(25) NOT NULL DEFAULT '',
last_name varchar(45) NOT NULL DEFAULT '',
phone varchar(15) NOT NULL DEFAULT '',
email_address varchar(50) NOT NULL DEFAULT '',
datetime_created timestamptz NOT NULL,
datetime_modified timestamptz NOT NULL,
confirmation varchar(64) NOT NULL DEFAULT '',
flag char(1) NOT NULL DEFAULT 'o',
sendnotification varchar(50) NOT NULL DEFAULT '',
greeting varchar(50) NOT NULL DEFAULT '',
ha1 varchar(128) NOT NULL DEFAULT '',
domain varchar(128) NOT NULL DEFAULT '',
ha1b varchar(128) NOT NULL DEFAULT '',
perms varchar(32),
allow_find char(1) NOT NULL DEFAULT '0',
timezone varchar(128),
first_reg timestamptz,
last_reg timestamptz
) WITH OIDS;
CREATE TABLE public.reserved
(
user_id char(100) NOT NULL DEFAULT ''
) WITH OIDS;
CREATE TABLE public.missed_calls
(
sip_from varchar(128) NOT NULL DEFAULT '',
sip_to varchar(128) NOT NULL DEFAULT '',
sip_status varchar(128) NOT NULL DEFAULT '',
sip_method varchar(16) NOT NULL DEFAULT '',
i_uri varchar(128) NOT NULL DEFAULT '',
o_uri varchar(128) NOT NULL DEFAULT '',
sip_callid varchar(128) NOT NULL DEFAULT '',
user_id varchar(64) NOT NULL DEFAULT '',
time timestamptz NOT NULL,
timestamp timestamptz NOT NULL
) WITH OIDS;
CREATE TABLE public.location
(
user_id varchar(50) NOT NULL DEFAULT '',
domain varchar(100) NOT NULL DEFAULT '',
contact varchar(255) NOT NULL DEFAULT '',
expires timestamptz,
q numeric(10,2),
callid varchar(255),
cseq numeric(11),
last_modified timestamptz NOT NULL DEFAULT now(),
replicate numeric(10),
state numeric(3)
) WITH OIDS;
CREATE TABLE public.grp
(
user_id varchar(50) NOT NULL,
grp varchar(50) NOT NULL,
last_modified timestamptz NOT NULL DEFAULT now(),
domain varchar(128)
) WITH OIDS;
CREATE TABLE public.config
(
attribute varchar(32) NOT NULL,
value varchar(128) NOT NULL,
user_id varchar(100) NOT NULL DEFAULT '',
modified timestamptz
) WITH OIDS;
CREATE TABLE public.domain
(
did varchar(32) NOT NULL,
pdid varchar(32),
dname varchar(60) NOT NULL,
ddesc varchar(255) NOT NULL
) WITH OIDS;
CREATE TABLE public.aliases
(
user_id varchar(50) NOT NULL,
contact varchar(255) NOT NULL,
last_modified timestamptz NOT NULL DEFAULT now(),
expires timestamptz NOT NULL,
q numeric(10,2),
callid varchar(255),
cseq int4,
replicate int4,
stage int4,
state int4
) WITH OIDS;
sip wrote:
> hi, greg.
> where i can find ser_postgres.sh
> for create postgres db ?
> or db structure ?
>
> thanks
Hello,
does anybody have experience with CPLEd and the cpl-c module?
The installation of CPLEd on a SuSE 8.2 machine works without
any problems, but I cannot compile the latest cpl-c module
from cvs. I'm using gcc 3.3, make 3.80, libxml2 and ser
0.8.11 on the machine. If needed I can post the error output.
Thanks.
I have got a Cisco ATA 182 (Komodo Phone) and it has got a facility to
connect to a PSTN line.
Can anyone help me, how can I configure to work with SER (SIP) and use the
PSTN line.
I could not see any settings for SIP anywhere.
Pls help.
Best Regards,
Kannaiyan