How to use mcastrx for Linux (x86 and ARM

Scope

This document covers how to use the multicast monitoring tool mcastrx.

Prequsuites:

  • Ubuntu 20.04 - other distributions could potentially be used, but are untested. Telos will not troubleshoot alternate distributions.

  • mcastrx

  • Administrator privileges

  • comfortable using the console

How to:

  • Connect the Linux host

  • elevate yourself to superuser using the command

sudo -s 
  • To ensure you can work with Telos Alliance products we need to step the IGMP version down from V3 to V2. Use the command below to step down to V2. You will need to replace  with="" the="" interface="" that="" receives="" multicast="" on="" your="">>

sysctl -w net.ipv4.conf.<ifacename>.force_igmp_version=2
  • Copy mcastrx to your Linux host. We recommend a top-level directory for ease of use.

  • Change to the directory where you loaded mcastrx to.

  • Run the command below, replacing the IP Address, and multicast address/channel with the channels you want to monitor. For example, if your IP was 192.168.0.10, and the channel was 100 the command would be ./mcastrx 192.168.0.10 100 -a

./mcastrx IP_ADDRESS_OF_AoIP_INTERFACE MULTICAST_ADDRESS/CHANNEL_NUMBER -a

Command line options

-h, --help                        display this usage info
	-S, --sample-rate x               set stream sample rate, (default 48000)
	-t, --show-timestamps             show receive timestamps
	-s, --sequence-numbers            check sequence numbers of RTP stream
	-d, --time-difference             Measure absolute time of arrival to RTP timestamps
	-T, --analyze-timestamps          analyze RTP timestamps for internal correctness
	-n, --num-rx=N                    only listen to first N RTP packets, then quit
	-m, --stat-period=N               number of seconds between statistics printouts (default=10sec)
	-p, --ptp-domain=N                listen to PTP clock on domain N
	-r, --rtp-ts-range=N              define maximum range of RTP timestamp deviation from PTP time
	-y, --use-system-time             Use system time assuming it is PTP synced.  No PTP client functions in the test.
	-a, --abs-arrival-time            Measure the arrival time vs the RTP timestamp.
	-f, --forward-audio-to=<ip/chan>  Forward incoming stream to another multicast address or Livewire channel
	-P, --modify-pt=N                 Modify pre-processed incoming packets' payload types to N
	-c, --modify-ssrc=N               Modify RTP SSRC value to N (if N begins with "0x", hex value assumed
	-l, --audio-lvl                   Print audio level (peak)
	-j, --histogram                   gather rtp timestamp histogram (use with -a)
	-v, --verbose			 print verbose ptp snooping tracking information.
	-A, --alignment								 print RTP timestamp modulo 1sec of first sample of audio nonzero pulse.
	-I,									 Measure internal RX time between kernel timestamp and application.
	-C,									 Specify number of channels in the packet, (default 2).

Closing:

There are more advanced features the Telos rep may ask you to use. If you are looking for integrated guidance on mcastrx, please run ./mcastrx -h to see the advanced commands.

Downloading MCASTRX (Linux X86)

Click this link below if you want to download the file to your machine and you can copy it to the machine where you want to run it. this is version 2.9.2

https://telos-support.s3.amazonaws.com/Axia/Utilities/mcastrx/linux-x86/mcastrxV1.9.2-b56ac9c3

you will likely need to use chmod to set the permissions to allow it to run. Use the command sudo chmod 755 mcastrxV1.9.2-b56ac9c3

Alternative Download method.

You can use wget to download it right on the machine where you want to run it (assumes your machine has internet access as it's downloaded from AWS

sudo wget https://telos-support.s3.amazonaws.com/Axia/Utilities/mcastrx/linux-x86/mcastrxV1.9.2-d1e92add

Download mcastrx v1.6.0x (Linux ARM)