res_http_websocket: Create a websocket client

Added a websocket server client in Asterisk. Asterisk has a websocket server,
but not a client. The ability to have Asterisk be able to connect to a websocket
server can potentially be useful for future work (for instance this could allow
ARI to connect back to some external system, although more work would be needed
in order to incorporate that).

Also a couple of things to note - proxy connection support has not been
implemented and there is limited http response code handling (basically, it is
connect or not).

Also added an initial new URI handling mechanism to core.  Internet type URI's
are parsed into a data structure that contains pointers to the various parts of
the URI.

(closes issue ASTERISK-23742)
Reported by: Kevin Harwell
Review: https://reviewboard.asterisk.org/r/3541/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@415223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Kevin Harwell
2014-06-05 17:22:35 +00:00
parent fd45b82247
commit e763d70470
9 changed files with 1486 additions and 34 deletions

View File

@@ -1,22 +1,6 @@
{
global:
LINKER_SYMBOL_PREFIX*ast_websocket_add_protocol;
LINKER_SYMBOL_PREFIX*ast_websocket_remove_protocol;
LINKER_SYMBOL_PREFIX*ast_websocket_read;
LINKER_SYMBOL_PREFIX*ast_websocket_write;
LINKER_SYMBOL_PREFIX*ast_websocket_close;
LINKER_SYMBOL_PREFIX*ast_websocket_reconstruct_enable;
LINKER_SYMBOL_PREFIX*ast_websocket_reconstruct_disable;
LINKER_SYMBOL_PREFIX*ast_websocket_ref;
LINKER_SYMBOL_PREFIX*ast_websocket_unref;
LINKER_SYMBOL_PREFIX*ast_websocket_fd;
LINKER_SYMBOL_PREFIX*ast_websocket_remote_address;
LINKER_SYMBOL_PREFIX*ast_websocket_is_secure;
LINKER_SYMBOL_PREFIX*ast_websocket_set_nonblock;
LINKER_SYMBOL_PREFIX*ast_websocket_uri_cb;
LINKER_SYMBOL_PREFIX*ast_websocket_server_create;
LINKER_SYMBOL_PREFIX*ast_websocket_server_add_protocol;
LINKER_SYMBOL_PREFIX*ast_websocket_server_remove_protocol;
LINKER_SYMBOL_PREFIX*ast_websocket_*;
local:
*;
};