register.cfg 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #
  2. # $Id$
  3. #
  4. #
  5. # ----------- global configuration parameters ------------------------
  6. debug=9 # debug level (cmd line: -dddddddddd)
  7. fork=no
  8. children=2
  9. #log_stderror=no # (cmd line: -E)
  10. log_stderror=yes # (cmd line: -E)
  11. check_via=yes # (cmd. line: -v)
  12. dns=on # (cmd. line: -r)
  13. rev_dns=yes # (cmd. line: -R)
  14. #port=5070
  15. listen=193.175.132.164 #hope
  16. #listen=193.175.135.190 #oxany
  17. # ------------------ module loading ----------------------------------
  18. loadmodule "modules/sl/sl.so"
  19. loadmodule "modules/print/print.so"
  20. loadmodule "modules/maxfwd/maxfwd.so"
  21. loadmodule "modules/usrloc/usrloc.so"
  22. loadmodule "modules/rr/rr.so"
  23. # ----------------- setting module-specific parameters ---------------
  24. # -- usrloc params --
  25. modparam("usrloc", "use_database", 0)
  26. # ------------------------- request routing logic -------------------
  27. # main routing logic
  28. route{
  29. # filter local stateless ACK generated by authentication of mf replies
  30. sl_filter_ACK();
  31. # filter too old messages
  32. log("LOG: Checking maxfwd\n");
  33. if (!mf_process_maxfwd_header("10")) {
  34. log("LOG: Too many hops\n");
  35. sl_send_reply("483","Too Many Hops");
  36. break;
  37. };
  38. # Do strict routing if route headers present
  39. rewriteFromRoute();
  40. # sign of our domain: there is @ (username), :
  41. # (nothing) or . (host) in front of our domain name
  42. if (!(uri=~"[@:\.]hope\.fokus\.gmd\.de([;:].*)*")) {
  43. route(2);
  44. # break from route (2) return -- stop then !
  45. break;
  46. };
  47. # here we continue with requests for our domain...
  48. if (method=="REGISTER") {
  49. log("LOG Request is REGISTER\n");
  50. # update Contact database
  51. log("LOG: REGISTER -> saving location\n");
  52. save_contact("location");
  53. break;
  54. };
  55. if (method=="MESSAGE") {
  56. addRecordRoute();
  57. if (uri=~"sip:[0-9]+@") {
  58. rewritehostport("fesarius.fokus.gmd.de:5070");
  59. forward(uri:host,uri:port);
  60. break;
  61. };
  62. };
  63. # native SIP destinations are handled using our USRLOC DB
  64. if (!lookup_contact("location")) {
  65. if (method=="ACK") {
  66. log("Ooops -- an ACK made it here -- probably UAC screwed up to-tags\n");
  67. break;
  68. };
  69. log("LOG: Unable to lookup contact, sending 404\n");
  70. sl_send_reply("404", "Not Found");
  71. break;
  72. };
  73. forward(uri:host,uri:port);
  74. }
  75. # routing logic for outbound requests targeted out of our domain
  76. route[2] {
  77. forward(uri:host,uri:port);
  78. }