RE: Memory leak in nist implementation

Francisco Javier Tellez Vaquero <[email protected]> Thu, 3 Jul 2008 10:58:41 +0200
Newsgroups gmane.comp.voip.nist-sip
Message-ID <[email protected]>
--===============0331377478391258060==
Content-Type: multipart/alternative;
	boundary="_b38ca645-0685-4a8e-a6f3-b3ce2c4ecd7a_"

--_b38ca645-0685-4a8e-a6f3-b3ce2c4ecd7a_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable


Hi Ranga, Jeroen,
if the application closes those transactions not closed by end points, it s=
eems no memory leak occurs (for example sending 200 response to BYE request=
 or sending missing ACK).

But I have another question:

If you don't receive ACK from UAC, in rfc3261 section 13 you find:

If the server retransmits the 2xx response for 64*T1 seconds without
   receiving an ACK, the dialog is confirmed, but the session SHOULD be
   terminated.  This is accomplished with a BYE, as described in Section
   15.
The question is that if you try to send a BYE after receiving transaction t=
imeout you obtain this exception creating the request:

javax.sip.SipException: Dialog not yet established -- no response!
        at gov.nist.javax.sip.stack.SIPDialog.createRequest(SIPDialog.java:=
1404)

Best Regards,
Fran.


> Date: Mon, 30 Jun 2008 15:58:08 -0400
> From: [email protected]
> To: [email protected]
> Subject: Re: [nist-sip] Memory leak in nist implementation
> CC: [email protected]; [email protected]
>=20
> On Mon, Jun 30, 2008 at 3:10 PM, Francisco Javier Tellez Vaquero
> <[email protected]> wrote:
> > Hello Jeroen,
> > it's the solution we have implemented at UAS side. But the problem is a=
t the
> > other side, you send a BYE request but you don't receive response.
> >
> > We have tried executing 'terminate()' method at transaction level,
> > 'delete()' at dialog level, but without any result.
> >
> > We see similar problem when ACK is not received.
> >
> > Best Regards,
> > Fran.
> >
>=20
> Francisco,
>=20
> Use a memory leak checker and make sure there is no reference in your
> application to those objects that do not get garbage collected. If so
> then there's nothing the stack can do about it.
>=20
> If you still think there's a problem, write a very simple test case
> that illustrates the problem and submit a bug report and we can test
> things out with your test case. You should be able to reproduce this
> problem with a very simple UAS/UAC pair.
>=20
> Thanks
>=20
> >
> >> Date: Mon, 30 Jun 2008 21:00:57 +0200
> >> From: [email protected]
> >> To: [email protected]
> >> CC: [email protected]; [email protected]
> >> Subject: Re: [nist-sip] Memory leak in nist implementation
> >>
> >> Francisco,
> >>
> >> A B2BUA application connects 2 Dialog objects together, one on the "UA=
S"
> >> side (receiving a request) and one on the "UAC" side (forwarding the
> >> request)
> >> Could it be that you are referring to the "UAS" Dialog that is never
> >> destroyed?
> >>
> >> From that Dialog's perspective, your application received the BYE but
> >> never sent a 200 OK. That's different from sending out a BYE onto the
> >> network, and not receiving a 200 OK.
> >>
> >> The proper solution would be to implement logic in the BYE
> >> ClientTransaction timeout handler, to still send a 200 OK for the BYE =
on
> >> the "UAS" side. Alternatively, you can always immediately send 200 OK
> >> when you receive a BYE, and generate a BYE for the second Dialog at th=
e
> >> same time.
> >>
> >> Regards,
> >> Jeroen
> >>
> >> Francisco Javier Tellez Vaquero wrote:
> >> > Hi again,
> >> > we have an application running as a B2BUA.
> >> >
> >> > If we receive a BYE from an end point, we send the BYE to the other
> >> > point. When we receive 200 response, we re-transmit it.
> >> >
> >> > We see sometimes this response is lost (because of network problems,
> >> > because of terminal, ...). The question is the dialog is never
> >> > destroyed until application is re-started. We have wait for garbage
> >> > collection (application is running for days).
> >> >
> >> > Regards.
> >> >
> >> >
> >> > > Date: Mon, 30 Jun 2008 14:39:30 -0400
> >> > > From: [email protected]
> >> > > To: [email protected]
> >> > > Subject: Re: [nist-sip] Memory leak in nist implementation
> >> > > CC: [email protected]
> >> > >
> >> > > When the tx times out delete the dialog and then you have to wait =
for
> >> > > the garbage collection to run before you check for leak.
> >> > >
> >> > > Ranga.
> >> > >
> >> > > On Mon, Jun 30, 2008 at 2:32 PM, Francisco Javier Tellez Vaquero
> >> > > <[email protected]> wrote:
> >> > > > Hi Ranga,
> >> > > > I agree the example case is a listener bug, but think the opposi=
te
> >> > case:
> >> > > >
> >> > > > - You send a BYE request but no response is received.
> >> > > >
> >> > > > You have no control about this point, so the idea is trying to
> >> > close the
> >> > > > dialog anyway.
> >> > > >
> >> > > > BR.
> >> > > >
> >> > > >
> >> > > >> Date: Mon, 30 Jun 2008 14:09:05 -0400
> >> > > >> From: [email protected]
> >> > > >> To: [email protected]
> >> > > >> Subject: Re: [nist-sip] Memory leak in nist implementation
> >> > > >> CC: [email protected]
> >> > > >>
> >> > > >> On Mon, Jun 30, 2008 at 1:55 PM, Francisco Javier Tellez Vaquer=
o
> >> > > >> <[email protected]> wrote:
> >> > > >> > Hi all,
> >> > > >> > I see sometimes not all stack objects are destroyed.
> >> > > >> >
> >> > > >> > For example, if you receive BYE request but no 200 response i=
s
> >> > sent,
> >> > > >> > dialog
> >> > > >> > is never closed. There're a lot of different cases (ACK's los=
t,
> >> > ...).
> >> > > >>
> >> > > >> Not sending a 200 OK to a BYE is an application bug. Please fix
> >> > > >> that.
> >> > > >>
> >> > > >> Please post a specific test case (without listener bugs) and I
> >> > can look
> >> > > >> into it.
> >> > > >>
> >> > > >> Ranga
> >> > > >>
> >> > > >> >
> >> > > >> > I have tried to free memory executing 'terminate()' and/or
> >> > 'delete()'
> >> > > >> > methods in both transaction and dialog objects but without an=
y
> >> > result.
> >> > > >> >
> >> > > >> > Is there any way to force to free these objects (timers, dial=
ogs,
> >> > > >> > transactions, ...) ?
> >> > > >> >
> >> > > >> > Regards.
> >> > > >> >
> >> > > >> >
> >> > > >> >
> >> > > >> > ________________________________
> >> > > >> > Tecnolog=EDa, moda, motor, viajes,.suscr=EDbete a nuestros
> >> > boletines para
> >> > > >> > estar
> >> > > >> > siempre a la =FAltima MSN Newsletters
> >> > > >> > _______________________________________________
> >> > > >> > nist-sip mailing list
> >> > > >> > [email protected]
> >> > > >> > http://www-x.antd.nist.gov/mailman/listinfo/nist-sip
> >> > > >> >
> >> > > >> >
> >> > > >>
> >> > > >>
> >> > > >>
> >> > > >> --
> >> > > >> M. Ranganathan
> >> > > >
> >> > > > ________________________________
> >> > > > Sigue los principales acontecimientos deportivos en directo. MSN
> >> > > > Motor
> >> > >
> >> > >
> >> > >
> >> > > --
> >> > > M. Ranganathan
> >> >
> >> > --------------------------------------------------------------------=
----
> >> > Sigue al minuto las principales noticias de tu ciudad MSN Deportes
> >> > <http://deportes.es.msn.com/>
> >> > --------------------------------------------------------------------=
----
> >> >
> >> > _______________________________________________
> >> > nist-sip mailing list
> >> > [email protected]
> >> > http://www-x.antd.nist.gov/mailman/listinfo/nist-sip
> >> >
> >
> > ________________________________
> > Tecnolog=EDa, moda, motor, viajes,.suscr=EDbete a nuestros boletines pa=
ra estar
> > siempre a la =FAltima MSN Newsletters
>=20
>=20
>=20
> --=20
> M. Ranganathan

