Hello,<br><br>I have the following scenario: I receive an INVITE and do parallel forking, having two branches. What I would like to do then is set a timer for the <span style="font-weight: bold;">first branch</span>, and send a CANCEL on that branch in one of the following cases:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1. no final response is received on the <span style="font-weight: bold;">first branch</span> and the timer expires. In this case it is important that the timer is per branch, so not both branches expire, and not both are canceled.
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2. a 181 Call is being forwarded reply is received on the <span style="font-weight: bold;">second branch</span>. <br><br>Any suggestions are welcomed, because right now I have absolutely no idea how I could solve this. I read the documentation for the TM module, all kinds of timers, but they are all per transaction, not per branch, or at least so I understood. (I am using OpenSER 
1.2)<br><br>In conclusion, my questions are:<br>1. Can I set a per branch timer? (either from code or configuration script)<br><br>2. How can I send a CANCEL only on that branch when the timer expires?<br><br>3. How can I send a CANCEL on one branch when the other has received a 
<span style="font-weight: bold;">non final reply</span>, 181 in this case. (the problem is the actual generation and sending of the CANCEL message, not intercepting the 181 reply or finding out on which branch it was received).
<br><br>Thank you in advance,<br>Madalina