11 #ifndef _OsNatDatagramSocket_h_ 12 #define _OsNatDatagramSocket_h_ 23 #define NAT_MSG_TYPE (OsMsg::USER_START + 1) 141 virtual int read(
char* buffer,
int bufferLength) ;
146 virtual int read(
char* buffer,
int bufferLength,
152 virtual int read(
char* buffer,
int bufferLength,
153 struct in_addr* ipAddress,
int* port);
158 virtual int read(
char* buffer,
int bufferLength,
long waitMilliseconds);
164 virtual int write(
const char* buffer,
int bufferLength);
170 virtual int socketWrite(
const char* buffer,
int bufferLength,
176 virtual int write(
const char* buffer,
int bufferLength,
177 const char* ipAddress,
int port);
182 virtual int write(
const char* buffer,
int bufferLength,
183 long waitMilliseconds);
195 virtual void enableStun(
const char* szStunServer,
199 bool bReadFromSocket) ;
219 virtual void enableTurn(
const char* szTurnSever,
222 const char* username,
223 const char* password,
224 bool bReadFromSocket) ;
300 const int remotePort,
301 const int keepAliveSecs,
305 const int remotePort) ;
308 const int remotePort,
309 const int keepAliveSecs,
313 const int remotePort) ;
424 bool mbTransparentReads ;
436 #endif // _OsNatDatagramSocket_h_ Definition: OsNatDatagramSocket.h:56
NAT_STATUS
Definition: OsNatDatagramSocket.h:44
virtual UtlBoolean removeCrLfKeepAlive(const char *szRemoteIp, const int remotePort)
Definition: OsNatDatagramSocket.cpp:453
Definition: OsSocket.h:79
UtlString mDestAddress
Definition: OsNatDatagramSocket.h:413
virtual UtlBoolean addStunKeepAlive(const char *szRemoteIp, const int remotePort, const int keepAliveSecs, OsNatKeepaliveListener *pListener)
Definition: OsNatDatagramSocket.cpp:459
void markTurnSuccess()
Definition: OsNatDatagramSocket.cpp:644
virtual void addAlternateDestination(const char *szAddress, int iPort, int priority)
Definition: OsNatDatagramSocket.cpp:558
Definition: OsNatDatagramSocket.h:48
void setTurnAddress(const UtlString &address, const int iPort)
Definition: OsNatDatagramSocket.cpp:598
Definition: OsNatDatagramSocket.h:78
void markStunSuccess(bool bAddressChanged)
Definition: OsNatDatagramSocket.cpp:606
virtual OsSocket * getSocket()
Definition: OsNatDatagramSocket.cpp:102
virtual void enableTransparentReads(bool bEnable)
Definition: OsNatDatagramSocket.cpp:432
virtual void disableStun()
Definition: OsNatDatagramSocket.cpp:329
virtual bool waitForBinding(NAT_BINDING binding, bool bWaitUntilReady)
Definition: OsNatDatagramSocket.cpp:389
Definition: OsNatSocketBaseImpl.h:25
PacketType
Definition: IStunSocket.h:27
virtual void setNotifier(OsNotification *pNotification)
Definition: OsNatDatagramSocket.cpp:581
virtual void readyDestination(const char *szAddress, int iPort)
Definition: OsNatDatagramSocket.cpp:572
virtual UtlBoolean addCrLfKeepAlive(const char *szRemoteIp, const int remotePort, const int keepAliveSecs, OsNatKeepaliveListener *pListener)
Definition: OsNatDatagramSocket.cpp:437
Definition: OsNotification.h:35
virtual int read(char *buffer, int bufferLength)
Definition: OsNatDatagramSocket.cpp:107
#define NULL
Definition: UtlDefs.h:29
int mappedPort
Definition: OsNatDatagramSocket.h:70
NAT_STATUS status
Definition: OsNatDatagramSocket.h:67
Definition: OsNatAgentTask.h:117
Definition: OsNatKeepaliveListener.h:97
int relayPort
Definition: OsNatDatagramSocket.h:84
void setStunAddress(const UtlString &address, const int iPort)
Definition: OsNatDatagramSocket.cpp:591
Definition: OsNatDatagramSocket.h:100
Definition: UtlString.h:48
Definition: OsNatDatagramSocket.h:46
NAT_BINDING
Definition: OsNatDatagramSocket.h:53
virtual void disableTurn()
Definition: OsNatDatagramSocket.cpp:379
Definition: OsNatDatagramSocket.h:55
virtual UtlBoolean getRelayIp(UtlString *ip, int *port)
Definition: OsNatDatagramSocket.cpp:521
virtual void destroy()
Definition: OsNatDatagramSocket.cpp:90
NAT_STATUS status
Definition: OsNatDatagramSocket.h:81
UtlString mappedAddress
Definition: OsNatDatagramSocket.h:69
virtual UtlBoolean applyDestinationAddress(const char *szAddress, int iPort)
Definition: OsNatDatagramSocket.cpp:702
UtlString relayAddress
Definition: OsNatDatagramSocket.h:83
Definition: OsDatagramSocket.h:37
int localHostPort
Definition: OsSocket.h:321
int miDestPort
Definition: OsNatDatagramSocket.h:414
virtual ~OsNatDatagramSocket()
Definition: OsNatDatagramSocket.cpp:85
void evaluateDestinationAddress(const UtlString &address, int iPort, int priority)
Definition: OsNatDatagramSocket.cpp:656
Definition: OsNatDatagramSocket.h:47
virtual void enableTurn(const char *szTurnSever, int turnPort, int iKeepAlive, const char *username, const char *password, bool bReadFromSocket)
Definition: OsNatDatagramSocket.cpp:339
virtual void setReadNotification(OsNotification *pNotification)
Definition: OsNatDatagramSocket.cpp:564
Events are used to synchronize a task with an ISR or between two tasks.
Definition: OsEvent.h:70
void markStunFailure()
Definition: OsNatDatagramSocket.cpp:631
virtual int socketWrite(const char *buffer, int bufferLength, const char *ipAddress, int port, PacketType packetType=UNKNOWN_PACKET)
Definition: OsNatDatagramSocket.cpp:228
Definition: OsNatDatagramSocket.h:57
bool bEnabled
Definition: OsNatDatagramSocket.h:66
int UtlBoolean
Definition: UtlDefs.h:41
Definition: OsNatDatagramSocket.h:64
OsNatDatagramSocket(int remoteHostPort, const char *remoteHostName, int localHostPort=PORT_DEFAULT, const char *localHostName=NULL, OsNotification *pNotification=NULL)
Definition: OsNatDatagramSocket.cpp:50
virtual int write(const char *buffer, int bufferLength)
Definition: OsNatDatagramSocket.cpp:239
virtual UtlBoolean getMappedIp(UtlString *ip, int *port)
Definition: OsNatDatagramSocket.cpp:485
int miDestPriority
Definition: OsNatDatagramSocket.h:412
void markTurnFailure()
Definition: OsNatDatagramSocket.cpp:650
Definition: OsNatDatagramSocket.h:58
int remoteHostPort
Definition: OsSocket.h:322
bool bEnabled
Definition: OsNatDatagramSocket.h:80
#define PORT_DEFAULT
Definition: OsDefs.h:180
virtual UtlBoolean getBestDestinationAddress(UtlString &address, int &iPort)
Definition: OsNatDatagramSocket.cpp:678
virtual UtlBoolean removeStunKeepAlive(const char *szRemoteIp, const int remotePort)
Definition: OsNatDatagramSocket.cpp:475
UtlString remoteHostName
Definition: OsSocket.h:325
virtual void enableStun(const char *szStunServer, int stunPort, int iKeepAlive, int stunOptions, bool bReadFromSocket)
Definition: OsNatDatagramSocket.cpp:287
UtlString localHostName
Definition: OsSocket.h:324
Definition: IStunSocket.h:29