<div dir="ltr">Hi all Kamailio developers,<div>I would like to propose a new module that I've written recently, the tsilo module where tsilo stands for "transaction silo" (thanks Daniel for suggesting the name). The module provides the ability to add branches to a transaction that has already been relayed and still hasn't got a final response. It achieves it by storing in an internal table a list of transactions per r-uri. </div><div><br></div><div>The scenarios for which this functionality has been originally though are those in which a user's device is usually not registered on kamailio but, in case of incoming invite, can be "waken up" (and so trigger its registration) by means of mechanisms other than SIP; typically scenarios involving APN, GCM or other push mechanisms.</div><div><br></div><div>The module exposes 3 functions to configuration script:</div><div><br></div><div>- t_store(): store the current transaction </div><div>- t_append(domain, ruri): append branches to all the transactions existing for "ruri" looking up new contacts in "domain" table</div><div>- t_append_to(tindex, tlabel, domain): append branches to transaction identified by tindex and tlabel looking up new contacts in "domain" table</div><div><br></div><div>The module depends on tm and registrar module on which some modifications have been done:</div><div><br></div><div>registrar: new api function update_to_dset to update the dset without rewriting the r-uri</div><div>tm: new api function t_append_branches and some modifications on t_fwd.* to implement it<br></div><div><br></div><div>I hope that this contribution could be useful for the community and I look forward to hearing your feedback, thoughts, suggestions.</div><div><br></div><div>Best regards,</div><div><br></div><div>Federico Cabiddu </div><div><br></div></div>