<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
span.E-MailFormatvorlage19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="DE" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US">Hello,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US">I doubt that is the issue, but you should give the lastest stable version of the 5.5.x branch a try as well.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US">Any patterns that you can observe, when it fails? Like only in certain conditions or certain times, when other services are running in docker host etc..?
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US">Cheers,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US">Henning</span><o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US">-- </span>
<span style="mso-fareast-language:EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US">Henning Westerholt –
</span><span style="mso-fareast-language:EN-US"><a href="https://skalatan.de/blog/"><span lang="EN-GB" style="color:#0563C1">https://skalatan.de/blog/</span></a></span><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US">Kamailio services –
</span><span style="mso-fareast-language:EN-US"><a href="https://gilawa.com/"><span lang="EN-GB" style="color:#0563C1">https://gilawa.com</span></a></span><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="margin-left:35.4pt"><b>From:</b> sr-users <sr-users-bounces@lists.kamailio.org>
<b>On Behalf Of </b>Victor ku<br>
<b>Sent:</b> Monday, February 21, 2022 8:38 PM<br>
<b>To:</b> sr-users@lists.kamailio.org<br>
<b>Subject:</b> [SR-Users] Issue with Authenticating outbound Call<o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-left:35.4pt"><o:p> </o:p></p>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">Hi,<o:p></o:p></p>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">I'm new to sip and kamailio, I have recently setup a docker container based on kamailio/kamailio:5.5.0-stretch to check things out.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">While I was trying to authenticate an outbound call to a 3rd party sip provider from my kamailio container, I noticed there are times that the 2nd invite with the authorization header that's supposed to be sent
 from the failure route doesn't get sent out. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">There's no error recorded in the log nor does wireshark picking up any reply to sip phone or message to 3rd party sip provider. Anyone know what might have caused this?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">Some other things to note:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">Kamailio does sent out the INVITE with authorization header and authenticated successfully when my sip phone sent the sip request with FROM ip set to the 3rd party sip server's ip. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">When I change the sip phone to send INVITE with FROM Domain using kamailio container's ip, I'm able to see header is being built from the trace but no INVITE with authorization header is being sent. Changing the
 FROM uri using $fu or uac_replace_from() does help either.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">----------------------------------------------------------------------------------------------------------------<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt"><br>
kamailio-kamailio-1  | 14(22) DEBUG: {1 11126 INVITE 6cda7ecf9aed4154bfb409224b84a876} uac [auth_hdr.c:408]: build_authorization_hdr(): hdr is <Authorization: Digest username="xxxxxxxx", realm="xxx.xxx.xxx.xxx", nonce="07f4a5779568", uri="<a href="sip:+0123456789@xxx.xxx.xxx.xxx">sip:+0123456789@xxx.xxx.xxx.xxx</a>",
 qop=auth, nc=00000001, cnonce="3782993246", response="d5ebd0ef00d44db2292c7b8508fa23bc", algorithm=MD5<br>
