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

"ssrcReceiver not found" when use it to replace the browser RTCPeerConnection #356

Open
tylerlong opened this issue Nov 30, 2023 · 1 comment

Comments

@tylerlong
Copy link

tylerlong commented Nov 30, 2023

I created a test app here https://github.com/tylerlong/ringcentral-webrtc-test

There are two version:

For the two versions, almost everything is identical, except the the browser version uses RTCPeerConnection provided by browser while werift version used the RTCPeerConnection provided by werift.

The browser version works likes a charm.

While the werift version throws a lot of "ssrcReceiver not found" error.

I know that werift may not be used as an out-of-box replacement for the browser webRTC, kindly tell me how to fix this issue. Many thanks!

Update: I have found something:

  • The offer SDP doesn't have a ssrc line.
  • And the a=rtcp:48037 line doesn't have a IP address. (not sure this matters)

And werift still tries to use the ssrc which doesn't exist in sdp offer.

Detailed debug logs:

Receiving...
INVITE sip:e664ac84-ee3f-41d4-a0fc-cf5dd9aed7c5@d65e8a37-7124-40d9-88a1-bab10ec022eb.invalid;transport=ws SIP/2.0
Via: SIP/2.0/WSS 104.245.57.178:8083;branch=z9hG4bK7UkS4cbfW1s
To: "WIRELESS CALLER" <sip:17203861294*[email protected]>
From: "WIRELESS CALLER" <sip:[email protected]>;tag=10.13.23.184-5070-be705f32-eb5d-414f
Call-Id: 2a76cf90-8ae2-4caf-9637-a1513cd84acb
CSeq: 173856937 INVITE
Max-Forwards: 67
Content-Type: application/sdp
P-rc: <Msg><Hdr SID="36367532553848" Req="168630200152511211271115" Cmd="6" From="#[email protected]:5060" To="17203861294*11115"/><Bdy SrvLvl="-149699523" SrvLvlExt="406" Phn="+1650430xxxx" Nm="WIRELESS CALLER" ToPhn="+16504223279" ToNm="Test User" RecUrl=""/></Msg>
Allow: SUBSCRIBE, NOTIFY, REFER, INVITE, ACK, BYE, CANCEL, UPDATE, INFO
p-rc-ice-servers: [{"credential":"password","urls":["stun:sjc31-c10-hbm56.m.ringcentral.com:443","turn:sjc31-c10-hbm56.m.ringcentral.com:443?transport=tcp","turns:sjc31-c10-hbm56.m.ringcentral.com:443?transport=tcp"],"username":"user"}]
Supported: replaces, timer, diversion, histinfo
User-Agent: RC_SIPWRP_23.184
Call-Info: <[email protected]>;purpose=info
Contact: <sip:[email protected]:8083;transport=wss>
p-rc-api-ids: party-id=p-a0d17b82d7b13z18c21c414b9z5ca0c10000-2;session-id=s-a0d17b82d7b13z18c21c414b9z5ca0c10000
p-rc-api-call-info: callAttributes=reject,send-vm
p-rc-session-id: [email protected]
Content-Length: 1044

v=0
o=- 1064673365023257083 6735761771923067257 IN IP4 208.87.41.111
s=SmcSip
c=IN IP4 208.87.41.111
t=0 0
a=ice-options:ice2 trickle renomination
a=ice-pacing:50
a=ice-ufrag:AKvO
a=ice-pwd:C70ZBUSJgi2QfCglrI0RVl
a=fingerprint:sha-256 89:03:03:DE:79:84:D7:6E:2B:D4:42:F6:4E:95:7F:72:29:7C:75:77:EA:9C:82:4D:FD:FC:74:BD:A7:F2:95:F4
m=audio 48036 UDP/TLS/RTP/SAVPF 63 109 111 18 0 8 9 96 101
a=sendrecv
a=rtpmap:63 red/48000/2
a=fmtp:63 111/111
a=rtpmap:109 OPUS/16000
a=fmtp:109 useinbandfec=1;usedtx=0
a=rtpmap:111 OPUS/48000/2
a=fmtp:111 useinbandfec=1;usedtx=0
a=rtpmap:18 g729/8000
a=fmtp:18 annexb=no
a=rtpmap:0 pcmu/8000
a=rtpmap:8 pcma/8000
a=rtpmap:9 g722/8000
a=rtpmap:96 ilbc/8000
a=fmtp:96 mode=20
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=rtcp-fb:109 ccm tmmbr
a=rtcp-fb:111 ccm tmmbr
a=mid:0
a=setup:actpass
a=candidate:371830e3 1 UDP 4294902018 208.87.41.111 48036 typ host
a=candidate:371830e3 2 UDP 4294902531 208.87.41.111 48037 typ host
a=end-of-candidates
a=rtcp-mux
a=rtcp:48037

  werift:packages/webrtc/src/utils.ts iceOptions {
  stunServer: [ 'stun.l.google.com', 19302 ],
  turnServer: undefined,
  turnUsername: undefined,
  turnPassword: undefined
} +0ms
  werift:packages/webrtc/src/peerConnection.ts negotiated codecs [
  RTCRtpCodecParameters {
    payloadType: 109,
    mimeType: 'audio/OPUS',
    clockRate: 16000,
    channels: 1,
    rtcpFeedback: [ [RTCRtcpFeedback] ],
    parameters: 'useinbandfec=1;usedtx=0',
    direction: 'all'
  },
  RTCRtpCodecParameters {
    payloadType: 111,
    mimeType: 'audio/OPUS',
    clockRate: 48000,
    channels: 2,
    rtcpFeedback: [ [RTCRtcpFeedback] ],
    parameters: 'useinbandfec=1;usedtx=0',
    direction: 'all'
  },
  RTCRtpCodecParameters {
    payloadType: 0,
    mimeType: 'audio/pcmu',
    clockRate: 8000,
    channels: 1,
    rtcpFeedback: [],
    parameters: undefined,
    direction: 'all'
  }
] +0ms
  werift:packages/webrtc/src/media/router.ts registerRtpReceiverBySsrc {
  muxId: '0',
  rtcp: undefined,
  codecs: [
    RTCRtpCodecParameters {
      payloadType: 109,
      mimeType: 'audio/OPUS',
      clockRate: 16000,
      channels: 1,
      rtcpFeedback: [Array],
      parameters: 'useinbandfec=1;usedtx=0',
      direction: 'all'
    },
    RTCRtpCodecParameters {
      payloadType: 111,
      mimeType: 'audio/OPUS',
      clockRate: 48000,
      channels: 2,
      rtcpFeedback: [Array],
      parameters: 'useinbandfec=1;usedtx=0',
      direction: 'all'
    },
    RTCRtpCodecParameters {
      payloadType: 0,
      mimeType: 'audio/pcmu',
      clockRate: 8000,
      channels: 1,
      rtcpFeedback: [],
      parameters: undefined,
      direction: 'all'
    }
  ],
  headerExtensions: [],
  encodings: [
    RTCRtpCodingParameters {
      ssrc: undefined,
      payloadType: 0,
      rtx: undefined
    },
    RTCRtpCodingParameters {
      ssrc: undefined,
      payloadType: 109,
      rtx: undefined
    },
    RTCRtpCodingParameters {
      ssrc: undefined,
      payloadType: 111,
      rtx: undefined
    }
  ]
} +0ms
  werift-ice : packages/ice/src/ice.ts : log setRemoteParams {
  iceLite: undefined,
  usernameFragment: 'AKvO',
  password: 'C70ZBUSJgi2QfCglrI0RVl'
} +0ms
  werift-ice : packages/ice/src/ice.ts : log addRemoteCandidate Candidate {
  foundation: '371830e3',
  component: 1,
  transport: 'UDP',
  priority: 4294902018,
  host: '208.87.41.111',
  port: 48036,
  type: 'host',
  relatedAddress: undefined,
  relatedPort: undefined,
  tcptype: undefined,
  generation: undefined
} +0ms
  werift-ice : packages/ice/src/ice.ts : log addRemoteCandidate Candidate {
  foundation: '371830e3',
  component: 2,
  transport: 'UDP',
  priority: 4294902531,
  host: '208.87.41.111',
  port: 48037,
  type: 'host',
  relatedAddress: undefined,
  relatedPort: undefined,
  tcptype: undefined,
  generation: undefined
} +1ms
  werift:packages/webrtc/src/peerConnection.ts signalingStateChange have-remote-offer +3ms
  werift:packages/webrtc/src/peerConnection.ts iceGatheringStateChange gathering +0ms
  werift:packages/webrtc/src/peerConnection.ts iceConnectionStateChange completed +80ms
  werift:packages/webrtc/src/peerConnection.ts iceGatheringStateChange complete +1ms
  werift:packages/webrtc/src/peerConnection.ts signalingStateChange stable +33ms
  werift:packages/webrtc/src/peerConnection.ts start connect +0ms
  werift:packages/webrtc/src/peerConnection.ts connectionStateChange connecting +0ms
  werift:packages/webrtc/src/peerConnection.ts iceConnectionStateChange checking +1ms
  werift-ice : packages/ice/src/ice.ts : log start connect ice [
  Candidate {
    foundation: 'e9377c8f219590d3bce01476e',
    component: 1,
    transport: 'udp',
    priority: 2130706431,
    host: '10.32.20.81',
    port: 56075,
    type: 'host',
    relatedAddress: undefined,
    relatedPort: undefined,
    tcptype: undefined,
    generation: undefined
  },
  Candidate {
    foundation: '3f130b29c07f7475088ef28c8',
    component: 1,
    transport: 'udp',
    priority: 2130706431,
    host: 'fe80::1c8f:86ff:fe0a:7b09',
    port: 50941,
    type: 'host',
    relatedAddress: undefined,
    relatedPort: undefined,
    tcptype: undefined,
    generation: undefined
  },
  Candidate {
    foundation: '2ab62ccd6fd34b1671bdab6bd',
    component: 1,
    transport: 'udp',
    priority: 2130706431,
    host: 'fe80::aede:48ff:fe00:1122',
    port: 62408,
    type: 'host',
    relatedAddress: undefined,
    relatedPort: undefined,
    tcptype: undefined,
    generation: undefined
  },
  Candidate {
    foundation: '3f130b29c07f7475088ef28c8',
    component: 1,
    transport: 'udp',
    priority: 2130706431,
    host: 'fe80::1c8f:86ff:fe0a:7b09',
    port: 49640,
    type: 'host',
    relatedAddress: undefined,
    relatedPort: undefined,
    tcptype: undefined,
    generation: undefined
  },
  Candidate {
    foundation: '5ec5f28fc21fe104dd5af1b22',
    component: 1,
    transport: 'udp',
    priority: 1694498815,
    host: '45.62.187.76',
    port: 4172,
    type: 'srflx',
    relatedAddress: '10.32.20.81',
    relatedPort: 56075,
    tcptype: undefined,
    generation: undefined
  }
] +115ms
  werift-ice : packages/ice/src/ice.ts : log setPairState { protocol: 'stun', remoteAddr: [ '208.87.41.111', 48036 ] } WAITING +0ms
  werift-ice : packages/ice/src/ice.ts : log check start { protocol: 'stun', remoteAddr: [ '208.87.41.111', 48036 ] } +1ms
  werift-ice : packages/ice/src/ice.ts : log setPairState { protocol: 'stun', remoteAddr: [ '208.87.41.111', 48036 ] } IN_PROGRESS +0ms