_________________________________________________________________
Tecnolog=EDa, moda, motor, viajes,=85suscr=EDbete a nuestros boletines para=
 estar siempre a la =FAltima
http://newsletters.msn.com/hm/maintenanceeses.asp?L=3DES&C=3DES&P=3DWCMaint=
enance&Brand=3DWL&RU=3Dhttp%3a%2f%2fmail.live.com=

--_b38ca645-0685-4a8e-a6f3-b3ce2c4ecd7a_
Content-Type: text/html; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class=3D'hmmessage'>
Hi Ranga, Jeroen,<br>if the application closes those transactions not close=
d by end points, it seems no memory leak occurs (for example sending 200 re=
sponse to BYE request or sending missing ACK).<br><br>But I have another qu=
estion:<br><br>If you don't receive ACK from UAC, in rfc3261 section 13 you=
 find:<br><br><pre>If the server retransmits the 2xx response for 64*T1 sec=
onds without<br>   receiving an ACK, the dialog is confirmed, but the sessi=
on SHOULD be<br>   terminated.  This is accomplished with a BYE, as describ=
ed in Section<br>   15.</pre><br>The question is that if you try to send a =
BYE after receiving transaction timeout you obtain this exception creating =
the request:<br><br>javax.sip.SipException: Dialog not yet established -- n=
o response!<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at gov.nist.javax=
.sip.stack.SIPDialog.createRequest(SIPDialog.java:1404)<br><br>Best Regards=
,<br>Fran.<br><br><br>&gt; Date: Mon, 30 Jun 2008 15:58:08 -0400<br>&gt; Fr=
om: [email protected]<br>&gt; To: [email protected]<br>&gt; Subject=
: Re: [nist-sip] Memory leak in nist implementation<br>&gt; CC: jbemmel@zon=
net.nl; [email protected]<br>&gt; <br>&gt; On Mon, Jun 30, 2008 at 3:1=
0 PM, Francisco Javier Tellez Vaquero<br>&gt; &lt;[email protected]=
m&gt; wrote:<br>&gt; &gt; Hello Jeroen,<br>&gt; &gt; it's the solution we h=
ave implemented at UAS side. But the problem is at the<br>&gt; &gt; other s=
ide, you send a BYE request but you don't receive response.<br>&gt; &gt;<br=
>&gt; &gt; We have tried executing 'terminate()' method at transaction leve=
l,<br>&gt; &gt; 'delete()' at dialog level, but without any result.<br>&gt;=
 &gt;<br>&gt; &gt; We see similar problem when ACK is not received.<br>&gt;=
 &gt;<br>&gt; &gt; Best Regards,<br>&gt; &gt; Fran.<br>&gt; &gt;<br>&gt; <b=
