Compound Module RTPHost

File: Transport/RTP/RTPHost.ned

(no description)

application: RTPApplication rtpLayer: RTPLayer socketLayer: SocketLayer udpModule: UDPModule networkLayer: NetworkLayer ppp: PPPInterface

Usage diagram:

The following diagram shows usage relationships between modules, networks and channels. Unresolved module (and channel) types are missing from the diagram. Click here to see the full picture.

Contains the following modules:

If a module type shows up more than once, that means it has been defined in more than one NED file.

NetworkLayer

Network layer of an IP node.

PPPInterface (no description)
RTPApplication (no description)
RTPLayer (no description)
SocketLayer (unknown -- not in documented files)
UDPModule (unknown -- not in documented files)

Parameters:

Name Type Description
debug bool
profileName string
destinationAddress string
portNumber numeric
bandwidth numeric
fileName string
payloadType numeric
numOfProcessors numeric

network information

routingFile string

Gates:

Name Direction Description
in [ ] input
out [ ] output

Unassigned submodule parameters:

Name Type Description
application.commonName string
application.sessionEnterDelay numeric
application.transmissionStartDelay numeric
application.transmissionStopDelay numeric
application.sessionLeaveDelay numeric
networkLayer.proxyARP bool
networkLayer.ip.procDelay numeric const
networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

ppp[*].queueType string

Source code:

module RTPHost

    parameters:
        debug: bool,
        profileName : string,
        destinationAddress : string,
        portNumber : numeric,
        bandwidth : numeric,
        fileName : string,
        payloadType : numeric,
        // network information
        numOfProcessors : numeric,
        routingFile : string;
    gates:
        in: in[];
        out: out[];

    submodules:
        application: RTPApplication;
            parameters:
                //#commonName = nodename,
                profileName = profileName,
                destinationAddress = destinationAddress,
                portNumber = portNumber,
                bandwidth = bandwidth,
                fileName = fileName,
                payloadType = payloadType;
            display: "p=77,52;b=40,24";
        rtpLayer: RTPLayer;
            parameters:
                rtpModuleType = "RTPEndsystemModule",
                rtcpModuleType = "RTCPEndsystemModule";
            display: "p=178,54;b=40,24";
        socketLayer: SocketLayer;
            parameters:
                debug = false;
            gatesizes:
                from_appl[2],
                to_appl[2];
            display: "p=180,164;b=40,24";
        udpModule: UDPModule;
            parameters:
                debug = false;
            display: "p=87,166;i=block/transport";
        networkLayer: NetworkLayer;
            parameters:
                IPForward = false,
                routingFile = routingFile;
            gatesizes:
                ifIn[sizeof(out)],
                ifOut[sizeof(out)];
            display: "p=87,242;i=block/fork";
        ppp : PPPInterface[sizeof(out)];
            display: "p=80,300,row;q=queue;i=block/ifcard";
    connections nocheck:
        // transport connections
        application.toRTP --> rtpLayer.fromApp;
        application.fromRTP <-- rtpLayer.toApp;
        rtpLayer.toSocketLayerRTP --> socketLayer.from_appl[0];
        rtpLayer.fromSocketLayerRTP <-- socketLayer.to_appl[0];
        rtpLayer.toSocketLayerRTCP --> socketLayer.from_appl[1];
        rtpLayer.fromSocketLayerRTCP <-- socketLayer.to_appl[1];
        socketLayer.to_udp --> udpModule.from_socket;
        socketLayer.from_udp <-- udpModule.to_socket;
        networkLayer.UDPOut --> udpModule.from_ip;
        networkLayer.UDPIn <-- udpModule.to_ip;

        // connections to network outside
        for i=0..sizeof(out)-1 do
            in[i] --> ppp[i].physIn;
            out[i] <-- ppp[i].physOut;
            ppp[i].netwOut --> networkLayer.ifIn[i];
            ppp[i].netwIn <-- networkLayer.ifOut[i];
        endfor;
endmodule