[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 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 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 Users mailing list