r>&gt; Francisco,<br>&gt; <br>&gt; Use a memory leak checker and make sure =
there is no reference in your<br>&gt; application to those objects that do =
not get garbage collected. If so<br>&gt; then there's nothing the stack can=
 do about it.<br>&gt; <br>&gt; If you still think there's a problem, write =
a very simple test case<br>&gt; that illustrates the problem and submit a b=
ug report and we can test<br>&gt; things out with your test case. You shoul=
d be able to reproduce this<br>&gt; problem with a very simple UAS/UAC pair=
.<br>&gt; <br>&gt; Thanks<br>&gt; <br>&gt; &gt;<br>&gt; &gt;&gt; Date: Mon,=
 30 Jun 2008 21:00:57 +0200<br>&gt; &gt;&gt; From: [email protected]<br>&gt=
; &gt;&gt; To: [email protected]<br>&gt; &gt;&gt; CC: mranga@gmail=
.com; [email protected]<br>&gt; &gt;&gt; Subject: Re: [nist-sip] Memor=
y leak in nist implementation<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; Francisco,<=
br>&gt; &gt;&gt;<br>&gt; &gt;&gt; A B2BUA application connects 2 Dialog obj=
ects together, one on the "UAS"<br>&gt; &gt;&gt; side (receiving a request)=
 and one on the "UAC" side (forwarding the<br>&gt; &gt;&gt; request)<br>&gt=
; &gt;&gt; Could it be that you are referring to the "UAS" Dialog that is n=
ever<br>&gt; &gt;&gt; destroyed?<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; From tha=
t Dialog's perspective, your application received the BYE but<br>&gt; &gt;&=
gt; never sent a 200 OK. That's different from sending out a BYE onto the<b=
r>&gt; &gt;&gt; network, and not receiving a 200 OK.<br>&gt; &gt;&gt;<br>&g=
t; &gt;&gt; The proper solution would be to implement logic in the BYE<br>&=
gt; &gt;&gt; ClientTransaction timeout handler, to still send a 200 OK for =
the BYE on<br>&gt; &gt;&gt; the "UAS" side. Alternatively, you can always i=
mmediately send 200 OK<br>&gt; &gt;&gt; when you receive a BYE, and generat=
e a BYE for the second Dialog at the<br>&gt; &gt;&gt; same time.<br>&gt; &g=
t;&gt;<br>&gt; &gt;&gt; Regards,<br>&gt; &gt;&gt; Jeroen<br>&gt; &gt;&gt;<b=
r>&gt; &gt;&gt; Francisco Javier Tellez Vaquero wrote:<br>&gt; &gt;&gt; &gt=
; Hi again,<br>&gt; &gt;&gt; &gt; we have an application running as a B2BUA=
.<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt; If we receive a BYE from an e=
nd point, we send the BYE to the other<br>&gt; &gt;&gt; &gt; point. When we=
 receive 200 response, we re-transmit it.<br>&gt; &gt;&gt; &gt;<br>&gt; &gt=
