Guest User

opensips.cfg

a guest
Jan 5th, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.67 KB | None | 0 0
  1. ####### Global Parameters #########
  2.  
  3. log_level=3
  4. log_stderror=no
  5. log_facility=LOG_LOCAL1
  6. children=4
  7.  
  8. #### LISTEN TO FOLLOWOING IP:PORT
  9. listen=udp:192.168.1.97:5060
  10. listen=tls:192.168.1.97:5061
  11. listen=ws:192.168.1.97:8081
  12. listen=wss:192.168.1.97:8082
  13.  
  14.  
  15. ##### MODULE SECTION #####
  16.  
  17. #set module path
  18. #mpath="/usr/local/lib64/opensips/modules/"
  19. mpath="/usr/loc/lib64/opensips/modules/"
  20.  
  21.  
  22. ################# LOADED MODULES #######################
  23.  
  24. loadmodule "textops.so"
  25. loadmodule "db_mysql.so"
  26. loadmodule "signaling.so"
  27. loadmodule "sl.so"
  28. loadmodule "tm.so"
  29. loadmodule "rr.so"
  30. loadmodule "maxfwd.so"
  31. loadmodule "sipmsgops.so"
  32. loadmodule "mi_fifo.so"
  33. loadmodule "uri.so"
  34. loadmodule "usrloc.so"
  35. loadmodule "registrar.so"
  36. loadmodule "mid_registrar.so"
  37. loadmodule "auth_db.so"
  38. loadmodule "auth.so"
  39. loadmodule "freeswitch.so"
  40. loadmodule "domain.so"
  41. loadmodule "dispatcher.so"
  42. loadmodule "avpops.so"
  43. loadmodule "nathelper.so"
  44. loadmodule "proto_udp.so"
  45. loadmodule "proto_ws.so"
  46. loadmodule "proto_wss.so"
  47. loadmodule "proto_tls.so"
  48. loadmodule "tls_mgm.so"
  49.  
  50.  
  51. ################# LOADED MODULE'S PARAMS #######################
  52.  
  53. #### Transaction Module
  54.  
  55. modparam("tm", "fr_timeout", 15)
  56. modparam("tm", "fr_inv_timeout", 60)
  57. modparam("tm", "restart_fr_on_each_reply", 0)
  58. modparam("tm", "onreply_avp_mode", 1)
  59.  
  60. ### Record Route Module
  61. /* do not append from tag to the RR (no need for this script) */
  62. modparam("rr", "enable_double_rr", 1)
  63. modparam("rr", "append_fromtag", 1)
  64.  
  65. #### FIFO Management Interface
  66. modparam("mi_fifo", "fifo_name", "/tmp/opensips_fifo")
  67. modparam("mi_fifo", "fifo_mode", 0666)
  68. modparam("mi_fifo", "fifo_group", 0)
  69. modparam("mi_fifo", "fifo_group", "root")
  70. modparam("mi_fifo", "fifo_user", 0)
  71. modparam("mi_fifo", "fifo_user", "root")
  72.  
  73.  
  74. #### URI module
  75. modparam("uri", "use_uri_table", 0)
  76.  
  77. #### USeR LOCation module
  78. modparam("usrloc", "db_mode",0)
  79. #modparam("usrloc", "db_url","mysql://root:hpC1kk6K@localhost/opensips")
  80. #modparam("usrloc", "use_domain", 1)
  81. modparam("usrloc", "nat_bflag", "FLB_NATB")
  82.  
  83.  
  84. #### REGISTRAR module
  85. modparam("registrar", "max_contacts", 1)
  86.  
  87. #### NATHELPER module
  88. modparam("nathelper|registrar", "received_avp", "$avp(rcv)")
  89.  
  90.  
  91. ##### AUTH_DB module
  92. modparam("auth_db", "db_url","mysql://root:hpC1kk6K@localhost/opensips")
  93.  
  94. ##### mid_registrar module
  95. modparam("mid_registrar", "mode", 1) /* 0 = mirror / 1 = ct / 2 = AoR */
  96. modparam("mid_registrar", "outgoing_expires", 7200)
  97. modparam("mid_registrar", "insertion_mode", 0) /* 0 = contact; 1 = path */
  98. modparam("mid_registrar", "received_avp", "$avp(rcv)")
  99. modparam("mid_registrar", "contact_match_param", "regid")
  100.  
  101. ##### DOMAIN module
  102. modparam("domain", "db_url","mysql://root:hpC1kk6K@localhost/opensips")
  103. modparam("domain", "db_mode", 1) # Use caching
  104.  
  105. ##### DISPTACHER module
  106. modparam("dispatcher", "db_url","mysql://root:hpC1kk6K@localhost/opensips")
  107. modparam("dispatcher", "fetch_freeswitch_stats", 1)
  108.  
  109. ##### AVPOPS module
  110. #modparam("avpops", "db_url","mysql://root:hpC1kk6K@localhost/opensips")
  111. modparam("avpops", "db_url","mysql://root:hpC1kk6K@localhost/inmate_services")
  112.  
  113.  
  114. ##### TLS MGM module
  115. modparam("tls_mgm", "certificate","/home/ssl.ca-0.1/192.168.1.97.crt")
  116. modparam("tls_mgm", "private_key","/home/ssl.ca-0.1/192.168.1.97.key")
  117.  
  118.  
  119. ###### MAIN ROUTE #####
  120. route{
  121. if(is_method("OPTIONS|SUBSCRIBE|PUBLISH")){
  122. send_reply("403","Forbidden");
  123. exit;
  124. }
  125. force_rport();
  126. xlog("L_INFO","WELCOME.\n");
  127. xlog("L_INFO","RECEIVED REQ.:::[$rm],[$ru],[$si]\n");
  128. record_route();
  129. # if (loose_route()) {
  130. # if(is_method("BYE")) {
  131. # xlog("L_INFO","BYE $dd $od $rd\n");
  132. # if($rd == "192.168.1.101"){
  133. # $ru="sip:"+$rU+"@192.168.1.111:"+$rp;
  134. # }
  135.  
  136. #rtpengine_delete("rcie");
  137. # route(PROCESS_RTP_PROXY);
  138. # rtpengine_delete();
  139. # route(RELAY_ROUTE);
  140. # }
  141. #
  142. # exit;
  143. # }
  144.  
  145. if(is_method("REGISTER")){
  146. route("PROCESS_REGISTER");
  147. }else if(is_method("INVITE")){
  148. route("PROCESS_INVITE");
  149. }else if(is_method("CANCEL")){
  150. route("RELAY_ROUTE");
  151. }else if(is_method("ACK")){
  152. route("PROCESS_ACK");
  153. }else if(is_method("BYE")){
  154. route("NATHANDLE");
  155. route("RELAY_ROUTE");
  156. }else if(is_method("NOTIFY")){
  157. sl_send_reply("200","OK");
  158. }else{
  159. sl_send_reply("501","Method Not Implemented.");
  160. }
  161. exit;
  162. }
  163.  
  164. ##### NAT DETECT AND HANDLE #####
  165.  
  166. route[NATDETECT]
  167. {
  168. xlog("L_INFO","[1]_NATDETECT_");
  169.  
  170. if(nat_uac_test("19")){
  171. if(is_method("REGISTER")){
  172. fix_nated_register();
  173. setbflag(NAT_FLAG);
  174. }
  175.  
  176. }
  177. return;
  178. }
  179.  
  180. route[NATHANDLE]
  181. {
  182. xlog("L_INFO","_NATHANDLE_");
  183. if(nat_uac_test("19")){
  184. fix_nated_contact();
  185. setbflag(NAT_FLAG);
  186. }
  187. return;
  188. }
  189.  
  190.  
  191. ##### HANDLE REGISTER REQUEST #####
  192.  
  193. route[PROCESS_REGISTER]
  194. {
  195. xlog("L_INFO","_HANDLE_REGISTER_\n");
  196. route("NATDETECT");
  197. # authenticate the REGISTER requests
  198.  
  199. mid_registrar_save("location");
  200. switch($retcode){
  201. case 1:
  202. xlog("L_INFO","REGISTER :: $retcode\n");
  203. # ds_select_dst("1", "4");
  204. $ru="sip:" + $tU + "@192.168.1.90";
  205. t_relay();
  206. break;
  207. case 2:
  208. xlog("L_INFO","MID REGISTRAR ABSORBED CONTACT\n");
  209. break;
  210. default:
  211. xlog("L_ERR", "mid-registrar error!\n");
  212. send_reply("500", "Server Internal Error 2");
  213. }
  214.  
  215. exit;
  216. }
  217.  
  218. ##### HANDLE INVITE REQUEST ######
  219.  
  220. route[PROCESS_INVITE]
  221. {
  222.  
  223. route("NATHANDLE");
  224. if(is_from_local()){
  225. xlog("L_INFO","$ci $rm:call from freeswitch\n");
  226. if (!mid_registrar_lookup("location")) {
  227. t_reply("404", "Not Found");
  228. exit;
  229. }
  230. }else {
  231. xlog("L_INFO","$ci $rm:call from useragent\n");
  232. xlog("L_INFO","===== CALL DETAIL ===== $fU $tU $rU\n");
  233. # ds_select_dst("1", "0");
  234. $ru="sip:" + $tU + "@192.168.1.90";
  235. }
  236.  
  237. t_on_branch("per_branch_ops");
  238. t_on_reply("handle_nat");
  239. t_on_failure("missed_call");
  240. route("RELAY_ROUTE");
  241. exit;
  242. }
  243.  
  244.  
  245. ##### HANDLE ACK REQUEST #####
  246.  
  247. route[PROCESS_ACK]
  248. {
  249. xlog("L_INFO","ACK HANDLING\n");
  250. route("NATHANDLE");
  251. t_relay();
  252. }
  253.  
  254. ##### RELAY ROUTE #####
  255.  
  256. route[RELAY_ROUTE]
  257. {
  258. xlog("L_INFO","RELAY_ROUTE::[$ru] [$du]\n");
  259. if(!t_relay()){
  260. send_reply("500","Internal Error");
  261. }
  262. }
  263.  
  264. branch_route[per_branch_ops] {
  265. xlog("new branch at $ru\n");
  266. }
  267.  
  268.  
  269. onreply_route[handle_nat] {
  270. xlog("incoming reply:[$rs]\n");
  271. if(isbflagset(NAT_FLAG)){
  272. xlog("NAT_HANDELED\n");
  273. search_append('Contact:.*sip:[^>[:cntrl:]]*', ';nat=yes');
  274. fix_nated_contact();
  275. }
  276. }
  277.  
  278.  
  279. failure_route[missed_call] {
  280. if (t_was_cancelled()) {
  281. exit;
  282. }
  283. }
Add Comment
Please, Sign In to add comment