OpenTestPoint probes for use with the EMANE LTE Model and srsLTE-emane projects.
-
Build and install OpenTestPoint and the OpenTestPoint EMANE Probes or install the latest pre-built EMANE bundle, which already contains both.
-
Build and install the LTE probes.
git clone https://github.com/adjacentlink/opentestpoint-probe-lte.git
cd opentestpoint-probe-lte
./autogen.sh
./configure
make rpm
sudo yum install .rpmbuild/RPMS/noarch/*rpm
sudo apt-get install libzmq3-dev libsqlite3-dev
git clone https://github.com/adjacentlink/opentestpoint-probe-lte.git
cd opentestpoint-probe-lte
./autogen.sh
./configure
make deb
sudo dpkg -i .debbuild/opentestpoint-probe-lte*.deb
<otestpoint id="enb-21" discovery="0.0.0.0:8881" publish="0.0.0.0:8882">
<probe configuration="probe-srslte-enb.xml">
<python module="otestpoint.lte.srsenb" class="SRSENB"/>
</probe>
<probe configuration="probe-emanelte-enb.xml">
<python module="otestpoint.lte.emaneenb" class="EMANEENB"/>
</probe>
</otestpoint>
<probe-srslte-enb address="127.0.0.1" port="47100">
<probes>
<SRSLTE.ENB.Tables.Counts enable="yes"/>
<SRSLTE.ENB.Tables.MAC enable="yes"/>
<SRSLTE.ENB.Tables.PHY enable="yes"/>
<SRSLTE.ENB.Tables.Upper enable="yes"/>
</probes>
</probe-srslte-enb>
<probe-emane-lte address="127.0.0.1" port="47000">
<probes>
<EMANE.LTE.ENB.Counters.General enable="yes"/>
<EMANE.LTE.ENB.Tables.Counts enable="yes"/>
<EMANE.LTE.ENB.Tables.Downlink.Control enable="no"/>
<EMANE.LTE.ENB.Tables.Downlink.Data enable="no"/>
<EMANE.LTE.ENB.Tables.Events enable="yes"/>
<EMANE.LTE.ENB.Tables.Uplink.Control enable="no"/>
<EMANE.LTE.ENB.Tables.Uplink.Data enable="no"/>
</probes>
</probe-emane-lte>
[me@host]$ otestpoint-dump enb-21:8882 SRSLTE.ENB.Tables.RLC
[1548712110] enb-21/0 5941d13a-7664-47bf-83b3-53d5b13ec506
otestpoint.lte.srsenb Measurement_srslte_enb_tables_rlc v1 1077 bytes
SRSLTE.ENB.Tables.RLC.enb-21
[] rlcmrbthruputtable
|RNTI|LCID|DLKbps|Type|Cap|Size|HighWater|NumPush|NumPushFail|NumPop|NumPopFail|Cleared|Time|
--
[] rlcthruputtable
|RNTI|LCID|DLKbps|ULKbps|Type|Cap|Size|HighWater|NumPush|NumPushFail|NumPop|NumPopFail|Cleared|Time |
|70 |3 |0.0 |0.0 |UM |128|0 |0 |0 |0 |0 |0 |0 |1548712109|
|70 |2 |0.0 |0.0 |AM |128|0 |0 |0 |0 |0 |0 |0 |1548712109|
|70 |1 |0.0 |0.0 |AM |128|0 |1 |5 |0 |5 |0 |0 |1548712109|
|70 |0 |0.0 |0.0 |TM |16 |0 |1 |1 |0 |1 |0 |0 |1548712109|
|71 |1 |0.0 |0.0 |AM |128|0 |1 |5 |0 |5 |0 |0 |1548712109|
|71 |0 |0.0 |0.0 |TM |16 |0 |1 |1 |0 |1 |0 |0 |1548712109|
|71 |3 |0.0 |0.0 |UM |128|0 |0 |0 |0 |0 |0 |0 |1548712109|
|71 |2 |0.0 |0.0 |AM |128|0 |0 |0 |0 |0 |0 |0 |1548712109|
--
<otestpoint id="ue-2" discovery="0.0.0.0:8881" publish="0.0.0.0:8882">
<probe configuration="probe-srslte-ue.xml">
<python module="otestpoint.lte.srsue" class="SRSUE"/>
</probe>
<probe configuration="probe-emanelte-ue.xml">
<python module="otestpoint.lte.emaneue" class="EMANEUE"/>
</probe>
</otestpoint>
<probe-srslte-ue address="127.0.0.1" port="47100">
<probes>
<SRSLTE.UE.Tables.Counts enable="yes"/>
<SRSLTE.UE.Tables.MAC enable="yes"/>
<SRSLTE.UE.Tables.PHY enable="yes"/>
<SRSLTE.UE.Tables.Upper enable="yes"/>
</probes>
</probe-srslte-ue>
<probe-emane-lte address="127.0.0.1" port="47000">
<probes>
<EMANE.LTE.UE.Counters.General enable="yes"/>
<EMANE.LTE.UE.Tables.Counts enable="yes"/>
<EMANE.LTE.UE.Tables.Downlink.Control enable="no"/>
<EMANE.LTE.UE.Tables.Downlink.Data enable="yes"/>
<EMANE.LTE.UE.Tables.Events enable="yes"/>
<EMANE.LTE.UE.Tables.Uplink.Control enable="no"/>
<EMANE.LTE.UE.Tables.Uplink.Data enable="no"/>
</probes>
</probe-emane-lte>
[me@host]$ otestpoint-dump ue-02:8882 EMANE.LTE.UE.Tables.Downlink.Data
[1548712270] ue-2/1 2d138db8-11f4-45d9-9b6a-2470e41d67fc
otestpoint.lte.emaneue Measurement_emane_lte_ue_tables_downlink_data v1 4264 bytes
EMANE.LTE.UE.Tables.Downlink.Data.ue-2
[] downlinkrxpdschfrequencycounts
|Frequency |0.1|0.2|1.1|1.2|2.1|2.2|3.1|3.2|4.1|4.2|5.1 |5.2 |6.1|6.2|7.1|7.2|8.1|8.2|9.1 |9.2 |
|2686259936|1 |1 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |1 |1 |
|2686079936|1 |1 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |1 |1 |
|2685899936|1 |1 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |1 |1 |
|2685719936|1 |1 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |1 |1 |
|2685539936|1 |1 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |1 |1 |
|2685359936|1 |1 |0 |0 |0 |0 |0 |0 |2 |2 |0 |0 |0 |0 |0 |0 |0 |0 |1 |1 |
|2685179936|1 |1 |0 |0 |0 |0 |0 |0 |2 |2 |0 |0 |0 |0 |0 |0 |0 |0 |1 |1 |
|2684999936|1 |1 |0 |0 |0 |0 |0 |0 |3 |3 |1 |1 |0 |0 |0 |0 |0 |0 |1 |1 |
|2684819936|1 |1 |0 |0 |0 |0 |0 |0 |3 |3 |1 |1 |0 |0 |0 |0 |0 |0 |1 |1 |
|2684639936|1 |1 |0 |0 |0 |0 |0 |0 |3 |3 |1 |1 |0 |0 |0 |0 |0 |0 |1 |1 |
|2684459936|1 |1 |0 |0 |0 |0 |0 |0 |3 |3 |1 |1 |0 |0 |0 |0 |0 |0 |1 |1 |
|2684279936|1 |1 |0 |0 |0 |0 |0 |0 |9 |9 |10912|10912|0 |0 |0 |0 |0 |0 |2731|2731|
|2684099936|1 |1 |0 |0 |0 |0 |0 |0 |9 |9 |10912|10912|0 |0 |0 |0 |0 |0 |2731|2731|
|2683919936|1 |1 |0 |0 |0 |0 |0 |0 |11 |11 |10912|10912|0 |0 |0 |0 |0 |0 |2731|2731|
|2683739936|1 |1 |0 |0 |0 |0 |0 |0 |11 |11 |10912|10912|0 |0 |0 |0 |0 |0 |2731|2731|
--
[] downlinkrxpmchfrequencycounts
|Frequency |0.1|0.2|1.1|1.2|2.1|2.2|3.1|3.2|4.1|4.2|5.1|5.2|6.1|6.2|7.1|7.2|8.1|8.2|9.1|9.2|
|2686259936|0 |0 |341|341|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |
|2686079936|0 |0 |341|341|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |
|2685899936|0 |0 |341|341|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |
|2685719936|0 |0 |341|341|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |
|2685539936|0 |0 |341|341|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |
|2685359936|0 |0 |341|341|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |
|2685179936|0 |0 |341|341|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |
|2684999936|0 |0 |341|341|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |
|2684819936|0 |0 |341|341|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |
|2684639936|0 |0 |341|341|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |
|2684459936|0 |0 |341|341|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |
|2684279936|0 |0 |341|341|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |
|2684099936|0 |0 |341|341|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |
|2683919936|0 |0 |341|341|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |
|2683739936|0 |0 |341|341|0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |
--
<otestpoint id="epc-1" discovery="0.0.0.0:8881" publish="0.0.0.0:8882">
<probe configuration="probe-srslte-mbms.xml">
<python module="otestpoint.lte.srsmbms" class="SRSMBMS"/>
</probe>
<probe configuration="probe-srslte-epc.xml">
<python module="otestpoint.lte.srsepc" class="SRSEPC"/>
</probe>
</otestpoint>
<probe-srslte-epc address="127.0.0.1" port="47100">
<probes>
<SRSLTE.EPC.Tables.NAS enable="yes"/>
<SRSLTE.EPC.Tables.Traffic enable="yes"/>
</probes>
</probe-srslte-epc>
<probe-srslte-mbms address="127.0.0.1" port="47101">
<probes>
<SRSLTE.MBMS.Tables.Traffic enable="yes"/>
</probes>
</probe-srslte-mbms>
[me@host]$ otestpoint-dump epc-01:8882 SRSLTE.EPC.Tables.Traffic
[1548712605] epc-1/1 5107fa90-57ba-4820-86e0-2e9e642ff4fd
otestpoint.lte.srsepc Measurement_srslte_epc_tables_traffic v1 688 bytes
SRSLTE.EPC.Tables.Traffic.epc-1
[] bearertable
|Dst |eNBTEID |eNBAddr |IMSI|EBI|Time |
|172.16.0.2|0x460003|10.88.1.21|2 |5 |1548712053|
|172.16.0.3|0x470003|10.88.1.21|3 |5 |1548712053|
--
[] downlinkdroptraffictable
|Src|Dst|Count|Bytes|Time|
--
[] downlinktraffictable
|Src |Dst |Count|Bytes |Time |
|172.16.0.1|172.16.0.3|9 |3792 |1548712598|
|172.16.0.1|172.16.0.2|13 |3608 |1548712598|
|172.16.0.2|172.16.0.3|171 |172284|1548712604|
|172.16.0.3|172.16.0.2|171 |172284|1548712604|
--
[] uplinktraffictable
|Src |Dst |Count|Bytes |Time |
|172.16.0.2|172.16.0.3|171 |172284|1548712604|
|172.16.0.2|172.16.0.1|6 |504 |1548712576|
|172.16.0.3|172.16.0.2|171 |172284|1548712604|