Hi All,<br><br>Ok Dialog2 progressing nicely. We now have dialogs and their associated out dialogs (branches / forking) stored and managed within the dialog2 module. For the moment, we have excluded DB support but will add once we check in to git. One thing we need a little assistance with:<br>
<br>We have just finished the prototype for proxy initiated early dialog termination, but we are concerned with the way it has been done. Basically as mentioned in the wiki (<a href="http://www.kamailio.org/dokuwiki/doku.php/modules-new-design:dialog-module-design">http://www.kamailio.org/dokuwiki/doku.php/modules-new-design:dialog-module-design</a>), <br>
<ul><li class="level1"><div class="li"> It should be possible to terminate 
dialogs in the “early” state, i.e., sending out BYE/CANCEL requests in 
order to terminate all branches appropriately.</div>
<ul><li class="level2"><div class="li"> ibc: <acronym title="In my humble opinion">IMHO</acronym>
 it would be easier just to cancel the transaction as when fr_inv_timer 
expires, this is, by sending a CANCEL to all the pending branches and a 
408 to the UAC (perhaps in this case a 480 would be more appropriate). </div></li></ul></li></ul>The only way we could think of doing this was to send a fake reply via the TM module. We have therefore exposed the fake_reply function from the TM module and using that to terminate early dialogs. It works in the test scenarios we have performed, but the main drawback we can see here is that the dialog module needs to hold a pointer to the transaction for each dialog (not sure how bad this is as my experience with tm is not expert yet ;) )<br>
<br>So any thoughts/ideas. Is this the correct way to do it? Would it be okay to expose a fake_reply function through TM API?<br><br>Cheers<br>Jason<br>