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=~"(a)tls_domain1.net") {
# t_relay_to_tls("IP_domain1","port_domain1");
# exit;
#} else if(uri=~"(a)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(a)gigo.co.uk>
To: "Lokesh Kumar" <lokesh(a)interacesso.pt>
Cc: "Norman Brandinger" <norm(a)goes.com>om>; <serusers(a)iptel.org>rg>;
<users(a)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@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]+@.*") {
> 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]+@.*") {
> 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]+@.*") {
> 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]+@.*") {
> 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(a)goes.com>
>To: "Lokesh Kumar" <lokesh(a)interacesso.pt>
>Cc: <serusers(a)iptel.org>rg>; <users(a)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(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
>
>.
>
>
>