Bug 43 - Support for WebSocket connections from Apache/other HTTP server
Summary: Support for WebSocket connections from Apache/other HTTP server
Status: NEW
Alias: None
Product: resiprocate
Classification: Unclassified
Component: stack (libresip) (show other bugs)
Version: unspecified
Hardware: All All
: P1 enhancement
Assignee: Owner of all unassigned bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-06-22 11:17 CDT by Daniel Pocock
Modified: 2013-06-22 11:17 CDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Pocock 2013-06-22 11:17:24 CDT
Brief:
* some other web server accepts the WebSocket connection from the client
* the web server then starts acting as a proxy and relaying the connection to reSIProcate

Current state:
* Apache proxy mode doesn't really support WebSocket at all (tested: it strips the Upgrade header)
* maybe some other kind of reverse proxy can be used to multiplex the connections between the SIP server and apache based on the URL path it sees from the client

Related work
* Apache has a module that can proxy WebSocket connections to TCP:
http://blog.alex.org.uk/2012/02/16/using-apache-websocket-to-proxy-tcp-connection/

Effort
* can't just treat it as a regular SIP over TCP connection
* how to indicate the WS message size over a non-WS TCP connection?  Maybe send the messages over a message queue?
* how to pass client attributes (e.g. source IP, client cert params, cookies)?  Maybe send as headers in an AMQP message?
* Apache module must recognise the SIP subprotocol
* can clients send URL paths?  Is this meaningful?