Package: simu5g.apps.voip
VoIPSender
simple moduleThis module represents a model for the sender of Voice-over-IP (VoIP) traffic. It generates packets by alternating "talk spurts" and "silence" periods, with their respective durations modeled by a Weibull distribution. During talk spurts, fixed-size packets are generated periodically and sent over UDP to a specified destination address and port.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Parameters
Name | Type | Default value | Description |
---|---|---|---|
localPort | int | -1 | |
destPort | int | 3000 | |
destAddress | string | ||
packetSize | int | 40B | |
shape_talk | double | 0.824s |
params for Weibull distribution |
scale_talk | double | 1.423s | |
shape_sil | double | 1.089s | |
scale_sil | double | 0.900s | |
is_talk | bool | true |
whether transmission starts with talk or silence |
sampling_time | double | 0.02s | |
startTime | double | 0s | |
silences | bool | true | |
tos | int | -1 |
if not -1, set the Type Of Service (IPv4) / Traffic Class (IPv6) field of sent packets to this value |
Properties
Name | Value | Description |
---|---|---|
display | i=block/source |
Gates
Name | Direction | Size | Description |
---|---|---|---|
socketOut | output | ||
socketIn | input |
Signals
Name | Type | Unit | Description |
---|---|---|---|
voIPGeneratedThroughput |
Statistics
Name | Title | Source | Record | Unit | Interpolation Mode | Description |
---|---|---|---|---|---|---|
voIPGeneratedThroughput | Throughput generated by the application | voIPGeneratedThroughput | mean, vector | Bps |
Source code
// // This module represents a model for the sender of Voice-over-IP (VoIP) traffic. // It generates packets by alternating "talk spurts" and "silence" periods, with their respective // durations modeled by a Weibull distribution. During talk spurts, fixed-size packets are // generated periodically and sent over UDP to a specified destination address and port. // simple VoIPSender like IApp { parameters: int localPort = default(-1); int destPort = default(3000); string destAddress; int packetSize @unit(B) = default(40B); double shape_talk @unit(s) = default(0.824s); // params for Weibull distribution double scale_talk @unit(s) = default(1.423s); double shape_sil @unit(s) = default(1.089s); double scale_sil @unit(s) = default(0.900s); bool is_talk = default(true); // whether transmission starts with talk or silence double sampling_time @unit("s") = default(0.02s); double startTime @unit("s") = default(0s); bool silences = default(true); int tos = default(-1); // if not -1, set the Type Of Service (IPv4) / Traffic Class (IPv6) field of sent packets to this value @signal[voIPGeneratedThroughput]; @statistic[voIPGeneratedThroughput](title="Throughput generated by the application"; unit="Bps"; source="voIPGeneratedThroughput"; record=mean,vector); @display("i=block/source"); gates: output socketOut; input socketIn; }File: src/apps/voip/VoIPSender.ned