public void ParseSrtpPacketLibSrtp() { var ctx = new SrtpContext(); ctx.SetMasterKeys( BufferPrimitives.ParseHexStream("00000000000000000000000000000000"), BufferPrimitives.ParseHexStream("0000000000000000000000000000"), BufferPrimitives.ParseHexStream("E1F97A0D3E018BE0D64FA32C06DE4139"), BufferPrimitives.ParseHexStream("0EC675AD498AFEEBB6960B3AABE6")); if (ctx.TryParseSrtpPacket( BufferPrimitives.ParseHexStream("800F1234DECAFBADCAFEBABE4E55DC4CE79978D88CA4D215949D2402B78D6ACC99EA179B8DBB"), out var rtpPacket) != RtpPacket.ResultCodes.Ok) { Assert.Fail("Cannot unpack srtpPacket"); } CollectionAssert.AreEqual( BufferPrimitives.ParseHexStream("ABABABABABABABABABABABABABABABAB"), rtpPacket.Payload); }
public void ParseSrtpPacketReal() { var ctx = new SrtpContext(); ctx.SetMasterKeys( BufferPrimitives.ParseHexStream("00000000000000000000000000000000"), BufferPrimitives.ParseHexStream("0000000000000000000000000000"), BufferPrimitives.ParseHexStream("F4741D27D75AAEA76ABCCA98C03DB931"), BufferPrimitives.ParseHexStream("F4C375B9F90823019060B3FC3AC5")); if (ctx.TryParseSrtpPacket( BufferPrimitives.ParseHexStream("8080488070C7E0A6B695617903141F73CAF634C2F9B2D0FA909C1CC5D5EEECF02A27C118735D9FEACE9B7D37FE29FBAB5D4D2F2A8EB1B6C7AECE93703211BA40BF4706D084655A6DD0B2398FA2A213405C794908E24B99DB901072E1E165B0A6AAB086B704D5176373F72297E2CA3786B7240DF14F97C065DCD29F040E0F184680CA4E1F93B948495BC8D485C8B484C558D9A11BA0C0001B176F2CA09DFF327FF2FB2AE314BF52F22AEC34A96269E7D5775AE92DDF4C"), out var rtpPacket) != RtpPacket.ResultCodes.Ok) { Assert.Fail("Cannot unpack srtpPacket"); } CollectionAssert.AreEqual( Enumerable.Range(0, 160).Select(_ => (byte)0xff), rtpPacket.Payload); if (ctx.TryParseSrtpPacket( BufferPrimitives.ParseHexStream("8000488170C7E146B6956179F2193668F88A223F3A40560D876E837CD178256CE01CEB847A2134FC03213F4D57D728C331678E2C4F5DCA0CBBDFE67140D0C0D85921219EDAFCEDA30B03B86830DB045CFED45AF34E004194ACCA9121F22303DE57BC72B1783C86E64DFC92940CD254BA4A996EF73837BD56018DF1FF1F4D9F41946BF268584B6276F09F32DFD361201B84DA439DDA0A076AC36D2840263C39B90114F938E1CEFAA3ED3DD430025298DE15F0D406078A"), out rtpPacket) != RtpPacket.ResultCodes.Ok) { Assert.Fail("Cannot unpack srtpPacket"); } CollectionAssert.AreEqual( Enumerable.Range(0, 160).Select(_ => (byte)0xff), rtpPacket.Payload); if (ctx.TryParseSrtpPacket( BufferPrimitives.ParseHexStream("8000488270C7E1E6B69561797C9C3C5FE6854AA81AEF920F7B771FCED9C04B0E2E84216C4D84757E9E98E05232140CA3BD19DA26EF6581AE4E5CAAC13032F4889E7EBFAC7391EEA5B250C48D7779C1F6E4D6DFEB63CACD2105819B2A6A322D46FE726876891927725256B017877D59AB5FEFFDFDB51190C6A02649D198F2C6ECA54402EDCA4DE9C73F41992ABE1B259470AC6AB0A6EC8E462A001A129FF38589EC8C781272D8BBC14AD2D2365C6CBA8A18FE080F5150"), out rtpPacket) != RtpPacket.ResultCodes.Ok) { Assert.Fail("Cannot unpack srtpPacket"); } CollectionAssert.AreEqual( Enumerable.Range(0, 160).Select(_ => (byte)0xff), rtpPacket.Payload); }
public void PackSrtpPacketLibSrtp() { var ctx = new SrtpContext(); ctx.SetMasterKeys( BufferPrimitives.ParseHexStream("E1F97A0D3E018BE0D64FA32C06DE4139"), BufferPrimitives.ParseHexStream("0EC675AD498AFEEBB6960B3AABE6"), BufferPrimitives.ParseHexStream("00000000000000000000000000000000"), BufferPrimitives.ParseHexStream("0000000000000000000000000000")); var rtpPacket = new RtpPacket { Payload = BufferPrimitives.ParseHexStream("ABABABABABABABABABABABABABABABAB"), PayloadType = 0x0F, SequenceNumber = 0x1234, Ssrc = 0xCAFEBABE, Timestamp = 0xDECAFBAD, }; CollectionAssert.AreEqual( BufferPrimitives.ParseHexStream("800F1234DECAFBADCAFEBABE4E55DC4CE79978D88CA4D215949D2402B78D6ACC99EA179B8DBB"), ctx.PackSrtpPacket(rtpPacket)); }