[OpenSIPS-Users] FW: Audio and Video not working for different otuside netrwork

Rajesh Babu rajesh.babu at goodcoresoft.com
Thu Sep 26 06:09:51 CEST 2013


 

Hi,

 

   I am new to the OpenSIP world. I have installed a OpenSIP on my network.
If i make a Call inside the network between two users i don't have any
issue, where as from outside the network, even though i can see the user
registered in my server i am not able to call registered user (I see the
user in my UL show listing). The call is established but i am not able to
talk (Mean the audio and video are not getting transffered).

 

Where as messages are going fine without any issue. I guess it is because
message transmit over XMPP where calls on SIP right.

 

Please  find my cfg file below and please advise me what is the
configuration i am missing over my OpenSIP implementation.

 

I am really struck and i don't know how to proceed, please help me out

 

 

 

 

#

# $Id: opensips.cfg 9742 2013-02-05 10:24:48Z vladut-paiu $

#

# OpenSIPS residential configuration script

#     by OpenSIPS Solutions <team at opensips-solutions.com>

#

# This script was generated via "make menuconfig", from

#   the "Residential" scenario.

# You can enable / disable more features / functionalities by

#   re-generating the scenario with different options.#

#

# Please refer to the Core CookBook at:

#      http://www.opensips.org/Resources/DocsCookbooks

# for a explanation of possible statements, functions and parameters.

#

 

 

####### Global Parameters #########

 

debug=3

log_stderror=no

log_facility=LOG_LOCAL0

 

fork=yes

children=4

 

/* uncomment the following lines to enable debugging */

#debug=6

#fork=no

#log_stderror=yes

 

/* uncomment the next line to enable the auto temporary blacklisting of 

   not available destinations (default disabled) */

#disable_dns_blacklist=no

 

/* uncomment the next line to enable IPv6 lookup after IPv4 dns 

   lookup failures (default disabled) */

#dns_try_ipv6=yes

 

/* comment the next line to enable the auto discovery of local aliases

   based on revers DNS on IPs */

auto_aliases=no

 

 

listen=udp:10.10.10.123:5060   # CUSTOMIZE ME

 

 

disable_tcp=no

 

disable_tls=yes

 

 

####### Modules Section ########

 

#set module path

mpath="/usr/local/server/pbx//lib64/opensips/modules/"

 

#### SIGNALING module

loadmodule "signaling.so"

 

#### StateLess module

loadmodule "sl.so"

 

#### Transaction Module

loadmodule "tm.so"

modparam("tm", "fr_timer", 5)

modparam("tm", "fr_inv_timer", 30)

modparam("tm", "restart_fr_on_each_reply", 0)

modparam("tm", "onreply_avp_mode", 1)

 

#### Record Route Module

loadmodule "rr.so"

/* do not append from tag to the RR (no need for this script) */

modparam("rr", "append_fromtag", 0)

 

#### MAX ForWarD module

loadmodule "maxfwd.so"

 

#### SIP MSG OPerationS module

loadmodule "sipmsgops.so"

 

#### FIFO Management Interface

loadmodule "mi_fifo.so"

modparam("mi_fifo", "fifo_name", "/tmp/opensips_fifo")

modparam("mi_fifo", "fifo_mode", 0666)

 

#### URI module

loadmodule "uri.so"

modparam("uri", "use_uri_table", 0)

 

#### USeR LOCation module

loadmodule "usrloc.so"

modparam("usrloc", "nat_bflag", "NAT")

modparam("usrloc", "db_mode",   0)

 

#### REGISTRAR module

loadmodule "registrar.so"

modparam("registrar", "tcp_persistent_flag", "TCP_PERSISTENT")

 

/* uncomment the next line not to allow more than 10 contacts per AOR */

#modparam("registrar", "max_contacts", 10)

 

#### ACCounting module

loadmodule "acc.so"

/* what special events should be accounted ? */

modparam("acc", "early_media", 0)

modparam("acc", "report_cancels", 0)

/* by default we do not adjust the direct of the sequential requests.

   if you enable this parameter, be sure the enable "append_fromtag"

   in "rr" module */

modparam("acc", "detect_direction", 0)

modparam("acc", "failed_transaction_flag", "ACC_FAILED")

/* account triggers (flags) */

modparam("acc", "log_flag", "ACC_DO")

modparam("acc", "log_missed_flag", "ACC_MISSED")

 

#### MySQL module

loadmodule "db_mysql.so"

 

#### AUTH module

loadmodule "auth.so"

/*modparam("usrloc", "db_mode", 0); #THIS LINE MUST TO BE COMMENTED

*/

modparam("usrloc", "db_mode", 2)

modparam("usrloc", "db_url",
"mysql://opensips:opensipsrw@localhost/opensips")

 

#### AUTHDB module

loadmodule "auth_db.so"

/* uncomment the following lines if you want to enable the DB based
authentication */

modparam("auth_db", "calculate_ha1", yes)

modparam("auth_db", "password_column", "password")

modparam("auth_db", "db_url",
"mysql://opensips:opensipsrw@localhost/opensips")

 

 

 

####### Routing Logic ########

 

# main request routing logic

 

route{

       if (!mf_process_maxfwd_header("10")) {

              sl_send_reply("483","Too Many Hops");

              exit;

       }

 

       if (has_totag()) {

              # sequential request withing a dialog should

              # take the path determined by record-routing

              if (loose_route()) {

                     if (is_method("BYE")) {

                            setflag(ACC_DO); # do accounting ...

                            setflag(ACC_FAILED); # ... even if the
transaction fails

                     } else if (is_method("INVITE")) {

                            # even if in most of the cases is useless, do RR
for

                            # re-INVITEs alos, as some buggy clients do
change route set

                            # during the dialog.

                            record_route();

                     }

 

                     # route it out to whatever destination was set by
loose_route()

                     # in $du (destination URI).

                     route(relay);

              } else {

                     if ( is_method("ACK") ) {

                            if ( t_check_trans() ) {

                                   # non loose-route, but stateful ACK; must
be an ACK after 

                                   # a 487 or e.g. 404 from upstream server

                                   t_relay();

                                   exit;

                            } else {

                                   # ACK without matching transaction ->

                                   # ignore and discard

                                   exit;

                            }

                     }

                     sl_send_reply("404","Not here");

              }

              exit;

       }

 

       # CANCEL processing

       if (is_method("CANCEL"))

       {

              if (t_check_trans())

                     t_relay();

              exit;

       }

 

       t_check_trans();

 

       if ( !(is_method("REGISTER")  ) ) {

              if (from_uri==myself)

              {

              } else {

                     # if caller is not local, then called number must be
local

                     if (!uri==myself) {

                            send_reply("403","Rely forbidden");

                            exit;

                     }

              }

       }

 

       # preloaded route checking

       if (loose_route()) {

              xlog("L_ERR",

              "Attempt to route with preloaded Route's [$fu/$tu/$ru/$ci]");

              if (!is_method("ACK"))

                     sl_send_reply("403","Preload Route denied");

              exit;

       }

 

       # record routing

       if (!is_method("REGISTER|MESSAGE"))

              record_route();

 

       # account only INVITEs

       if (is_method("INVITE")) {

              setflag(ACC_DO); # do accounting

       }

 

       

       if (!uri==myself) {

              append_hf("P-hint: outbound\r\n"); 

              route(relay);

       }

 

       # requests for my domain

       if (is_method("PUBLISH|SUBSCRIBE"))

       {

              sl_send_reply("503", "Service Unavailable");

              exit;

       }

 

       if (is_method("REGISTER"))

       {

              if (   0 ) setflag(TCP_PERSISTENT);

 

              if (!save("location"))

                     sl_reply_error();

 

              exit;

       }

 

       if ($rU==NULL) {

              # request with no Username in RURI

              sl_send_reply("484","Address Incomplete");

              exit;

       }

 

       # do lookup with method filtering

       if (!lookup("location","m")) {

              t_newtran();

              t_reply("404", "Not Found");

              exit;

       } 

 

       # when routing via usrloc, log the missed calls also

       setflag(ACC_MISSED);

       route(relay);

}

 

 

route[relay] {

       # for INVITEs enable some additional helper routes

       if (is_method("INVITE")) {

              t_on_branch("per_branch_ops");

              t_on_reply("handle_nat");

              t_on_failure("missed_call");

       }

 

       if (!t_relay()) {

              send_reply("500","Internal Error");

       };

       exit;

}

 

 

branch_route[per_branch_ops] {

       xlog("new branch at $ru\n");

}

 

 

onreply_route[handle_nat] {

       

       xlog("incoming reply\n");

}

 

 

failure_route[missed_call] {

       if (t_was_cancelled()) {

              exit;

       }

 

       # uncomment the following lines if you want to block client 

       # redirect based on 3xx replies.

       ##if (t_check_status("3[0-9][0-9]")) {

       ##t_reply("404","Not found");

       ##     exit;

       ##}

 

}

 

 

 

 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20130926/cb623a38/attachment-0001.htm>


More information about the Users mailing list