Hi All
As per previous Q "mentioned below" I did try using t_replicate however
once the client A logons on to server A it just keeps sending subscribe
requests to server B
Hi All
I have the following scenario
Openser Server A --> Uses Localhost MySQL Server
Openser Server B --> Uses ServerA MySQL server
Each server is in a different location. Both servers share the same
database. I.e. in other words a user can successfully logon to either
server. Both servers have a similar configuration file. My problem at
hand is the following
User A and User C logon to Server A
User B logs on to Server B
User A and User C can call each other.
How can User A and C communicate with user B ?
Can anyone provide me with a working example.
My Config
####### Modules Section ########
#set module path
mpath="/usr/local/lib/openser/modules/"
/* uncomment next line for MySQL DB support */
loadmodule "mysql.so"
loadmodule "sl.so"
loadmodule "tm.so"
loadmodule "rr.so"
loadmodule "maxfwd.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "textops.so"
loadmodule "mi_fifo.so"
loadmodule "uri_db.so"
loadmodule "uri.so"
loadmodule "xlog.so"
loadmodule "auth.so"
loadmodule "auth_db.so"
# ----- rr params -----
# add value to ;lr param to cope with most of the UAs
modparam("rr", "enable_full_lr", 1)
# do not append from tag to the RR (no need for this script)
modparam("rr", "append_fromtag", 0)
# ----- rr params -----
modparam("registrar", "method_filtering", 1)
/* uncomment the next line to disable parallel forking via location */
# modparam("registrar", "append_branches", 0)
/* uncomment the next line not to allow more than 10 contacts per AOR */
#modparam("registrar", "max_contacts", 10)
# ----- uri_db params -----
modparam("uri_db", "use_uri_table", 0)
modparam("uri_db", "db_url", "mysql://db_string")
# ----- usrloc params -----
modparam("usrloc", "db_mode", 3)
modparam("usrloc", "db_url","mysql://db_string")
# ----- auth_db params -----
modparam("auth_db", "calculate_ha1", yes)
modparam("auth_db", "password_column", "password")
modparam("auth_db", "use_domain", 0)
modparam("auth_db", "db_url","mysql://db_string")
modparam("usrloc", "db_url","mysql://db_string")
# ----------------- setting module-specific parameters ---------------
# -- mi_fifo params --
modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo_xmpp")
# -- usrloc params --
# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)
###### Routing Logic ########
route
{
if(!mf_process_maxfwd_header("10")){
sl_send_reply("486", "To Many Hops");
return;
}
if(msg:len >= max_len){
sl_send_reply("513", "Message To Big");
return;
}
#########End of XMPP Section ###################
if(!is_method("REGISTER")){
record_route();
}
if(loose_route()){
route(1);
return;
}
if(uri == myself){
if(is_method("REGISTER")){
if(!www_authorize("mydomain.net",
"subscriber")){
www_challenge("mydomain.net", "1");
return;
}
save("location");
if(!src_ip==xx.yy.zz.12)
{
t_replicate("xx.yy.zz.12", "5060");
};
return;
}
if(does_uri_exist()){
# local uri does exist, is probably a user.
# lookup location
if(lookup("location")){
route(1);
return;
}
} else {
# probably a call to pstn....
route(2);
return;
}
}
}
route[1] {
# for INVITEs enable some additional helper routes
if (is_method("INVITE")) {
t_on_branch("2");
t_on_reply("2");
t_on_failure("1");
}
if (!t_relay()) {
sl_reply_error();
};
exit;
}
route[2]
{
# pstn handling, simply route out to pstn.
xlog("L_INFO","rewritehostport to Splendor_VOIP_GW:5065");
sl_send_reply("100","Call Going To PSTN");
sethostport("xx.yy.zz.39");
route(1);
}
/*
route[2] {
# for INVITEs enable some additional helper routes
rewritehostport ("xx.yy.zz.39:5060");
xlog("L_INFO","rewritehostport to Splendor_VOIP_GW:5065");
route(1);
}
*/
# Presence route
/* uncomment the whole following route for enabling presence
NOTE: do not forget to enable the call of this route from the main
route */
branch_route[2] {
xlog("new branch at $ru\n");
}
onreply_route[2] {
xlog("incoming reply\n");
}
Hello List,
I have a simple load balancer with dispatcher. I'm using the DIALOG
module, it is supposed to store in db all info about ongoing dialogs. But my
setup must be wrong, because a lot of dialogs are not removed when the call
is hung up.
Here's my cfg:
#
# $Id: openser.cfg 1827 2007-03-12 15:22:53Z bogdan_iancu $
#
# simple quick-start config script
# Please refer to the Core CookBook at
http://www.openser.org/dokuwiki/doku.php
# for a explanation of possible statements, functions and parameters.
#
# ----------- global configuration parameters ------------------------
debug=3 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=no # (cmd line: -E)
children=4
check_via=no
dns=no
rev_dns=no
listen=a.b.c.d
disable_dns_blacklist=true
port=5060
#set module path
mpath="/lib/openser/modules/"
# ------------------ module loading ----------------------------------
loadmodule "mysql.so"
loadmodule "maxfwd.so"
loadmodule "sl.so"
loadmodule "dispatcher.so"
loadmodule "tm.so"
loadmodule "mi_fifo.so"
loadmodule "textops.so"
loadmodule "xlog.so"
loadmodule "rr.so"
loadmodule "dialog.so"
loadmodule "avpops.so"
modparam("mi_fifo","fifo_name", "/tmp/openser_fifo")
modparam("tm", "fr_timer", 5)
modparam("dispatcher", "list_file", "/etc/openser/dispatcher.list")
modparam("dispatcher", "flags", 2)
modparam("dispatcher", "force_dst", 1)
modparam("dispatcher", "dst_avp", "$avp(i:271)")
modparam("dispatcher", "grp_avp", "$avp(i:272)")
modparam("dispatcher", "cnt_avp", "$avp(i:273)")
modparam("dialog", "dlg_flag", 4)
modparam("dialog", "db_mode", 1)
modparam("dialog", "table_name", "dialog")
modparam("dialog", "db_url", "mysql://user:pass@localhost/openser")
modparam("avpops","avp_url","mysql://user:pass@localhost/openser")
modparam("avpops", "avp_table", "dialog")
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 (!method=="REGISTER")
record_route();
if (method=="INVITE") { setflag(4); }
if ( method=="INVITE" || method=="ACK" || method=="BYE" ||
method=="OPTIONS" || method=="CANCEL" ) {
ds_select_dst("1","2");
t_on_failure("1");
t_relay();
exit;
};
}
failure_route[1] {
if (t_check_status("408")) {
xlog("L_INFO","Marking GW as failed...\n");
ds_mark_dst("p");
ds_next_dst();
t_on_failure("1");
t_relay();
} else{
t_reply("501","Not Implemented");
}
}
As far as I know, using the record_route assures that all messages are
passed through the proxy so that dialogs must be removed... but they'r not
Any ideas?
Thanks a lot.
David Villasmil
--- On Mon, 6/9/08, Pezhman Lali <pezhman_lali(a)yahoo.com> wrote:
> From: Pezhman Lali <pezhman_lali(a)yahoo.com>
> Subject: stun
> To: pezhman.lali(a)gmail.com
> Date: Monday, June 9, 2008, 6:02 PM
> Dear,
> does setting the ip of stun server in the sip-phones,
> behind the symmetric nat, make the problem ?
> my experience with stund 0.96, said yes.
> the stun server, can detects the type of nats properly, but
> the sip-phones behind the un-symmetric nat, can not
> register, or one-way calling.
>
> ????
Hi All
I have added a column called status to the subscriber table. I want to
check that column in the route() function and act according to it's
value.
In the global settings I put
# ----- AVP params --------
modparam("avpops", "avp_url", "mysql://openser:ccccc@cccccc/openser")
modparam("avpops","avp_table","subscriber")
modparam("avpops","db_scheme",
"scheme1:username_col=username;value_col=status;value_type=string;table=
subscriber")
And In the route statement I put
if (avp_db_load("$ru","$avp(s:disabled)/$scheme1"))
{
xlog("L_INFO", "This did match");
}
I am getting this error in the log file
Jun 9 09:12:51 [15789] ERROR:avpops:ops_dbload_avps: incomplet uri
<sip:xx.xx.xx.xx> "Where xx.xx.xx.xx is my correct IP"
And the IF statement is matching everytime.
Thanks for any suggestions.
Hello,
On 06/09/08 12:52, David Villasmil wrote:
> Isn't it easier to setup ONE mysql server and connect both openser
> server to the same db? you would have only one location...
>
> Just a thought
it is a possibility as well. Depending if you want to run with one or
two database servers, where you can have also replication options.
It is also a possibility to use t_replicate to replicate registrations,
but it getx more complex with NAT environments.
Cheers,
Daniel
>
> David.
>
>
>
> On Mon, Jun 9, 2008 at 10:52 AM, Daniel-Constantin Mierla
> <miconda(a)gmail.com <mailto:miconda@gmail.com>> wrote:
>
> Hello,
>
>
> On 06/03/08 14:20, Ali Jawad wrote:
> >
> > Hi All
> >
> > I have the following scenario
> > Openser Server A --> Uses Localhost MySQL Server
> > Openser Server B --> Uses ServerA MySQL server
> >
> > Each server is in a different location. Both servers share the same
> > database. I.e. in other words a user can successfully logon to
> either
> > server. Both servers have a similar configuration file. My
> problem at
> > hand is the following
> >
> > User A and User C logon to Server A
> > User B logs on to Server B
> >
> > User A and User C can call each other.
> >
> > How can User A and C communicate with user B ?
> >
> after you do the lookup on server A and the user is not found there,
> then forward the request to server B, do there location lookup as
> well,
> then if not found, send the negative reply. Otherwise, send it to
> user.
>
> Do same on the server B, forwarding to A...
>
> Cheers,
> Daniel
> >
> >
> > Can anyone provide me with a working example.
> >
> >
> >
> > Thanks
> >
> --
>
> http://www.asipto.com
>
>
> _______________________________________________
> Users mailing list
> Users(a)lists.openser.org <mailto:Users@lists.openser.org>
> http://lists.openser.org/cgi-bin/mailman/listinfo/users
>
>
--
http://www.asipto.com
Hi All
I have the following scenario
Openser Server A --> Uses Localhost MySQL Server
Openser Server B --> Uses ServerA MySQL server
Each server is in a different location. Both servers share the same
database. I.e. in other words a user can successfully logon to either
server. Both servers have a similar configuration file. My problem at
hand is the following
User A and User C logon to Server A
User B logs on to Server B
User A and User C can call each other.
How can User A and C communicate with user B ?
Can anyone provide me with a working example.
Thanks
Hello,
I am using OpenSER 1.3.0 with digest authentication (MySQL database) in a multiprocessor machine (4 CPU). When using OpenSER configured with one child. I have noticed that OpenSER process can reach a maximum CPU utilization of 70% while the MySQL DB reaches around 30% CPU utilization (100% in total). Tipically the OpenSER process and the MySQL process will be using the same processor. However, this behavior happens also if I forced each processor to use different processors (using processor affinity).
My question is why the OpenSER and the DB processes can't use more CPU time if they are running in independent processors (they behave as if they were running in a single processor). What is the dependency/relationship between the OpenSER and MySQL processes?
Thanks,
JB
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
I upgraded from tomcat5.5.15 to tomcat6.0.16 on fc5.
After I entered
username: admin(a)192.168.0.3
Password:xxxx
on the screen of http://192.168.0.3:8080/serMyAdmin/auth/login,
[Login] click doesn't work.
Only [Register] click goes to
http://192.168.0.3:8080/serMyAdmin/newUser/create
Is this a correct behavior of serMyAdmin?
I followed up inside of openser.sql of
Step 17: Create the administrator user in the database.
on Last Updated ( Friday, 02 May 2008 16:55 ) web infomation, but
I don't know the reason of the following procedure(1),(2).
(1)
ALTER TABLE `domain` ALTER `last_modified` SET DEFAULT '2008-01-01 00:00:00';
UPDATE domain set `last_modified`='2008-01-01 00:00:00';
INSERT INTO `domain` (`id`, `domain`, `last_modified`, `version`) VALUES
(2, 'setup', '2008-04-09 16:13:12', 0);
(2)
INSERT INTO `jsec_user_role_rel` (`id`, `version`, `role_id`, `user_id`) VALUES
(1, 0, 1, 4),
(3, 0, 1, 7),
(4, 0, 1, 3),
(5, 0, 3, 11);
Do I miss somthing to run serMyAdmin?
--
Zen
Hi
Thanks for your reply.
Yes in fact, the registrar is some sort of a billing application that enforce AAA.
The only problem is , it does not handle NAT traversal. That's why we need OpenSer to act as an SBC.
El Domingo, 8 de Junio de 2008, sylver_b escribió:
> Hello,
>
> We would like to evaluate OpenSER to test interoperability with our
> sip registrar platform - as our registrar does not handle NAT Traversal
> we would like to use OpenSER as a mirror proxy . Basically we would like
> OpenSER to act as an Upper Registrar proxy where all the sip messages would
> be forwarded to our registrar, based on the domain name used in the
> Register. ie: REGISTER 111 at domain1.com -> forward to -> registrar_ip1
> REGISTER 222 at domain2.com -> forward to -> registrar_ip2
> and so on...
Take a look to "t_replicate" function of "tm" module.
> If a call is initiated, OpenSER should transparently handle NAT traversal
> functionalities while forwarding the INVITE request to the proper registrar
> server.
Do you mean that an INVITE should be forwarded to a registrar server? maybe
the registrar is also a proxy/PBX?
Please, explain a little more your escenario.
Regards.
--
Iñaki Baz Castillo
_____________________________________________________________________________
Envoyez avec Yahoo! Mail. Une boite mail plus intelligente http://mail.yahoo.fr
Hello,
We would like to evaluate OpenSER to test interoperability with our
sip registrar platform - as our registrar does not handle NAT Traversal
we would like to use OpenSER as a mirror proxy . Basically we would like OpenSER to act as an Upper Registrar proxy where all the sip messages would be forwarded to our registrar, based on the domain name used in the Register. ie:
REGISTER 111(a)domain1.com -> forward to -> registrar_ip1
REGISTER 222(a)domain2.com -> forward to -> registrar_ip2
and so on...
If a call is initiated, OpenSER should transparently handle NAT traversal
functionalities while forwarding the INVITE request to the proper registrar server.
Below some detailed requirements:
Upper Registration is the capability of a SBC to proxy Registrations towards an upstream Registrar. While it is necessary that all SIP
requests traverse the SBC for NAT continuity, Registrations should be
allowed to be relayed towards the upstream Registrar while the SBC
retains a copy of the AOR and masquerade on behalf of the UA that send
the registration request.
Please let us know the best way to configure OpenSER to achieve this type of configuration.
Thanks
SB
_____________________________________________________________________________
Envoyez avec Yahoo! Mail. Une boite mail plus intelligente http://mail.yahoo.fr