<br>
Hello all,<br>
<br>
Does anybody know the answers to these questions?&nbsp; Am I unclear or
is there more information needed that I should be providing? <br>
<br>
Are these serdev questions?<br>
<br>
Thanks,<br>
Dan<br>
<br>
<br><div><span class="gmail_quote">On 7/21/05, <b class="gmail_sendername">Daniel Poulsen</b> &lt;<a href="mailto:dpoulsen@gmail.com">dpoulsen@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Here is what is going on as best as I understand it.&nbsp; Bear with me
as I'm trying to get my head wrapped around how SER works internally.<br>
<br>
I've looked through the docs, but still I have these questions:<br>
<br>
1. What does failure_route do with the failed branch?&nbsp; When the
DID Alias-&gt;Subscriber call fails, should the failed branch
automatically get removed from the transaction?&nbsp; If not, is there
a way for me to remove it?<br>
<br>
2. How does lookup() work?&nbsp; README.tm says it looks up and
modifies the current ruri only, but when I perform a lookup(&quot;hunt&quot;)
[again, hunt is a copy of aliases for the purpose of hunt sequences] it
looks up both the alias and the result of lookup(&quot;aliseses&quot;) and
appends/t_relays them both.<br>
<br>
3. Just how does revert_uri work?&nbsp; If I do a lookup(&quot;aliases&quot;)
followed by an append_branch/t_relay and that fails, does revert_uri
remove the failed brach? or should it get removed based on the fact
that it has entered the failure_route?<br>
<br>
4. Is it possible that failure_route is getting called twice with the same callid for both the DID alias and the SIP target?<br><br>
When the call times out and goes to failure_route[1], the failed branch
is not getting removed from the transaction so when I lookup() and
append_branch I am looking up and appending the next target in the hunt
sequence for both the DID (alias) and the username (SER account).&nbsp;
What
I want to happen is that when the call fails, the failed branch gets
removed from the transaction and I can then revert_uri, do a new
lookup() [this time from the hunt table] and get the next destination
in the hunt [be it voicemail, another SIP UA, or whatever].<br>
<br>
If any of what I am describing is unclear, please ask and I will
attempt to clarify.&nbsp; I could really use some advice on this
one.&nbsp; From my perspective it looks as if there is a problem with
how something in SER is functioning, but I know it can likely be fixed
in my configs.&nbsp; <br>
<br>
Thank you.<br>
<br>
Dan<div><span class="e" id="q_1053a794d2df37bb_1"><br>
<br><div><span class="gmail_quote">On 7/18/05, <b class="gmail_sendername">Daniel Poulsen</b> &lt;<a href="mailto:dpoulsen@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dpoulsen@gmail.com
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
I think I am missing something very simple here, but I cannot figure out what it is.&nbsp; <br>
<br>
I have DID aliases set up for SER usernames, so when a call comes in as
2125551234, I do a lookup(&quot;aliases&quot;) which results in something like
<a href="mailto:username1@sip.mydomain.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">username1@sip.mydomain.com</a>.&nbsp; Username1 is the registered SER
user.&nbsp; the numbers are all aliases.<br>
<br>
I also have a secondary aliases table called &quot;hunt&quot; which I use to
store call hunt sequences.&nbsp;&nbsp; The problem is that if a user
does not pick up the phone and SER calls failure_route[1], I get a hunt
for both 2125551234 and username1.&nbsp; Shouldn't my revert_uri() in
failure_route cause the hunt lookup to be done on 2125551234 only?<br>
<br>
route[7] is called from failure_route only,&nbsp; so there isn't any
other logic that might put me into these route blocks.&nbsp; Included
below the call routing blocks are some syslogs.<br>
<br>
If anyone could offer a suggestion or has seen anything like this and
could let me know what they did to solve it I would be eternally
grateful.<br>
<br>
Thank you.<br>
<br>
Dan<br>
<br>
<br>
<br>
###<br>
# Hunt (8), but only on 404/408/486<br>
route[7] {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (t_check_status(&quot;408&quot;) |&nbsp;&nbsp; # Timeout<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t_check_status(&quot;404&quot;) |&nbsp;&nbsp; # Not found<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t_check_status(&quot;486&quot;))&nbsp;&nbsp;&nbsp; # Busy<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; route(8);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog(&quot;L_NOTICE&quot;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&quot;%ci: r7: hunt but not 404/408/486\n&quot;);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br>
}<br>
<br>
###<br>
# Hunt to the next number in sequence<br>
route[8] {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # See if we're in a hunt<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(search(&quot;P-hint: pt-hunt&quot;)) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog(&quot;L_NOTICE&quot;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&quot;wanted to hunt, but hunt already in progress\n&quot;);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Assumes URI has been revert and prefixed with &quot;h#-&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Also assumes t_on_failure (#+1) has been set.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog(&quot;L_NOTICE&quot;, &quot;%ci: r8: hunt on %ru\n&quot;);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(lookup(&quot;hunt&quot;)) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog(&quot;L_NOTICE&quot;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&quot;%ci: r8: hunt changed URI to %ru, relaying\n&quot;);<br>
&nbsp;&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;&nbsp; append_hf(&quot;P-hint: pt-hunt\r\n&quot;);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setflag(9);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t_relay();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog(&quot;L_NOTICE&quot;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&quot;%ci: r8: no further hunts, giving up\n&quot;);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br>
<br>
}<br>
<br>
failure_route[1] { revert_uri(); prefix(&quot;h1-&quot;); t_on_failure(&quot;2&quot;); route(7); }<br>
failure_route[2] { revert_uri(); prefix(&quot;h2-&quot;); t_on_failure(&quot;3&quot;); route(7); }<br>
failure_route[3] { revert_uri(); prefix(&quot;h3-&quot;); t_on_failure(&quot;4&quot;); route(7); }<br>
failure_route[4] { revert_uri(); prefix(&quot;h4-&quot;); t_on_failure(&quot;5&quot;); route(7); }<br>
failure_route[5] { revert_uri(); prefix(&quot;h5-&quot;); t_on_failure(&quot;6&quot;); route(7); }<br>
failure_route[6] { revert_uri(); prefix(&quot;h6-&quot;); t_on_failure(&quot;7&quot;); route(7); }<br>
failure_route[7] { revert_uri(); prefix(&quot;h7-&quot;); t_on_failure(&quot;8&quot;); route(7); }<br>
failure_route[8] { revert_uri(); prefix(&quot;h8-&quot;); t_on_failure(&quot;9&quot;); route(7); }<br>
failure_route[9] { xlog(&quot;L_ERR&quot;, &quot;too many hunts!\n&quot;); }<br>
<br>
<br>
<br>
<br>
<br>
Jul 18 11:17:23 sip /usr/sbin/ser[18279]:
<a href="mailto:29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18</a>: [<a href="http://192.168.32.18" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

192.168.32.18</a>]
INVITE sip:2125551234@192.168.32.30:5060<br>
Jul 18 11:17:23 sip /usr/sbin/ser[18279]:
<a href="mailto:29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18</a>: alias lookup changed
uri to <a href="mailto:sip:username1@sip.mydomain.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">sip:username1@sip.mydomain.com</a><br>
Jul 18 11:17:23 sip /usr/sbin/ser[18279]:
<a href="mailto:29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18</a>: [<a href="http://192.168.32.30" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