Sending...
SIP/2.0 200 OK
Contact: <sip:e664ac84-ee3f-41d4-a0fc-cf5dd9aed7c5@d65e8a37-7124-40d9-88a1-bab10ec022eb.invalid;transport=ws>
Content-Type: application/sdp
Content-Length: 1284
User-Agent: ringcentral-softphone-2
Via: SIP/2.0/WSS 104.245.57.178:8083;branch=z9hG4bK7UkS4cbfW1s
From: "WIRELESS CALLER" <sip:[email protected]>;tag=10.13.23.184-5070-be705f32-eb5d-414f
Call-Id: 2a76cf90-8ae2-4caf-9637-a1513cd84acb
CSeq: 173856937 INVITE
To: "WIRELESS CALLER" <sip:17203861294*[email protected]>;tag=82cf48b7-5565-45d6-9875-5814d5810346
Supported: outbound

v=0
o=- 51083681 0 IN IP4 0.0.0.0
s=-
t=0 0
a=group:BUNDLE 0
a=extmap-allow-mixed
a=msid-semantic:WMS *
m=audio 9 UDP/TLS/RTP/SAVPF 109 111 0
c=IN IP4 0.0.0.0
a=candidate:e9377c8f219590d3bce01476e 1 udp 2130706431 10.32.20.81 56075 typ host
a=candidate:3f130b29c07f7475088ef28c8 1 udp 2130706431 fe80::1c8f:86ff:fe0a:7b09 50941 typ host
a=candidate:2ab62ccd6fd34b1671bdab6bd 1 udp 2130706431 fe80::aede:48ff:fe00:1122 62408 typ host
a=candidate:3f130b29c07f7475088ef28c8 1 udp 2130706431 fe80::1c8f:86ff:fe0a:7b09 49640 typ host
a=candidate:5ec5f28fc21fe104dd5af1b22 1 udp 1694498815 45.62.187.76 4172 typ srflx raddr 10.32.20.81 rport 56075
a=end-of-candidates
a=ice-ufrag:e44e
a=ice-pwd:d32918310be22c44577341
a=ice-options:trickle
a=fingerprint:sha-256 07:0E:8C:EB:1C:64:7B:AC:7E:26:17:55:2A:06:50:CA:98:1A:8F:02:91:A7:49:C3:24:1A:15:43:2D:F9:F9:06
a=setup:active
a=recvonly
a=mid:0
a=msid:301675cb-4670-4728-aa2d-7c7845caaa86 29ef03f5-d388-488c-8941-6dddf6551db8
a=rtcp:9 IN IP4 0.0.0.0
a=rtcp-mux
a=ssrc:431126429 cname:2a7a1a8b-d22a-419c-8fca-b38c8a2bb3a6
a=rtpmap:109 OPUS/16000
a=rtcp-fb:109 ccm tmmbr
a=fmtp:109 useinbandfec=1;usedtx=0
a=rtpmap:111 OPUS/48000/2
a=rtcp-fb:111 ccm tmmbr
a=fmtp:111 useinbandfec=1;usedtx=0
a=rtpmap:0 pcmu/8000

  werift-ice : packages/ice/src/ice.ts : log response Message {
  attributes: [
    [ 'USERNAME', 'AKvO:e44e' ],
    [ 'XOR-MAPPED-ADDRESS', [Array] ],
    [
      'MESSAGE-INTEGRITY',
      <Buffer f0 cf ef 15 a5 9c 14 ea af 86 ee 07 72 42 fb 95 84 d6 a8 ac>
    ],
    [ 'FINGERPRINT', 2856145654 ]
  ],
  messageMethod: 1,
  messageClass: 256,
  transactionId: <Buffer 16 51 25 96 94 27 a4 2e 26 62 1e fc>
} [ '208.87.41.111', 48036 ] +14ms
  werift-ice : packages/ice/src/ice.ts : log setPairState { protocol: 'stun', remoteAddr: [ '208.87.41.111', 48036 ] } SUCCEEDED +1ms
