{"action":"closed","issue":{"url":"https://api.github.com/repos/openpeer/ortc/issues/246","labels_url":"https://api.github.com/repos/openpeer/ortc/issues/246/labels{/name}","comments_url":"https://api.github.com/repos/openpeer/ortc/issues/246/comments","events_url":"https://api.github.com/repos/openpeer/ortc/issues/246/events","html_url":"https://github.com/openpeer/ortc/issues/246","id":108188104,"number":246,"title":"Incoming RTX payload ambiguity","user":{"login":"robin-raymond","id":2962646,"avatar_url":"https://avatars.githubusercontent.com/u/2962646?v=3","gravatar_id":"","url":"https://api.github.com/users/robin-raymond","html_url":"https://github.com/robin-raymond","followers_url":"https://api.github.com/users/robin-raymond/followers","following_url":"https://api.github.com/users/robin-raymond/following{/other_user}","gists_url":"https://api.github.com/users/robin-raymond/gists{/gist_id}","starred_url":"https://api.github.com/users/robin-raymond/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robin-raymond/subscriptions","organizations_url":"https://api.github.com/users/robin-raymond/orgs","repos_url":"https://api.github.com/users/robin-raymond/repos","events_url":"https://api.github.com/users/robin-raymond/events{/privacy}","received_events_url":"https://api.github.com/users/robin-raymond/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/openpeer/ortc/labels/1.1","name":"1.1","color":"0052cc"},{"url":"https://api.github.com/repos/openpeer/ortc/labels/resolved-in-draft","name":"resolved-in-draft","color":"bfe5bf"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-09-24T18:32:23Z","updated_at":"2015-11-20T23:12:37Z","closed_at":"2015-11-20T23:12:37Z","body":"It's highly desirable that an unannounced incoming stream where SSRCs are not pre-configured get automatically wired to an `RtpReceiver` based on a muxid and a codec list.\r\n\r\nScenario where RTX is ambiguous:\r\n1) RtpReceiver is configured with a `muxid` of \"`foo`\", a full codec list of Opus (`96`), G711-ulaw (`0`), G711-alaw (`8`); Isac (`99`); RTX (`102`);\r\n2) The `RtpSender` starts being is configured to use a `muxid` of \"`foo`\", using Opus (`96`) SSRC `1000`; RTX (`102`) with SSRC `2000`\r\n3) The `RtpReceiver` sends a NACK for Opus; `RtpSender` sends SSRC `2000` packet (\"`Packet-1`\");\r\n4) The `RtpSender` changes configuration (still using `muxid` of \"`foo`\") but using G711a (`8`) SSRC `1001`; RTX (`102`) with SSRC `2001`\r\n5) The `RtpReceiver` sends a NACK for G711a; `RtpSender` sends SSRC `2001` packet (\"`Packet-2`\");\r\n6) The `RtpSender` changes configuration (still using `muxid` of \"`foo`\") but using Isac (`99`) SSRC `1002`; RTX (`102`) with SSRC `2002`\r\n7) The `RtpReceiver` sends a NACK for Isac; `RtpSender` sends SSRC `2002` packet (\"`Packet-3`\");\r\n\r\n\r\nProblem: `RtpReceiver` suddenly receives RTX packets *late* and in *random* order (\"`Packet-1`\"); (\"`Packet-2`\"); (\"`Packet-3`\"), i.e. SSRCs `2001`, `2002`, `2003`, all configured with RTX payload type `102`. Given that the `RtpReceiver` processed 3 different SSRCs (where each replaced previous) the incoming RTXs packets are mis-matched to the current configuration and the incoming RTX packets are ambiguous to which original SSRC stream they belong.\r\n"}}