<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<tt>Hi Ben,<br>
<br>
1) I'm not <tt>recommend<tt>ing</tt></tt>, I'm giving a work<tt>a<tt>round
to your problem<tt>, considering the limited SBC that cannot <tt>do
TH or advertis<tt>e the desired contact IP (and abusing
OpenSIPS to deal w<tt>ith t<tt>h<tt>is limitation<tt> of
the SBC).<br>
<br>
<tt>2) I'm saying "fake" <tt>RR as you do it
just for the SBC sake - f<tt>rom OpenSIPS
perspective <tt>has 0 value<tt> and
usage. You insert the RR head<tt>er<tt>
with the single purpose of forcing
the SBC "not<tt> to look<tt>" into
the RURI and to <tt>pr<tt>ovide
a w<tt>orkaround <tt>for
routing to OpenSIPS.
And it i<tt>s fake as
y<tt>ou do not have
to do <tt>the
other ha<tt>lf<tt>,
the
loose_route()
part.</tt></tt></tt></tt></tt><br>
<br>
<tt><tt><tt>4) No, <tt>I
do not agr<tt>ee<tt>
- the RR and
TH are exclu<tt>ding
one each other
IM<tt>O<tt>.
Once again,
from the <tt>logi<tt>cal
perspective of
th<tt>e SIP
routing, this
is i<tt>s a no<tt>n-sense.
<tt>I'm <tt><tt><tt>suggesting</tt>
this forced
"marriage" </tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt>just
to solve the <tt>SBC
problem<tt> and
nothing more. <br>
<br>
<tt>5) what you
are attem<tt>pting
is no<tt>t in
the SIP normal<tt>s
- you are
forcing the <tt>boundaries
just to <tt>overc<tt>ome
the limitation<tt>s
of the SBC.<br>
<br>
<tt>6) I a<tt>gree
the<tt>re
should be no<tt>
crash<tt>,
what<tt>ever
cra<tt>zy
combination is
used from the
script, <tt>and
<tt>if ok with
you, I w<tt>ould
l<tt>ike to
push forward
here.</tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt>
</tt></tt></tt></tt><br>
</tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt></tt><br>
<tt>Regards,</tt><br>
</tt>
<pre class="moz-signature" cols="72">Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
<a class="moz-txt-link-freetext" href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a></pre>
<div class="moz-cite-prefix">On 01.08.2016 16:42, Newlin, Ben wrote:<br>
</div>
<blockquote cite="mid:568094C4-36E6-476E-A470-5AB11A937B2A@inin.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Title" content="">
<meta name="Keywords" content="">
<meta name="Generator" content="Microsoft Word 15 (filtered
medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]-->
<style><!--
/* Font Definitions */
@font-face
        {font-family:Arial;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:"Courier New";
        panose-1:2 7 3 9 2 2 5 2 4 4;}
@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;}
@font-face
        {font-family:"Times New Roman \, serif ";}
@font-face
        {font-family:"Courier New \, serif ";}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:Calibri;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
tt
        {mso-style-priority:99;
        font-family:"Courier New";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Courier;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:Calibri;
        color:windowtext;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:Calibri;
        color:windowtext;}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:Calibri;
        color:windowtext;}
span.EmailStyle23
        {mso-style-type:personal-reply;
        font-family:Calibri;
        color:windowtext;}