...<br>
...<br>
kamailio-kamailio-1  | 14(22) exec: {1 11126 INVITE 6cda7ecf9aed4154bfb409224b84a876} *** cfgtrace:dbg_cfg_trace(): failure_route=[MANAGE_FAILURE] c=[/etc/kamailio/kamailio.cfg] l=1026 a=16 n=if<br>
kamailio-kamailio-1  | 14(22) exec: {1 11126 INVITE 6cda7ecf9aed4154bfb409224b84a876} *** cfgtrace:dbg_cfg_trace(): failure_route=[MANAGE_FAILURE] c=[/etc/kamailio/kamailio.cfg] l=1021 a=24 n=t_relay<br>
kamailio-kamailio-1  | 14(22) DEBUG: {1 11126 INVITE 6cda7ecf9aed4154bfb409224b84a876} <core> [core/msg_translator.c:1797]: check_boundaries(): no multi-part body<br>
...<br>
...<br>
kamailio-kamailio-1  | 14(22) exec: {1 11126 INVITE 6cda7ecf9aed4154bfb409224b84a876} *** cfgtrace:dbg_cfg_trace(): failure_route=[MANAGE_FAILURE] c=[/etc/kamailio/kamailio.cfg] l=1030 a=2 n=exit<br>
kamailio-kamailio-1  | 14(22) DEBUG: {1 11126 INVITE 6cda7ecf9aed4154bfb409224b84a876} dialog [dlg_var.c:97]: cb_dlg_locals_reset(): resetting the local dialog shortcuts on script callback: 2147483650<br>
kamailio-kamailio-1  | 14(22) DEBUG: tm [t_reply.c:1564]: t_should_relay_response(): rps discarded - uas status: 100<br>
kamailio-kamailio-1  | 14(22) DEBUG: tm [t_reply.c:1924]: relay_reply(): reply status=2 branch=0, save=0, relay=-1 icode=0 msg status=401<br>
kamailio-kamailio-1  | 14(22) DEBUG: <core> [core/receive.c:596]: receive_msg(): reply-route executed in: 1753 usec<br>
kamailio-kamailio-1  | 14(22) DEBUG: dialog [dlg_var.c:97]: cb_dlg_locals_reset(): resetting the local dialog shortcuts on script callback: 2147483652<br>
kamailio-kamailio-1  | 14(22) DEBUG: <core> [core/usr_avp.c:637]: destroy_avp_list(): destroying list (nil)<br>
kamailio-kamailio-1  | 14(22) DEBUG: <core> [core/usr_avp.c:637]: destroy_avp_list(): destroying list (nil)<br>
kamailio-kamailio-1  | 14(22) DEBUG: <core> [core/usr_avp.c:637]: destroy_avp_list(): destroying list (nil)<br>
kamailio-kamailio-1  | 14(22) DEBUG: <core> [core/usr_avp.c:637]: destroy_avp_list(): destroying list (nil)<br>
kamailio-kamailio-1  | 14(22) DEBUG: <core> [core/usr_avp.c:637]: destroy_avp_list(): destroying list (nil)<br>
kamailio-kamailio-1  | 14(22) DEBUG: <core> [core/usr_avp.c:637]: destroy_avp_list(): destroying list (nil)<br>
kamailio-kamailio-1  | 14(22) DEBUG: <core> [core/xavp.c:541]: xavp_destroy_list(): destroying xavp list (nil)<br>
kamailio-kamailio-1  | 14(22) DEBUG: <core> [core/xavp.c:541]: xavp_destroy_list(): destroying xavp list (nil)<br>
kamailio-kamailio-1  | 14(22) DEBUG: <core> [core/xavp.c:541]: xavp_destroy_list(): destroying xavp list (nil)<br>
kamailio-kamailio-1  | 14(22) DEBUG: <core> [core/receive.c:606]: receive_msg(): cleaning up<o:p></o:p></p>
</blockquote>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">---------------------------------------------- package capture ----------------------------<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"><o:p> </o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">192.168.0.165      xxx.xxx.xxx.xxx   SIP/SDP 1383 Request: INVITE
<a href="sip:+0123456789@">sip:+0123456789@</a> xxx.xxx.xxx.xxx   | <br>
xxx.xxx.xxx.xxx    192.168.0.165     SIP 585 Status: 100 Trying | <br>
xxx.xxx.xxx.xxx    192.168.0.165     SIP 820 Status: 401 Unauthorized | <br>
192.168.0.165      xxx.xxx.xxx.xxx   SIP 396 Request: ACK <a href="sip:+0123456789">
sip:+0123456789</a>  @ xxx.xxx.xxx.xxx   |<o:p></o:p></p>
</blockquote>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">------------------------------------------nothing more till sip phone cancel -----------------<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"># ----------------- below is failure route config ---------------------<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">failure_route[MANAGE_FAILURE] {<o:p></o:p></p>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">xlog("~~~~~ MANAGE_FAILURE ($rm) ($rs-$rr) (from $fu) (to $tu) (req :$ru) (dest $du)\r\n");<o:p></o:p></p>
</blockquote>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">if (t_is_canceled()) {<o:p></o:p></p>
</blockquote>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">exit;<o:p></o:p></p>
</blockquote>
</blockquote>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">}<o:p></o:p></p>
</blockquote>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">xlog("Checking status code\r\n");<o:p></o:p></p>
</blockquote>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">#!ifdef WITH_UAC<o:p></o:p></p>
</blockquote>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">if(t_check_status("401|407")) {<o:p></o:p></p>
</blockquote>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">if (isflagset(7)) {<o:p></o:p></p>
</blockquote>
</blockquote>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">t_reply("503","Authentication failed");<o:p></o:p></p>
</blockquote>
</blockquote>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">exit;<o:p></o:p></p>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">}<o:p></o:p></p>
</blockquote>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">$avp(auser) = "xxxxxxxxxx";<o:p></o:p></p>
</blockquote>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">$avp(apass) = "xxxxxxxxxx;<o:p></o:p></p>
</blockquote>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">if(uac_auth()) {<o:p></o:p></p>
</blockquote>
</blockquote>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">setflag(7);<o:p></o:p></p>
</blockquote>
</blockquote>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">xlog("after uac_auth $rm (from $fu)(to $tu)(req $ru)(dest $du)\r\n");<o:p></o:p></p>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">if(!t_relay()) {<o:p></o:p></p>
</blockquote>
</blockquote>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">xlog("Failed to relay ($rm) ($rs-$rr) (from $fu)(to $tu)(req $ru)\r\n");<o:p></o:p></p>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">t_reply("500","Error");<o:p></o:p></p>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt"> }<o:p></o:p></p>
</blockquote>
</blockquote>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">} else {<o:p></o:p></p>
</blockquote>
</blockquote>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">xlog("uac_auth() not available\r\n");<o:p></o:p></p>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">t_reply("503","Authentication invalid");<o:p></o:p></p>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">}<o:p></o:p></p>
</blockquote>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">exit;<o:p></o:p></p>
</blockquote>
</blockquote>
</blockquote>
<blockquote style="margin-left:30.0pt;margin-right:0cm">
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">}<o:p></o:p></p>
</blockquote>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">#!endif <o:p></o:p></p>
</blockquote>
</blockquote>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:35.4pt">}<o:p></o:p></p>
</blockquote>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"># ----------- end failure route config --------------------<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"><o:p> </o:p></p>
</div>
</div>
</div>
</body>
</html>