[Serusers] Re: [Users] Can anyone share his openser.cfg..in which openser is routing calls to pstn gateway
Lokesh Kumar
lokesh at interacesso.pt
Wed Nov 30 16:53:54 CET 2005
Hello Iqbal,
Yes, I am having all those modules present in proper directory. When I am
using this below openser.cfg conf file everything works fine, But i can't
call from SIP UA registered on openser to outside number.Infact I can recive
calls on SIP UA. Please help how to debug this problem. I will be very
thankful to you
#
# $Id: openser.cfg,v 1.5 2005/10/28 19:45:33 bogdan_iancu Exp $
#
# simple quick-start config script
#
# ----------- global configuration parameters ------------------------
debug=9 # 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"
#-----I had added from here---------------------------------
#listen=212.13.35.13
#port=5060
#children=4
#alias=212.13.35.13
#---------------Upto here-----------------------------------
# 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/mediaproxy.so" #--I had added
#loadmodule "/usr/local/lib/openser/modules/nathelper.so"#----I had added
loadmodule "/usr/local/lib/openser/modules/textops.so"
#loadmodule "/usr/local/lib/openser/modules/domain.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)
#--I had added here----------
#modparam("nathelper","rtpproxy_disable",1)
#modparam("nathelper","natping_interval",180)
#modparam("mediaproxy","natping_interval",30)
#modparam("mediaproxy","mediaproxy_socket","/var/run/mediaproxy.sock")
#modparam("mediaproxy","sip_asymmetrics","/usr/local/etc/openser/sip-asymmet
ric-clients")
#modparam("mediaproxy","rtp_asymmetrics","/usr/local/etc/openser/rtp-asymmet
ric-clients")
#modparam("domain","db_url","dbtext:/usr/local/etc/openser/domaintables")
#-----Upto here--------------
# ------------------------- 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;
}
----- Original Message -----
From: "Iqbal" <iqbal at gigo.co.uk>
To: "Lokesh Kumar" <lokesh at interacesso.pt>
Cc: "Norman Brandinger" <norm at goes.com>; <serusers at lists.iptel.org>;
<users at openser.org>
Sent: Wednesday, November 30, 2005 12:32 PM
Subject: Re: [Users] Can anyone share his openser.cfg..in which openser is
routing calls to pstn gateway
> have you got those modules that cant be found, and are they located in
> that directory
>
> iqbal
>
> Lokesh Kumar wrote:
>
> >Hello Norman,
> >When I type openser start it gives me " ERROR: Bad config file (4
errors).
> >here is the messages i got from cat /var/log/messages
> >---------
> >Nov 30 11:05:01 ser crond(pam_unix)[26819]: session closed for user root
> >Nov 30 11:07:16 ser openser: ERROR: load_module: could not open module
> ><modules/sl/sl.so>: modules/sl/sl.so: cannot open shared object file: No
> >such file or directory
> >Nov 30 11:07:16 ser openser: parse error (10,13-14): failed to load
module
> >Nov 30 11:07:16 ser openser: ERROR: load_module: could not open module
> ><modules/tm/tm.so>: modules/tm/tm.so: cannot open shared object file: No
> >such file or directory
> >Nov 30 11:07:16 ser openser: parse error (11,13-14): failed to load
module
> >Nov 30 11:07:16 ser openser: parse error (12,1-2): syntax error
> >Nov 30 11:07:16 ser openser: parse error (12,1-2):
> >Nov 30 11:09:11 ser openser: ERROR: load_module: could not open module
> ><modules/sl/sl.so>: modules/sl/sl.so: cannot open shared object file: No
> >such file or directory
> >Nov 30 11:09:11 ser openser: parse error (10,13-14): failed to load
module
> >Nov 30 11:09:11 ser openser: ERROR: load_module: could not open module
> ><modules/tm/tm.so>: modules/tm/tm.so: cannot open shared object file: No
> >such file or directory
> >Nov 30 11:09:11 ser openser: parse error (11,13-14): failed to load
module
> >Nov 30 11:09:11 ser openser: parse error (12,1-2): syntax error
> >Nov 30 11:09:11 ser openser: parse error (12,1-2):
> >[root at ser openser]#
> >------------------------------
> >
> >Here is my openser.cfg , In which i had commented mysql, and auth
modules.I
> >want the things works without any AAA, initially.
> >
> >
> >
> >#
> ># $Id: pstn.cfg,v 1.2 2005/07/25 16:27:33 miconda Exp $
> >#
> ># example: ser configured as PSTN gateway guard; PSTN gateway is located
> ># at 192.168.0.10
> >#
> >
> ># ------------------ module loading ----------------------------------
> >
> >loadmodule "modules/sl/sl.so"
> >loadmodule "modules/tm/tm.so"
> >;loadmodule "modules/acc/acc.so"
> >loadmodule "modules/rr/rr.so"
> >loadmodule "modules/maxfwd/maxfwd.so"
> >;loadmodule "modules/mysql/mysql.so"
> >;loadmodule "modules/auth/auth.so"
> >;loadmodule "modules/auth_db/auth_db.so"
> >;loadmodule "modules/group/group.so"
> >loadmodule "modules/uri/uri.so"
> >
> ># ----------------- setting module-specific parameters ---------------
> >
> >;modparam("auth_db", "db_url","mysql://ser:heslo@localhost/ser")
> >;modparam("auth_db", "calculate_ha1", yes)
> >;modparam("auth_db", "password_column", "password")
> >
> ># -- acc params --
> >;modparam("acc", "log_level", 1)
> ># that is the flag for which we will account -- don't forget to
> ># set the same one :-)
> >;modparam("acc", "log_flag", 1 )
> >
> ># ------------------------- request routing logic -------------------
> >
> ># main routing logic
> >
> >route{
> >
> > /* ********* ROUTINE CHECKS **********************************
*/
> >
> > # filter too old messages
> > if (!mf_process_maxfwd_header("10")) {
> > log("LOG: Too many hops\n");
> > sl_send_reply("483","Too Many Hops");
> > return;
> > };
> > if (len_gt( max_len )) {
> > sl_send_reply("513", "Wow -- Message too large");
> > return;
> > };
> >
> > /* ********* RR ********************************** */
> >
> > /* grant Route routing if route headers present */
> > if (loose_route()) { t_relay(); return; };
> >
> > /* record-route INVITEs -- all subsequent requests must visit us
*/
> > if (method=="INVITE") {
> > record_route();
> >
> > };
> >
> > # now check if it really is a PSTN destination which should be
> >handled
> > # by our gateway; if not, and the request is an invitation, drop
> >it --
> > # we cannot terminate it in PSTN; relay non-INVITE requests -- it
> >may
> > # be for example BYEs sent by gateway to call originator
> > if (!uri=~"sip:\+?[0-9]+ at .*") {
> > if (method=="INVITE") {
> > sl_send_reply("403", "Call cannot be served
here");
> > } else {
> > forward(uri:host, uri:port);
> > };
> > return;
> > };
> >
> > # account completed transactions via syslog
> > setflag(1);
> >
> > # free call destinations ... no authentication needed
> > if ( is_user_in("Request-URI", "free-pstn") /* free destinations
*/
> > | uri=~"sip:[79][0-9][0-9][0-9]@.*" /* local
PBX
> >*/
> > | uri=~"sip:98[0-9][0-9][0-9][0-9]") {
> > log("free call");
> > } else if (src_ip==212.xx.35.xx) {
> > # our gateway doesn't support digest authentication;
> > # verify that a request is coming from it by source
> > # address
> > log("gateway-originated request");
> > } else {
> > # in all other cases, we need to check the request
against
> > # access control lists; first of all, verify request
> > # originator's identity
> >
> > if (!proxy_authorize( "gateway" /* realm */,
> > "subscriber" /* table name */)) {
> > proxy_challenge( "gateway" /* realm */, "0" /* no
> >qop */ );
> > return;
> > };
> >
> > # authorize only for INVITEs -- RR/Contact may result in
> >weird
> > # things showing up in d-uri that would break our logic;
our
> > # major concern is INVITE which causes PSTN costs
> >
> > if (method=="INVITE") {
> >
> > # does the authenticated user have a permission
for
> >local
> > # calls (destinations beginning with a single
zero)?
> > # (i.e., is he in the "local" group?)
> > if (uri=~"sip:0[1-9][0-9]+ at .*") {
> > if (!is_user_in("credentials", "local"))
{
> > sl_send_reply("403", "No
permission
> >for local calls");
> > return;
> > };
> > # the same for long-distance (destinations begin
> >with two zeros")
> > } else if (uri=~"sip:00[1-9][0-9]+ at .*") {
> > if (!is_user_in("credentials", "ld")) {
> > sl_send_reply("403", " no
permission
> >for LD ");
> > return;
> > };
> > # the same for international
calls
> >(three zeros)
> > } else if (uri=~"sip:000[1-9][0-9]+ at .*") {
> > if (!is_user_in("credentials", "int")) {
> > sl_send_reply("403",
"International
> >permissions needed");
> > return;
> > };
> > # everything else (e.g., interplanetary calls) is
> >denied
> > } else {
> > sl_send_reply("403", "Forbidden");
> > return;
> > };
> >
> > }; # INVITE to authorized PSTN
> >
> > }; # authorized PSTN
> >
> > # if you have passed through all the checks, let your call go to
GW!
> >
> > rewritehostport("212.xx.35.xx:5060");
> >
> > # forward the request now
> > if (!t_relay()) {
> > sl_reply_error();
> > return;
> > };
> >
> >}
> >
> >----- Original Message -----
> >From: "Norman Brandinger" <norm at goes.com>
> >To: "Lokesh Kumar" <lokesh at interacesso.pt>
> >Cc: <serusers at lists.iptel.org>; <users at openser.org>
> >Sent: Tuesday, November 29, 2005 8:12 PM
> >Subject: Re: [Users] Can anyone share his openser.cfg..in which openser
is
> >routing calls to pstn gateway
> >
> >
> >
> >
> >>Please post a summary of the error messages that you are receiving.
> >>
> >>Lokesh Kumar wrote:
> >>
> >>
> >>>Hello,
> >>>
> >>>I am trying to configure pstn gateway with openser.when i start
> >>>openser with default openser file it works fine, but i one direction.
> >>>i can dial on my SIP user agent from outside. but when i am using
> >>>pstn.cfg file as a openser.cfg(after rename). I am unable to even
> >>>start openser server. it gives me errors and crashed.I puts my pstn
> >>>gateway ip's in that file where requested.
> >>>
> >>>Please please help
> >>>
> >>>Regards
> >>>
>
>>>------------------------------------------------------------------------
> >>>
> >>>_______________________________________________
> >>>Users mailing list
> >>>Users at openser.org
> >>>http://openser.org/cgi-bin/mailman/listinfo/users
> >>>
> >>>
> >>>
> >
> >
> >_______________________________________________
> >Users mailing list
> >Users at openser.org
> >http://openser.org/cgi-bin/mailman/listinfo/users
> >
> >.
> >
> >
> >
More information about the sr-users
mailing list