# # $Id$ # # this example shows usage of ser as user agent # server which does some functionality (in this # example, 'log' is used to print a notification # on a new transaction) and behaves statefuly # (e.g., it retransmits replies on request # retransmissions) # ----------- global configuration parameters ------------------------ debug=3 fork=no #children=2 log_stderror=yes # (cmd line: -E) check_via=yes # (cmd. line: -v) dns=0 # (cmd. line: -r) rev_dns=0 # (cmd. line: -R) port=5068 reply_to_via=no # advertise IP address in Via (as opposed to advertising DNS name # which is annoying for downstream servers and some phones can # not handle DNS at all) listen=195.37.77.100 # ------------------ module loading ---------------------------------- loadmodule "../sip_router/modules/sl/sl.so" loadmodule "../sip_router/modules/print/print.so" #loadmodule "../sip_router/modules/tm/tm.so" loadmodule "../sip_router/modules/usrloc/usrloc.so" # ----------------- setting module-specific parameters --------------- # -- usrloc params -- modparam("usrloc", "use_database", 0) modparam("usrloc", "flush_interval", 3600) # ------------------------- request routing logic ------------------- # main routing logic route{ # for testing purposes, simply okay all REGISTERs if (method=="REGISTER") { log("REGISTER"); sl_send_reply("200", "ok"); #t_replicate("localhost", "9"); break; }; # print a message if a call was missed if ( t_newtran()) { if (method=="ACK") { log("oops--ACK to a non-existent transaction"); drop; }; log("New Transaction Arrived\n"); # do what you want to do as a sever if (uri=~"a@") { if (!t_reply("409", "Bizzar Error")) { sl_reply_error(); }; } else if (uri=~"b@") { if (!t_reply("979", "You did not expect this did you")) { sl_reply_error(); }; } else { if (!t_reply("699", "I don't want to chat with you")) { sl_reply_error(); }; } ; } else { sl_reply_error(); }; }