Receiving...
ACK sip:e664ac84-ee3f-41d4-a0fc-cf5dd9aed7c5@d65e8a37-7124-40d9-88a1-bab10ec022eb.invalid;transport=ws SIP/2.0
Via: SIP/2.0/WSS 104.245.57.178:8083;branch=z9hG4bKcJcnSBmvB9e
To: "WIRELESS CALLER" <sip:17203861294*[email protected]>;tag=82cf48b7-5565-45d6-9875-5814d5810346
From: "WIRELESS CALLER" <sip:[email protected]>;tag=10.13.23.184-5070-be705f32-eb5d-414f
Call-Id: 2a76cf90-8ae2-4caf-9637-a1513cd84acb
CSeq: 173856937 ACK
Max-Forwards: 69
Contact: <sip:[email protected]:8083;transport=wss>
User-Agent: RC_SIPWRP_23.184
Content-Length: 0


  werift-ice : packages/ice/src/ice.ts : log nominated { protocol: 'stun', remoteAddr: [ '208.87.41.111', 48036 ] } +15ms
  werift-ice : packages/ice/src/ice.ts : log ICE completed +0ms
  werift:packages/webrtc/src/peerConnection.ts iceConnectionStateChange connected +32ms
  werift-dtls : packages/dtls/src/socket.ts : log  support srtpProfiles [ 7, 1 ] +0ms
  werift-dtls : packages/dtls/src/client.ts : log  start client +0ms
  werift-dtls : packages/dtls/src/client.ts : log  handleHandshakes [ 2 ] +117ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  serverHello 49199 +0ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  selected cipherSuite 49199 +0ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  RenegotiationIndication +0ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  selected srtp profile 1 +0ms
  werift-dtls : packages/dtls/src/client.ts : log  handleHandshakes [ 11 ] +1ms
  werift-dtls : packages/dtls/src/client.ts : log  handleHandshakes [ 12 ] +1ms
  werift-dtls : packages/dtls/src/client.ts : log  handleHandshakes [ 14 ] +0ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  handshake certificate Certificate {
  certificateList: [
    <Buffer 30 82 02 9a 30 82 01 82 02 09 00 e8 37 46 7a 0d 46 02 21 30 0d 06 09 2a 86 48 86 f7 0d 01 01 0b 05 00 30 0f 31 0d 30 0b 06 03 55 04 03 0c 04 68 6d 70 ... 620 more bytes>
  ],
  msgType: 11,
  messageSeq: undefined
} +1ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  ServerKeyExchange ServerKeyExchange {
  ellipticCurveType: 3,
  namedCurve: 23,
  publicKeyLength: 65,
  publicKey: <Buffer 04 97 f7 b9 3a 1e 0e ae af 7c 46 0f 6d 95 4f 6a 61 66 bb b6 5c 91 f4 16 96 58 3d c0 62 31 ee 31 e0 42 0c 95 00 7e b4 91 c0 d5 cc 00 cb e3 aa 22 c0 b0 ... 15 more bytes>,
  hashAlgorithm: 4,
  signatureAlgorithm: 1,
  signatureLength: 256,
  signature: <Buffer 11 f4 55 af e0 28 b3 a5 bc 89 72 ac 9d aa 13 06 19 2d 4d 1d db e1 aa 8f ad 43 38 f1 e5 b1 86 ed 4c da 56 46 38 32 8a 30 fd fc 5a ea c1 a7 90 25 d0 8d ... 206 more bytes>,
  msgType: 12,
  messageSeq: undefined
} +0ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  selected curve 23 +1ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  server_hello_done ServerHelloDone { msgType: 14, messageSeq: undefined } +158ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  send flight5 false +1ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  extendedMasterSecret true false +13ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  cipher {
  id: 49199,
  name: 'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256',
  hashAlgorithm: 'sha256',
  verifyDataLength: 12,
  blockAlgorithm: 'aes-128-gcm',
  keyLength: 16,
  nonceLength: 12,
  ivLength: 4,
  authTagLength: 16,
  nonceImplicitLength: 4,
  nonceExplicitLength: 8,
  clientWriteKey: '0x11,0xc0,0xf6,0x05,0xcc,0xbe,0xa2,0xe8,0x58,0x31,0xf5,0xd2,0x8e,0x26,0x03,0x5a',
  serverWriteKey: '0xbd,0x37,0xcf,0x68,0xc3,0x5d,0xd9,0x89,0x5b,0x6d,0x90,0x9e,0x03,0xa4,0xdb,0x7f',
  clientNonce: '0x60,0x81,0x19,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00',
  serverNonce: '0x94,0x33,0xee,0x79,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'
} +2ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  raw finish packet {
  header: {
    contentType: 22,
    protocolVersion: { major: 254, minor: 253 },
    epoch: 1,
    sequenceNumber: 4,
    contentLen: 24
  },
  fragment: '0x14,0x00,0x00,0x0c,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x0c,0x66,0x18,0xd0,0x7d,0x39,0xe5,0x0f,0x12,0xcb,0x9d,0x58,0x58'
} [
  {
    msg_type: 1,
    length: 86,
    message_seq: 0,
    fragment_offset: 0,
    fragment_length: 86,
    fragment: '0xfe,0xfd,0x65,0x68,0xe6,0x70,0x24,0x8b,0xc4,0x63,0x0d,0x81,0x83,0xf7,0xf6,0x11,0x67,0xd9,0xf9,0x3e,0x6b,0x04,0x92,0x7e,0xc2,0x87,0x89,0xa3,0x66,0xfb,0x7c,0x96,0x93,0xab,0x00,0x00,0x00,0x04,0xc0,0x2b,0xc0,0x2f,0x01,0x00,0x00,0x28,0x00,0x0e,0x00,0x07,0x00,0x04,0x00,0x07,0x00,0x01,0x00,0x00,0x0a,0x00,0x06,0x00,0x04,0x00,0x1d,0x00,0x17,0x00,0x0d,0x00,0x06,0x00,0x04,0x04,0x01,0x04,0x03,0x00,0x17,0x00,0x00,0xff,0x01,0x00,0x01,0x00'
  },
  {
    msg_type: 2,
    length: 86,
    message_seq: 0,
    fragment_offset: 0,
    fragment_length: 86,
    fragment: '0xfe,0xfd,0xee,0x51,0x87,0x71,0x2c,0xdb,0x09,0xb8,0x74,0xb6,0x5a,0x9d,0xd0,0x58,0xbf,0x8c,0x94,0x38,0x0a,0x3a,0x86,0x26,0xfe,0xe1,0x8e,0x5e,0x7e,0x0a,0xfe,0x5e,0x9f,0x65,0x20,0x88,0x4f,0x67,0x07,0xfa,0x12,0x8f,0x31,0x28,0x05,0xbc,0xbc,0xcb,0x1f,0xd1,0x32,0xc8,0x40,0x72,0xbe,0xb0,0xff,0xd2,0xff,0x25,0x43,0x4b,0x29,0x6a,0x41,0xcd,0x36,0xc0,0x2f,0x00,0x00,0x0e,0xff,0x01,0x00,0x01,0x00,0x00,0x0e,0x00,0x05,0x00,0x02,0x00,0x01,0x00'
  },
  {
    msg_type: 11,
    length: 676,
    message_seq: 1,
    fragment_offset: 0,
    fragment_length: 676,
    fragment: '0x00,0x02,0xa1,0x00,0x02,0x9e,0x30,0x82,0x02,0x9a,0x30,0x82,0x01,0x82,0x02,0x09,0x00,0xe8,0x37,0x46,0x7a,0x0d,0x46,0x02,0x21,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x0b,0x05,0x00,0x30,0x0f,0x31,0x0d,0x30,0x0b,0x06,0x03,0x55,0x04,0x03,0x0c,0x04,0x68,0x6d,0x70,0x70,0x30,0x1e,0x17,0x0d,0x32,0x33,0x31,0x31,0x32,0x39,0x30,0x38,0x33,0x36,0x30,0x34,0x5a,0x17,0x0d,0x32,0x33,0x31,0x32,0x33,0x30,0x30,0x38,0x33,0x36,0x30,0x34,0x5a,0x30,0x0f,0x31,0x0d,0x30,0x0b,0x06,0x03,0x55,0x04,0x03,0x0c,0x04,0x68,0x6d,0x70,0x70,0x30,0x82,0x01,0x22,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x01,0x05,0x00,0x03,0x82,0x01,0x0f,0x00,0x30,0x82,0x01,0x0a,0x02,0x82,0x01,0x01,0x00,0xa2,0xab,0xf8,0x58,0x6b,0xc6,0xb2,0x01,0x48,0x2a,0xad,0xde,0xf0,0xfb,0x65,0x0d,0x3a,0x2f,0x0a,0xaf,0x22,0xc5,0xff,0xff,0x14,0xa7,0x9d,0x89,0x1e,0x59,0xb8,0x4f,0xe2,0x9b,0xac,0x99,0x3a,0xa1,0x31,0x10,0x69,0x25,0x52,0xae,0x3f,0x83,0x74,0x4c,0x30,0x59,0x1b,0x8a,0x0d,0x06,0x87,0xd2,0x0a,0xd9,0x65,0x3b,0x2f,0xcf,0x51,0xa7,0x49,0xfe,0x8d,0xc2,0xfc,0xa1,0xff,0x6e,0xe2,0x68,0xba,0x6b,0x6c,0x1b,0x3c,0x8e,0x51,0x97,0x56,0x13,0x77,0x32,0xda,0xa2,0x38,0xed,0x31,0x9d,0x15,0x8c,0x4f,0x4d,0xc2,0xef,0x1f,0xb3,0x8f,0x7c,0x0e,0xc9,0xc7,0xc8,0xac,0x40,0x8c,0x9f,0x01,0x88,0xcd,0xe4,0xb4,0x59,0xde,0x93,0x74,0x7d,0xae,0x06,0xf5,0x49,0x6c,0xe3,0x77,0xf3,0xbf,0xd0,0x9a,0x94,0xba,0xe6,0x51,0x48,0x01,0xe7,0x2d,0x3a,0xed,0xaf,0xed,0x50,0x87,0x47,0x32,0xbc,0x5f,0x02,0xc6,0x45,0x28,0xff,0x86,0x98,0xd3,0x32,0xb3,0x68,0x2a,0xa9,0xc7,0xf0,0xb1,0x72,0xaa,0x3b,0xeb,0x6d,0xc9,0x63,0x5e,0x0d,0x06,0x69,0xc7,0x13,0xc1,0xb8,0xdb,0x6a,0x64,0x73,0xc7,0x8a,0xba,0x8e,0x7e,0xe3,0x82,0x64,0xb0,0x60,0x2d,0x32,0x01,0xcb,0xdd,0x7c,0x50,0x6e,0x43,0x0f,0xf1,0x2c,0x7e,0xec,0xce,0xe8,0x43,0xeb,0xe6,0x10,0x8b,0x72,0x7e,0x2b,0x01,0x1d,0x68,0x9b,0xae,0xac,0x99,0x66,0x7a,0x83,0xb9,0x17,0x88,0x23,0x42,0x54,0xe9,0x96,0xc5,0x5b,0xf0,0x3a,0xaa,0x11,0x80,0x3c,0xdc,0x06,0x69,0x05,0xd3,0xb9,0xa5,0x91,0x90,0x9a,0xba,0xdb,0x02,0x03,0x01,0x00,0x01,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x0b,0x05,0x00,0x03,0x82,0x01,0x01,0x00,0x83,0xb5,0x5c,0x9d,0x4b,0x9f,0x83,0xcd,0xf7,0x66,0x1a,0x36,0x22,0x2a,0xa6,0x29,0x60,0x95,0x20,0xe4,0xb9,0xc6,0x2b,0x21,0x90,0xd9,0xca,0xad,0x81,0xe0,0x11,0xe6,0xc9,0xc1,0xa2,0x0b,0xc5,0xab,0x7a,0x4c,0x89,0x79,0xcb,0x08,0xa1,0x5c,0xca,0xe4,0x3c,0xa8,0x6f,0x43,0xa4,0x00,0x52,0x1b,0x58,0x52,0x01,0x62,0x7f,0x43,0x15,0x5d,0xc4,0x52,0x31,0x85,0x3c,0xf2,0x09,0x96,0xe7,0x08,0x36,0x29,0x08,0xa0,0xe6,0x63,0xf4,0x41,0xcd,0xdc,0x4a,0x92,0x11,0xaa,0x7a,0xdb,0x2e,0x28,0x60,0x3e,0xc3,0x43,0x1f,0x2a,0x58,0x23,0xbd,0x9b,0x5a,0xcf,0xa0,0xf2,0x08,0x30,0x18,0xda,0xd2,0xc6,0x8b,0x77,0x49,0xe0,0x02,0x5d,0x1b,0xb0,0xc7,0xf8,0x42,0xd5,0x1c,0x16,0x4b,0xcf,0x06,0x9b,0x2c,0x8b,0x83,0x4f,0xfc,0x3f,0x2c,0xf1,0x5d,0x54,0x61,0xba,0x88,0xc6,0xff,0x6b,0x7d,0x86,0xa4,0xb2,0x7c,0xf7,0x50,0x9e,0x39,0xb8,0xae,0x28,0xa0,0x42,0x01,0x77,0xa1,0x40,0xaa,0x03,0x97,0xf8,0xe2,0xfa,0x1e,0xf0,0x49,0xbe,0xf0,0x55,0xe2,0xaa,0xe8,0xc1,0xf9,0x54,0x27,0xe9,0x23,0x6c,0xf3,0xa8,0x68,0x91,0x63,0xba,0x7a,0xcd,0xdd,0x00,0x6b,0x15,0xfb,0x6e,0x6c,0x19,0x14,0xdc,0xa0,0x62,0xff,0x5f,0x96,0x0a,0xcf,0x7d,0x80,0xd0,0x40,0xec,0x72,0x52,0x6e,0x11,0xe2,0xcb,0x0c,0xb5,0xe9,0xda,0x55,0x6b,0x42,0x98,0xd2,0x90,0xe3,0x21,0xda,0x34,0x5a,0xc6,0x79,0x85,0xcb,0xde,0x1e,0x52,0x57,0x96,0x43,0x49,0x3e,0x49,0x04,0x83,0xf7,0xb3,0x51,0xb6'
  },
  {
    msg_type: 12,
    length: 329,
    message_seq: 2,
    fragment_offset: 0,
    fragment_length: 329,
    fragment: '0x03,0x00,0x17,0x41,0x04,0x97,0xf7,0xb9,0x3a,0x1e,0x0e,0xae,0xaf,0x7c,0x46,0x0f,0x6d,0x95,0x4f,0x6a,0x61,0x66,0xbb,0xb6,0x5c,0x91,0xf4,0x16,0x96,0x58,0x3d,0xc0,0x62,0x31,0xee,0x31,0xe0,0x42,0x0c,0x95,0x00,0x7e,0xb4,0x91,0xc0,0xd5,0xcc,0x00,0xcb,0xe3,0xaa,0x22,0xc0,0xb0,0x8d,0xdf,0xd4,0xf1,0xf7,0xa3,0x77,0x63,0x5d,0x8c,0x28,0x7b,0xc7,0x81,0x38,0x04,0x01,0x01,0x00,0x11,0xf4,0x55,0xaf,0xe0,0x28,0xb3,0xa5,0xbc,0x89,0x72,0xac,0x9d,0xaa,0x13,0x06,0x19,0x2d,0x4d,0x1d,0xdb,0xe1,0xaa,0x8f,0xad,0x43,0x38,0xf1,0xe5,0xb1,0x86,0xed,0x4c,0xda,0x56,0x46,0x38,0x32,0x8a,0x30,0xfd,0xfc,0x5a,0xea,0xc1,0xa7,0x90,0x25,0xd0,0x8d,0xb4,0xd0,0xce,0x67,0x95,0xff,0x4f,0x62,0x83,0xba,0xb4,0xbf,0xd9,0x11,0x9e,0x4f,0x13,0xe2,0xc4,0x9c,0xa2,0xfe,0x10,0x95,0xa7,0x3a,0xc5,0x1f,0xbc,0x46,0x22,0x7a,0x1b,0x9e,0x75,0xd9,0xac,0xed,0xd0,0xb5,0x4b,0xe2,0x9e,0xc4,0x0a,0xff,0x40,0x09,0xff,0xfd,0xf2,0x0d,0x22,0xb7,0x92,0x9f,0xc9,0xdb,0x18,0xa6,0x97,0x60,0x16,0xba,0xf1,0x7e,0x98,0x49,0xdc,0xbb,0x92,0x7c,0x2c,0x3a,0x13,0x7e,0x21,0x3d,0x25,0x25,0x19,0x95,0xec,0x10,0xfa,0x37,0x98,0x9f,0x8d,0x84,0x2d,0x35,0x9c,0xf4,0xa6,0x0c,0x99,0x9b,0xb8,0xc0,0xb8,0xa3,0xa4,0x3e,0xc8,0xff,0xd1,0x82,0x7c,0xb9,0xa5,0xc5,0x25,0xad,0x73,0xf2,0x6e,0x41,0x00,0x1d,0x30,0x7f,0xdc,0xe6,0xdd,0xb3,0x11,0x53,0x7c,0x4d,0x91,0x30,0xd5,0x07,0x0f,0x4e,0x02,0x22,0xd8,0x7d,0xa5,0x3b,0x02,0x97,0x0f,0x30,0xf7,0xb2,0x04,0x92,0x22,0x14,0x1a,0xad,0x3e,0xff,0x79,0x68,0xaa,0x50,0x25,0x32,0x57,0xde,0x93,0x2f,0x6b,0x12,0xb5,0x10,0x70,0x68,0x03,0xb6,0xae,0xcc,0xfa,0xfa,0x06,0xee,0xff,0x7c,0xbe,0xbc,0xa0,0xf6,0x7d,0xa8,0xaf,0x84,0x6f,0x09,0xe9,0x15,0xcf,0x41,0x23,0x79,0x2b,0xa6,0x53,0x23,0x57,0xf9,0xfd,0x05'
  },
  {
    msg_type: 14,
    length: 0,
    message_seq: 3,
    fragment_offset: 0,
    fragment_length: 0,
    fragment: '0x'
  },
  {
    msg_type: 16,
    length: 66,
    message_seq: 1,
    fragment_offset: 0,
    fragment_length: 66,
    fragment: '0x41,0x04,0xbb,0xb1,0x2b,0xac,0xf0,0x73,0xbf,0x6e,0x58,0x46,0x10,0x57,0x6a,0xef,0x4a,0xd6,0x94,0x86,0x12,0xfe,0x8f,0xc4,0x49,0x09,0xd1,0xd1,0xfb,0xb4,0x18,0x99,0x20,0x09,0x11,0x8c,0x9d,0x14,0x8c,0x78,0xee,0x82,0xe9,0x79,0x56,0xab,0xe2,0x74,0x43,0xc7,0x8a,0x65,0x89,0xfa,0x5a,0x64,0x90,0xe8,0x28,0x6b,0x07,0x3c,0x95,0xfe,0x29,0x74'
  },
  {
    msg_type: 20,
    length: 12,
    message_seq: 2,
    fragment_offset: 0,
    fragment_length: 12,
    fragment: '0x66,0x18,0xd0,0x7d,0x39,0xe5,0x0f,0x12,0xcb,0x9d,0x58,0x58'
  }
] +1ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  finished {
  id: 49199,
  name: 'TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256',
  hashAlgorithm: 'sha256',
  verifyDataLength: 12,
  blockAlgorithm: 'aes-128-gcm',
  keyLength: 16,
  nonceLength: 12,
  ivLength: 4,
  authTagLength: 16,
  nonceImplicitLength: 4,
  nonceExplicitLength: 8,
  clientWriteKey: '0x11,0xc0,0xf6,0x05,0xcc,0xbe,0xa2,0xe8,0x58,0x31,0xf5,0xd2,0x8e,0x26,0x03,0x5a',
  serverWriteKey: '0xbd,0x37,0xcf,0x68,0xc3,0x5d,0xd9,0x89,0x5b,0x6d,0x90,0x9e,0x03,0xa4,0xdb,0x7f',
  clientNonce: '0x60,0x81,0x19,0xfe,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x04',
  serverNonce: '0x94,0x33,0xee,0x79,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00'
} +3ms
  werift-dtls : packages/dtls/src/client.ts : log  handleHandshakes [ 2 ] +180ms
  werift-dtls : packages/dtls/src/context/dtls.ts : log  exist {
  msg_type: 2,
  length: 86,
  message_seq: 0,
  fragment_offset: 0,
  fragment_length: 86,
  fragment: '0xfe,0xfd,0xee,0x51,0x87,0x71,0x2c,0xdb,0x09,0xb8,0x74,0xb6,0x5a,0x9d,0xd0,0x58,0xbf,0x8c,0x94,0x38,0x0a,0x3a,0x86,0x26,0xfe,0xe1,0x8e,0x5e,0x7e,0x0a,0xfe,0x5e,0x9f,0x65,0x20,0x88,0x4f,0x67,0x07,0xfa,0x12,0x8f,0x31,0x28,0x05,0xbc,0xbc,0xcb,0x1f,0xd1,0x32,0xc8,0x40,0x72,0xbe,0xb0,0xff,0xd2,0xff,0x25,0x43,0x4b,0x29,0x6a,0x41,0xcd,0x36,0xc0,0x2f,0x00,0x00,0x0e,0xff,0x01,0x00,0x01,0x00,0x00,0x0e,0x00,0x05,0x00,0x02,0x00,0x01,0x00'
} false 4 +0ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  serverHello 49199 +2ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  selected cipherSuite 49199 +0ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  RenegotiationIndication +0ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  selected srtp profile 1 +0ms
  werift-dtls : packages/dtls/src/client.ts : log  handleHandshakes [ 11 ] +1ms
  werift-dtls : packages/dtls/src/client.ts : log  handleHandshakes [ 12 ] +0ms
  werift-dtls : packages/dtls/src/client.ts : log  handleHandshakes [ 14 ] +0ms
  werift-dtls : packages/dtls/src/context/dtls.ts : log  exist {
  msg_type: 11,
  length: 676,
  message_seq: 1,
  fragment_offset: 0,
  fragment_length: 676,
  fragment: '0x00,0x02,0xa1,0x00,0x02,0x9e,0x30,0x82,0x02,0x9a,0x30,0x82,0x01,0x82,0x02,0x09,0x00,0xe8,0x37,0x46,0x7a,0x0d,0x46,0x02,0x21,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x0b,0x05,0x00,0x30,0x0f,0x31,0x0d,0x30,0x0b,0x06,0x03,0x55,0x04,0x03,0x0c,0x04,0x68,0x6d,0x70,0x70,0x30,0x1e,0x17,0x0d,0x32,0x33,0x31,0x31,0x32,0x39,0x30,0x38,0x33,0x36,0x30,0x34,0x5a,0x17,0x0d,0x32,0x33,0x31,0x32,0x33,0x30,0x30,0x38,0x33,0x36,0x30,0x34,0x5a,0x30,0x0f,0x31,0x0d,0x30,0x0b,0x06,0x03,0x55,0x04,0x03,0x0c,0x04,0x68,0x6d,0x70,0x70,0x30,0x82,0x01,0x22,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x01,0x05,0x00,0x03,0x82,0x01,0x0f,0x00,0x30,0x82,0x01,0x0a,0x02,0x82,0x01,0x01,0x00,0xa2,0xab,0xf8,0x58,0x6b,0xc6,0xb2,0x01,0x48,0x2a,0xad,0xde,0xf0,0xfb,0x65,0x0d,0x3a,0x2f,0x0a,0xaf,0x22,0xc5,0xff,0xff,0x14,0xa7,0x9d,0x89,0x1e,0x59,0xb8,0x4f,0xe2,0x9b,0xac,0x99,0x3a,0xa1,0x31,0x10,0x69,0x25,0x52,0xae,0x3f,0x83,0x74,0x4c,0x30,0x59,0x1b,0x8a,0x0d,0x06,0x87,0xd2,0x0a,0xd9,0x65,0x3b,0x2f,0xcf,0x51,0xa7,0x49,0xfe,0x8d,0xc2,0xfc,0xa1,0xff,0x6e,0xe2,0x68,0xba,0x6b,0x6c,0x1b,0x3c,0x8e,0x51,0x97,0x56,0x13,0x77,0x32,0xda,0xa2,0x38,0xed,0x31,0x9d,0x15,0x8c,0x4f,0x4d,0xc2,0xef,0x1f,0xb3,0x8f,0x7c,0x0e,0xc9,0xc7,0xc8,0xac,0x40,0x8c,0x9f,0x01,0x88,0xcd,0xe4,0xb4,0x59,0xde,0x93,0x74,0x7d,0xae,0x06,0xf5,0x49,0x6c,0xe3,0x77,0xf3,0xbf,0xd0,0x9a,0x94,0xba,0xe6,0x51,0x48,0x01,0xe7,0x2d,0x3a,0xed,0xaf,0xed,0x50,0x87,0x47,0x32,0xbc,0x5f,0x02,0xc6,0x45,0x28,0xff,0x86,0x98,0xd3,0x32,0xb3,0x68,0x2a,0xa9,0xc7,0xf0,0xb1,0x72,0xaa,0x3b,0xeb,0x6d,0xc9,0x63,0x5e,0x0d,0x06,0x69,0xc7,0x13,0xc1,0xb8,0xdb,0x6a,0x64,0x73,0xc7,0x8a,0xba,0x8e,0x7e,0xe3,0x82,0x64,0xb0,0x60,0x2d,0x32,0x01,0xcb,0xdd,0x7c,0x50,0x6e,0x43,0x0f,0xf1,0x2c,0x7e,0xec,0xce,0xe8,0x43,0xeb,0xe6,0x10,0x8b,0x72,0x7e,0x2b,0x01,0x1d,0x68,0x9b,0xae,0xac,0x99,0x66,0x7a,0x83,0xb9,0x17,0x88,0x23,0x42,0x54,0xe9,0x96,0xc5,0x5b,0xf0,0x3a,0xaa,0x11,0x80,0x3c,0xdc,0x06,0x69,0x05,0xd3,0xb9,0xa5,0x91,0x90,0x9a,0xba,0xdb,0x02,0x03,0x01,0x00,0x01,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x0b,0x05,0x00,0x03,0x82,0x01,0x01,0x00,0x83,0xb5,0x5c,0x9d,0x4b,0x9f,0x83,0xcd,0xf7,0x66,0x1a,0x36,0x22,0x2a,0xa6,0x29,0x60,0x95,0x20,0xe4,0xb9,0xc6,0x2b,0x21,0x90,0xd9,0xca,0xad,0x81,0xe0,0x11,0xe6,0xc9,0xc1,0xa2,0x0b,0xc5,0xab,0x7a,0x4c,0x89,0x79,0xcb,0x08,0xa1,0x5c,0xca,0xe4,0x3c,0xa8,0x6f,0x43,0xa4,0x00,0x52,0x1b,0x58,0x52,0x01,0x62,0x7f,0x43,0x15,0x5d,0xc4,0x52,0x31,0x85,0x3c,0xf2,0x09,0x96,0xe7,0x08,0x36,0x29,0x08,0xa0,0xe6,0x63,0xf4,0x41,0xcd,0xdc,0x4a,0x92,0x11,0xaa,0x7a,0xdb,0x2e,0x28,0x60,0x3e,0xc3,0x43,0x1f,0x2a,0x58,0x23,0xbd,0x9b,0x5a,0xcf,0xa0,0xf2,0x08,0x30,0x18,0xda,0xd2,0xc6,0x8b,0x77,0x49,0xe0,0x02,0x5d,0x1b,0xb0,0xc7,0xf8,0x42,0xd5,0x1c,0x16,0x4b,0xcf,0x06,0x9b,0x2c,0x8b,0x83,0x4f,0xfc,0x3f,0x2c,0xf1,0x5d,0x54,0x61,0xba,0x88,0xc6,0xff,0x6b,0x7d,0x86,0xa4,0xb2,0x7c,0xf7,0x50,0x9e,0x39,0xb8,0xae,0x28,0xa0,0x42,0x01,0x77,0xa1,0x40,0xaa,0x03,0x97,0xf8,0xe2,0xfa,0x1e,0xf0,0x49,0xbe,0xf0,0x55,0xe2,0xaa,0xe8,0xc1,0xf9,0x54,0x27,0xe9,0x23,0x6c,0xf3,0xa8,0x68,0x91,0x63,0xba,0x7a,0xcd,0xdd,0x00,0x6b,0x15,0xfb,0x6e,0x6c,0x19,0x14,0xdc,0xa0,0x62,0xff,0x5f,0x96,0x0a,0xcf,0x7d,0x80,0xd0,0x40,0xec,0x72,0x52,0x6e,0x11,0xe2,0xcb,0x0c,0xb5,0xe9,0xda,0x55,0x6b,0x42,0x98,0xd2,0x90,0xe3,0x21,0xda,0x34,0x5a,0xc6,0x79,0x85,0xcb,0xde,0x1e,0x52,0x57,0x96,0x43,0x49,0x3e,0x49,0x04,0x83,0xf7,0xb3,0x51,0xb6'
} false 4 +2ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  handshake certificate Certificate {
  certificateList: [
    <Buffer 30 82 02 9a 30 82 01 82 02 09 00 e8 37 46 7a 0d 46 02 21 30 0d 06 09 2a 86 48 86 f7 0d 01 01 0b 05 00 30 0f 31 0d 30 0b 06 03 55 04 03 0c 04 68 6d 70 ... 620 more bytes>
  ],
  msgType: 11,
  messageSeq: undefined
} +1ms
  werift-dtls : packages/dtls/src/context/dtls.ts : log  exist {
  msg_type: 12,
  length: 329,
  message_seq: 2,
  fragment_offset: 0,
  fragment_length: 329,
  fragment: '0x03,0x00,0x17,0x41,0x04,0x97,0xf7,0xb9,0x3a,0x1e,0x0e,0xae,0xaf,0x7c,0x46,0x0f,0x6d,0x95,0x4f,0x6a,0x61,0x66,0xbb,0xb6,0x5c,0x91,0xf4,0x16,0x96,0x58,0x3d,0xc0,0x62,0x31,0xee,0x31,0xe0,0x42,0x0c,0x95,0x00,0x7e,0xb4,0x91,0xc0,0xd5,0xcc,0x00,0xcb,0xe3,0xaa,0x22,0xc0,0xb0,0x8d,0xdf,0xd4,0xf1,0xf7,0xa3,0x77,0x63,0x5d,0x8c,0x28,0x7b,0xc7,0x81,0x38,0x04,0x01,0x01,0x00,0x11,0xf4,0x55,0xaf,0xe0,0x28,0xb3,0xa5,0xbc,0x89,0x72,0xac,0x9d,0xaa,0x13,0x06,0x19,0x2d,0x4d,0x1d,0xdb,0xe1,0xaa,0x8f,0xad,0x43,0x38,0xf1,0xe5,0xb1,0x86,0xed,0x4c,0xda,0x56,0x46,0x38,0x32,0x8a,0x30,0xfd,0xfc,0x5a,0xea,0xc1,0xa7,0x90,0x25,0xd0,0x8d,0xb4,0xd0,0xce,0x67,0x95,0xff,0x4f,0x62,0x83,0xba,0xb4,0xbf,0xd9,0x11,0x9e,0x4f,0x13,0xe2,0xc4,0x9c,0xa2,0xfe,0x10,0x95,0xa7,0x3a,0xc5,0x1f,0xbc,0x46,0x22,0x7a,0x1b,0x9e,0x75,0xd9,0xac,0xed,0xd0,0xb5,0x4b,0xe2,0x9e,0xc4,0x0a,0xff,0x40,0x09,0xff,0xfd,0xf2,0x0d,0x22,0xb7,0x92,0x9f,0xc9,0xdb,0x18,0xa6,0x97,0x60,0x16,0xba,0xf1,0x7e,0x98,0x49,0xdc,0xbb,0x92,0x7c,0x2c,0x3a,0x13,0x7e,0x21,0x3d,0x25,0x25,0x19,0x95,0xec,0x10,0xfa,0x37,0x98,0x9f,0x8d,0x84,0x2d,0x35,0x9c,0xf4,0xa6,0x0c,0x99,0x9b,0xb8,0xc0,0xb8,0xa3,0xa4,0x3e,0xc8,0xff,0xd1,0x82,0x7c,0xb9,0xa5,0xc5,0x25,0xad,0x73,0xf2,0x6e,0x41,0x00,0x1d,0x30,0x7f,0xdc,0xe6,0xdd,0xb3,0x11,0x53,0x7c,0x4d,0x91,0x30,0xd5,0x07,0x0f,0x4e,0x02,0x22,0xd8,0x7d,0xa5,0x3b,0x02,0x97,0x0f,0x30,0xf7,0xb2,0x04,0x92,0x22,0x14,0x1a,0xad,0x3e,0xff,0x79,0x68,0xaa,0x50,0x25,0x32,0x57,0xde,0x93,0x2f,0x6b,0x12,0xb5,0x10,0x70,0x68,0x03,0xb6,0xae,0xcc,0xfa,0xfa,0x06,0xee,0xff,0x7c,0xbe,0xbc,0xa0,0xf6,0x7d,0xa8,0xaf,0x84,0x6f,0x09,0xe9,0x15,0xcf,0x41,0x23,0x79,0x2b,0xa6,0x53,0x23,0x57,0xf9,0xfd,0x05'
} false 4 +0ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  ServerKeyExchange ServerKeyExchange {
  ellipticCurveType: 3,
  namedCurve: 23,
  publicKeyLength: 65,
  publicKey: <Buffer 04 97 f7 b9 3a 1e 0e ae af 7c 46 0f 6d 95 4f 6a 61 66 bb b6 5c 91 f4 16 96 58 3d c0 62 31 ee 31 e0 42 0c 95 00 7e b4 91 c0 d5 cc 00 cb e3 aa 22 c0 b0 ... 15 more bytes>,
  hashAlgorithm: 4,
  signatureAlgorithm: 1,
  signatureLength: 256,
  signature: <Buffer 11 f4 55 af e0 28 b3 a5 bc 89 72 ac 9d aa 13 06 19 2d 4d 1d db e1 aa 8f ad 43 38 f1 e5 b1 86 ed 4c da 56 46 38 32 8a 30 fd fc 5a ea c1 a7 90 25 d0 8d ... 206 more bytes>,
  msgType: 12,
  messageSeq: undefined
} +0ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  selected curve 23 +1ms
  werift-dtls : packages/dtls/src/context/dtls.ts : log  exist {
  msg_type: 14,
  length: 0,
  message_seq: 3,
  fragment_offset: 0,
  fragment_length: 0,
  fragment: '0x'
} false 4 +4ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  server_hello_done ServerHelloDone { msgType: 14, messageSeq: undefined } +3ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  flight5 twice +1ms
  werift-dtls : packages/dtls/src/client.ts : log  handleHandshakes [ 2 ] +6ms
  werift-dtls : packages/dtls/src/context/dtls.ts : log  exist {
  msg_type: 2,
  length: 86,
  message_seq: 0,
  fragment_offset: 0,
  fragment_length: 86,
  fragment: '0xfe,0xfd,0xee,0x51,0x87,0x71,0x2c,0xdb,0x09,0xb8,0x74,0xb6,0x5a,0x9d,0xd0,0x58,0xbf,0x8c,0x94,0x38,0x0a,0x3a,0x86,0x26,0xfe,0xe1,0x8e,0x5e,0x7e,0x0a,0xfe,0x5e,0x9f,0x65,0x20,0x88,0x4f,0x67,0x07,0xfa,0x12,0x8f,0x31,0x28,0x05,0xbc,0xbc,0xcb,0x1f,0xd1,0x32,0xc8,0x40,0x72,0xbe,0xb0,0xff,0xd2,0xff,0x25,0x43,0x4b,0x29,0x6a,0x41,0xcd,0x36,0xc0,0x2f,0x00,0x00,0x0e,0xff,0x01,0x00,0x01,0x00,0x00,0x0e,0x00,0x05,0x00,0x02,0x00,0x01,0x00'
} false 4 +1ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  serverHello 49199 +1ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  selected cipherSuite 49199 +0ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  RenegotiationIndication +0ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  selected srtp profile 1 +0ms
  werift-dtls : packages/dtls/src/client.ts : log  handleHandshakes [ 11 ] +1ms
  werift-dtls : packages/dtls/src/client.ts : log  handleHandshakes [ 12 ] +0ms
  werift-dtls : packages/dtls/src/client.ts : log  handleHandshakes [ 14 ] +0ms
  werift-dtls : packages/dtls/src/context/dtls.ts : log  exist {
  msg_type: 11,
  length: 676,
  message_seq: 1,
  fragment_offset: 0,
  fragment_length: 676,
  fragment: '0x00,0x02,0xa1,0x00,0x02,0x9e,0x30,0x82,0x02,0x9a,0x30,0x82,0x01,0x82,0x02,0x09,0x00,0xe8,0x37,0x46,0x7a,0x0d,0x46,0x02,0x21,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x0b,0x05,0x00,0x30,0x0f,0x31,0x0d,0x30,0x0b,0x06,0x03,0x55,0x04,0x03,0x0c,0x04,0x68,0x6d,0x70,0x70,0x30,0x1e,0x17,0x0d,0x32,0x33,0x31,0x31,0x32,0x39,0x30,0x38,0x33,0x36,0x30,0x34,0x5a,0x17,0x0d,0x32,0x33,0x31,0x32,0x33,0x30,0x30,0x38,0x33,0x36,0x30,0x34,0x5a,0x30,0x0f,0x31,0x0d,0x30,0x0b,0x06,0x03,0x55,0x04,0x03,0x0c,0x04,0x68,0x6d,0x70,0x70,0x30,0x82,0x01,0x22,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x01,0x05,0x00,0x03,0x82,0x01,0x0f,0x00,0x30,0x82,0x01,0x0a,0x02,0x82,0x01,0x01,0x00,0xa2,0xab,0xf8,0x58,0x6b,0xc6,0xb2,0x01,0x48,0x2a,0xad,0xde,0xf0,0xfb,0x65,0x0d,0x3a,0x2f,0x0a,0xaf,0x22,0xc5,0xff,0xff,0x14,0xa7,0x9d,0x89,0x1e,0x59,0xb8,0x4f,0xe2,0x9b,0xac,0x99,0x3a,0xa1,0x31,0x10,0x69,0x25,0x52,0xae,0x3f,0x83,0x74,0x4c,0x30,0x59,0x1b,0x8a,0x0d,0x06,0x87,0xd2,0x0a,0xd9,0x65,0x3b,0x2f,0xcf,0x51,0xa7,0x49,0xfe,0x8d,0xc2,0xfc,0xa1,0xff,0x6e,0xe2,0x68,0xba,0x6b,0x6c,0x1b,0x3c,0x8e,0x51,0x97,0x56,0x13,0x77,0x32,0xda,0xa2,0x38,0xed,0x31,0x9d,0x15,0x8c,0x4f,0x4d,0xc2,0xef,0x1f,0xb3,0x8f,0x7c,0x0e,0xc9,0xc7,0xc8,0xac,0x40,0x8c,0x9f,0x01,0x88,0xcd,0xe4,0xb4,0x59,0xde,0x93,0x74,0x7d,0xae,0x06,0xf5,0x49,0x6c,0xe3,0x77,0xf3,0xbf,0xd0,0x9a,0x94,0xba,0xe6,0x51,0x48,0x01,0xe7,0x2d,0x3a,0xed,0xaf,0xed,0x50,0x87,0x47,0x32,0xbc,0x5f,0x02,0xc6,0x45,0x28,0xff,0x86,0x98,0xd3,0x32,0xb3,0x68,0x2a,0xa9,0xc7,0xf0,0xb1,0x72,0xaa,0x3b,0xeb,0x6d,0xc9,0x63,0x5e,0x0d,0x06,0x69,0xc7,0x13,0xc1,0xb8,0xdb,0x6a,0x64,0x73,0xc7,0x8a,0xba,0x8e,0x7e,0xe3,0x82,0x64,0xb0,0x60,0x2d,0x32,0x01,0xcb,0xdd,0x7c,0x50,0x6e,0x43,0x0f,0xf1,0x2c,0x7e,0xec,0xce,0xe8,0x43,0xeb,0xe6,0x10,0x8b,0x72,0x7e,0x2b,0x01,0x1d,0x68,0x9b,0xae,0xac,0x99,0x66,0x7a,0x83,0xb9,0x17,0x88,0x23,0x42,0x54,0xe9,0x96,0xc5,0x5b,0xf0,0x3a,0xaa,0x11,0x80,0x3c,0xdc,0x06,0x69,0x05,0xd3,0xb9,0xa5,0x91,0x90,0x9a,0xba,0xdb,0x02,0x03,0x01,0x00,0x01,0x30,0x0d,0x06,0x09,0x2a,0x86,0x48,0x86,0xf7,0x0d,0x01,0x01,0x0b,0x05,0x00,0x03,0x82,0x01,0x01,0x00,0x83,0xb5,0x5c,0x9d,0x4b,0x9f,0x83,0xcd,0xf7,0x66,0x1a,0x36,0x22,0x2a,0xa6,0x29,0x60,0x95,0x20,0xe4,0xb9,0xc6,0x2b,0x21,0x90,0xd9,0xca,0xad,0x81,0xe0,0x11,0xe6,0xc9,0xc1,0xa2,0x0b,0xc5,0xab,0x7a,0x4c,0x89,0x79,0xcb,0x08,0xa1,0x5c,0xca,0xe4,0x3c,0xa8,0x6f,0x43,0xa4,0x00,0x52,0x1b,0x58,0x52,0x01,0x62,0x7f,0x43,0x15,0x5d,0xc4,0x52,0x31,0x85,0x3c,0xf2,0x09,0x96,0xe7,0x08,0x36,0x29,0x08,0xa0,0xe6,0x63,0xf4,0x41,0xcd,0xdc,0x4a,0x92,0x11,0xaa,0x7a,0xdb,0x2e,0x28,0x60,0x3e,0xc3,0x43,0x1f,0x2a,0x58,0x23,0xbd,0x9b,0x5a,0xcf,0xa0,0xf2,0x08,0x30,0x18,0xda,0xd2,0xc6,0x8b,0x77,0x49,0xe0,0x02,0x5d,0x1b,0xb0,0xc7,0xf8,0x42,0xd5,0x1c,0x16,0x4b,0xcf,0x06,0x9b,0x2c,0x8b,0x83,0x4f,0xfc,0x3f,0x2c,0xf1,0x5d,0x54,0x61,0xba,0x88,0xc6,0xff,0x6b,0x7d,0x86,0xa4,0xb2,0x7c,0xf7,0x50,0x9e,0x39,0xb8,0xae,0x28,0xa0,0x42,0x01,0x77,0xa1,0x40,0xaa,0x03,0x97,0xf8,0xe2,0xfa,0x1e,0xf0,0x49,0xbe,0xf0,0x55,0xe2,0xaa,0xe8,0xc1,0xf9,0x54,0x27,0xe9,0x23,0x6c,0xf3,0xa8,0x68,0x91,0x63,0xba,0x7a,0xcd,0xdd,0x00,0x6b,0x15,0xfb,0x6e,0x6c,0x19,0x14,0xdc,0xa0,0x62,0xff,0x5f,0x96,0x0a,0xcf,0x7d,0x80,0xd0,0x40,0xec,0x72,0x52,0x6e,0x11,0xe2,0xcb,0x0c,0xb5,0xe9,0xda,0x55,0x6b,0x42,0x98,0xd2,0x90,0xe3,0x21,0xda,0x34,0x5a,0xc6,0x79,0x85,0xcb,0xde,0x1e,0x52,0x57,0x96,0x43,0x49,0x3e,0x49,0x04,0x83,0xf7,0xb3,0x51,0xb6'
} false 4 +1ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  handshake certificate Certificate {
  certificateList: [
    <Buffer 30 82 02 9a 30 82 01 82 02 09 00 e8 37 46 7a 0d 46 02 21 30 0d 06 09 2a 86 48 86 f7 0d 01 01 0b 05 00 30 0f 31 0d 30 0b 06 03 55 04 03 0c 04 68 6d 70 ... 620 more bytes>
  ],
  msgType: 11,
  messageSeq: undefined
} +0ms
  werift-dtls : packages/dtls/src/context/dtls.ts : log  exist {
  msg_type: 12,
  length: 329,
  message_seq: 2,
  fragment_offset: 0,
  fragment_length: 329,
  fragment: '0x03,0x00,0x17,0x41,0x04,0x97,0xf7,0xb9,0x3a,0x1e,0x0e,0xae,0xaf,0x7c,0x46,0x0f,0x6d,0x95,0x4f,0x6a,0x61,0x66,0xbb,0xb6,0x5c,0x91,0xf4,0x16,0x96,0x58,0x3d,0xc0,0x62,0x31,0xee,0x31,0xe0,0x42,0x0c,0x95,0x00,0x7e,0xb4,0x91,0xc0,0xd5,0xcc,0x00,0xcb,0xe3,0xaa,0x22,0xc0,0xb0,0x8d,0xdf,0xd4,0xf1,0xf7,0xa3,0x77,0x63,0x5d,0x8c,0x28,0x7b,0xc7,0x81,0x38,0x04,0x01,0x01,0x00,0x11,0xf4,0x55,0xaf,0xe0,0x28,0xb3,0xa5,0xbc,0x89,0x72,0xac,0x9d,0xaa,0x13,0x06,0x19,0x2d,0x4d,0x1d,0xdb,0xe1,0xaa,0x8f,0xad,0x43,0x38,0xf1,0xe5,0xb1,0x86,0xed,0x4c,0xda,0x56,0x46,0x38,0x32,0x8a,0x30,0xfd,0xfc,0x5a,0xea,0xc1,0xa7,0x90,0x25,0xd0,0x8d,0xb4,0xd0,0xce,0x67,0x95,0xff,0x4f,0x62,0x83,0xba,0xb4,0xbf,0xd9,0x11,0x9e,0x4f,0x13,0xe2,0xc4,0x9c,0xa2,0xfe,0x10,0x95,0xa7,0x3a,0xc5,0x1f,0xbc,0x46,0x22,0x7a,0x1b,0x9e,0x75,0xd9,0xac,0xed,0xd0,0xb5,0x4b,0xe2,0x9e,0xc4,0x0a,0xff,0x40,0x09,0xff,0xfd,0xf2,0x0d,0x22,0xb7,0x92,0x9f,0xc9,0xdb,0x18,0xa6,0x97,0x60,0x16,0xba,0xf1,0x7e,0x98,0x49,0xdc,0xbb,0x92,0x7c,0x2c,0x3a,0x13,0x7e,0x21,0x3d,0x25,0x25,0x19,0x95,0xec,0x10,0xfa,0x37,0x98,0x9f,0x8d,0x84,0x2d,0x35,0x9c,0xf4,0xa6,0x0c,0x99,0x9b,0xb8,0xc0,0xb8,0xa3,0xa4,0x3e,0xc8,0xff,0xd1,0x82,0x7c,0xb9,0xa5,0xc5,0x25,0xad,0x73,0xf2,0x6e,0x41,0x00,0x1d,0x30,0x7f,0xdc,0xe6,0xdd,0xb3,0x11,0x53,0x7c,0x4d,0x91,0x30,0xd5,0x07,0x0f,0x4e,0x02,0x22,0xd8,0x7d,0xa5,0x3b,0x02,0x97,0x0f,0x30,0xf7,0xb2,0x04,0x92,0x22,0x14,0x1a,0xad,0x3e,0xff,0x79,0x68,0xaa,0x50,0x25,0x32,0x57,0xde,0x93,0x2f,0x6b,0x12,0xb5,0x10,0x70,0x68,0x03,0xb6,0xae,0xcc,0xfa,0xfa,0x06,0xee,0xff,0x7c,0xbe,0xbc,0xa0,0xf6,0x7d,0xa8,0xaf,0x84,0x6f,0x09,0xe9,0x15,0xcf,0x41,0x23,0x79,0x2b,0xa6,0x53,0x23,0x57,0xf9,0xfd,0x05'
} false 4 +1ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  ServerKeyExchange ServerKeyExchange {
  ellipticCurveType: 3,
  namedCurve: 23,
  publicKeyLength: 65,
  publicKey: <Buffer 04 97 f7 b9 3a 1e 0e ae af 7c 46 0f 6d 95 4f 6a 61 66 bb b6 5c 91 f4 16 96 58 3d c0 62 31 ee 31 e0 42 0c 95 00 7e b4 91 c0 d5 cc 00 cb e3 aa 22 c0 b0 ... 15 more bytes>,
  hashAlgorithm: 4,
  signatureAlgorithm: 1,
  signatureLength: 256,
  signature: <Buffer 11 f4 55 af e0 28 b3 a5 bc 89 72 ac 9d aa 13 06 19 2d 4d 1d db e1 aa 8f ad 43 38 f1 e5 b1 86 ed 4c da 56 46 38 32 8a 30 fd fc 5a ea c1 a7 90 25 d0 8d ... 206 more bytes>,
  msgType: 12,
  messageSeq: undefined
} +1ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  selected curve 23 +0ms
  werift-dtls : packages/dtls/src/context/dtls.ts : log  exist {
  msg_type: 14,
  length: 0,
  message_seq: 3,
  fragment_offset: 0,
  fragment_length: 0,
  fragment: '0x'
} false 4 +3ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  server_hello_done ServerHelloDone { msgType: 14, messageSeq: undefined } +3ms
  werift-dtls : packages/dtls/src/flight/client/flight5.ts : log  flight5 twice +0ms
  werift-dtls : packages/dtls/record/receive.ts : log  change cipher spec +0ms
  werift-dtls : packages/dtls/record/receive.ts : log  decrypt handshake +0ms
  werift-dtls : packages/dtls/src/client.ts : log  handleHandshakes [ 20 ] +5ms
  werift-dtls : packages/dtls/src/client.ts : log  dtls connected +0ms
  werift:packages/webrtc/src/transport/dtls.ts selected SRTP Profile 1 +0ms
  werift:packages/webrtc/src/transport/dtls.ts dtls connected +3ms
  werift:packages/webrtc/src/peerConnection.ts connectionStateChange connected +318ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +468ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +16ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +19ms
  werift-dtls : packages/dtls/record/receive.ts : log  change cipher spec +49ms
  werift-dtls : packages/dtls/record/receive.ts : log  decrypt handshake +0ms
  werift-dtls : packages/dtls/src/client.ts : log  handleHandshakes [ 20 ] +48ms
  werift:packages/webrtc/src/transport/dtls.ts selected SRTP Profile 1 +45ms
  werift-dtls : packages/dtls/src/client.ts : log  dtls connected +1ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +22ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +19ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +22ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +19ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +18ms
  werift-dtls : packages/dtls/record/receive.ts : log  change cipher spec +101ms
  werift-dtls : packages/dtls/record/receive.ts : log  decrypt handshake +0ms
  werift-dtls : packages/dtls/src/client.ts : log  handleHandshakes [ 20 ] +100ms
  werift:packages/webrtc/src/transport/dtls.ts selected SRTP Profile 1 +101ms
  werift-dtls : packages/dtls/src/client.ts : log  dtls connected +2ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +23ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +17ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +21ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +18ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +20ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +20ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +23ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +17ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +20ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +22ms
  werift-dtls : packages/dtls/record/receive.ts : log  change cipher spec +197ms
  werift-dtls : packages/dtls/record/receive.ts : log  decrypt handshake +1ms
  werift-dtls : packages/dtls/src/client.ts : log  handleHandshakes [ 20 ] +196ms
  werift:packages/webrtc/src/transport/dtls.ts selected SRTP Profile 1 +198ms
  werift-dtls : packages/dtls/src/client.ts : log  dtls connected +1ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +18ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +22ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +20ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +18ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +20ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +21ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +20ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +20ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +20ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +20ms
  werift:packages/webrtc/src/media/router.ts ssrcReceiver not found +20ms
^C
@tylerlong
Copy link
Author

tylerlong commented Dec 8, 2023

I implemented my project using werift-rtp only. I manually implemented the SIP/SDP/RTP communication part.
For those who are interested, please check https://github.com/ringcentral/ringcentral-softphone-ts
In my project, the ssrc value doesn't matter at all. and I am sure for each session there will be only one ssrc at each peer. So I don't need to handle multiple ssrc (like in werift do a mapping from ssrc to ssrcReceiver)

You may close this ticket. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant