IUDPApp

Package: inet.applications.contract

IUDPApp

module interface

Template for UDP applications. It shows what gates a UDP app needs, to be able to be used in StandardHost etc.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Implemented by

Name Type Description
DHCPClient simple module

Implements the DHCP client protocol. DHCP (Dynamic Host Configuration Protocol), described in RFC 2131, provides configuration parameters to Internet hosts. Requires UDP.

DHCPServer simple module

Implements the DHCP server protocol. DHCP (Dynamic Host Configuration Protocol), described in RFC 2131, provides configuration parameters to Internet hosts. Requires UDP.

RIPRouting simple module

Routing Information Protocol.

SimpleVoIPReceiver simple module

Receives a VoIP stream generated by a SimpleVoIPSender, and records statistics. The most important statistic is MOS (Mean Opinion Score, a value between 1 and 5, representing a human user's view of the voice quality), computed using the E Model defined in the ITU-T G.107 standard. The parameters starting with "emodel_" correspond to the parameters of the E model.

SimpleVoIPSender simple module

Implements a simple VoIP source. It is a constant bitrate source, with talkspurt support added. Packets do not contain actual voice data. Connection setup/teardown is not modelled. The peer must be a SimpleVoIPReceiver.

UDPBasicApp simple module

Sends UDP packets to the given IP address at the given interval. Compatible with both IPv4 and IPv6.

UDPBasicBurst simple module

Sends UDP packets to the given IP address(es) in bursts, or acts as a packet sink. Compatible with both IPv4 and IPv6.

UDPEchoApp simple module

Listens on an UDP port, and sends back each received packet to its sender. Note: when used together with UDPBasicApp, UDPBasicApp's "received packet lifetime" statistic will record round-trip times.

UDPSink simple module

Consumes and prints packets received from the UDP module.

UDPVideoStreamCli simple module

Video streaming client.

UDPVideoStreamSvr simple module

Video stream server. To be used with UDPVideoStreamCli.

VoIPStreamReceiver simple module

VoIPStreamReceiver listens on an UDP port, and expects to receive VoIP packets on it. The received voice is then saved into a result audio file that can be compared with the original for further evaluation. VoIP packets are numbered, and out-of-order packets are discarded (the corresponding voice interval will be recorded as silence into the file). VoIP packets that miss their deadlines will similarly be discarded. It is assumed that the audio is played back with delay (by default 20ms), which allows some jitter for the incoming packets. The resulting audio file is closed when the simulation completes (i.e. in the OMNeT++ finish() function). Only one voice session ("call") may be underway at a time.

VoIPStreamSender simple module

VoIPStreamSender accepts an audio file and a destination IP address/port as input, and will transmit the file's contents as voice traffic over UDP n times (by default once). For transmission, the audio is resampled at the specified frequency and depth, and encoded with the specified codec at the specified bit rate, and chopped into packets that each carry specified number of milliseconds of voice. Those values come from module parameters. Packets that are all silence (all samples are below a given threshold in absolute value) are transmitted as special "silence" packets. The module does not simulate any particular VoIP protocol (e.g. RTP), but instead accepts a "header size" parameter that can be set accordingly.

Used in compound modules

Name Type Description
Router compound module

IPv4 router that supports wireless, Ethernet, PPP and external interfaces. By default, no wireless and external interfaces are added; the number of Ethernet and PPP ports depends on the external connections.

StandardHost compound module

IPv4 host with SCTP, TCP, UDP layers and applications. IP forwarding is disabled by default (see forwarding).

Properties

Name Value Description
display i=block/app

Source code

//
// Template for UDP applications. It shows what gates a UDP app
// needs, to be able to be used in ~StandardHost etc.
//
moduleinterface IUDPApp
{
    parameters:
        @display("i=block/app");
    gates:
        input udpIn @labels(UDPControlInfo/up);
        output udpOut @labels(UDPControlInfo/down);
}



File: src/inet/applications/contract/IUDPApp.ned