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.


_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to