membrane_rtc_engine icon indicating copy to clipboard operation
membrane_rtc_engine copied to clipboard

An error occurred while parsing RTP packet

Open iihres opened this issue 4 years ago • 4 comments

Hi. I get an error while waiting for a response from a participant. What could be the reason for this? The error is repeated during the connection.

i am using 2 pc on local network for testing

[warn] [{:srtp_decryptor, #Reference<0.3821044555.2247622657.249818>}] Couldn't unprotect rtp packet: <<1, 1, 0, 56, 33, 18, 164, 66, 144, 45, 192, 226, 17, 180, 172, 130, 190, 188, 15, 235, 0, 32, 0, 20, 0, 2, 178, 244, 1, 19, 172, 226, 98, 74, 99, 227, 220, 80, 35, 19, 24, 238, 8, 211, 0, 8, 0, 20, 188, 185, 121, 86, 29, 16, 198, 89, 62, 60, 53, 232, 105, 183, 93, 143, 98, 99, 126, 242, 128, 40, 0, 4, 70, 146, 114, 110>> Reason: :auth_fail. Ignoring packet.

[warn] [:depayloader] An error occurred while parsing RTP packet. Reason: invalid_first_packet Packet: %Membrane.Buffer{metadata: %{rtp: %{csrcs: [], extension: nil, marker: true, payload_type: 98, sequence_number: 12961, ssrc: 2106802986, timestamp: 3516596918}, timestamp: 102400000000}, payload: <<128, 128, 163, 233, 49, 252, 80, 35, 146, 207, 180, 254, 6, 141, 123, 75, 61, 247, 31, 62, 240, 243, 174, 108, 164, 75, 78, 54, 109, 181, 223, 199, 133, 140, 191, 93, 61, 172, 235, 58, 30, 94, 31, 191, 7, 119, 47, 64, 16, 4, 86, 34, 112, 124, 17, 247, 165, 194, 146, 18, 2, 205, 59, 255, 240, 168, 176, 100, 231, 17, 77, 232, 163, 14, 51, 78, 241, 198, 10, 191, 115, 57, 37, 217, 47, 181, 105, 166, 42, 171, 24, 147, 135, 181, 250, 90, 62, 30, 254, 169, 199, 231, 47, 179, 177, 176, 142, 55, 80, 133, 188, 254, 44, 63, 52, 92, 226, 234, 165, 64, 80, 111, 32, 16, 39, 118, 239, 96, 189, 242, 60, 158, 188, 243, 120, 138, 202, 10, 215, 230, 74, 17, 234, 220, 32, 143, 139, 111, 106, 32, 223, 214, 213, 2, 91, 113, 29, 206, 189, 157, 53, 198, 67, 198, 130, 193, 92, 43, 236, 1, 58, 160, 229, 36, 174, 50, 125, 185, 220, 248, 21, 217, 100, 91, 102, 30, 116, 22, 113, 98, 136, 28, 127, 200, 32, 213, 16, 185, 121, 40, 204, 236, 180, 166, 92, 101, 253, 182, 164, 146, 191, 43, 27, 92, 100, 247, 227, 11, 241, 125, 101, 18, 7, 11, 165, 232, 16, 185, 178, 157, 186, 189, 15, 197, 147, 137, 158, 111, 44, 208, 179, 32, 120, 96, 166, 10, 11, 36, 199, 136, 215, 240, 96, 105, 228, 128, 99, 127, 163, 149, 107, 217, 113, 217, 253, 59, 220, 137, 72, 173, 5, 186, 162, 18, 103, 11, 183, 68, 27, 19, 128, 174, 67, 107, 219, 145, 7, 214, 6, 158, 0, 56, 223, 42, 137, 108, 18, 156, 12, 54, 139, 128, 168, 71, 84, 206, 172, 171, 214, 137, 55, 49, 13, 157, 2, 89, 119, 215, 157, 54, 209, 125, 87, 169, 173, 52, 166, 118, 99, 255, 19, 119, 73, 149, 149, 196, 127, 146, 46, 193, 103, 238, 82, 90, 229, 7, 120, 100, 42, 166, 143, 29, 197, 118, 194, 200, 69, 254, 58, 36, 230, 2, 212, 221, 134, 242, 84, 47, 65, 173, 168, 95, 250, 191, 73, 245, 86, 124, 176, 107, 137, 123, 228, 150, 146, 78, 214, 242, 102, 157, 245, 235, 225, 59, 14, 41, 63, 138, 212, 177, 27, 13, 19, 1, 131, 219, 14, 26, 108, 148, 19, 223, 34, 24, 154, 49, 171, 171, 20, 161, 245, 35, 42, 176, 213, 10, 13, 213, 65, 55, 160, 19, 46, 235, 7, 140, 228, 144, 248, 245, 43, 49, 154, 212, 204, 21, 236, 56, 133, 23, 34, 216, 211, 191, 172, 110, 233, 112, 193, 136, 172, 10, 81, 155, 142, 2, 192, 90, 80, 236, 28, 191, 231, 53, 181, 34, 238, 206, 142, 46, 117, 138, 104, 40, 168, 164, 218, 6, 111, 142, 173, 70, 44, 104, 206, 235, 17, 104, 231, 190, 162, 106, 146, 173, 65, 215, 251, 253, 178, 141, 182, 175, 228, 65, 158, 138, 53, 171, 91, 146, 39, 210, 229, 43, 234, 223, 51, 86, 215, 35, 109, 225, 70, 101, 238, 52, 86, 201, 245, 97, 190, 227, 83, 206, 101, 118, 182, 41, 71, 165, 67, 131, 228, 156, 33, 214, 52, 129, 238, 42, 123, 9, 160, 234, 111, 254, 133, 209, 34, 252, 5, 211, 155, 210, 1, 12, 196, 223, 202, 104, 240, 79, 208, 113, 2, 139, 145, 46, 220, 114, 251, 146, 150, 173, 116, 113, 70, 79, 41, 212, 50, 0>>}

Sometimes [warn] [{:rtp_parser, #Reference<0.3949617156.2087714817.7805>}] Received packet loss indicator RTCP packet

Operating System: Ubuntu 20.04.2 LTS Kernel: Linux 5.11.0-25-generic Architecture: x86-64

iihres avatar Aug 11 '21 08:08 iihres

Hi @iihres, does it crash application? I think that we see the same warnings and you shouldn't be worried about them

mickel8 avatar Aug 11 '21 09:08 mickel8

[warn] [{:srtp_decryptor, #Reference<0.3821044555.2247622657.249818>}] Couldn't unprotect rtp packet:
<<1, 1, 0, 56, 33, 18, 164, 66, 144, 45, 192, 226, 17, 180, 172, 130, 190, 188, 15, 235, 0, 32, 0, 20, 0, 2, 178, 244, 1, 19, 172, 226, 98, 74, 99, 227, 220, 80, 35, 19, 24, 238, 8, 211, 0, 8, 0, 20, 188, 185, 121, 86, 29, 16, 198, 89, 62, 60, 53, 232, 105, 183, 93, 143, 98, 99, 126, 242, 128, 40, 0, 4, 70, 146, 114, 110>>
Reason: :auth_fail. Ignoring packet.

This might be interesting. Does it repeat or it occurs only at the beginning of the communication?

mickel8 avatar Aug 11 '21 09:08 mickel8

After this message, the buffer overflows and crashes.

[warn] [{:srtp_decryptor, #Reference<0.2083819021.4116709377.217648>}] Terminating element possibly not prepared for termination as it was in state :playing. Reason: {%RuntimeError{message: "InputBuffer :input (toilet): Toilet overflow.\n\nReached the size of 161,\nwhich is above fail level when storing data from output working in push mode.\nTo have control over amount of buffers being produced, consider using pull mode.\nIf this is a normal situation, increase warn/fail size in buffer options.\n\nSee `Membrane.Core.Inpu>

State: %Membrane.Core.Element.State{ controlling_pid: #PID<0.4894.0>, delayed_demands: #MapSet<[]>, internal_state: %{ policies: [], srtp: {ExLibSRTP, #Reference<0.2083819021.4116840449.217761>} }, module: Membrane.SRTP.Decryptor, name: {:srtp_decryptor, #Reference<0.2083819021.4116709377.217648>},

iihres avatar Aug 11 '21 10:08 iihres

I think the whole problem is in the certificates. In a prod environment, they are connected via nginx (proxy). Do I need to connect them directly? Are there any recommendations for connecting certificates?

iihres avatar Aug 11 '21 15:08 iihres