In my example application, I'm able to get websockets working just fine. However, there's an error report:
=ERROR REPORT==== 12-Feb-2014::01:17:26 ===
Error in process <0.229.0> with exit value: {[{reason,{'Elixir.RuntimeError','__exception__',<<2319 bytes>>}},{mfa,{'Elixir.Plug.Adapters.Cowboy.Handler',init,3}},{stacktrace,[{'Elixir.Plug.Adapters.Cowboy.Handler',init,3,[{file,"lib/plug/adapters/cowboy/handler.ex"},{line,13}]},...
Elixir.T3WebsocketServer.Router: get: ["favicon.ico"]
=ERROR REPORT==== 12-Feb-2014::01:17:26 ===
Ranch listener 'Elixir.T3WebsocketServer.Router.HTTP' had connection process started with cowboy_protocol:start_link/4 at <0.229.0> exit with reason: {[{reason,{'Elixir.RuntimeError','__exception__',<<"Cowboy adapter expected T3WebsocketServer.Router to return Plug.Conn but got: {:ok, Plug.Conn[adapter: {Plug.Adapters.Cowboy.Connection, {:http_req, #Port<0.4969>, :ranch_tcp, :keepalive, #PID<0.229.0>, \"GET\", :\"HTTP/1.1\", {{127, 0, 0, 1}, 64201}, \"localhost\", :undefined, 3030, \"/pages\", :undefined, \"\", :undefined, [], [{\"host\", \"localhost:3030\"}, {\"connection\", \"keep-alive\"}, {\"cache-control\", \"max-age=0\"}, {\"accept\", \"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\"}, {\"user-agent\", \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31\"}, {\"accept-encoding\", \"gzip,deflate,sdch\"}, {\"accept-language\", \"en-US,en;q=0.8\"}, {\"accept-charset\", \"ISO-8859-1,utf-8;q=0.7,*;q=0.3\"}, {\"cookie\", \"jirafe.metric.boxes=%7B%22revenue%22%3A%7B%7D%2C%22orders%22%3A%7B%7D%2C%22visits%22%3A%7B%7D%2C%22conv_rate%22%3A%7B%7D%2C%22aov%22%3A%7B%7D%2C%22rpv%22%3A%7B%7D%7D; jirafe.active.site_id=68472; _pk_id.68472.1fff=3961f189ff30bb0b.1369279691.6.1372000564.1371725123.\"}], [{\"connection\", [\"keep-alive\"]}], :undefined, [], :waiting, \"\", :undefined, false, :done, [], \"\", :undefined}}, assigns: [], cookies: Plug.Connection.Unfetched[aspect: :cookies], host: \"localhost\", method: \"GET\", params: [], path_info: [\"pages\"], port: 3030, query_string: \"\", req_cookies: Plug.Connection.Unfetched[aspect: :cookies], req_headers: [{\"host\", \"localhost:3030\"}, {\"connection\", \"keep-alive\"}, {\"cache-control\", \"max-age=0\"}, {\"accept\", \"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\"}, {\"user-agent\", \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31\"}, {\"accept-encoding\", \"gzip,deflate,sdch\"}, {\"accept-language\", \"en-US,en;q=0.8\"}, {\"accept-charset\", \"ISO-8859-1,utf-8;q=0.7,*;q=0.3\"}, {\"cookie\", \"jirafe.metric.boxes=%7B%22revenue%22%3A%7B%7D%2C%22orders%22%3A%7B%7D%2C%22visits%22%3A%7B%7D%2C%22conv_rate%22%3A%7B%7D%2C%22aov%22%3A%7B%7D%2C%22rpv%22%3A%7B%7D%7D; jirafe.active.site_id=68472; _pk_id.68472.1fff=3961f189ff30bb0b.1369279691.6.1372000564.1371725123.\"}], resp_body: nil, resp_cookies: [], resp_headers: [{\"cache-control\", \"max-age=0, private, must-revalidate\"}, {\"content-type\", \"text/html; charset=utf-8\"}], scheme: :http, state: :sent, status: 200]}">>}},{mfa,{'Elixir.Plug.Adapters.Cowboy.Handler',init,3}},{stacktrace,[{'Elixir.Plug.Adapters.Cowboy.Handler',init,3,[{file,"lib/plug/adapters/cowboy/handler.ex"},{line,13}]},{cowboy_handler,handler_init,4,[{file,"src/cowboy_handler.erl"},{line,69}]},{cowboy_protocol,execute,4,[{file,"src/cowboy_protocol.erl"},{line,471}]}]},{req,[{socket,#Port<0.4969>},{transport,ranch_tcp},{connection,keepalive},{pid,<0.229.0>},{method,<<"GET">>},{version,'HTTP/1.1'},{peer,{{127,0,0,1},64201}},{host,<<"localhost">>},{host_info,undefined},{port,3030},{path,<<"/pages">>},{path_info,undefined},{qs,<<>>},{qs_vals,undefined},{bindings,[]},{headers,[{<<"host">>,<<"localhost:3030">>},{<<"connection">>,<<"keep-alive">>},{<<"cache-control">>,<<"max-age=0">>},{<<"accept">>,<<"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8">>},{<<"user-agent">>,<<"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31">>},{<<"accept-encoding">>,<<"gzip,deflate,sdch">>},{<<"accept-language">>,<<"en-US,en;q=0.8">>},{<<"accept-charset">>,<<"ISO-8859-1,utf-8;q=0.7,*;q=0.3">>},{<<"cookie">>,<<"jirafe.metric.boxes=%7B%22revenue%22%3A%7B%7D%2C%22orders%22%3A%7B%7D%2C%22visits%22%3A%7B%7D%2C%22conv_rate%22%3A%7B%7D%2C%22aov%22%3A%7B%7D%2C%22rpv%22%3A%7B%7D%7D; jirafe.active.site_id=68472; _pk_id.68472.1fff=3961f189ff30bb0b.1369279691.6.1372000564.1371725123.">>}]},{p_headers,[{<<"connection">>,[<<"keep-alive">>]}]},{cookies,undefined},{meta,[]},{body_state,waiting},{buffer,<<>>},{multipart,undefined},{resp_compress,false},{resp_state,waiting},{resp_headers,[]},{resp_body,<<>>},{onresponse,undefined}]},{opts,{'Elixir.T3WebsocketServer.Router',[]}}],[{cowboy_protocol,execute,4,[{file,"src/cowboy_protocol.erl"},{line,471}]}]}