192.168.32.30</a>]
INVITE <a href="mailto:sip:username1@sip.mydomain.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">sip:username1@sip.mydomain.com</a><br>
Jul 18 11:17:53 sip /usr/sbin/ser[18301]:
<a href="mailto:29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18</a>: r8: hunt on
<a href="mailto:sip:h1-username1@sip.mydomain.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">sip:h1-username1@sip.mydomain.com</a><br>
Jul 18 11:17:53 sip /usr/sbin/ser[18301]:
<a href="mailto:29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18</a>: r8: hunt changed URI
to <a href="mailto:sip:2125551234@vm.packetalk.net" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">sip:2125551234@vm.packetalk.net</a>, relaying<br>
Jul 18 11:17:53 sip /usr/sbin/ser[18301]:
<a href="mailto:29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18</a>: r8: hunt on
sip:h1-2125551234@192.168.32.30:5060<br>
Jul 18 11:17:53 sip /usr/sbin/ser[18301]:
<a href="mailto:29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18</a>: r8: hunt changed URI
to <a href="mailto:sip:2125551234@vm.packetalk.net" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">sip:2125551234@vm.packetalk.net</a>, relaying<br>
Jul 18 11:17:53 sip /usr/sbin/ser[18281]:
<a href="mailto:29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18</a>: [<a href="http://192.168.32.30" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

