[sr-dev] Outbound flow failure handling merged to master

Hugh Waite hugh.waite at crocodile-rcs.com
Fri Apr 5 11:40:33 CEST 2013


Hello,
As you will see I have merged my branch back into master.

These changes add a new event route [tm:branch-failure] to the tm module 
which is run when any failure response is received on a transaction.
The event_route uses a new route type BRANCH_ROUTE which limits the 
functions that can be run in the route.
The functions t_check_status(), t_next_contact_flow(), t_relay() and 
unregister() can be used in this route.
A new pv $T_reply_ruid is accessible in this route which can be used to 
unregister a single contact entry.

The following example route can be used on a registrar to handle failed 
or invalid flows:
event_route[tm:branch-failure] {
         xlog("L_INFO", "event_route[tm:branch-failure]\n");
         if (t_check_status("430|403")) {
                 if (!unregister("location", "$tu", "$T_reply_ruid"))
                 {
                         xlog("L_WARN", "failed to unregister $tu with 
ruid $T_reply_ruid\n");
                 }
                 if (!t_next_contact_flow())
                 {
                         xlog("L_INFO", "No more flows\n");
                 }
                 else
                 {
                         xlog("L_INFO", "Next flow\n");
                         t_relay();
                 }
         }
}

Any bugs, memory leaks etc. let me know!

Hugh

-- 
Hugh Waite
Principal Design Engineer
Crocodile RCS Ltd.




More information about the sr-dev mailing list