HI,
I will respond here instead of my original thread about this same topic.
I have the same results you are getting. What confuses me is that chrome stays in the "checking" state even after it appears to have selected it candidates. Using wireshark, I verified that the connectivity checks succeeded, that is, each endpoint exchanged binding requests and success responses. I also noticed that the DTLS handshake using the selected address:ports was indeed started by the chrome client.
So my conclusion was that chrome might not be transitioning connectivity states based only on ICE processing. I still do not know for certain if that is actually true, but it appears so to me because I can proceed with the DTLS handshake even while the chrome state remains stuck in "checking." So for me, even though this issue and confusion remains, I moved on to working on the DTLS processing/coding in my server because the chrome client was giving me enough correct responses to continue developing that functionality.
The point I am at now, is that, I can successfully complete the DTLS handshake and both my server and the chrome client exchange the DTLS Finished messages. But the chrome client is still stuck in the "checking" state even though the DTLS handshake has completed successfully. So again for me, even though this issue and confusion remains, I have moved on to working on the SRTP processing/coding in my server. My thinking is that perhaps the chrome client will stay in the "checking" state until it receives my first SRTP media pkt, but I obvious will not know for certain until I get my SRTP processing/coding working successfully.
So perhaps you can do as I have done, that is, assume for now that what we are observing is "normal" behavior for chrome, at least until someone who actually knows for sure tells us otherwise.
-Andres