<div>I&#39;ve tried redirecting the request to the voicemail URI, when the tm timer expires.</div>
<div>---</div>
<div>if (t_check_status(&quot;480|408&quot;)) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; revert_uri();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sethostport(&quot;voicemail_ip:5060&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; append_branch();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t_relay();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
---</div>
<div>&nbsp;</div>
<div>But that&#39;s not the way I want the voicemail working. What I&#39;m looking for is a way to respond &quot;408&nbsp;Request Timeout&quot; only in the LEG2 initiated by asterisk (and send just one CANCEL to User 2 (called)). That way asterisk will respond 200 OK to User 1 (LEG 1) and this user will be able to record a voicemail message.</div>

<div>&nbsp;</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LEG1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B2BUA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LEG2</div>
<div>User 1 ----------------&gt;&gt; OpenSIPS --------------&gt;&gt; Asterisk ---------------------&gt;&gt; OpenSIPS ------------&gt;&gt; User 2</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|-------------------------------------------------------------------------|</div>
<div>&nbsp;</div>
<div>I&#39;ve found&nbsp;what the problem is.&nbsp;Using this Setup,&nbsp;the timer (most of the times) expires simultaneously in both legs and that&#39;s the reason of why the CANCEL and the 408 are sent to&nbsp;both legs as well.<br></div>

<div>I dont know if there&nbsp;is a way to change this behavior by configuration. I&#39;m going through the code&nbsp;to&nbsp;better understand how the tm module works. Thanks for youtr help.</div>
<div>&nbsp;</div>
<div>Regards,</div>
<div>&nbsp;</div>
<div>Ricardo<br></div>
<div class="gmail_quote">On Mon, Dec 29, 2008 at 6:34 AM, Iņaki Baz Castillo <span dir="ltr">&lt;<a href="mailto:ibc@aliax.net">ibc@aliax.net</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">2008/12/29 Ricardo Lopez Camino &lt;<a href="mailto:rlopezcamino@gmail.com">rlopezcamino@gmail.com</a>&gt;:<br>

<div class="Ih2E3d"><br>&gt; The following are the relevant fragments of the opensips.cfg file<br>&gt; &nbsp;------------------------<br></div>
<div class="Ih2E3d">&gt; #-----Failure Route----<br>&gt; failure_route[1] {<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; if (t_was_cancelled()) {<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; exit;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; }<br>&gt; }<br><br></div>You need to inspect the selected response code in failure_route and if<br>
it&#39;s 408 then append_branch to the voicemail server URI. Are you doing<br>it?<br><font color="#888888"><br>--<br>Iņaki Baz Castillo<br>&lt;<a href="mailto:ibc@aliax.net">ibc@aliax.net</a>&gt;<br>_______________________________________________<br>
Users mailing list<br><a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br><a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
</font></blockquote></div><br>