192.168.32.30</a>]
CANCEL <a href="mailto:sip:username1@sip.mydomain.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">sip:username1@sip.mydomain.com</a><br>
Jul 18 11:17:55 sip /usr/sbin/ser[18295]: ERROR: t_should_relay_response: status rewrite by UAS: stored: 408, received: 200<br>
Jul 18 11:17:56 sip /usr/sbin/ser[18285]: ERROR: t_should_relay_response: status rewrite by UAS: stored: 408, received: 200<br>
Jul 18 11:17:57 sip /usr/sbin/ser[18295]: ERROR: t_should_relay_response: status rewrite by UAS: stored: 408, received: 200<br>
Jul 18 11:17:58 sip /usr/sbin/ser[18289]: ERROR: t_should_relay_response: status rewrite by UAS: stored: 408, received: 200<br>
Jul 18 11:17:59 sip /usr/sbin/ser[18298]: ERROR: t_should_relay_response: status rewrite by UAS: stored: 408, received: 200<br>
Jul 18 11:18:00 sip /usr/sbin/ser[18281]: ERROR: t_should_relay_response: status rewrite by UAS: stored: 408, received: 200<br>
Jul 18 11:18:08 sip /usr/sbin/ser[18280]:
<a href="mailto:29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18</a>: [<a href="http://192.168.32.18" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

192.168.32.18</a>]
CANCEL sip:2125551234@192.168.32.30:5060<br>
Jul 18 11:18:08 sip /usr/sbin/ser[18280]:
<a href="mailto:29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18</a>: alias lookup changed
uri to <a href="mailto:sip:username1@sip.mydomain.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">sip:username1@sip.mydomain.com</a><br>
Jul 18 11:18:08 sip /usr/sbin/ser[18289]:
<a href="mailto:29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18</a>: [<a href="http://192.168.32.30" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

192.168.32.30</a>] ACK
<a href="mailto:sip:username1@sip.mydomain.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">sip:username1@sip.mydomain.com</a><br>
Jul 18 11:18:09 sip /usr/sbin/ser[18285]:
<a href="mailto:29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18</a>: [<a href="http://192.168.32.30" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

192.168.32.30</a>] ACK
<a href="mailto:sip:username1@sip.mydomain.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">sip:username1@sip.mydomain.com</a><br>
Jul 18 11:18:10 sip /usr/sbin/ser[18289]:
<a href="mailto:29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18</a>: [<a href="http://192.168.32.30" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

192.168.32.30</a>] ACK
<a href="mailto:sip:username1@sip.mydomain.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">sip:username1@sip.mydomain.com</a><br>
Jul 18 11:18:11 sip /usr/sbin/ser[18298]:
<a href="mailto:29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18</a>: [<a href="http://192.168.32.30" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

192.168.32.30</a>] ACK
<a href="mailto:sip:username1@sip.mydomain.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">sip:username1@sip.mydomain.com</a><br>
Jul 18 11:18:12 sip /usr/sbin/ser[18298]:
<a href="mailto:29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18</a>: [<a href="http://192.168.32.30" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

192.168.32.30</a>] ACK
<a href="mailto:sip:username1@sip.mydomain.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">sip:username1@sip.mydomain.com</a><br>
Jul 18 11:18:13 sip /usr/sbin/ser[18287]:
<a href="mailto:29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">29FF0A3-F6D611D9-938FBF07-9CC1DBD7@192.168.32.18</a>: [<a href="http://192.168.32.30" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

192.168.32.30</a>] ACK
<a href="mailto:sip:username1@sip.mydomain.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">sip:username1@sip.mydomain.com</a><br>
<br>

</blockquote></div><br>

</span></div></blockquote></div><br>