log_level = 2 xlog_level = -2 log_stderror = yes log_facility = LOG_LOCAL0 abort_on_assert = yes memdump = 2 udp_workers = 4 auto_aliases = no socket = udp:10.0.0.10:5060 alias = udp:sipdomain.invalid:5060 ####### Modules Section ######## mpath = "modules/" loadmodule "signaling.so" loadmodule "sipmsgops.so" loadmodule "sl.so" loadmodule "tm.so" modparam("tm", "fr_timeout", 5) modparam("tm", "fr_inv_timeout", 10) modparam("tm", "restart_fr_on_each_reply", 0) modparam("tm", "onreply_avp_mode", 1) loadmodule "rr.so" modparam("rr", "append_fromtag", 1) loadmodule "mi_fifo.so" modparam("mi_fifo", "fifo_mode", 0666) loadmodule "httpd.so" loadmodule "mi_http.so" loadmodule "proto_udp.so" loadmodule "dialog.so" route { if (has_totag()) { # handle hop-by-hop ACK (no routing required) if ( is_method("ACK") && t_check_trans() ) { t_relay(); exit; } # sequential request within a dialog should # take the path determined by record-routing if ( !loose_route() ) { # we do record-routing for all our traffic, so we should not # receive any sequential requests without Route hdr. send_reply(404, "Not Found"); exit; } # route it out to whatever destination was set by loose_route() # in $du (destination URI). t_relay(); exit; } t_newtran(); record_route(); create_dialog(); if (!t_relay()) { xlog("L_ERR","sl_reply_error\n"); sl_reply_error(); } exit; }