span.msoIns
        {mso-style-type:export-only;
        mso-style-name:"";
        text-decoration:underline;
        color:teal;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt">Bogdan,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">You are
recommending using RR on my server with TH, which is exactly
what I want to do. Your solution is to do it manually
because the RR module can’t be used with the TH module. This
is not faking or tricking just because it is done manually;
it is a real RR header and the SBC would be following
correct SIP routing processes.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">So we agree
that the SIP concepts of RR and TH are not mutually
exclusive, it is only the OpenSIPS modules that are
incompatible. This confirms what I saw in my testing and
reported in the initial email.<o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">I think
it would be a useful enhancement if the two modules did
work together and the RR module supported doing
everything you suggest doing manually below, just as it
does today when TH is not used. But if that is not
feasible or practical within the OpenSIPS architecture I
understand. In that case, I believe a note in the
documentation of the incompatibility between these
modules would be beneficial as well, as it would have
saved me many hours attempting to make this work and may
save others that time as well.<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.5pt;color:black"><o:p> </o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span style="font-size:10.5pt;color:black">Ben
Newlin</span><span style="font-size:11.0pt"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="color:black">From: </span></b><span
style="color:black">Bogdan-Andrei Iancu
<a class="moz-txt-link-rfc2396E" href="mailto:bogdan@opensips.org"><bogdan@opensips.org></a><br>
<b>Date: </b>Monday, August 1, 2016 at 7:13 AM<br>
<b>To: </b>"Newlin, Ben" <a class="moz-txt-link-rfc2396E" href="mailto:Ben.Newlin@inin.com"><Ben.Newlin@inin.com></a>,
OpenSIPS users mailling list
<a class="moz-txt-link-rfc2396E" href="mailto:users@lists.opensips.org"><users@lists.opensips.org></a><br>
<b>Subject: </b>Re: [OpenSIPS-Users] Record-Route and
Dialog topology_hiding()<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Times New
Roman""><o:p> </o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><tt><span style="font-size:10.0pt">Hi
Ben,</span></tt><span
style="font-size:10.0pt;font-family:"Courier
New""><br>
<br>
<tt>I see your problem here. So, let's explore this:</tt><br>
<tt>1) for sending the call to carrier, on OpenSIPS, you
do TH (with advertise) resulting in a Contact with the
public IP of the SBC.</tt><br>
<tt>2) also, manually add a RR header with the private
IP of OpenSIPS.</tt><br>
<tt>3) send call to SBC, which will add its own RR
stuff.</tt><br>
<br>
<tt>Now, on the sequential request from Carrier, the
RURI will contain the Contact of OpenSIPS (the pub IP
of SBC), some Route hdrs due the SBC and the Route we
added on OpenSIPS.</tt><br>
<tt>- when request gets to SBC, the SBC will do loose
route, consume its Route headers, and it will use the
next available Route which points to the priv IP of
OpenSIPS (and it will not use the public IP in RURI
for routing)</tt><br>
<tt>- requests gets to OpenSIPS, simply remove_hf() and
Route headers (do not do any loose_route() as it is
useless) and hit th_matching -> this will refactor
the request (RURI, Contact, Route) for the leg on the
other side -> this should be fine.</tt><br>
<br>
<tt>For the other direction (still sequential), you do
th_matching on OpenSIPS and nothing more. This will
send a request holding the Routes due the SBC, a
Contact with the public IP and and RURI pointing
probably to the carrier.</tt><br>
<br>
<tt>Shortly you do standard TH, but on outbound
scenario, add a fake RR header to trick the SBC to
route the sequential to your OpenSIPS.</tt><br>
<br>
<tt>Does it make sense ? </tt><br>
<br>
<br>
<tt>Regards,</tt><br>
<br>
</span><o:p></o:p></p>
<pre>Bogdan-Andrei Iancu<o:p></o:p></pre>
<pre>OpenSIPS Founder and Developer<o:p></o:p></pre>
<pre><a moz-do-not-send="true" href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a><o:p></o:p></pre>
<div>
<p class="MsoNormal">On 29.07.2016 18:05, Newlin, Ben
wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span style="font-size:11.0pt">Here
is the scenario:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">My
servers are only listening on a private IP address.
There is a public address on our SBC. I have a carrier
that requires that the Contact IP address matches the
public address we provided to them. So when I do TH on
my server I have to also do set_advertised_address to
advertise the public address in the Contact header.
Sequential requests use the Contact as the Request URI
and the SBC is doing RR so all requests will come back
through it. When the SBC receives a sequential request
it strips its Route headers and forwards to the
Request URI (previous Contact URI). But that URI now
points back to the SBC, so it cannot deliver the
request. If my server could Record-Route the initial
request with its private address, the SBC would be
able to route the request back to it.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Here
is a trace of my scenario:
<a moz-do-not-send="true"
href="http://pastebin.com/x927mFtq">http://pastebin.com/x927mFtq</a>.
I created it with SIPp so some endpoints are on the
same IPs but with different ports. The public IP is
192.168.99.100, with port 7060 representing the PSTN
carrier and port 5060 the SBC. The private IP is
10.0.2.15, with port 5060 being the SBC again and port
6060 being my server. You can see that the ACK cannot
be delivered correctly to my server with this
configuration.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">The
problem here stems from the fact that Topology Hiding
should really be done at the edge of the network in
order to be most effective. But my OpenSIPS server
doesn’t sit on the Edge of the network, it is behind
an SBC. So TH is complicated by the fact that my
OpenSIPS has no public IP of its own and must
advertise the public IP of the SBC instead, but future
requests must still be routable into the private
network. I am really using TH to hide the two ends of
the call from each other, not to hide my internal
network topology.</span><o:p></o:p></p>
<div>
<div>
<p class="MsoNormal"><span
style="font-size:10.5pt;color:black"> </span><o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><span
style="font-size:10.5pt;color:black">Ben Newlin</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<div style="border:none;border-top:solid #B5C4DF
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="color:black">From:
</span></b><span style="color:black">Bogdan-Andrei
Iancu
<a moz-do-not-send="true"
href="mailto:bogdan@opensips.org"><bogdan@opensips.org></a><br>
<b>Date: </b>Friday, July 29, 2016 at 8:40 AM<br>
<b>To: </b>"Newlin, Ben" <a moz-do-not-send="true"
href="mailto:Ben.Newlin@inin.com"><Ben.Newlin@inin.com></a>,
OpenSIPS users mailling list
<a moz-do-not-send="true"
href="mailto:users@lists.opensips.org"><users@lists.opensips.org></a><br>
<b>Subject: </b>Re: [OpenSIPS-Users] Record-Route
and Dialog topology_hiding()</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-family:"Times New Roman \, serif
""> </span><o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"><tt><span
style="font-size:10.0pt">Hi Ben,</span></tt><span
style="font-size:10.0pt;font-family:"Courier
New \, serif ""><br>
<br>
</span><tt><span style="font-size:10.0pt">Sorry to
disagree, but IMHO they do exclude one each
other.
</span></tt><span
style="font-size:10.0pt;font-family:"Courier
New \, serif ""><br>
<br>
</span><tt><span style="font-size:10.0pt">Adding RR
to TH should not be seen as a way of fixing some
broken TH scenarios (with advertise).</span></tt><span
style="font-size:10.0pt;font-family:"Courier
New \, serif ""><br>
</span><tt><span style="font-size:10.0pt">So, let me
try to understand what is not working for you.
You do TH and advertise. In this case, normally,
in the Contact headers generated by OpenSIPS (as
a result of TH), it should be the TH interface,
right ? What exactly seems to be the problem ?
do you have a trace to show the issues ?</span></tt><span
style="font-size:10.0pt;font-family:"Courier
New \, serif ""><br>
<br>
</span><tt><span style="font-size:10.0pt">Regards,</span></tt><span
style="font-size:10.0pt;font-family:"Courier
New \, serif ""><br>
<br>
<br>
</span><o:p></o:p></p>
<pre>Bogdan-Andrei Iancu<o:p></o:p></pre>
<pre>OpenSIPS Founder and Developer<o:p></o:p></pre>
<pre><a moz-do-not-send="true" href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a><o:p></o:p></pre>
<div>
<p class="MsoNormal">On 27.07.2016 16:05, Newlin,
Ben wrote:<o:p></o:p></p>
</div>
<blockquote
style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span style="font-size:11.0pt">I
understand that normally you would not need RR
with TH, but the two concepts are not mutually
exclusive in SIP. As I said, I have a need to
Record-Route the call on my server as I am
advertising a different address than I am
listening on. This means that TH will populate
the Contact header with the advertised address
and if I cannot Record-Route with the actual
address then I will not receive sequential
requests.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<div>
<div>
<p class="MsoNormal"><span
style="font-size:10.5pt;color:black"> </span><o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><span
style="font-size:10.5pt;color:black">Ben Newlin</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<div style="border:none;border-top:solid #B5C4DF
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="color:black">From:
</span></b><span style="color:black">Bogdan-Andrei
Iancu
<a moz-do-not-send="true"
href="mailto:bogdan@opensips.org"><bogdan@opensips.org></a><br>
<b>Date: </b>Wednesday, July 27, 2016 at 3:59
AM<br>
<b>To: </b>OpenSIPS users mailling list <a
moz-do-not-send="true"
href="mailto:users@lists.opensips.org">
<users@lists.opensips.org></a>,
"Newlin, Ben" <a moz-do-not-send="true"
href="mailto:Ben.Newlin@inin.com">
<Ben.Newlin@inin.com></a><br>
<b>Subject: </b>Re: [OpenSIPS-Users]
Record-Route and Dialog topology_hiding()</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span
style="font-family:"Times New Roman \,
serif ""> </span><o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"><tt><span
style="font-size:10.0pt">Hi Ben,</span></tt><span
style="font-size:10.0pt;font-family:"Courier New \, serif ""><br>
<br>
</span><tt><span style="font-size:10.0pt">As I
mentioned in different thread, TH is not
compatible with the RR mechanism. If you
do TH, your OpenSIPS will act as and end
point (from SIP perspective), so there
will be no Route/RR headers at all. So no
need to do loose_route or so. You just do
TH matching for the sequential requests
and nothing more.</span></tt><span
style="font-size:10.0pt;font-family:"Courier
New \, serif ""><br>
<br>
</span><tt><span style="font-size:10.0pt">Regards,</span></tt><span
style="font-size:10.0pt;font-family:"Courier New \, serif ""><br>
<br>
<br>
<br>
</span><o:p></o:p></p>
<pre>Bogdan-Andrei Iancu<o:p></o:p></pre>
<pre>OpenSIPS Founder and Developer<o:p></o:p></pre>
<pre><a moz-do-not-send="true" href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a><o:p></o:p></pre>
<div>
<p class="MsoNormal">On 22.07.2016 16:48,
Newlin, Ben wrote:<o:p></o:p></p>
</div>
<blockquote
style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span
style="font-size:11.0pt">Hi,</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:11.0pt">I am using the
Dialog module with topology_hiding() in my
server and I have a need to Record-Route
the call on my server as I am advertising
a different address than I am listening
on. I have found what I believe is an
inconsistency in the handling of
Record-Route within the Dialog
topology_hiding functionality. The
topology_hiding isn’t a true B2BUA, but it
does set up different parameters for the
incoming UAC and outgoing UAS sides of the
call for the Via headers, Record-Route and
Route headers, and the Contact header(s).</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:11.0pt">The problem is
that the record_route() and loose_route()
functions operate on different sides of
the call. The record_route() function will
only add a Record-Route header to the
outgoing UAS side of the call. And since
the record_route() function cannot be
called from onreply_route, but is no way
to add a Record-Route header to the UAC
side of the call.</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:11.0pt">On the other
hand, the loose_route() function only
operates on the incoming UAC side of the
call and there is no way to perform
loose_route() on the UAS side of the call.</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:11.0pt">So there is a
situation where Record-Route headers can
only be added on the outgoing UAS side,
but the associated Route headers can only
be removed on the incoming UAC side (where
they won’t exist since they can’t be
added) and any added headers on the UAS
side cannot be processed properly due to
the lack of loose_route.</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:11.0pt">I can provide
further information if this is unclear. It
should be easily reproducible by
attempting to use record_route in a
topology_hiding scenario. The route is
added to the outbound leg, but is not
removed by loose_route so the message is
looped back every time.</span><o:p></o:p></p>
<div>
<p class="MsoNormal"
style="line-height:16.8pt;background:white"><span
style="font-size:9.0pt;font-family:Arial;color:#666666"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"
style="line-height:16.8pt;background:white"><b><span
style="font-size:10.0pt;font-family:Arial;color:#155570">Ben Newlin</span></b><b><span
style="font-size:10.0pt;font-family:Arial;color:#666666"> </span></b><span
style="font-size:10.0pt;font-family:Arial;color:#666666">| Sr Voice
Network Engineer, PureCloud</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"
style="line-height:16.8pt;background:white"><span
style="font-size:10.0pt;font-family:Arial;color:#666666">phone & fax
+1.317.957.1009 | </span><span
style="font-size:10.0pt;font-family:Arial;color:#0585A7"><a
moz-do-not-send="true"
href="mailto:ben.newlin@inin.com">ben.newlin@inin.com</a> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"
style="line-height:16.8pt;background:white"><span
style="font-size:9.0pt;font-family:Arial;color:#666666;border:solid
windowtext 1.0pt;padding:0in"><img
moz-do-not-send="true"
id="_x0000_i1025"
src="cid:Word%20Work%20File%20D_.jpg"
alt="ge removed by sender." border="0"
height="21" width="196"></span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"
style="line-height:12.0pt;background:white"><span
style="font-size:10.0pt;font-family:Arial;color:#0585A7"><a
moz-do-not-send="true"
href="http://www.inin.com">www.inin.com</a></span><o:p></o:p></p>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"><span
style="font-family:"Times New Roman
\, serif ""><br>
<br>
<br>
<br>
<br>
</span><o:p></o:p></p>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>Users mailing list<o:p></o:p></pre>
<pre><a moz-do-not-send="true" href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><o:p></o:p></pre>
<pre><a moz-do-not-send="true" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><o:p></o:p></pre>
</blockquote>
<p class="MsoNormal"><span
style="font-family:"Times New Roman \,
serif ""> </span><o:p></o:p></p>
</div>
</div>
</blockquote>
<p class="MsoNormal"><span
style="font-family:"Times New Roman \, serif
""> </span><o:p></o:p></p>
</div>
</div>
</blockquote>
<p class="MsoNormal"><span style="font-family:"Times
New Roman""><o:p> </o:p></span></p>
</div>
</div>
</div>
</blockquote>
<br>
</body>
</html>