[sr-dev] Outbound forking and flows

Hugh Waite hugh.waite at crocodile-rcs.com
Fri Mar 15 13:52:38 CET 2013


Hello,
I have been researching the work needed to implement forking of outbound 
flows based on the discussions by Peter, Olle and others on this list.
I suggest the following:

A new route type "branch_failure_route" which can be called on a failure 
response for every branch created.
Change t_next_contact_flows() so that it can only be called from the 
branch_failure route.
Modify t_next_contact_flows() so that it will search the xavp of 
alternative flows and select the next instance that matches the failed 
instance. This will create another branch.
t_relay() can be used in the branch_failure route to fork to the new branch.
There will be a few more functions that can be called in the 
branch_failure route, including unregister_contact().

If no new flows are available, the response is passed on to be handled 
by the failure route handler. If a new flow is available, and a branch 
created, the failure response must not be passed on. A response from the 
new branch, plus all other branches must be received before the failure 
route is called with the best response.

If the failure route is called, t_next_contacts() can be called to 
implement serial forking based on q-value, as before.

Any comments before I start work?

Hugh

-- 
Hugh Waite
Principal Design Engineer
Crocodile RCS Ltd.




More information about the sr-dev mailing list