msilo.cfg 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. #
  2. # MSILO usage example
  3. #
  4. # $ID: daniel $
  5. #
  6. children=2
  7. check_via=no # (cmd. line: -v)
  8. dns=off # (cmd. line: -r)
  9. rev_dns=off # (cmd. line: -R)
  10. # ------------------ module loading ----------------------------------
  11. loadmodule "../sip_router/modules/print/print.so"
  12. loadmodule "../sip_router/modules/textops/textops.so"
  13. loadmodule "../sip_router/modules/sl/sl.so"
  14. loadmodule "../sip_router/modules/mysql/mysql.so"
  15. loadmodule "../sip_router/modules/maxfwd/maxfwd.so"
  16. loadmodule "../sip_router/modules/msilo/msilo.so"
  17. loadmodule "../sip_router/modules/tm/tm.so"
  18. loadmodule "../sip_router/modules/registrar/registrar.so"
  19. loadmodule "../sip_router/modules/usrloc/usrloc.so"
  20. # ----------------- setting module-specific parameters ---------------
  21. # -- registrar params --
  22. modparam("registrar", "default_expires", 120)
  23. # -- registrar params --
  24. modparam("usrloc", "db_mode", 0)
  25. # -- msilo params --
  26. modparam("msilo","db_url","mysql://user:[email protected]/msilo")
  27. modparam("msilo","registrar","sip:[email protected]")
  28. # -- tm params --
  29. modparam("tm", "fr_timer", 10 )
  30. modparam("tm", "fr_inv_timer", 15 )
  31. modparam("tm", "wt_timer", 10 )
  32. route{
  33. if ( !mf_process_maxfwd_header("10") )
  34. {
  35. sl_send_reply("483","To Many Hops");
  36. drop();
  37. };
  38. if (uri==myself) {
  39. # for testing purposes, simply okay all REGISTERs
  40. if (method=="REGISTER")
  41. {
  42. save("location");
  43. log("REGISTER received -> dumping messages with MSILO\n");
  44. # MSILO - dumping user's offline messages
  45. if (m_dump())
  46. {
  47. log("MSILO: offline messages dumped - if they were\n");
  48. }else{
  49. log("MSILO: no offline messages dumped\n");
  50. };
  51. break;
  52. };
  53. # domestic SIP destinations are handled using our USRLOC DB
  54. if(!lookup("location"))
  55. {
  56. if (! t_newtran())
  57. {
  58. sl_reply_error();
  59. break;
  60. };
  61. # we do not care about anything else but MESSAGEs
  62. if (!method=="MESSAGE")
  63. {
  64. if (!t_reply("404", "Not found"))
  65. {
  66. sl_reply_error();
  67. };
  68. break;
  69. };
  70. log("MESSAGE received -> storing using MSILO\n");
  71. # MSILO - storing as offline message
  72. if (m_store("0"))
  73. {
  74. log("MSILO: offline message stored\n");
  75. if (!t_reply("202", "Accepted"))
  76. {
  77. sl_reply_error();
  78. };
  79. }else{
  80. log("MSILO: offline message NOT stored\n");
  81. if (!t_reply("503", "Service Unavailable"))
  82. {
  83. sl_reply_error();
  84. };
  85. };
  86. break;
  87. };
  88. # if the downstream UA does not support MESSAGE requests
  89. # go to failure_route[1]
  90. t_on_failure("1");
  91. t_relay();
  92. break;
  93. };
  94. # forward anything else
  95. t_relay();
  96. }
  97. failure_route[1] {
  98. # forwarding failed -- check if the request was a MESSAGE
  99. if (!method=="MESSAGE")
  100. {
  101. break;
  102. };
  103. log(1,"MSILO: the downstream UA does not support MESSAGE requests ...\n");
  104. # we have changed the R-URI with the contact address -- ignore it now
  105. if (m_store("1"))
  106. {
  107. log("MSILO: offline message stored\n");
  108. t_reply("202", "Accepted");
  109. }else{
  110. log("MSILO: offline message NOT stored\n");
  111. t_reply("503", "Service Unavailable");
  112. };
  113. }