Is there a way to save the contact binding on the reply? &nbsp;save(&quot;location&quot;) throws an error that says it cannot be used in reply blocks.<div><br></div><div>Thanks.</div><div><br></div><div>-Daniel</div><div><br></div>
<div>Nov &nbsp;2 02:21:27 [61791] CRITICAL:core:yyerror: parse error in config file, line 417, column 10-11: Command cannot be used in the block</div><div><br></div><div><div>onreply_route[2]</div><div>{</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if (status =~ &quot;2[0-9][0-9]&quot;)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;save(&quot;location&quot;);</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;};</div><div>}</div><div><br></div><div>If I can&#39;t use the save(&quot;location&quot;) in the onreply block, then how do I cache the contact binding? &nbsp;</div>
<div><br></div><div>Is there a way to do it from within a module? &nbsp;I might consider coding something up if that is the case. &nbsp;What module does the save command live in?</div><br><div class="gmail_quote">On Fri, Oct 31, 2008 at 1:47 AM, Daniel-Constantin Mierla <span dir="ltr">&lt;<a href="mailto:miconda@gmail.com">miconda@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hello,<div><div></div><div class="Wj3C7c"><br>
<br>
On 10/30/08 01:10, Daniel Corbe wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div></div><div class="Wj3C7c">
Guys,<br>
<br>
When attempting to pass REGISTER requests up stream I get the following error messages on the console (below). &nbsp;This also brings up the question of &quot;what is the best way to simply pass REGISTER requests on to an upstream registrar?&quot;<br>

<br>
Thanks for the help.<br>
<br>
-Daniel<br>
<br>
<br>
REGISTER: NATed client, enabling NAT<br>
Oct 29 18:03:58 [48175] ERROR:tm:t_forward_nonack: no branch for forwarding<br>
Oct 29 18:03:58 [48175] ERROR:tm:w_t_relay: t_forward_nonack failed<br>
Oct 29 18:03:58 [48175] ERROR:tm:t_forward_nonack: no branch for forwarding<br>
Oct 29 18:03:58 [48175] ERROR:tm:w_t_relay: t_forward_nonack failed<br>
Oct 29 18:03:59 [48175] CRITICAL:tm:t_should_relay_response: pick_branch failed (lowest==-1) for code 401<br>
<br>
Here&#39;s the relevant parts of my ser config;<br>
<br>
in route[1]<br>
<br>
route[1]<br>
{<br>
 &nbsp; &nbsp; ...<br>
 &nbsp; &nbsp; &nbsp; &nbsp;if (method == &quot;REGISTER&quot;)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;{<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;route(2);<br>
 &nbsp; &nbsp; &nbsp; &nbsp;}<br>
 &nbsp; &nbsp; &nbsp; &nbsp;route(1);<br>
}<br>
<br>
route[2]<br>
{<br>
 &nbsp; &nbsp; &nbsp; &nbsp;# Check to see if the UAC is trying to UNREGISTER. &nbsp;If not test<br>
 &nbsp; &nbsp; &nbsp; &nbsp;# for NAT. &nbsp;If NAT is present, we mark it as such before we save()<br>
 &nbsp; &nbsp; &nbsp; &nbsp;# the location, that way flag 6 is always set for NATed UAs.<br>
 &nbsp; &nbsp; &nbsp; &nbsp;if (!search(&quot;^Contact:[ ]*\*&quot;) &amp;&amp; nat_uac_test(&quot;19&quot;)) {<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;xlog(&quot;L_NOTICE&quot;, &quot;REGISTER: NATed client, enabling NAT\n&quot;);<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;setflag(6);<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fix_nated_register();<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;force_rport();<br>
 &nbsp; &nbsp; &nbsp; &nbsp;};<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;# We must handle replies for registrations, for caching and location<br>
 &nbsp; &nbsp; &nbsp; &nbsp;# tracking purposes.<br>
 &nbsp; &nbsp; &nbsp; &nbsp;t_on_reply(&quot;1&quot;);<br>
 &nbsp; &nbsp; &nbsp; &nbsp;t_on_failure(&quot;1&quot;);<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;# Check for digest<br>
 &nbsp; &nbsp; &nbsp; &nbsp;#if (radius_www_authorize(&quot;&quot;))<br>
 &nbsp; &nbsp; &nbsp; &nbsp;#{<br>
 &nbsp; &nbsp; &nbsp; &nbsp;# &nbsp; &nbsp; &nbsp; xlog(&quot;L_NOTICE&quot;, &quot;REGISTER: No Digest, sending challenge\n&quot;);<br>
 &nbsp; &nbsp; &nbsp; &nbsp;# &nbsp; &nbsp; &nbsp; www_challenge(&quot;&quot;, &quot;0&quot;);<br>
 &nbsp; &nbsp; &nbsp; &nbsp;# &nbsp; &nbsp; &nbsp; exit;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;#}<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;# Digest was good if we get here<br>
 &nbsp; &nbsp; &nbsp; &nbsp;#save(&quot;location&quot;);<br>
<br>
 &nbsp; &nbsp; &nbsp; &nbsp;# Relay register to porta<br></div></div>
 &nbsp; &nbsp; &nbsp; &nbsp;t_relay(&quot;<a href="http://216.151.143.69" target="_blank">216.151.143.69</a> &lt;<a href="http://216.151.143.69" target="_blank">http://216.151.143.69</a>&gt;&quot;);<div class="Ih2E3d"><br>
}<br>
<br>
onreply_route[2]<br>
{<br>
 &nbsp; &nbsp; &nbsp; &nbsp;if (status =~ &quot;2[0-9][0-9]&quot;)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;{<br>
 &nbsp; &nbsp; &nbsp; &nbsp;# &nbsp; &nbsp; &nbsp; save(&quot;location&quot;);<br>
 &nbsp; &nbsp; &nbsp; &nbsp;};<br>
}<br>
</div></blockquote>
you need a line with:<br>
<br>
exit;<br>
<br>
at the end of route[2]. Also, there seem to be looping in route[1] if you handle non-REGISTER.<br>
<br>
Cheers,<br>
Daniel<br><font color="#888888">
<br>
-- <br>
Daniel-Constantin Mierla<br>
<a href="http://www.asipto.com" target="_blank">http://www.asipto.com</a><br>
<br>
</font></blockquote></div><br></div>