|
| virtual UtlBoolean | handleMessage (OsMsg &rMsg) |
| |
| UtlBoolean | sendStunProbe (IStunSocket *pSocket, const UtlString &remoteAddress, int remotePort, int priority) |
| |
| UtlBoolean | enableStun (IStunSocket *pSocket, const UtlString &stunServer, int stunPort, const int stunOptions, int keepAlive) |
| |
| UtlBoolean | disableStun (IStunSocket *pSocket) |
| |
| UtlBoolean | enableTurn (IStunSocket *pSocket, const UtlString &turnServer, int iTurnPort, int keepAliveSecs, const UtlString &username, const UtlString &password) |
| |
| UtlBoolean | primeTurnReception (IStunSocket *pSocket, const char *szAddress, int iPort) |
| |
| UtlBoolean | setTurnDestination (IStunSocket *pSocket, const char *szAddress, int iPort) |
| |
| void | disableTurn (IStunSocket *pSocket) |
| |
| UtlBoolean | addCrLfKeepAlive (IStunSocket *pSocket, const UtlString &remoteIp, int remotePort, int keepAliveSecs, OsNatKeepaliveListener *pListener) |
| |
| UtlBoolean | removeCrLfKeepAlive (IStunSocket *pSocket, const UtlString &serverIp, int serverPort) |
| |
| UtlBoolean | addStunKeepAlive (IStunSocket *pSocket, const UtlString &remoteIp, int remotePort, int keepAliveSecs, OsNatKeepaliveListener *pListener) |
| |
| UtlBoolean | removeStunKeepAlive (IStunSocket *pSocket, const UtlString &serverIp, int serverPort) |
| |
| UtlBoolean | removeKeepAlives (IStunSocket *pSocket) |
| |
| UtlBoolean | removeStunProbes (IStunSocket *pSocket) |
| |
| void | synchronize () |
| |
| UtlBoolean | areProbesOutstanding (IStunSocket *pSocket, int priority) |
| |
| UtlBoolean | doesBindingExist (IStunSocket *pSocket, NAT_AGENT_BINDING_TYPE type, const UtlString &serverIp, int serverPort) |
| |
| OsTimer * | getTimer () |
| |
| UtlBoolean | findContactAddress (const UtlString &destHost, int destPort, UtlString *pContactHost, int *pContactPort, int iTimeoutMs=0) |
| |
| void | addExternalBinding (OsSocket *pSocket, UtlString remoteAddress, int remotePort, UtlString contactAddress, int contactPort) |
| |
| void | clearExternalBinding (OsSocket *pSocket, UtlString remoteAddress, int remotePort, bool bOnlyIfEmpty=false) |
| |
| UtlBoolean | findExternalBinding (const UtlString &destHost, int destPort, UtlString *pContactHost, int *pContactPort, int iTimeoutMs=0, UtlBoolean *pTimedOut=NULL) |
| |
| | OsServerTask (const UtlString &name="", void *pArg=NULL, const int maxRequestQMsgs=DEF_MAX_MSGS, const int priority=DEF_PRIO, const int options=DEF_OPTIONS, const int stackSize=DEF_STACKSIZE) |
| | Main constructor for OsServerTask. More...
|
| |
| virtual | ~OsServerTask () |
| |
| virtual OsStatus | postMessage (const OsMsg &rMsg, const OsTime &rTimeout=OsTime::OS_INFINITY, UtlBoolean sentFromISR=FALSE) |
| |
| virtual void | requestShutdown (void) |
| |
| OsMsgQ * | getMessageQueue () |
| |
|
| virtual UtlBoolean | handleTimerEvent (NAT_AGENT_CONTEXT *pContext) |
| |
| virtual void | handleStunTimeout (NAT_AGENT_CONTEXT *pContext) |
| |
| virtual void | handleTurnTimeout (NAT_AGENT_CONTEXT *pContext) |
| |
| virtual UtlBoolean | handleCrLfKeepAlive (NAT_AGENT_CONTEXT *pContext) |
| |
| virtual UtlBoolean | handleStunKeepAlive (NAT_AGENT_CONTEXT *pContext) |
| |
| virtual UtlBoolean | handleStunMessage (NatMsg &rMsg) |
| |
| virtual UtlBoolean | handleTurnMessage (NatMsg &rMsg) |
| |
| virtual UtlBoolean | handleSynchronize (OsRpcMsg &rMsg) |
| |
| virtual UtlBoolean | sendMessage (StunMessage *pMsg, IStunSocket *pSocket, const UtlString &toAddress, unsigned short toPort, PacketType packetType=UNKNOWN_PACKET) |
| |
| NAT_AGENT_CONTEXT * | getBinding (IStunSocket *pSocket, NAT_AGENT_BINDING_TYPE type) |
| |
| NAT_AGENT_CONTEXT * | getBinding (NAT_AGENT_CONTEXT *pContext) |
| |
| NAT_AGENT_CONTEXT * | getBinding (STUN_TRANSACTION_ID *pId) |
| |
| void | destroyBinding (NAT_AGENT_CONTEXT *pBinding) |
| |
| void | releaseTimer (OsTimer *pTimer) |
| |
| UtlBoolean | sendStunRequest (NAT_AGENT_CONTEXT *pBinding) |
| |
| UtlBoolean | sendTurnRequest (NAT_AGENT_CONTEXT *pBinding) |
| |
| void | markStunFailure (NAT_AGENT_CONTEXT *pBinding) |
| |
| void | markStunSuccess (NAT_AGENT_CONTEXT *pBinding, const UtlString &mappedAddress, int mappedPort) |
| |
| void | markTurnFailure (NAT_AGENT_CONTEXT *pBinding) |
| |
| void | markTurnSuccess (NAT_AGENT_CONTEXT *pBinding, const UtlString &relayAddress, int relayPort) |
| |
| OsNatKeepaliveEvent | populateKeepaliveEvent (NAT_AGENT_CONTEXT *pContext) |
| |
| void | dumpContext (UtlString *pResults, NAT_AGENT_CONTEXT *pBinding) |
| |
| virtual OsStatus | receiveMessage (OsMsg *&rpMsg) |
| |
| virtual OsStatus | receiveMessage (OsMsg *&rpMsg, const OsTime &rTimeout) |
| |
| virtual int | run (void *pArg) |
| |
The OsNatAgentTask is responsible for servicing all stun requests and and responses on behalf of the IStunSocket. This handles the stun requests/responses however relies on someone else to pump sockets.
Use cases:
1) Send a STUN request via a supplied IStunSocket 2) Process responses from a IStunSocket 3) Process server requests from a IStunSocket