Merge kamailio modules into sip-router master branch
[sip-router] / examples / onr.cfg
1 #
2 # $Id$
3 #
4 # example script showing both types of forking;
5 # incoming message is forked in parallel to
6 # 'nobody' and 'parallel', if no positive reply
7 # appears with final_response timer, nonsense
8 # is retried (serial forking); than, destination
9 # 'foo' is given last chance
10
11 # ------------------ module loading ----------------------------------
12
13 loadmodule "modules/sl/sl.so"
14 loadmodule "modules/tm/tm.so"
15
16 # ----------------- setting module-specific parameters ---------------
17
18 # -- tm params --
19 # set time for which ser will be waiting for a final response;
20 # fr_inv_timer sets value for INVITE transactions, fr_timer
21 # for all others
22 modparam("tm", "fr_inv_timer", 15 )
23 modparam("tm", "fr_timer", 10 )
24
25 # -------------------------  request routing logic -------------------
26
27 # main routing logic
28
29 route{
30         # for testing purposes, simply okay all REGISTERs
31         if (method=="REGISTER") {
32                 log("REGISTER");
33                 sl_send_reply("200", "ok");
34                 break;
35         };
36         # try these two destinations first in parallel; the second
37         # destination is targeted to sink port -- that will make ser
38         # wait until timer hits
39         seturi("sip:nobody@iptel.org");
40         append_branch("sip:parallel@iptel.org:9");
41         # if we do not get a positive reply, continue at reply_route[1]
42         t_on_failure("1");
43         # forward the request to all destinations in destination set now 
44         t_relay();
45 }
46
47 failure_route[1] {
48         # forwarding failed -- try again at another destination 
49         append_branch("sip:nonsense@iptel.org");
50         log(1,"first redirection\n");
51         # if this alternative destination fails too, proceed to reply_route[2] 
52         t_on_failure("2");
53         t_relay();
54 }
55
56 failure_route[2] {
57         # try out the last resort destination
58         append_branch("sip:foo@iptel.org");
59         log(1, "second redirection\n");
60         # we no more call t_on_negative here; if this destination
61         # fails too, transaction will complete
62         t_relay();
63 }