Hi,
there are two ways to get the mysql module compile:
1) edit the Makefile and remove mysql from the "exclude_modules"
list. Later just do "make all" and "make install"
1) do (for compile and install:
make include_modules=mysql all
make include_modules=mysql install
regards,
bogdan
Ferianto siregar wrote:
> Dear Bogdan,
>
> Thank you very much for your response. Thank you.
> The openser-1.1.0-tls_src.tar.gz, I get from
> http://openser.org/pub/openser/latest/src/
> Something that I have done is :
> 1. I have built the openser packet and for building the mysql
> packet, I run "make include_modules="mysql" and "make
> install_modules="mysql" commands. Is it correct for building the mysql
> packet in my system? I mean, by using this command, I will have
> openser_mysql.sh for building the database in my openser system.
> Note: Beside that I have had mysql-server 3.x.x and mysql-devel 3.x.x
> in my system.
>
> Thanks with cheers
>
>
> Ferianto
> */Bogdan-Andrei Iancu <bogdan(a)voice-system.ro>/* wrote:
>
> Hi Ferianto,
>
> yes, you need to install the mysql module. Do you install from
> sources
> ,from CVS or from packages?
>
> regards,
> bogdan
>
> Ferianto siregar wrote:
>
> > Dear Bogdan,
> >
> > Thank you for your kind-hearted to answer my problem. Thanks
> very much.
> > Bogdan, From the suggestion that you said, I have to install mysql
> > module, don`t you? :)
> > and If i can make a wish to you, would you mind telling me where
> i can
> > get the suitable mysql module for openser1.1.0-tls that I will
> build?
> > Is it in tarball or rpm packet? Would you mind Bogdan, because I am
> > afraid that if I use unsuitable mysql packet, it will interere the
> > openser packet that I will build. Please Bogdan..Please
> >
> > Thanks very much with all regards,
> >
> > Ferianto
> >
> > */Bogdan-Andrei Iancu /* wrote:
> >
> > Hi Ferianto,
> >
> > please find the inline answers.
> >
> > regards,
> > bogdan
> >
> > Ferianto siregar wrote:
> >
> > > Dear all,
> > >
> > > First of all I would like to say thanks to all the developer
> > team who
> > > has released new packet for openser. It is openser-1.1.0.
> > > As all of you know that before, I have a problem when I compiled
> > the
> > > openser packet with TLS (openser-1.0.1-tls_src.tar.gz).Error in
> > > SSL_CTX_set_options. I can`t repair it untill now.
> > > But, using openser-1.1.0-tls_src.tar.gz, I don`t have any error
> > > message again when I compile TLS by using "make TLS=1 all"
> command.
> > > So, I am very happy that the new openser packet has been released.
> > > But, I have some question about the new released.
> > > 1. I use the Redhat 9 with the version of kernel is 2.4, can my
> > system
> > > that i will build working as well as possible? As I know that
> > the new
> > > packet just support operating system debian (all the packet is for
> > > debian). or Should i move to Debian?
> >
> > no - OpenSER works on almost all Linux distributions. Packages are
> > only
> > for some distributions: Debian, Redhat. Also FreeBSD will be
> > available.
> > If there is no package for your distribution, use the sources
> > (tarball
> > or CVS) and compile and install them.
> >
> > > 2. When I try to build database and I run
> > > #/usr/local/sbin/openser_mysql.sh, I got error message. So, I look
> > > into the directory of /usr/local/sbin, and I don`t find the
> > > "openser_mysql.sh".
> > > I just find : "openser, openserctl, openserunix".
> > > But in openser1.0.1-tls, I can find "openser , openserctl,
> > > openser_gen_ha, openser_mysql.sh, openser_postgresql.sh,
> > openserunix".
> > > How it can be?
> > > Can I copy the "openser_gen_ha, openser_mysql.sh,
> > > openser_postgresql.sh" from openser-1.0.1-tls_src to openser-1.1.0
> > > that I have ? So i can bulid the database. or maybe I will get
> > error?
> >
> > "openser_mysql.sh" is installed only if the mysql module is also
> > installed - so be sure that mysql modules is not excluded from
> > compiling/installing.
> >
> >
> >
> ------------------------------------------------------------------------
> > Yahoo! Music Unlimited - Access over 1 million songs. Try it free.
> >
>
>
>
>
> ------------------------------------------------------------------------
> See the all-new, redesigned Yahoo.com. Check it out.
> <http://us.rd.yahoo.com/evt=40762/*http://www.yahoo.com/preview>
Hi users;
i am new to use openser.I have to implement example like (http://www.voice-system.ro/docs/avpops/ar01s08.html#ex_trusting).in this (# do proxy authentication)parts create problem for me .plz help me to find which is the proxy authetication part in openser.cfg1(which is orignal file having no modification).
i am also giving openser.cfg2 (modified file by me) plz find out the mistake i am doing .plz solve my problem .i think there is some problem in configuration because after some modifation in configuration file when i am going to start my openser it gives me message like:OPENSER STARTS FAILED PID does not exist .
OPENSER.CFG 1:
# # $Id: openser.cfg,v 1.5 2005/10/28 19:45:33 bogdan_iancu 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/openser_fifo" # # uncomment the following lines for TLS support #disable_tls = 0 #listen = tls:your_IP:5061 #tls_verify = 1 #tls_require_certificate = 0 #tls_method = TLSv1 #tls_certificate = "/usr/local/etc/openser/tls/user/user-cert.pem" #tls_private_key = "/usr/local/etc/openser/tls/user/user-privkey.pem" #tls_ca_list = "/usr/local/etc/openser/tls/user/user-calist.pem" # ------------------ module loading ---------------------------------- # Uncomment
this if you want to use SQL database #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/textops.so" # Uncomment this if you want digest authentication # mysql.so must be loaded ! #loadmodule "/usr/local/lib/openser/modules/auth.so" #loadmodule "/usr/local/lib/openser/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"); exit; }; if (msg:len >= 2048 ) { sl_send_reply("513", "Message too big"); exit; }; # 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); }; if (!uri==myself) { # mark routing logic in request append_hf("P-hint: outbound\r\n"); # if you have some interdomain connections via TLS #if(uri=~"@tls_domain1.net") { # t_relay_to_tls("IP_domain1","port_domain1"); # exit; #} else if(uri=~"@tls_domain2.net") { # t_relay_to_tls("IP_domain2","port_domain2"); # exit; #} route(1); }; # 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("openser.org", "subscriber")) { #
www_challenge("openser.org", "0"); # exit; #}; save("location"); exit; }; lookup("aliases"); if (!uri==myself) { append_hf("P-hint: outbound alias\r\n"); route(1); }; # native SIP destinations are handled using our USRLOC DB if (!lookup("location")) { sl_send_reply("404", "Not Found"); exit; }; 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(); }; exit; } OPENSER.CFG 2:
# # $Id: openser.cfg,v 1.5 2005/10/28 19:45:33 bogdan_iancu 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/openser_fifo" listen=192.168.1.37 # # uncomment the following lines for TLS support #disable_tls = 0 #listen = tls:your_IP:5061 #tls_verify = 1 #tls_require_certificate = 0 #tls_method = TLSv1 #tls_certificate = "/usr/local/etc/openser/tls/user/user-cert.pem" #tls_private_key = "/usr/local/etc/openser/tls/user/user-privkey.pem" #tls_ca_list = "/usr/local/etc/openser/tls/user/user-calist.pem" # ------------------ module loading
---------------------------------- # Uncomment this if you want to use SQL database 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/textops.so" # Uncomment this if you want digest authentication # mysql.so must be loaded ! loadmodule "/usr/local/lib/openser/modules/auth.so" loadmodule "/usr/local/lib/openser/modules/auth_db.so" loadmodule "/usr/local/lib/openser/modules/avpops.so" loadmodule "/usr/local/lib/openser/modules/acc.so" loadmodule "/usr/local/lib/openser/modules/alias_db.so" loadmodule "/usr/local/lib/openser/modules/domain.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) ##########################AVPOPS Module Parameters modparam("avpops","avp_url","mysql://root:tanzeel@localhost/openser") modparam("avpops", "avp_table", "usr_preferences") modparam("avpops","uuid_column","uuid") modparam("avpops","username_column","username")
modparam("avpops","domain_column","localhost") modparam("avpops","attribute_column","attribute") modparam("avpops","value_column","value") modparam("avpops","type_column","type") #modparam("avpops","use_domain","1") #modparam("avpops","avp_aliases","uuid=I:2;email=s:raza@localhost;fwd=i:53") # ------------------------- request 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"); exit; };
if (msg:len >= 2048 ) { sl_send_reply("513", "Message too big"); exit; }; # if the request pretends to belong to a local domain if (is_from_local()) { #authenticate only INVITE and MESSAGES if (method=="INVITE" || method=="MESSAGE") { # is it a trusted IP address? - first load the trusted IPs (avp # NAME 't_ips" from DB table "ips") for the target domain (domain part # of RURI); then check if at least one value of 't_ips' AVPs equals # the source IP of the request
if (!(avp_db_load("$ruri/localhost","s:t_ips/usr_preferences") && avp_check("s:t_ips", "eq/$src_ip/gi"))) ################### Proxy Authentication ################# #4 { log("**************** AVP PRINT START ******************\n");
avp_print(); log("**************** AVP PRINT END ******************\n");
# 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); }; if (!uri==myself) { #
mark routing logic in request append_hf("P-hint: outbound\r\n"); # if you have some interdomain connections via TLS #if(uri=~"@tls_domain1.net") { # t_relay_to_tls("IP_domain1","port_domain1"); # exit; #} else if(uri=~"@tls_domain2.net") { # t_relay_to_tls("IP_domain2","port_domain2"); # exit; #} route(1); }; # 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("localhost", "subscriber")) { www_challenge("localhost", "0"); exit; }; save("location"); exit; }; lookup("aliases");
if (!uri==myself) { append_hf("P-hint: outbound alias\r\n"); route(1); }; # native SIP destinations are handled using our USRLOC DB if (!lookup("location")) { sl_send_reply("404", "Not Found"); exit; }; 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(); };
exit; }
---------------------------------
Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail Beta.
Hi Bogdan,
Thank you for your answers.
Best regards,
Andrew
-----Ursprüngliche Nachricht-----
Von: Bogdan-Andrei Iancu [mailto:bogdan@voice-system.ro]
Gesendet: Freitag, 14. Juli 2006 17:05
An: Augustin, Andrew (external)
Cc: users(a)openser.org
Betreff: Re: AW: [Users] Declined INVITE invokes multiple Decline's at Proxy
Hi Andrew,
Augustin, Andrew (external) wrote:
>Hello Daniel,
>
>Thank you very much for your tips.
>
>You are right. The ACK did not match the dialog - under this particular
>scenario there was an inconsistency between the branch, to, and from tags.
>
>Hello All,
>
>I have further questions related to this topic and routing of 'locally
>generated' ACKs...
>
>- How does OpenSER distinguish between 'locally generated' and
>'end-to-end' ACKs?
>
>
>
end-to-end ACKs are matched based on transaction matching against the
INVITE transaction (see the RFC for the transaction matching elements).
for hop-by-hop ACKs, additional info as top most via and RURI as
required to identically match the INVITE transaction.
>- How does OpenSER know when a 'locally generated' ACK closes the
>transaction (e.g. Decline reply) that it is involved in?
>
>
>
by matching the ACK against the INVITE transaction.
>- Does openser allow the modification of the Route header in a
>'locally generated' ACK and usage of TM's t_relay method to relay this ACK? Or is this prohibited so that only OpenSER is allowed to automatically route locally generated ACKs?
>
>
hop-by-hop ACK routing is not based on Route - actually this requests
does not contain any Route hdr
regards,
bogdan
>Best regards,
>Andrew
>
>
>
>-----Ursprüngliche Nachricht-----
>Von: Daniel-Constantin Mierla [mailto:daniel@voice-system.ro]
>Gesendet: Mittwoch, 12. Juli 2006 16:32
>An: Augustin, Andrew (external)
>Cc: users(a)openser.org
>Betreff: Re: [Users] Declined INVITE invokes multiple Decline's at Proxy
>
>
>Hello,
>
>seems that the ACK does not match the dialog, thus the decline reply is
>retransmitted. The network trace (ngrep) will help to spot more.
>
>Which of Proxy-1..3 is OpenSER and how the INVITE is routed? looking at
>the reply path, A seems to talk directly with proxy 2, but it is not
>right since the decline reply is sent back to A from Porxy 1. Or you
>didn't presented the full trace?
>
>Cheers,
>Daniel
>
>
>On 07/12/06 14:26, Augustin, Andrew (external) wrote:
>
>
>>Hello,
>>
>>I am using openser v1.0.
>>
>>I have a problem with the following SIP scenario with openser:
>>
>>- A invites B to a call session, B declines the invitation
>>
>>The message trace shown below is just part of the message trace
>>produced for the above scenario displaying message frames in sequence
>>F43, F44 ... through F64
>>
>>Initially everything works as expected: INVITEs, Trying (100) and
>>Ringing 180 messages are routed correctly from A to B and from B to A
>>via the intermediate proxies (this is not shown below). While still
>>'Ringing', B decline's the call (sends a Decline message) message: F44
>>in trace below. This also initally routes OK.
>>
>>
>>But the call flow for this scenario is expected to terminate at
>>message: F55 once the 'Decline' has routed its way back from the
>>B-Party to the A-Party and a final 'ACK' is sent by the A-Party to the
>>previous proxy: Proxy-1.
>>
>>But what actually occurs is that openser running on Proxy-1
>>automatically resends a 'Decline' at message F56 identical to the
>>'Decline' it first sent at message F46. This in turn prompts further
>>ACKs and 'Decline's until it finally times out at message F107 (not
>>shown below).
>>
>>It appears that openser saves the original message and attempts to
>>retry/resend the 'Decline' message when prompted by an ACK. This
>>continues for several cycles with ACKs and Decline's being sent and
>>received around the system until a timeout occurs.
>>
>>
>>The above behaviour also occurs for the following scenario:
>>
>>- A invites B to a call session, B responds with a Busy
>>
>>Can you help me to:
>>
>>- understand what is going on
>>- terminate what appears to be an open 'transaction' for the 'Decline'
>>and prevent further 'Decline's and ACKs being sent around the system.
>>
>>Best regards,
>>Andrew
>>
>>
>>_______________________________________________
>>Users mailing list
>>Users(a)openser.org http://openser.org/cgi-bin/mailman/listinfo/users
>>
>>
>>
>
>_______________________________________________
>Users mailing list
>Users(a)openser.org http://openser.org/cgi-bin/mailman/listinfo/users
>
>
>
--
Hi:
This is a newbie question: I have some logic where I setflag(3) after
successful login authentication and before route(X).
If I use isflagset(3)in my route(X)to verify the account has passed
authentication it returns false. I am assuming that means that flags
aren't persistent and I need to use some other mechanism to set a
variable in one part of the openser.cfg program to use in another. What
is my best option?
Michael
Dear all,
I need some help with setting up our SERweb version 9.0.4 on Linux
2.6.9-34.0.2.ELsmp: In SER HOWto Dan Austin wrote:
Following files must be updated with this "new" path to the
libraries:
./admin/prepend.php
./user_interface/prepend.php
./user_interface/reg/prepend.php
For these files the variable: $_PHPLIB["libdir"] =
"../../phplib/"; becomes $_PHPLIB["libdir"] =
"../../../phplib/";
Does this mean I should substitute the path like this
$_PHPLIB["libdir"]= "var/www/html/phplib/" or just modify the
existing path like this $_PHPLIB["libdir"]= "../../../phplib/"?
Also, in SER HOWto Dan Austin wrote:
In the ./admin directory edit the files acl.php, index.php,and
users.php will need their path to the forms library updated. For this
example, add ../ to the existing line
:require "../../../phplib/oohforms.inc";
In my files acl.php, index.php,and users.php, there is no line
":require "../../../phplib/oohforms.inc";". Do I need to add this
line? If so, where? Does anyone out there have these files so I can
try and replicate for my site? I also need a sample config.php
file. I can not see any of the variables mentioned in the documentation.
Thanks,
Ronald Otero
Hi everyone!
I have installed CentOS 4.3 x86_64 in my PowerEdge 1850 Server. Which of the following OpenSER distributions is appropriate for my system?
OpenSER v1.1.0 distribution Contents:
bin/ - contains compiled OpenSER versions for various arhitectures
packages/ - contains OpenSER binary packages for different OS distributions
src/ - contains OpenSER source tarball
Rgds
Rutayoba
An upstream PSTN-gateway provider wants
SIP Request-URIs in this format:
INVITE sip:16509411212@x.y.z.w;user=phone SIP/2.0
To achieve this, I did:
rewritehostport("x.y.z.w;user=phone");
t_relay();
which works, but makes me uneasy as the stuff after the ";"
isn't really the host or the port. What is the official way
to put "user=phone" on the end?
Thanks,
-mark
Dear all,
First, My special thanks to Bogdan who has helped me to solve my problem in building my openser system and Thank you very much to all the users in this forum. Thanks.
I use openser.1.1.0-tls_src.tar.gz. I have built it as shown in the installation guide from openser website. In my openser system, I plan to build TLS, so I build it by using command:
# make TLS=1 all
# make TLS=1 install
The installation progress run without any error. But, I have some questions about the installation. They are:
1. How can I check the TLS in my system? I mean How I check whether it has built correctly or not.
2. Can I test it before I configure the openser.cfg file? or I must configure it first?
3. About the certificate, If I use the default certificate (which comes in the packet), how can I configure the certificate for tls_certificate, tls_private_key, and tls_ca_list. Do I need any configuration or I just enable it by deleting the "#" character)?
Because as I shown from any massages in this forum, everybody who sent their openser.cfg file, use their own certificate.
But,in this case, I don`t have any certificates because I don`t know how to get it (should I buy it or not)
I do hope anybody can help me. So, my problem in understanding TLS system can be decreased. Please help me...Please
Thanks with cheers
Ferianto
---------------------------------
Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls. Great rates starting at 1¢/min.
Hello,
the CVS head has now support for fetch-result capability in MySQL
driver. The usrloc module is already using it. The new feature allow to
do incremental load of location records from database. This removes the
issue of 'out of private memory' when dealing with huge numbers of
active subscribers, with no hacking into the code.
Just as an example, with default OpenSER parameters and compile flags,
you can load up to 120 000 location records (within 32MB of share memory
and 1MB of private memory per process) - the whole used system memory
being about 40MB with default config file. For same number of location
entries, but without this feature, OpenSER/SER requires about 256MB.
At this moment, the private memory becomes irrelevant, user location
scaling being linear with size of share memory you want to allocate
(share memory size can be given via command line parameter -m) -- 256MB
of share memory should enough for 960 000 location records and the
private memory per worker process can still be 1MB.
More details:
http://www.openser.org/index.php?option=com_content&task=view&id=48&Itemid=9
Next step on this scalability direction is to have asynchronous user
location loading - usrloc database records caching will be done by one
of the openser children, the others will process SIP messages - this
results in faster openser start/restart.
Cheers,
Daniel
Hi!
I wonder how I can parse the body of the P-Asserted-Identity: header.
This header allows several syntax, e.g:
P-Asserted-Identity: "Klaus Darilion" <tel:+43123>
P-Asserted-Identity: tel:+43123;context
P-Asserted-Identity: tel:201-555-0123;phone-context=+1
P-Asserted-Identity: "nice guy" <sip:ng;abc=def@nicedomain;foo=bar>
In my case I want to:
1. check if it is a tel URI or not
2. Get the phone number from the addr-spec
3. Get the parameters (phone-context, ...)
Are there generic functions available to parse name-addr, addr-spec,
SIP-URIs and tel URIs? Or do I have to use avp_check and avp_subst with
some complicated regexps?
Thanks
Klaus