ACK sent too soon?

Becky McElroy <[email protected]>
Newsgroups gmane.comp.voip.nist-sip
Message-ID <[email protected]>
Hi -

There seems to be an interesting behavior with the SIP stack where if 
the application
sends an ACK too quickly (upon getting back 200-OK after sending 
INVITE), it
seems the client side dialog state hasn't been updated yet from EARLY to 
CONFIRMED
as a result of the 200-OK, so the ACK sending attempt gets this error:
   
    javax.sip.SipException: Bad dialog state Early Dialog

The application code that executes upon reception of the 200-OK looks 
like this:

            Thread.sleep(100);
            Request ack = dialog.createRequest(Request.ACK);
            parent.addAuthorizations(callId.getCallId(), ack);
            dialog.sendAck(ack);

For the scenario where the error happens, the trace is below - if the 
sleep timer is changed from 100 to 1000 the error didn't happen.

Any hints appreciated!
Thanks,
Becky

PS. The nist stack (latest 1.2) used here was a snapshot from early June 
timeframe.

--------------------------------------------------------------------

<!-- Use the Trace Viewer in src/tools/tracesviewer to view this trace  
Here are the stack configuration properties  
javax.sip.IP_ADDRESS= 172.16.40.38 
javax.sip.STACK_NAME= testAgent 
javax.sip.ROUTER_PATH= null 
javax.sip.OUTBOUND_PROXY= null 
javax.sip.RETRANSMISSION_FILTER= null 
--> 
<description 
logDescription="testAgent" 
name="172.16.40.38" /> 
 
<message 
from="172.16.40.38:5060"  
to="172.16.100.164:5060"  
time="1157425082618"  
isSender="true"  
transactionId="z9hg4bke489cea93bff84317a12ef358d20c0dd"  
callId="[email protected]" 
<mailto:[email protected]%22>;  
firstLine="INVITE sip:[email protected] <mailto:[email protected]> 
SIP/2.0"  
debugLine="42"  
 > 
<![CDATA[INVITE sip:[email protected] <mailto:[email protected]> 
SIP/2.0 
Call-ID: [email protected] 
<mailto:[email protected]> 
CSeq: 1 INVITE 
From: <sip:[email protected]>;tag=1968514642 
<mailto:[email protected]%3E;tag=1968514642> 
To: <sip:[email protected] <mailto:[email protected]>> 
Via: SIP/2.0/UDP 
172.16.40.38:5060;branch=z9hG4bKe489cea93bff84317a12ef358d20c0dd 
Max-Forwards: 70 
Contact: <sip:[email protected]:5060;transport=udp;lr 
<mailto:[email protected]:5060;transport=udp;lr>> 
Route: <sip:172.16.100.164:5060;transport=tcp;lr> 
Content-Length: 0 
 
]]> 
</message> 
 
<message 
from="172.16.100.164:1314"  
to="172.16.40.38:5060"  
time="1157425082712"  
isSender="false"  
statusMessage="before processing"  
transactionId="z9hg4bke489cea93bff84317a12ef358d20c0dd"  
firstLine="SIP/2.0 100 Trying"  
callId="[email protected]" 
<mailto:[email protected]%22>;  
debugLine="83"  
 > 
<![CDATA[SIP/2.0 100 Trying 
Via: SIP/2.0/UDP 
172.16.40.38:5060;branch=z9hG4bKe489cea93bff84317a12ef358d20c0dd 
From: <sip:[email protected]>;tag=1968514642 
<mailto:[email protected]%3E;tag=1968514642> 
To: <sip:[email protected] <mailto:[email protected]>> 
Call-ID: [email protected] 
<mailto:[email protected]> 
CSeq: 1 INVITE 
Contact: <sip:172.16.100.164;transport=udp> 
Content-Length: 0 
 
]]> 
</message> 
 
<message 
from="172.16.100.164:1314"  
to="172.16.40.38:5060"  
time="1157425082727"  
isSender="false"  
statusMessage="before processing"  
transactionId="z9hg4bke489cea93bff84317a12ef358d20c0dd"  
firstLine="SIP/2.0 180 Ringing"  
callId="[email protected]" 
<mailto:[email protected]%22>;  
debugLine="125"  
 > 
<![CDATA[SIP/2.0 180 Ringing 
Via: SIP/2.0/UDP 
172.16.40.38:5060;branch=z9hG4bKe489cea93bff84317a12ef358d20c0dd 
From: <sip:[email protected]>;tag=1968514642 
<mailto:[email protected]%3E;tag=1968514642> 
To: <sip:[email protected] <mailto:[email protected]>> 
Call-ID: [email protected] 
<mailto:[email protected]> 
CSeq: 1 INVITE 
Contact: <sip:172.16.100.164;transport=udp> 
Content-Length: 0 
 
]]> 
</message> 
 
<message 
from="172.16.100.164:1314"  
to="172.16.40.38:5060"  
time="1157425083087"  
isSender="false"  
statusMessage="before processing"  
transactionId="z9hg4bke489cea93bff84317a12ef358d20c0dd"  
firstLine="SIP/2.0 200 Ok"  
callId="[email protected]" 
<mailto:[email protected]%22>;  
debugLine="190"  
 > 
<![CDATA[SIP/2.0 200 Ok 
Via: SIP/2.0/UDP 
172.16.40.38:5060;branch=z9hG4bKe489cea93bff84317a12ef358d20c0dd 
From: <sip:[email protected]>;tag=1968514642 
<mailto:[email protected]%3E;tag=1968514642> 
To: <sip:[email protected]>;tag=ds-3106-2cb5 
<mailto:[email protected]%3E;tag=ds-3106-2cb5> 
Call-ID: [email protected] 
<mailto:[email protected]> 
CSeq: 1 INVITE 
Content-Type: application/sdp 
Contact: <sip:[email protected]:5060;transport=udp 
<mailto:[email protected]:5060;transport=udp>> 
Allow: INVITE,ACK,BYE,CANCEL,NOTIFY,INFO,OPTIONS 
Supported: 
User-Agent: Nuance/-b058-win2k 
Content-Length: 201 
 
]]> 
</message>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.