RtpApplication

Package: inet.applications.rtpapp

RtpApplication

simple module

An application which uses RTP. It acts as a sender if the parameter fileName is set, and as a receiver if the parameter is empty.

Used in compound modules

Name Type Description
RtpHost compound module (no description)

Parameters

Name Type Default value Description
commonName string

the common name (CNAME) of this host

profileName string

which rtp profile is to be used (usually RtpAvProfile)

bandwidth double

bandwidth in bytes per second for this session

destinationAddress string

destination address (the L3AddressResolver class is used to resolve the address)

portNumber int

used port

fileName string

fileName of file to be transmitted, "" means this system acts only as a receiver

payloadType int

payload type of file to transmit

sessionEnterDelay double

delay before starts a new session

transmissionStartDelay double

delay before start transmission (related to "sender module created")

transmissionStopDelay double

delay before stops transmission (related to "start transmission")

sessionLeaveDelay double

delay before leave session (related to "file transmission finished/stopped" or "session entered" when fileName is "")

Properties

Name Value Description
display i=block/app
selfMessageKinds inet::RtpAppSelfMsgKinds

kind used in self messages

Gates

Name Direction Size Description
rtpOut output
rtpIn input

Scheduled messages (observed)

msgkindctrltagsmsgnamecontext
omnetpp::cMessage1 (RtpAppSelfMsgKinds::RTPAPP_ENTER_SESSION)enterSession
omnetpp::cMessage2 (RtpAppSelfMsgKinds::RTPAPP_START_TRANSMISSION)startTransmission
omnetpp::cMessage3 (RtpAppSelfMsgKinds::RTPAPP_STOP_TRANSMISSION)stopTransmission
omnetpp::cMessage4 (RtpAppSelfMsgKinds::RTPAPP_LEAVE_SESSION)leaveSession

Incoming messages (observed)

gatemsgkindctrlsrcModuletags
rtpInRtpControlMsg0RtpCiSenderModuleCreatedRtp
rtpInRtpControlMsg0RtpCiSenderStatusRtp
rtpInRtpControlMsg0RtpCiSessionEnteredRtp
rtpInRtpControlMsg0RtpCiSessionLeftRtp

Outgoing messages (observed)

gatemsgkindctrldestModuletags
rtpOutRtpControlMsg0RtpCiCreateSenderModuleRtp
rtpOutRtpControlMsg0RtpCiEnterSessionRtp
rtpOutRtpControlMsg0RtpCiLeaveSessionRtp
rtpOutRtpControlMsg0RtpCiSenderControlRtp

Tagging operations (observed)

tagTypetagAction
inet::Ipv4InterfaceDatafindTag

Source code

//
// An application which uses RTP. It acts as a sender if the parameter fileName is
// set, and as a receiver if the parameter is empty.
//
simple RtpApplication
{
    parameters:
        @display("i=block/app");
        string commonName;  // the common name (CNAME) of this host
        string profileName;  // which rtp profile is to be used (usually RtpAvProfile)
        double bandwidth;  // bandwidth in bytes per second for this session
        string destinationAddress;  // destination address (the L3AddressResolver class is used to resolve the address)
        int portNumber;  // used port
        string fileName;    // fileName of file to be transmitted, "" means this system acts only as a receiver
        int payloadType;  // payload type of file to transmit
        double sessionEnterDelay @unit(s);  // delay before starts a new session
        double transmissionStartDelay @unit(s); // delay before start transmission (related to "sender module created")
        double transmissionStopDelay @unit(s);  // delay before stops transmission (related to "start transmission")
        double sessionLeaveDelay @unit(s); // delay before leave session (related to "file transmission finished/stopped" or "session entered" when fileName is "")
        @selfMessageKinds(inet::RtpAppSelfMsgKinds);    // kind used in self messages

    gates:
        output rtpOut @labels(RtpInterfacePacket/down);
        input rtpIn @labels(RtpInterfacePacket/up);
}

File: src/inet/applications/rtpapp/RtpApplication.ned