You can find sample configuration files here:
http://iptel.org/~faqomatic/fom-serve/cache/92.html
Klaus
-----Original Message-----
From: Darren Sessions [mailto:dsessions@ionosphere.net]
Sent: Wednesday, November 26, 2003 2:04 PM
To: serusers(a)lists.iptel.org
Subject: [Serusers] Voicemail
Importance: High
Can someone provide me with the generic configuration for a SER box
doing call routing that forwards calls to a separate SER box running
SEMS for voice mail if the endpoint does not answer the phone?
Can someone provide me with the generic configuration for a SER box doing
call routing that forwards calls to a separate SER box running SEMS for
voice mail if the endpoint does not answer the phone?
Hi,
My programming skills are limited but I do have some experience and am able
to
use SER scripts and change them with success. However I sometimes need
to ask some questuions to further my trip into the SER world.
1. I'd like to know what the following expression means?
if (!t_relay()) {
sl_reply_error();
};
2. What is a Realm?
Thanks
_________________________________________________________________
>From the hottest toys to tips on keeping fit this winter, youll find a
range of helpful holiday info here.
http://special.msn.com/network/happyholidays.armx
Hi Bogdan,
The mysql module is loaded before the cpl-c one. Please have a look into
my ser.cfg because I cannot find any misconfig. Could it be a problem
with the SQL connection string? MySQL should be running correct.
I change the module name in the modparam declaration from cpl_c to cpl-c
because cpl_c like in your documentation doesn't work ;) Thanks
Oliver
#
# $Id: ser.cfg,v 1.24 2003/11/11 15:32:36 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
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"
# ------------------ 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/cpl-c.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/textops.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"
# ----------------- 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)
# -- cpl-c module --
modparam("cpl-c","cpl_db","sql://foo:bar@localhost/ser")
modparam("cpl-c","cpl_table","cpl")
modparam("cpl-c","cpl_dtd_file","/usr/local/etc/ser/cpl-06.dtd")
modparam("cpl-c","log_dir","/var/log/ser/cpl")
modparam("cpl-c","proxy_recurse",0)
# ------------------------- 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;
};
# 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
if (!method=="REGISTER") record_route();
# subsequent messages withing a dialog should take the
# path determined by record-routing
if (loose_route()) {
# mark routing logic in request
append_hf("P-hint: rr-enforced\r\n");
route(1);
break;
};
if (!uri==myself) {
# mark routing logic in request
append_hf("P-hint: outbound\r\n");
route(1);
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("t-systems.com", "subscriber")) {
www_challenge("t-systems.com", "0");
break;
};
save("location");
break;
};
lookup("aliases");
if (!uri==myself) {
append_hf("P-hint: outbound alias\r\n");
route(1);
break;
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
break;
};
};
append_hf("P-hint: usrloc applied\r\n");
route(1);
}
route[1]
{
# send it out now; use stateful forwarding as it works reliably
# even for UDP2TCP
if (!t_relay()) {
sl_reply_error();
};
}
Bogdan-Andrei IANCU [mailto:iancu@fokus.fraunhofer.de] wrote
>Hi Oliver,
>
>The mysql module must be loade before the cpl-c one. Make sure about
>this in your configuration file.
>
>Bogdan
Brinker, Oliver wrote:
>Hi Bogdan,
>now I fetch the whole cvs tree and compile SER and the needed modules.
>Everything works fine until I put the cpl-c modparam values into ser.cfg.
>I get an error message on my xconsole that the cpl-c module cannot bind
>to the database. The mysql module is loaded because digest authentications
>works since a few days. Is there anything to mind regarding the order of
>loading modules or setting params in the ser.cfg? Many thanks.
>
>Regards,
>Oliver
>
>
>Bogdan-Andrei IANCU [mailto:iancu@fokus.fraunhofer.de] wrote
>
>
>
>>Hi Oliver,
>>
>>what branch of cvs do you use? or you use the head of cvs?
>>on CVS head everything is fixed - but you have to get the whole tree,
>>not only the TM.
>>
>>Regards,
>>Bogdan
>>
>>
>
>Brinker, Oliver wrote:
>
>
>
>>Hi Bogdan,
>>
>>I try to patch the TM module and get an error during patching t_reply.c:
>>
>>Hunk #2 FAILED at 375
>>Hunk #3 FAILED at 400
>>
>>I'm not sure but could the faked_env function be the problem (expect four params,
>>but receiving only two)? Should I use a new version of the TM module from the CVS?
>>Many thanks.
>>
>>Regards,
>>Olli
>>
>>
>>
>>
>>
>>>Hello,
>>>
>>>In order to compile the cpl-c module, you need to apply a patch to the
>>>tm_modulel you can finf this patch in modules/cpl-c/tm.patch.
>>>Please, use the patch from the same version of ser as the tm modules. Try to do
>>>so and let my know if it worked.
>>>
>>>Regards,
>>>Bogdan
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>
>
>
Okay
Do I have to have that installed could I have the Redhat 9 gcc rpms installed instead?
[root@bbcom-ser mysql-4.0.16]# gcc-3.2 -v
-bash: gcc-3.2: command not found
[root@bbcom-ser mysql-4.0.16]# gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux
Thread model: posix
gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)
[root@bbcom-ser mysql-4.0.16]#
-----Original Message-----
From: Bogdan-Andrei IANCU [ mailto:iancu@fokus.fraunhofer.de]
Sent: Monday, November 24, 2003 10:51 AM
To: Peter David
Cc: serusers(a)lists.iptel.org
Subject: Re: [Serusers] Installing SER scr file question
Maybe you don't have gcc-3.2 installed!
try to do gcc-3.2 -v and see if installed.
Bogdan
Peter David wrote:
> Hello all again,
>
>
>
> This is you rookie installer Peter again having question
> regards to the Source File installation
>
> question:
>
> Do I execute all of the following via this the INSTALL instruction
>
> http://cvs.berlios.de/cgi-bin/viewcvs.cgi/*checkout*/ser/sip_router/INSTALL
>
> 2. Howto Build ser From Source Distribution
> -------------------------------------------
>
> (NOTE: if make doesn't work try gmake instead)
>
> - compile with default options:
>
> make #builds only ser core, equivalent to make ser
> make modules
>
> or make all #builds everything
>
> - compile with profiling
>
> make PROFILE=-pg all
>
> -compile debug mode version
>
> make mode=debug all
>
> -compile debug version with profiling
>
> make mode=debug PROFILE=-pg all
>
> -compile only the print module
>
> make modules=modules/print modules
>
> -compile all the "default" modules except textops and vm
>
> make skip_modules="textops vm" modules
>
> -compile all default modules and include uri_radius (not
> compiled by default):
>
> make include_modules="uri_radius" modules
>
> -compile all the modules from the modules subdirectory (even
> the one excluded
> by default):
>
> make exclude_modules="" modules
>
> -compile all the modules from the modules subdirectory
> excluding vm:
>
> make exclude_modules=vm modules
>
> or
>
> make exclude_modules="" skip_modules=vm modules
>
>
> -compile with the "tm" module statically linked and with profiling
>
> make static_modules=tm PROFILE=-pg all
>
> -compile with gcc-3.2 instead of gcc
>
> make CC=gcc-3.2 all //Seems to fail when I do this
>
> or
>
> CC=gcc-3.2 make all //Seems to fail when I do this
>
> Seems to work when I do a CC=gcc make all or make CC=gcc all
>
>
>
> Make targets:
>
> Clean:
>
> make clean (clean the modules too)
> make proper (clean also the dependencies)
> make distclean (the same as proper)
> make mantainer-clean (clean everything, including auto
> generated files,
> tags, *.dbg a.s.o)
>
> Compile:
>
> make proper
> make
> (or gmake on non-Linux systems)
> make modules
> or make modules exclude_modules="CVS print" etc.
>
> Make tags:
>
> make TAGS
>
> Create a tar.gz with the sources (in ../):
>
> make tar
>
> Create a tar.gz with the binary distribution (in ../):
>
> make bin
>
> Create a gzipped solaris package (in ../):
>
> make sunpkg
>
> Create debian packages (in ../):
>
> make deb
>
> or
>
> dpkg-buildpackage
>
> Install:
>
> make prefix=/usr/local install
>
> ---------------------------------------------------------------------------------------------------------------
>
> Or do I do the folllowing
>
>
>
> or do I just do the following to make it work
>
> ./configure
>
> make
>
> make prefix=/usr/local/ install
>
>
>
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Serusers mailing list
>serusers(a)lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
>
>
Hi Oliver,
The mysql module must be loade before the cpl-c one. Make sure about
this in your configuration file.
Bogdan
Brinker, Oliver wrote:
>Hi Bogdan,
>now I fetch the whole cvs tree and compile SER and the needed modules.
>Everything works fine until I put the cpl-c modparam values into ser.cfg.
>I get an error message on my xconsole that the cpl-c module cannot bind
>to the database. The mysql module is loaded because digest authentications
>works since a few days. Is there anything to mind regarding the order of
>loading modules or setting params in the ser.cfg? Many thanks.
>
>Regards,
>Oliver
>
>
>Bogdan-Andrei IANCU [mailto:iancu@fokus.fraunhofer.de] wrote
>
>
>
>>Hi Oliver,
>>
>>what branch of cvs do you use? or you use the head of cvs?
>>on CVS head everything is fixed - but you have to get the whole tree,
>>not only the TM.
>>
>>Regards,
>>Bogdan
>>
>>
>
>Brinker, Oliver wrote:
>
>
>
>>Hi Bogdan,
>>
>>I try to patch the TM module and get an error during patching t_reply.c:
>>
>>Hunk #2 FAILED at 375
>>Hunk #3 FAILED at 400
>>
>>I'm not sure but could the faked_env function be the problem (expect four params,
>>but receiving only two)? Should I use a new version of the TM module from the CVS?
>>Many thanks.
>>
>>Regards,
>>Olli
>>
>>
>>
>>
>>
>>>Hello,
>>>
>>>In order to compile the cpl-c module, you need to apply a patch to the
>>>tm_modulel you can finf this patch in modules/cpl-c/tm.patch.
>>>Please, use the patch from the same version of ser as the tm modules. Try to do
>>>so and let my know if it worked.
>>>
>>>Regards,
>>>Bogdan
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>
>
>
Pls help me to config ser.cfg
Now my envirmonet is:
ser server: 172.16.255.1:5060 ( without DNS server )
SIP PSTN gateway: 172.16.255.1:6050
SIP UA: 172.16.2.xx
And all SIP UAs have a PSTN number like 6169xxxx
There are no DNS server in the system.(we don't apply for a domain name)
I want:
1 All users use digest authorization when SIP UA registing ------ finished
2 All calls from SIP UA need authorization (return 407 to Invite request)
3 All calls to PSTN transfer to the SIP PSTN gateway(number no like "6169xxxx") -------- almost finished
3 All calls from the SIP PSTN gateway do not need authorization(I think use a caller sip:gateway@172.16.255.1:6050 as caller when call from gateway,then all call from this user and this ip address needn't authorazation)
4 All calls need write CDR record to mysq datebase
The bigest problem is I don't know how to write conditonal sentence , like
if(uri!=~"xxxx")
or
if((uri=="xxxx") | (uri=="yyyy"))
There are no document talking about the syntax.
Please help me. Any help is appreciate.
Now my ser.cfg is:
# ----------- 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
*/
debug=7
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/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_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)
# ------------------------- 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 (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
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("novsky.com", "subscriber")) {
www_challenge("novsky.com", "0");
break;
};
save("location");
break;
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
# if(uri=~"^sip:6169*@") {
forward(172.16.255.1,6050);
break;
# };
# else {
# 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();
};
}
Best regards
wangji
Hi,
mhomed did the trick nicely for ser, but force_rtp_proxy is putting the wrong
interface in the c= bit of the outgoing INVITE. c= is getting the IP address of
the internal interface, not the external. There doesn't seem to be any way of
working around this at the moment, or am I missing something?
Unless someone has something lying around to solve this I don't mind working
on it myself, unless I am missing something and this is a particularly hard
thing to sort out.
I suspect there are ways round this by masqerading on the ser box but I don't
want to do that and would much rather not have to enable ip forwarding on the
box at all.
--
Tristan Colgate
Inux Technologies
E-Mail: tristan(a)inuxtech.co.uk
Mobile: 07900 690 912
Hi!
You can find the description of the functions in the README file of the
corresponding modules, e.g. t_relay is from the tm module and
sl_reply_error is from the sl module:
http://cvs.berlios.de/cgi-bin/viewcvs.cgi/*checkout*/ser/sip_router/modu
les/sl/README?rev=1.4.2.1
Realm is defined in the SIP rfc (RFC 3261), e.g. section 22.1. Usually,
the realm is your sip domain.
regards,
Klaus
> -----Original Message-----
> From: Tim Garey [mailto:concord456@hotmail.com]
> Sent: Tuesday, November 25, 2003 4:39 PM
> To: serusers(a)lists.iptel.org
> Subject: [Serusers] Easy Questions
>
>
> Hi,
>
> My programming skills are limited but I do have some
> experience and am able
> to
> use SER scripts and change them with success. However I sometimes need
> to ask some questuions to further my trip into the SER world.
>
> 1. I'd like to know what the following expression means?
>
> if (!t_relay()) {
> sl_reply_error();
> };
>
> 2. What is a Realm?
>
> Thanks
>
> _________________________________________________________________
> >From the hottest toys to tips on keeping fit this winter,
> you'll find a
> range of helpful holiday info here.
> http://special.msn.com/network/happyholidays.armx
>
> _______________________________________________
> Serusers mailing list
> serusers(a)lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
>
>