[asterisk-dev] No MTU discovery and packet sizing in DTLS implementation by RTP engine (res_rtp_asterisk) which leads to IP fragmentation

Mohit Dhiman mohitdhiman736 at gmail.com
Fri Apr 19 05:29:03 CDT 2019


As per the RFC 4347 section-4.1.1
<https://tools.ietf.org/html/rfc4347#section-4.1.1>

   Each DTLS record MUST fit within a single datagram.  In order to
   avoid IP fragmentation [MOGUL], DTLS implementations SHOULD determine
   the MTU and send records smaller than the MTU.  DTLS implementations
   SHOULD provide a way for applications to determine the value of the
   PMTU (or, alternately, the maximum application datagram size, which
   is the PMTU minus the DTLS per-record overhead).  If the application
   attempts to send a record larger than the MTU, the DTLS
   implementation SHOULD generate an error, thus avoiding sending a
   packet which will be fragmented.
But i think that res_rtp_asterisk's implementation of DTLS does not
ensures the DTLS record size to be less than MTU
and because of this i am getting IP fragmentation of DTLS packets
which is causing problems with certain ISPs while using WebRTC.

can someone please confirm this, and if it is true that asterisk's RTP
engine does not ensure application layer fragmentation of DTLS
then is there some specific reason behind this implementation?Thanks
and regards,
Mohit
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20190419/3fcc6353/attachment.html>


More information about the asterisk-dev mailing list