Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ####### Global Parameters #########
- log_level=3
- log_stderror=no
- log_facility=LOG_LOCAL1
- children=4
- #### LISTEN TO FOLLOWOING IP:PORT
- listen=udp:192.168.1.97:5060
- listen=tls:192.168.1.97:5061
- listen=ws:192.168.1.97:8081
- listen=wss:192.168.1.97:8082
- ##### MODULE SECTION #####
- #set module path
- #mpath="/usr/local/lib64/opensips/modules/"
- mpath="/usr/loc/lib64/opensips/modules/"
- ################# LOADED MODULES #######################
- loadmodule "textops.so"
- loadmodule "db_mysql.so"
- loadmodule "signaling.so"
- loadmodule "sl.so"
- loadmodule "tm.so"
- loadmodule "rr.so"
- loadmodule "maxfwd.so"
- loadmodule "sipmsgops.so"
- loadmodule "mi_fifo.so"
- loadmodule "uri.so"
- loadmodule "usrloc.so"
- loadmodule "registrar.so"
- loadmodule "mid_registrar.so"
- loadmodule "auth_db.so"
- loadmodule "auth.so"
- loadmodule "freeswitch.so"
- loadmodule "domain.so"
- loadmodule "dispatcher.so"
- loadmodule "avpops.so"
- loadmodule "nathelper.so"
- loadmodule "proto_udp.so"
- loadmodule "proto_ws.so"
- loadmodule "proto_wss.so"
- loadmodule "proto_tls.so"
- loadmodule "tls_mgm.so"
- ################# LOADED MODULE'S PARAMS #######################
- #### Transaction Module
- modparam("tm", "fr_timeout", 15)
- modparam("tm", "fr_inv_timeout", 60)
- modparam("tm", "restart_fr_on_each_reply", 0)
- modparam("tm", "onreply_avp_mode", 1)
- ### Record Route Module
- /* do not append from tag to the RR (no need for this script) */
- modparam("rr", "enable_double_rr", 1)
- modparam("rr", "append_fromtag", 1)
- #### FIFO Management Interface
- modparam("mi_fifo", "fifo_name", "/tmp/opensips_fifo")
- modparam("mi_fifo", "fifo_mode", 0666)
- modparam("mi_fifo", "fifo_group", 0)
- modparam("mi_fifo", "fifo_group", "root")
- modparam("mi_fifo", "fifo_user", 0)
- modparam("mi_fifo", "fifo_user", "root")
- #### URI module
- modparam("uri", "use_uri_table", 0)
- #### USeR LOCation module
- modparam("usrloc", "db_mode",0)
- #modparam("usrloc", "db_url","mysql://root:hpC1kk6K@localhost/opensips")
- #modparam("usrloc", "use_domain", 1)
- modparam("usrloc", "nat_bflag", "FLB_NATB")
- #### REGISTRAR module
- modparam("registrar", "max_contacts", 1)
- #### NATHELPER module
- modparam("nathelper|registrar", "received_avp", "$avp(rcv)")
- ##### AUTH_DB module
- modparam("auth_db", "db_url","mysql://root:hpC1kk6K@localhost/opensips")
- ##### mid_registrar module
- modparam("mid_registrar", "mode", 1) /* 0 = mirror / 1 = ct / 2 = AoR */
- modparam("mid_registrar", "outgoing_expires", 7200)
- modparam("mid_registrar", "insertion_mode", 0) /* 0 = contact; 1 = path */
- modparam("mid_registrar", "received_avp", "$avp(rcv)")
- modparam("mid_registrar", "contact_match_param", "regid")
- ##### DOMAIN module
- modparam("domain", "db_url","mysql://root:hpC1kk6K@localhost/opensips")
- modparam("domain", "db_mode", 1) # Use caching
- ##### DISPTACHER module
- modparam("dispatcher", "db_url","mysql://root:hpC1kk6K@localhost/opensips")
- modparam("dispatcher", "fetch_freeswitch_stats", 1)
- ##### AVPOPS module
- #modparam("avpops", "db_url","mysql://root:hpC1kk6K@localhost/opensips")
- modparam("avpops", "db_url","mysql://root:hpC1kk6K@localhost/inmate_services")
- ##### TLS MGM module
- modparam("tls_mgm", "certificate","/home/ssl.ca-0.1/192.168.1.97.crt")
- modparam("tls_mgm", "private_key","/home/ssl.ca-0.1/192.168.1.97.key")
- ###### MAIN ROUTE #####
- route{
- if(is_method("OPTIONS|SUBSCRIBE|PUBLISH")){
- send_reply("403","Forbidden");
- exit;
- }
- force_rport();
- xlog("L_INFO","WELCOME.\n");
- xlog("L_INFO","RECEIVED REQ.:::[$rm],[$ru],[$si]\n");
- record_route();
- # if (loose_route()) {
- # if(is_method("BYE")) {
- # xlog("L_INFO","BYE $dd $od $rd\n");
- # if($rd == "192.168.1.101"){
- # $ru="sip:"+$rU+"@192.168.1.111:"+$rp;
- # }
- #rtpengine_delete("rcie");
- # route(PROCESS_RTP_PROXY);
- # rtpengine_delete();
- # route(RELAY_ROUTE);
- # }
- #
- # exit;
- # }
- if(is_method("REGISTER")){
- route("PROCESS_REGISTER");
- }else if(is_method("INVITE")){
- route("PROCESS_INVITE");
- }else if(is_method("CANCEL")){
- route("RELAY_ROUTE");
- }else if(is_method("ACK")){
- route("PROCESS_ACK");
- }else if(is_method("BYE")){
- route("NATHANDLE");
- route("RELAY_ROUTE");
- }else if(is_method("NOTIFY")){
- sl_send_reply("200","OK");
- }else{
- sl_send_reply("501","Method Not Implemented.");
- }
- exit;
- }
- ##### NAT DETECT AND HANDLE #####
- route[NATDETECT]
- {
- xlog("L_INFO","[1]_NATDETECT_");
- if(nat_uac_test("19")){
- if(is_method("REGISTER")){
- fix_nated_register();
- setbflag(NAT_FLAG);
- }
- }
- return;
- }
- route[NATHANDLE]
- {
- xlog("L_INFO","_NATHANDLE_");
- if(nat_uac_test("19")){
- fix_nated_contact();
- setbflag(NAT_FLAG);
- }
- return;
- }
- ##### HANDLE REGISTER REQUEST #####
- route[PROCESS_REGISTER]
- {
- xlog("L_INFO","_HANDLE_REGISTER_\n");
- route("NATDETECT");
- # authenticate the REGISTER requests
- mid_registrar_save("location");
- switch($retcode){
- case 1:
- xlog("L_INFO","REGISTER :: $retcode\n");
- # ds_select_dst("1", "4");
- $ru="sip:" + $tU + "@192.168.1.90";
- t_relay();
- break;
- case 2:
- xlog("L_INFO","MID REGISTRAR ABSORBED CONTACT\n");
- break;
- default:
- xlog("L_ERR", "mid-registrar error!\n");
- send_reply("500", "Server Internal Error 2");
- }
- exit;
- }
- ##### HANDLE INVITE REQUEST ######
- route[PROCESS_INVITE]
- {
- route("NATHANDLE");
- if(is_from_local()){
- xlog("L_INFO","$ci $rm:call from freeswitch\n");
- if (!mid_registrar_lookup("location")) {
- t_reply("404", "Not Found");
- exit;
- }
- }else {
- xlog("L_INFO","$ci $rm:call from useragent\n");
- xlog("L_INFO","===== CALL DETAIL ===== $fU $tU $rU\n");
- # ds_select_dst("1", "0");
- $ru="sip:" + $tU + "@192.168.1.90";
- }
- t_on_branch("per_branch_ops");
- t_on_reply("handle_nat");
- t_on_failure("missed_call");
- route("RELAY_ROUTE");
- exit;
- }
- ##### HANDLE ACK REQUEST #####
- route[PROCESS_ACK]
- {
- xlog("L_INFO","ACK HANDLING\n");
- route("NATHANDLE");
- t_relay();
- }
- ##### RELAY ROUTE #####
- route[RELAY_ROUTE]
- {
- xlog("L_INFO","RELAY_ROUTE::[$ru] [$du]\n");
- if(!t_relay()){
- send_reply("500","Internal Error");
- }
- }
- branch_route[per_branch_ops] {
- xlog("new branch at $ru\n");
- }
- onreply_route[handle_nat] {
- xlog("incoming reply:[$rs]\n");
- if(isbflagset(NAT_FLAG)){
- xlog("NAT_HANDELED\n");
- search_append('Contact:.*sip:[^>[:cntrl:]]*', ';nat=yes');
- fix_nated_contact();
- }
- }
- failure_route[missed_call] {
- if (t_was_cancelled()) {
- exit;
- }
- }
Add Comment
Please, Sign In to add comment