#ifndef __WEB_SOCKET_SERVER__ #define __WEB_SOCKET_SERVER__ #include #include #include "SipServer.h" #include #include typedef websocketpp::server server; // pull out the type of messages sent by our config typedef server::message_ptr message_ptr; class WebSocketServer { public: WebSocketServer(/* args */); ~WebSocketServer(); // Define a callback to handle incoming messages void on_message(websocketpp::connection_hdl hdl, message_ptr msg) ; void on_open(websocketpp::connection_hdl hdl); void on_close(websocketpp::connection_hdl hdl); void on_fail(websocketpp::connection_hdl hdl); void start(); void response_client(std::string sip_channel_id, int rtp_port, std::string net_type, int ret); private: int msg_parser(websocketpp::connection_hdl hdl, string msg); int parse_invite(vector& vec_msg, std::string ip); string get_ip_from_hdl(websocketpp::connection_hdl hdl); private: server ws_server; SipServer sip_server; std::map m_channelport_hdl_map; std::mutex m_channelport_hdl_map_mtx; }; #endif // __WEB_SOCKET_SERVER__