<div dir="auto">Thanks Matt for the clarification.<div dir="auto"><br></div><div dir="auto">Its kind of causing problem for me, the problem is not that big though.</div><div dir="auto"><br></div><div dir="auto">I am really looking forward to work on this particular topic.</div><div dir="auto"><br></div><div dir="auto">Thanks and Regards, </div><div dir="auto">Mohit</div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, 19 Apr 2019, 7:53 pm Matt Fredrickson, <<a href="mailto:creslin@digium.com">creslin@digium.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Fri, Apr 19, 2019 at 5:29 AM Mohit Dhiman <<a href="mailto:mohitdhiman736@gmail.com" target="_blank" rel="noreferrer">mohitdhiman736@gmail.com</a>> wrote:<br>
><br>
> As per the RFC 4347 section-4.1.1<br>
><br>
>    Each DTLS record MUST fit within a single datagram.  In order to<br>
>    avoid IP fragmentation [MOGUL], DTLS implementations SHOULD determine<br>
>    the MTU and send records smaller than the MTU.  DTLS implementations<br>
>    SHOULD provide a way for applications to determine the value of the<br>
>    PMTU (or, alternately, the maximum application datagram size, which<br>
>    is the PMTU minus the DTLS per-record overhead).  If the application<br>
>    attempts to send a record larger than the MTU, the DTLS<br>
>    implementation SHOULD generate an error, thus avoiding sending a<br>
>    packet which will be fragmented.<br>
><br>
> But i think that res_rtp_asterisk's implementation of DTLS does not ensures the DTLS record size to be less than MTU<br>
> and because of this i am getting IP fragmentation of DTLS packets which is causing problems with certain ISPs while using WebRTC.<br>
><br>
> can someone please confirm this, and if it is true that asterisk's RTP engine does not ensure application layer fragmentation of DTLS<br>
> then is there some specific reason behind this implementation?<br>
<br>
We looked into this a while ago, and as I recall, the SSL library<br>
didn't have a good way of doing fragmentation internally so that would<br>
require us at an application layer to fragment DTLS packets properly.<br>
It seemed like it was going to be quite a bit of work at the time and<br>
the current implementation works for a lot of people.  More<br>
importantly though, nobody else has taken on the task to improve it,<br>
so thus, it does not exist yet :-)<br>
<br>
The path MTU detection was another dimension to this that needed to be<br>
worked on as well.<br>
<br>
-- <br>
Matthew Fredrickson<br>
Digium - A Sangoma Company | Asterisk Project Lead<br>
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA<br>
<br>
-- <br>
_____________________________________________________________________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" rel="noreferrer noreferrer" target="_blank">http://www.api-digital.com</a> --<br>
<br>
asterisk-dev mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
   <a href="http://lists.digium.com/mailman/listinfo/asterisk-dev" rel="noreferrer noreferrer" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-dev</a></blockquote></div>