Title: SRTP Stream · Issue #3 · OpenXbox/xcloud-python · GitHub
Open Graph Title: SRTP Stream · Issue #3 · OpenXbox/xcloud-python
X Title: SRTP Stream · Issue #3 · OpenXbox/xcloud-python
Description: Research low level streaming protocol aka Nanov3. Is it using this? GET /v4/sessions/home/12D89B40-ACB6-4E1B-8E96-F744E8D05D73/configuration HTTP/1.1 { "keepAlivePulseInSeconds": 300, "serverDetails": { "ipAddress": "10.0.0.174", "port":...
Open Graph Description: Research low level streaming protocol aka Nanov3. Is it using this? GET /v4/sessions/home/12D89B40-ACB6-4E1B-8E96-F744E8D05D73/configuration HTTP/1.1 { "keepAlivePulseInSeconds": 300, "serverDetail...
X Description: Research low level streaming protocol aka Nanov3. Is it using this? GET /v4/sessions/home/12D89B40-ACB6-4E1B-8E96-F744E8D05D73/configuration HTTP/1.1 { "keepAlivePulseInSeconds": 300, &qu...
Opengraph URL: https://github.com/OpenXbox/xcloud-python/issues/3
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"SRTP Stream","articleBody":"Research low level streaming protocol aka **Nanov3**.\r\n\r\nIs it using this?\r\n\r\n`GET /v4/sessions/home/12D89B40-ACB6-4E1B-8E96-F744E8D05D73/configuration HTTP/1.1`\r\n```json\r\n{\r\n \"keepAlivePulseInSeconds\": 300,\r\n \"serverDetails\": {\r\n \"ipAddress\": \"10.0.0.174\",\r\n \"port\": 9002,\r\n \"ipV4Address\": \"10.0.0.174\",\r\n \"ipV4Port\": 9002,\r\n \"ipV6Address\": null,\r\n \"ipV6Port\": 0,\r\n \"iceExchangePath\": \"v4/sessions/home/12D89B40-ACB6-4E1B-8E96-F744E8D05D73/ice\",\r\n \"stunServerAddress\": null,\r\n \"srtp\": {\r\n \"key\": \"iq+1DPPH/H+4k/n4wERjqXr4OXYXrwqcDiitbHkz\"\r\n }\r\n }\r\n}\r\n```\r\n\r\nOr does it use the `srtp.key` above and negotiated connection/port of ICE (see Issue #2 - ICE: Negotiation) ?\r\n\r\n## UPDATE (2020/03/03)\r\n\r\n- Yes, `srtp.key` received in this HTTP response is indeed the per-session **MASTER KEY**\r\n- This key is transformed into 3 **SESSION KEYS**\r\n\r\nMS-SRTP follows the basic patterns of **RFC3711** with minor differences: (https://docs.microsoft.com/en-us/openspecs/office_protocols/ms-srtp/ac253f1b-e9a7-46d2-8508-e6b3c3641a68)\r\n\r\n## Plan of action\r\n\r\n- [X] Research master/session key derivation\r\n- [x] Implement (MS-)SRTP patterns according to **RFC3711**\r\n - [ ] Find out if there is a library that already provides the required SRTP patterns\r\n - [x] Research how **Nonce** for AES-GCM cryptographical context is transformed (from session key 3)\r\n\r\n## References\r\n[MS-SRTP: Secure Real-time Transport Protocol (SRTP) Profile](https://docs.microsoft.com/en-us/openspecs/office_protocols/ms-srtp/d9641c95-b152-4cc7-8311-d178f3241f1f)\r\n\r\n[RFC3711](https://www.rfc-editor.org/rfc/rfc3711.txt)","author":{"url":"https://github.com/tuxuser","@type":"Person","name":"tuxuser"},"datePublished":"2020-09-29T22:50:26.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":2},"url":"https://github.com/3/xcloud-python/issues/3"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:a94ab30f-bb96-62eb-1354-c2e1e1db7c20 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | DF94:6CBCC:607BCCD:8366AB4:698D082D |
| html-safe-nonce | a01740c95a1a9eb35c7402c28a05bf86a0622419ce8fdcf9e47860cab5c9af71 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJERjk0OjZDQkNDOjYwN0JDQ0Q6ODM2NkFCNDo2OThEMDgyRCIsInZpc2l0b3JfaWQiOiI1MjE1OTgwNTc0MzUxMzYyMDkzIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | cc91129f5809a09ac65c6caed72c443dd3f5afdc157d75ed5e4aa2f502f64547 |
| hovercard-subject-tag | issue:711514984 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/OpenXbox/xcloud-python/3/issue_layout |
| twitter:image | https://opengraph.githubassets.com/8b11d54aeb1d17bc11daa999012d77afd812aac7172bcf2f883339950e63a673/OpenXbox/xcloud-python/issues/3 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/8b11d54aeb1d17bc11daa999012d77afd812aac7172bcf2f883339950e63a673/OpenXbox/xcloud-python/issues/3 |
| og:image:alt | Research low level streaming protocol aka Nanov3. Is it using this? GET /v4/sessions/home/12D89B40-ACB6-4E1B-8E96-F744E8D05D73/configuration HTTP/1.1 { "keepAlivePulseInSeconds": 300, "serverDetail... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | tuxuser |
| hostname | github.com |
| expected-hostname | github.com |
| None | f2da95634bce8a94cfa4123788169bfabdf845fd1d790fbaaaaab09dcfebdf28 |
| turbo-cache-control | no-preview |
| go-import | github.com/OpenXbox/xcloud-python git https://github.com/OpenXbox/xcloud-python.git |
| octolytics-dimension-user_id | 31669505 |
| octolytics-dimension-user_login | OpenXbox |
| octolytics-dimension-repository_id | 268237406 |
| octolytics-dimension-repository_nwo | OpenXbox/xcloud-python |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 268237406 |
| octolytics-dimension-repository_network_root_nwo | OpenXbox/xcloud-python |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | c21843b18feba17d11efb1895a7db61e8672f2cf |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width