;&gt; &gt; We see sometimes this response is lost (because of network probl=
ems,<br>&gt; &gt;&gt; &gt; because of terminal, ...). The question is the d=
ialog is never<br>&gt; &gt;&gt; &gt; destroyed until application is re-star=
ted. We have wait for garbage<br>&gt; &gt;&gt; &gt; collection (application=
 is running for days).<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt; Regards.=
<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt; &gt; Dat=
e: Mon, 30 Jun 2008 14:39:30 -0400<br>&gt; &gt;&gt; &gt; &gt; From: mranga@=
gmail.com<br>&gt; &gt;&gt; &gt; &gt; To: [email protected]<br>&gt;=
 &gt;&gt; &gt; &gt; Subject: Re: [nist-sip] Memory leak in nist implementat=
ion<br>&gt; &gt;&gt; &gt; &gt; CC: [email protected]<br>&gt; &gt;&gt; =
&gt; &gt;<br>&gt; &gt;&gt; &gt; &gt; When the tx times out delete the dialo=
g and then you have to wait for<br>&gt; &gt;&gt; &gt; &gt; the garbage coll=
ection to run before you check for leak.<br>&gt; &gt;&gt; &gt; &gt;<br>&gt;=
 &gt;&gt; &gt; &gt; Ranga.<br>&gt; &gt;&gt; &gt; &gt;<br>&gt; &gt;&gt; &gt;=
 &gt; On Mon, Jun 30, 2008 at 2:32 PM, Francisco Javier Tellez Vaquero<br>&=
gt; &gt;&gt; &gt; &gt; &lt;[email protected]&gt; wrote:<br>&gt; &g=
t;&gt; &gt; &gt; &gt; Hi Ranga,<br>&gt; &gt;&gt; &gt; &gt; &gt; I agree the=
 example case is a listener bug, but think the opposite<br>&gt; &gt;&gt; &g=
t; case:<br>&gt; &gt;&gt; &gt; &gt; &gt;<br>&gt; &gt;&gt; &gt; &gt; &gt; - =
You send a BYE request but no response is received.<br>&gt; &gt;&gt; &gt; &=
gt; &gt;<br>&gt; &gt;&gt; &gt; &gt; &gt; You have no control about this poi=
nt, so the idea is trying to<br>&gt; &gt;&gt; &gt; close the<br>&gt; &gt;&g=
t; &gt; &gt; &gt; dialog anyway.<br>&gt; &gt;&gt; &gt; &gt; &gt;<br>&gt; &g=
t;&gt; &gt; &gt; &gt; BR.<br>&gt; &gt;&gt; &gt; &gt; &gt;<br>&gt; &gt;&gt; =
&gt; &gt; &gt;<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; Date: Mon, 30 Jun 2008 1=
4:09:05 -0400<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; From: [email protected]<br=
>&gt; &gt;&gt; &gt; &gt; &gt;&gt; To: [email protected]<br>&gt; &g=
t;&gt; &gt; &gt; &gt;&gt; Subject: Re: [nist-sip] Memory leak in nist imple=
mentation<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; CC: [email protected]<br=
>&gt; &gt;&gt; &gt; &gt; &gt;&gt;<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; On Mo=
n, Jun 30, 2008 at 1:55 PM, Francisco Javier Tellez Vaquero<br>&gt; &gt;&gt=
; &gt; &gt; &gt;&gt; &lt;[email protected]&gt; wrote:<br>&gt; &gt;=
&gt; &gt; &gt; &gt;&gt; &gt; Hi all,<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; &g=
t; I see sometimes not all stack objects are destroyed.<br>&gt; &gt;&gt; &g=
t; &gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; &gt; For example,=
 if you receive BYE request but no 200 response is<br>&gt; &gt;&gt; &gt; se=
nt,<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; &gt; dialog<br>&gt; &gt;&gt; &gt; &=
gt; &gt;&gt; &gt; is never closed. There're a lot of different cases (ACK's=
 lost,<br>&gt; &gt;&gt; &gt; ...).<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt;<br>&=
