Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DTLS: last handshake flight cannot be retransmitted in rtpengine #1796

Open
wenjuntest opened this issue Feb 19, 2024 · 0 comments
Open

DTLS: last handshake flight cannot be retransmitted in rtpengine #1796

wenjuntest opened this issue Feb 19, 2024 · 0 comments
Labels

Comments

@wenjuntest
Copy link

rtpengine version the issue has been seen with

No response

Used distribution and its version

No response

Linux kernel version used

No response

CPU architecture issue was seen on (see uname -m)

None

Expected behaviour you didn't see

As a DTLS server, RTP engine should retransmit the last flight to client if the last flight is lost on network.

Unexpected behaviour you saw

As a DTLS server, RTP engine does not retransmit the last flight to client if the last flight is lost on network.
That will cause DTLS handshake failure.

Steps to reproduce the problem

Use an openssl as client, build DTLS connection with RTP engine, and set packet lost to 30% from RTP engine to client.
sometimes, DTLS handshake cannot be built correctly.

Additional program output to the terminal or logs illustrating the issue

Same issue with detailed description: https://github.com/pion/dtls/issues/479

Anything else?

It is easily to fix this issue, RTPengine cache the last flight (type == SSL3_MT_NEWSESSION_TICKET) before sending to client, if client re-sends the last DTLS message to RTP engine, RTP engine can retransmit the cached last flight to client.

@wenjuntest wenjuntest added the bug label Feb 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant