The first Ack carrying Confirm
options is #412, answering Response #428. Until the server-Ack #429
arrives (packet 7), the
client remains in PARTOPEN. The DataAck #414
has too little room for the 20 bytes of feature-negotiation options
(due to a payload size of 1420
bytes), hence the client sends the
second Ack, #413, to carry the Confirm
options.
The Ack #429 by the server is a cumulative
acknowledgment with an Ack Vector of run length 2, i.e. down to
#413. Since Ack Vectors are relative only to OPEN state, this shows
that the server entered OPEN state as expected when receiving Ack #412.
So this second Ack saved the day for the connection. Had it not been
used, packet 5 would have been dropped due to over-length. In CCID-3
this causes ugly throughput reduction due to packet loss.
On the other hand, if Ack #412 had been lost, the second Ack #413 would
have allowed the server to enter OPEN and carry on as if nothing had
happened. If the second Ack were lost too, it may be time to get a cup
of coffee and try to dial in again...