{"action":"created","issue":{"url":"https://api.github.com/repos/mumble-voip/mumble/issues/2131","repository_url":"https://api.github.com/repos/mumble-voip/mumble","labels_url":"https://api.github.com/repos/mumble-voip/mumble/issues/2131/labels{/name}","comments_url":"https://api.github.com/repos/mumble-voip/mumble/issues/2131/comments","events_url":"https://api.github.com/repos/mumble-voip/mumble/issues/2131/events","html_url":"https://github.com/mumble-voip/mumble/issues/2131","id":135838412,"number":2131,"title":"Add WebSocket transport to Murmur","user":{"login":"mkrautz","id":36527,"avatar_url":"https://avatars0.githubusercontent.com/u/36527?v=4","gravatar_id":"","url":"https://api.github.com/users/mkrautz","html_url":"https://github.com/mkrautz","followers_url":"https://api.github.com/users/mkrautz/followers","following_url":"https://api.github.com/users/mkrautz/following{/other_user}","gists_url":"https://api.github.com/users/mkrautz/gists{/gist_id}","starred_url":"https://api.github.com/users/mkrautz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mkrautz/subscriptions","organizations_url":"https://api.github.com/users/mkrautz/orgs","repos_url":"https://api.github.com/users/mkrautz/repos","events_url":"https://api.github.com/users/mkrautz/events{/privacy}","received_events_url":"https://api.github.com/users/mkrautz/received_events","type":"User","site_admin":false},"labels":[{"id":223992903,"url":"https://api.github.com/repos/mumble-voip/mumble/labels/up-for-grabs","name":"up-for-grabs","color":"c7def8","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2016-02-23T19:30:30Z","updated_at":"2018-04-12T12:47:15Z","closed_at":null,"author_association":"OWNER","body":"It would be nice if Murmur supported a websocket transport.\n\nThis would make it possible to write a Mumble client in the browser, without any intermediary proxies.\n(Voice support would be a hack, probably provided via getUserMedia/ScriptProcessorNode, potentially codecs via Emscripten...)\n\nThere are a couple of ways to go:\n- Murmur could provide a new listener on port 443, providing WebSocket access. (This would probably clash with existing hosting providers...)\n- Murmur could provide WebSocket service on the ports already used by the regular Mumble protocol. Technically, this would use ALPN and present both HTTP (probably HTTP2 [1]) and the Mumble protocol.\n  - Both! We could do both, making the port 443 part optional.\n\n[1]: One would assume that when using ALPN, that browsers treat the \"default\" protocol of a server to be HTTP/1.1. Since we need to be backwards compatible with older Mumble clients, we need the default protocol to be Mumble, not HTTP.\nStill, in this scenario, browsers without HTTP2 support that connect to it, will try to send HTTP to Murmur on the listener meant for the Mumble protocol.\nIt's possible this can be avoided by filtering clients based on their TLS handshakes, for example the ALPN protocol preferences of the client, and other things.\n"},"comment":{"url":"https://api.github.com/repos/mumble-voip/mumble/issues/comments/380792717","html_url":"https://github.com/mumble-voip/mumble/issues/2131#issuecomment-380792717","issue_url":"https://api.github.com/repos/mumble-voip/mumble/issues/2131","id":380792717,"user":{"login":"bontibon","id":110883,"avatar_url":"https://avatars0.githubusercontent.com/u/110883?v=4","gravatar_id":"","url":"https://api.github.com/users/bontibon","html_url":"https://github.com/bontibon","followers_url":"https://api.github.com/users/bontibon/followers","following_url":"https://api.github.com/users/bontibon/following{/other_user}","gists_url":"https://api.github.com/users/bontibon/gists{/gist_id}","starred_url":"https://api.github.com/users/bontibon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bontibon/subscriptions","organizations_url":"https://api.github.com/users/bontibon/orgs","repos_url":"https://api.github.com/users/bontibon/repos","events_url":"https://api.github.com/users/bontibon/events{/privacy}","received_events_url":"https://api.github.com/users/bontibon/received_events","type":"User","site_admin":false},"created_at":"2018-04-12T12:47:15Z","updated_at":"2018-04-12T12:47:15Z","author_association":"OWNER","body":"@NickSutton WebSocket supported was added to grumble (mumble-voip/grumble/pull/18). You could try that implementation out and see if it works for you. I am not aware of anyone who is currently implementing this functionality into murmur."}}
{"actor":{"display_login":"bontibon"}}