gt; &gt;&gt; &gt; &gt; &gt;&gt; Not sending a 200 OK to a BYE is an applica=
tion bug. Please fix<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; that.<br>&gt; &gt;=
&gt; &gt; &gt; &gt;&gt;<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; Please post a s=
pecific test case (without listener bugs) and I<br>&gt; &gt;&gt; &gt; can l=
ook<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; into it.<br>&gt; &gt;&gt; &gt; &gt;=
 &gt;&gt;<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; Ranga<br>&gt; &gt;&gt; &gt; &=
gt; &gt;&gt;<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;=
 &gt; &gt;&gt; &gt; I have tried to free memory executing 'terminate()' and=
/or<br>&gt; &gt;&gt; &gt; 'delete()'<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; &g=
t; methods in both transaction and dialog objects but without any<br>&gt; &=
gt;&gt; &gt; result.<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; &gt;<br>&gt; &gt;&=
gt; &gt; &gt; &gt;&gt; &gt; Is there any way to force to free these objects=
 (timers, dialogs,<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; &gt; transactions, .=
..) ?<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt; &gt; &=
gt;&gt; &gt; Regards.<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; &gt;<br>&gt; &gt;=
&gt; &gt; &gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; &gt;<br>&g=
t; &gt;&gt; &gt; &gt; &gt;&gt; &gt; ________________________________<br>&gt=
; &gt;&gt; &gt; &gt; &gt;&gt; &gt; Tecnolog=EDa, moda, motor, viajes,.suscr=
=EDbete a nuestros<br>&gt; &gt;&gt; &gt; boletines para<br>&gt; &gt;&gt; &g=
t; &gt; &gt;&gt; &gt; estar<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; &gt; siempr=
e a la =FAltima MSN Newsletters<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; &gt; __=
_____________________________________________<br>&gt; &gt;&gt; &gt; &gt; &g=
t;&gt; &gt; nist-sip mailing list<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; &gt; =
[email protected]<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; &gt; http://www-=
x.antd.nist.gov/mailman/listinfo/nist-sip<br>&gt; &gt;&gt; &gt; &gt; &gt;&g=
t; &gt;<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt; &gt;=
 &gt;&gt;<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt;<br>&gt; &gt;&gt; &gt; &gt; &g=
t;&gt;<br>&gt; &gt;&gt; &gt; &gt; &gt;&gt; --<br>&gt; &gt;&gt; &gt; &gt; &g=
t;&gt; M. Ranganathan<br>&gt; &gt;&gt; &gt; &gt; &gt;<br>&gt; &gt;&gt; &gt;=
 &gt; &gt; ________________________________<br>&gt; &gt;&gt; &gt; &gt; &gt;=
 Sigue los principales acontecimientos deportivos en directo. MSN<br>&gt; &=
gt;&gt; &gt; &gt; &gt; Motor<br>&gt; &gt;&gt; &gt; &gt;<br>&gt; &gt;&gt; &g=
t; &gt;<br>&gt; &gt;&gt; &gt; &gt;<br>&gt; &gt;&gt; &gt; &gt; --<br>&gt; &g=
t;&gt; &gt; &gt; M. Ranganathan<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt;=
 ------------------------------------------------------------------------<b=
r>&gt; &gt;&gt; &gt; Sigue al minuto las principales noticias de tu ciudad =
MSN Deportes<br>&gt; &gt;&gt; &gt; &lt;http://deportes.es.msn.com/&gt;<br>&=
gt; &gt;&gt; &gt; ---------------------------------------------------------=
---------------<br>&gt; &gt;&gt; &gt;<br>&gt; &gt;&gt; &gt; _______________=
________________________________<br>&gt; &gt;&gt; &gt; nist-sip mailing lis=
t<br>&gt; &gt;&gt; &gt; [email protected]<br>&gt; &gt;&gt; &gt; http:/=
/www-x.antd.nist.gov/mailman/listinfo/nist-sip<br>&gt; &gt;&gt; &gt;<br>&gt=
; &gt;<br>&gt; &gt; ________________________________<br>&gt; &gt; Tecnolog=
=EDa, moda, motor, viajes,.suscr=EDbete a nuestros boletines para estar<br>=
&gt; &gt; siempre a la =FAltima MSN Newsletters<br>&gt; <br>&gt; <br>&gt; <=
br>&gt; -- <br>&gt; M. Ranganathan<br><br /><hr />Sigue al minuto las princ=
ipales noticias de tu ciudad <a href=3D'http://deportes.es.msn.com/' target=
=3D'_new'>MSN Deportes</a></body>
</html>=

--_b38ca645-0685-4a8e-a6f3-b3ce2c4ecd7a_--

--===============0331377478391258060==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
nist-sip mailing list
[email protected]
http://www-x.antd.nist.gov/mailman/listinfo/nist-sip

--===============0331377478391258060==--