I am having problems compiling SEMS. I've not been able to find any detailed
documentation. Below is the error I get while running 'Make'.
I haven't edited or touched a thing in the sems-0.1.0 directory.
Any help would be appreciated.
Thanks,
- Darren
-------------
# make
make[1]: Entering directory `/export/home/sems-0.1.0'
cd ortp-0.6.0; make all LDFLAGS="-L/usr/lib -lsocket" CFLAGS="-DSOLARIS"
make[2]: Entering directory `/export/home/sems-0.1.0/ortp-0.6.0'
make all-recursive
make[3]: Entering directory `/export/home/sems-0.1.0/ortp-0.6.0'
Making all in src
make[4]: Entering directory `/export/home/sems-0.1.0/ortp-0.6.0/src'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/export/home/sems-0.1.0/ortp-0.6.0/src'
Making all in docs
make[4]: Entering directory `/export/home/sems-0.1.0/ortp-0.6.0/docs'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/export/home/sems-0.1.0/ortp-0.6.0/docs'
Making all in build
make[4]: Entering directory `/export/home/sems-0.1.0/ortp-0.6.0/build'
Making all in win32
make[5]: Entering directory `/export/home/sems-0.1.0/ortp-0.6.0/build/win32'
make[5]: Nothing to be done for `all'.
make[5]: Leaving directory `/export/home/sems-0.1.0/ortp-0.6.0/build/win32'
make[5]: Entering directory `/export/home/sems-0.1.0/ortp-0.6.0/build'
make[5]: Nothing to be done for `all-am'.
make[5]: Leaving directory `/export/home/sems-0.1.0/ortp-0.6.0/build'
make[4]: Leaving directory `/export/home/sems-0.1.0/ortp-0.6.0/build'
make[4]: Entering directory `/export/home/sems-0.1.0/ortp-0.6.0'
make[4]: Leaving directory `/export/home/sems-0.1.0/ortp-0.6.0'
make[3]: Leaving directory `/export/home/sems-0.1.0/ortp-0.6.0'
make[2]: Leaving directory `/export/home/sems-0.1.0/ortp-0.6.0'
make[1]: Leaving directory `/export/home/sems-0.1.0'
make[1]: Entering directory `/export/home/sems-0.1.0'
make[1]: Nothing to be done for `deps'.
make[1]: Leaving directory `/export/home/sems-0.1.0'
make[1]: Entering directory `/export/home/sems-0.1.0'
g++ -c -o AmApi.o AmApi.cpp -Wall -Wno-reorder -D_DEBUG -g -DTHREAD_SAVE
-D_REENTRANT -D_THREAD_SAFE -I ortp-0.6.0/ -I ortp-0.6.0/sr
c
In file included from /usr/include/netinet/in.h:41,
from ortp-0.6.0/src/rtpsession.h:37,
from ortp-0.6.0/src/ortp.h:24,
from AmRtpStream.h:34,
from AmSession.h:31,
from AmApi.h:6,
from AmApi.cpp:1:
/usr/include/sys/stream.h:67: error: `struct queue' redeclared as different
kind of symbol
/export/home/usr/local/include/c++/3.3/bits/stl_queue.h:71: error: previous
declaration of `template<class _Tp, class _Sequence = std::deque<_Tp,
std::allocator<_CharT> > > class std::queue'
make[1]: *** [AmApi.o] Error 1
make[1]: Leaving directory `/export/home/sems-0.1.0'
make: [all] Error 2 (ignored)
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
>>
>>
>
>
>
Hi nkans,
First thank you so musch for your help.
I change your script a litter because I want forward all call that not call 6169xxxx to gateway and checking other call. If other call not in location, return 404 error.
And I can't use "else" after "if" because it make script fail.
That my script(only changed these codes):
if(uri=~"^sip:6169[0-9]*@[0-9|\.]*") {
if(!lookup("location")) {
sl_send_reply("404", "Not Found");
break;
};
};
# I can't use else here
forward(172.16.255.1,6050);
break;
Best regards,
Wangji
let me know whether it works.
here is the corrected 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
> */
>
> 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(uri=~"^sip:6169[0-9]*@[0-9|\.]*") {
> 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
----------------------------------------------------------------------------
----
> _______________________________________________
> Serusers mailing list
> Serusers(a)iptel.org
> http://mail.iptel.org/mailman/listinfo/serusers
>
All the problems described to the mailing list were solvable.
The completion of ser automatic meeting system construction was carried out.
RedHat 9 + FreeRadius + PostgreSQL
Ser 0.8.12 + Serweb All ok
---------------------------
voice lab inc. saitama japan.
test call : sip:8700@voice.dyn.to
test call : sip:8700@iptel.org
---------------------------
-----------------------
voice lab inc. Saitama Japan.
-----------------------
Hello <sip:8001@iptel.org>,
8200 <sip:8200@voice.dyn.to:5062>;tag=175262804 left a voice message for
you.
Thank you for using voice.dyn.to's Voicemail.
Your voicemail system.
---------------------------------------------------------
This message was created by voice.dyn.to's voicemail system.
Please review www.voice.dyn.to for more information.
---------------------------------------------------------
I think you can start the rtpproxy with a certain commandline switch to listen to the public IP address.
Klaus
-----Ursprüngliche Nachricht-----
Von: Tristan Colgate [mailto:tristan@inuxtech.co.uk]
Gesendet: Di 25.11.2003 11:37
An: serusers(a)lists.iptel.org
Cc:
Betreff: [Serusers] multi homed rtpproxy?
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
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
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.
I've got a problem with the configuration of serweb.
I have already set up the ser with a mysql database, httpd, php 4.3.3-6
and php_mysql 4.3.3-6.
But when i finisched installing serweb, i got the follwing error:
Parse error: parse error in /var/www/html/config.php on line 215
Warning: Cannot modify header information - headers already sent by
(output started at /var/www/html/config.php:215) in
/var/www/html/page.php on line 7
Warning: Cannot modify header information - headers already sent by
(output started at /var/www/html/config.php:215) in
/var/www/html/page.php on line 8
Warning: Cannot modify header information - headers already sent by
(output started at /var/www/html/config.php:215) in
/var/www/html/page.php on line 9
Warning: Cannot modify header information - headers already sent by
(output started at /var/www/html/config.php:215) in
/var/www/html/phplib/session.inc on line 462
Warning: Cannot modify header information - headers already sent by
(output started at /var/www/html/config.php:215) in
/var/www/html/phplib/session.inc on line 463
....................
What can I do ???
Here is a part of my config.php:
line 213: /* your domain name */
line 214: $this->realm="measat1.gmd.de"
line 215: $this->domainname="measat1.gmd.de"
line 216: $this->default_domain="measat1.gmd.de"
Would be nice if anyone could help me...
Oliver.
Hi,
I know that ha1 column in subscriber table is an MD5
of "username:realm:password" string.
Which string do I have to process in MD5 hash to obtain the ha1b value?
Saverio Pieri
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