# # iptel.org real world configuration # # $Id$ # # ----------- global configuration parameters ------------ debug=4 # debug level (cmd line: -dddddddddd) #fork=yes fork=no #log_stderror=no # (cmd line: -E) log_stderror=yes # (cmd line: -E) check_via=yes # (cmd. line: -v) dns=on # (cmd. line: -r) rev_dns=yes # (cmd. line: -R) port=5060 children=1 # 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/print/print.so" #loadmodule "../sip_router/modules/tm/tm.so" loadmodule "../sip_router/modules/sl/sl.so" loadmodule "../sip_router/modules/maxfwd/maxfwd.so" # ----------------- setting module-specific parameters ------- # -- tm params -- modparam("tm", "fr_timer", 10 ) modparam("tm", "fr_inv_timer", 10 ) modparam("tm", "wt_timer", 10 ) route{ # filter local stateless ACK generated by authentication of mf replies sl_filter_ACK(); if (len_gt( max_len )) { # if (len_gt( 100 )) { sl_send_reply("513", "Riesengross -- Message too large"); log("XXX Riessengross: dropped\n"); break; }; # filter too old messages # log("LOG: Checking maxfwd\n"); # if (!mf_process_maxfwd_header("0")) { # log("LOG: Too many hops\n"); # sl_send_reply("483","Too Many Hops"); # break; # }; # UAS script implementation # if that is not a new transaction... (t_newtran is a new # function which atomicaly adds a transaction if there is # none) if (! t_newtran()) { # retransmit whatever we have t_retransmit_reply(); } else { # do what you want to do # if (send_sms()) { # this is just a thing which stands for sth real if (len_gt( max_len )) { # things went well, send ok upstream if (!t_send_reply("200", "yes sir, SMS sent over")) { # if replying failed, retry statelessly sl_reply_error(); }; } else { if (!t_send_reply("500", "SMS error :-(")) { # if replying failed, retry statelessly sl_reply_error(); }; }; # transaction conclude it -- junk it now (it will # stay there until WAIT timer hits) t_release(); }; t_unref(); }