# class UDPSession | RTP or UDPTL session. More...
Full name | `TelEngine::UDPSession`
Definition | `#include <libs/yrtp/yatertp.h>`
Inherits | TelEngine::RTPProcessor [public ]
Inherited by | RTPSession, UDPTLSession
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- virtual ~UDPSession ()
- virtual RTPTransport* createTransport ()
- bool initTransport ()
- bool initGroup (int msec = 0, Thread::Priority prio = Thread::Normal)
- inline bool remoteAddr (SocketAddr& addr, bool sniff = false)
- inline bool setBuffer (int bufLen = 4096)
- inline bool setTOS (int tos)
- inline Socket* rtpSock ()
- inline bool drillHole ()
- void setTimeout (int interval)
- inline RTPTransport* transport () const
- virtual void transport (RTPTransport* trans)

#### Protected Methods

- UDPSession ()
- virtual void timeout (bool initial)

#### Protected Members

- RTPTransport* m_transport
- u_int64_t m_timeoutTime
- u_int64_t m_timeoutInterval

## Detailed Description

A base class for RTP, SRTP or UDPTL sessions

~UDPSession () | ### ~UDPSession

[virtual]

Destructor - cleans up any remaining resources

RTPTransport* createTransport () | ### createTransport

[virtual]

Create a new RTP or UDP transport for this session. Override this method to create objects derived from RTPTransport.

Returns: Pointer to the new transport or NULL on failure

bool initTransport () | ### initTransport

Initialize the RTP session, attach a transport if there is none

Returns: True if initialized, false on some failure

bool initGroup (int msec = 0, Thread::Priority prio = Thread::Normal) | ### initGroup

Initialize the RTP session, attach a group if none is present

Parameters:

msec | Minimum time to sleep in group loop in milliseconds
prio | Thread priority to run the new group

Returns: True if initialized, false on some failure

inline bool remoteAddr (SocketAddr& addr, bool sniff = false) | ### remoteAddr

Set the remote network address of the RTP transport of this session

Parameters:

addr | New remote RTP transport address
sniff | Automatically adjust the address from the first incoming packet

Returns: True if address set, false if a failure occured

inline bool setBuffer (int bufLen = 4096) | ### setBuffer

Set the size of the operating system's buffers for the RTP and RTCP transport sockets

Parameters:

bufLen | Requested length of the buffer

Returns: True if the buffer length was set

inline bool setTOS (int tos) | ### setTOS

Set the Type Of Service for the RTP transport socket

Parameters:

tos | Type Of Service bits to set

Returns: True if operation was successfull, false if an error occured

inline Socket* rtpSock () | ### rtpSock

Get the main transport socket used by this session

Returns: Pointer to the RTP or UDPTL socket, NULL if no transport exists

inline bool drillHole () | ### drillHole

Drill a hole in a firewall or NAT for the RTP and RTCP sockets

Returns: True if at least a packet was sent for the RTP socket

void setTimeout (int interval) | ### setTimeout

Set the interval until receiver timeout is detected

Parameters:

interval | Milliseconds until receiver times out, zero to disable

inline RTPTransport* transport () | ### transport

[const]

Get the RTP/RTCP transport of data handled by this session.

Returns: A pointer to the RTPTransport of this session

void transport (RTPTransport* trans) | ### transport

[virtual]

Set the UDP transport of data handled by this session

Parameters:

trans | A pointer to the new RTPTransport for this session

UDPSession () | ### UDPSession

[protected]

Default constructor

void timeout (bool initial) | ### timeout

[protected virtual]

Method called when the receiver timed out

Parameters:

initial | True if no packet was ever received in this session

RTPTransport* m_transport | ### m_transport

[protected]

u_int64_t m_timeoutTime | ### m_timeoutTime

[protected]

u_int64_t m_timeoutInterval | ### m_timeoutInterval

[protected]

Generated by: paulc on bussard on Mon Feb 10 13:15:47 2014, using kdoc 2.0a54.