diff -Nru libosmo-netif-0.3.0/configure.ac libosmo-netif-1.0.0/configure.ac --- libosmo-netif-0.3.0/configure.ac 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/configure.ac 2020-08-13 09:21:03.000000000 +0000 @@ -22,6 +22,11 @@ LT_INIT AC_PROG_LIBTOOL +dnl patching ${archive_cmds} to affect generation of file "libtool" to fix linking with clang +AS_CASE(["$LD"],[*clang*], + [AS_CASE(["${host_os}"], + [*linux*],[archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'])]) + dnl check for pkg-config (explained in detail in libosmocore/configure.ac) AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) if test "x$PKG_CONFIG_INSTALLED" = "xno"; then @@ -82,23 +87,29 @@ dnl Generate the output AM_CONFIG_HEADER(config.h) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 0.12.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 0.12.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.3.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.3.0) dnl FIXME: We depend on libosmoabis by now until we can move LAPD code here -PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.5.1) - -old_LIBS=$LIBS -AC_SEARCH_LIBS([sctp_send], [sctp], [ - AC_DEFINE(HAVE_LIBSCTP, 1, [Define 1 to enable SCTP support]) - AC_SUBST(HAVE_LIBSCTP, [1]) - if test -n "$ac_lib"; then - AC_SUBST(LIBSCTP_LIBS, [-l$ac_lib]) - fi - ], [ - AC_MSG_ERROR([sctp_send not found in searched libs])]) -LIBS=$old_LIBS +PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 0.6.0) -AC_CHECK_HEADERS(dahdi/user.h,,AC_MSG_WARN(DAHDI input driver will not be built)) +AC_ARG_ENABLE([libsctp], [AS_HELP_STRING([--disable-libsctp], [Do not enable socket multiaddr APIs requiring libsctp])], + [ENABLE_LIBSCTP=$enableval], [ENABLE_LIBSCTP="yes"]) +AM_CONDITIONAL(ENABLE_LIBSCTP, test x"$ENABLE_LIBSCTP" = x"yes") +AS_IF([test "x$ENABLE_LIBSCTP" = "xyes"], [ + AC_CHECK_HEADERS(netinet/sctp.h,,AC_MSG_ERROR(netinet/sctp.h not found)) + old_LIBS=$LIBS + AC_CHECK_LIB(osmocore, osmo_sock_init2_multiaddr,, AC_MSG_ERROR(libosmocore built without libsctp support), $LIBOSMOCORE_LIBS) + LIBS=$old_LIBS + AC_SEARCH_LIBS([sctp_send], [sctp], [ + AC_DEFINE(HAVE_LIBSCTP, 1, [Define 1 to enable SCTP support]) + AC_SUBST(HAVE_LIBSCTP, [1]) + if test -n "$ac_lib"; then + AC_SUBST(LIBSCTP_LIBS, [-l$ac_lib]) + fi + ], [ + AC_MSG_ERROR([sctp_send not found in searched libs])]) + LIBS=$old_LIBS +]) found_pcap=yes AC_CHECK_HEADERS(pcap.h,,found_pcap=no) @@ -122,4 +133,5 @@ examples/Makefile tests/Makefile Doxyfile - Makefile) + Makefile + contrib/libosmo-netif.spec) diff -Nru libosmo-netif-0.3.0/contrib/jenkins.sh libosmo-netif-1.0.0/contrib/jenkins.sh --- libosmo-netif-0.3.0/contrib/jenkins.sh 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/contrib/jenkins.sh 2020-08-13 09:21:03.000000000 +0000 @@ -39,5 +39,6 @@ $MAKE $PARALLEL_MAKE $MAKE distcheck \ || cat-testlogs.sh +$MAKE maintainer-clean osmo-clean-workspace.sh diff -Nru libosmo-netif-0.3.0/contrib/libosmo-netif.spec.in libosmo-netif-1.0.0/contrib/libosmo-netif.spec.in --- libosmo-netif-0.3.0/contrib/libosmo-netif.spec.in 1970-01-01 00:00:00.000000000 +0000 +++ libosmo-netif-1.0.0/contrib/libosmo-netif.spec.in 2020-08-13 09:21:03.000000000 +0000 @@ -0,0 +1,84 @@ +# +# spec file for package libosmo-netif +# +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +Name: libosmo-netif +Version: @VERSION@ +Release: 0 +Summary: Osmocom library for muxed audio +License: GPL-2.0-or-later +Group: Productivity/Telephony/Utilities +URL: https://osmocom.org/projects/libosmo-netif +Source: %{name}-%{version}.tar.xz +BuildRequires: automake +BuildRequires: libtool >= 2 +BuildRequires: lksctp-tools-devel +BuildRequires: pkgconfig >= 0.20 +BuildRequires: pkgconfig(libosmoabis) >= 0.6.0 +BuildRequires: pkgconfig(libosmocore) >= 1.0.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.0.0 + +%description +Network interface demuxer library for OsmoCom projects. + +%package -n libosmonetif8 +Summary: Osmocom library for muxed audio +License: AGPL-3.0-or-later +Group: System/Libraries + +%description -n libosmonetif8 +Network interface demuxer library for OsmoCom projects. + +%package -n libosmonetif-devel +Summary: Development files for the Osmocom muxed audio library +License: AGPL-3.0-or-later +Group: Development/Libraries/C and C++ +Requires: libosmonetif8 = %{version} + +%description -n libosmonetif-devel +Network interface demuxer library for OsmoCom projects. + +This subpackage contains libraries and header files for developing +applications that want to make use of libosmo-netif. + +%prep +%setup -q + +%build +echo "%{version}" >.tarball-version +autoreconf -fiv +%configure --enable-shared --disable-static --includedir="%{_includedir}/%{name}" +make %{?_smp_mflags} + +%install +%make_install +find %{buildroot} -type f -name "*.la" -delete -print + +%check +make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) + +%post -n libosmonetif8 -p /sbin/ldconfig +%postun -n libosmonetif8 -p /sbin/ldconfig + +%files -n libosmonetif8 +%{_libdir}/libosmonetif.so.8* + +%files -n libosmonetif-devel +%license COPYING +%dir %{_includedir}/%{name} +%dir %{_includedir}/%{name}/osmocom +%{_includedir}/%{name}/osmocom/netif/ +%{_libdir}/libosmonetif.so +%{_libdir}/pkgconfig/libosmo-netif.pc + +%changelog diff -Nru libosmo-netif-0.3.0/debian/changelog libosmo-netif-1.0.0/debian/changelog --- libosmo-netif-0.3.0/debian/changelog 2018-11-05 20:41:10.000000000 +0000 +++ libosmo-netif-1.0.0/debian/changelog 2020-12-09 18:16:04.000000000 +0000 @@ -1,3 +1,33 @@ +libosmo-netif (1.0.0-4) unstable; urgency=medium + + * upload to unstable + + -- Thorsten Alteholz Wed, 09 Dec 2020 19:16:04 +0100 + +libosmo-netif (1.0.0-3) experimental; urgency=medium + + * debian/rules: really determine on which arch we are running + + -- Thorsten Alteholz Tue, 01 Dec 2020 22:16:04 +0100 + +libosmo-netif (1.0.0-2) experimental; urgency=medium + + * debian/rules: ignore test result on some architectures + + -- Thorsten Alteholz Tue, 01 Dec 2020 21:16:04 +0100 + +libosmo-netif (1.0.0-1) experimental; urgency=medium + + * New upstream release + * debian/control: bump standard to 4.5.0 (no changes) + * debian/control: use dh12 + * debian/control: depend on libosmocore >=1.4.0 + * debian/control: depend on libosmo-abis >=1.0.1 + * debian/control: take care of soname change + * add Build-Depends-Package: to symbols files + + -- Thorsten Alteholz Sun, 16 Aug 2020 10:16:04 +0000 + libosmo-netif (0.3.0-1) unstable; urgency=low * Upload to unstable diff -Nru libosmo-netif-0.3.0/debian/compat libosmo-netif-1.0.0/debian/compat --- libosmo-netif-0.3.0/debian/compat 2018-11-05 20:41:10.000000000 +0000 +++ libosmo-netif-1.0.0/debian/compat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -11 diff -Nru libosmo-netif-0.3.0/debian/control libosmo-netif-1.0.0/debian/control --- libosmo-netif-0.3.0/debian/control 2018-11-05 20:41:10.000000000 +0000 +++ libosmo-netif-1.0.0/debian/control 2020-12-09 18:16:04.000000000 +0000 @@ -4,18 +4,18 @@ Maintainer: Debian Mobcom Maintainers Uploaders: Ruben Undheim , Thorsten Alteholz -Build-Depends: debhelper (>= 11) - , libosmocore-dev (>=0.12.0) - , libosmo-abis-dev (>=0.5.1) +Build-Depends: debhelper-compat (= 12) + , libosmocore-dev (>=1.4.0) + , libosmo-abis-dev (>=1.0.1) , pkg-config , libortp-dev , libsctp-dev -Standards-Version: 4.2.1 +Standards-Version: 4.5.0 Vcs-Browser: https://salsa.debian.org/debian-mobcom-team/libosmo-netif Vcs-Git: https://salsa.debian.org/debian-mobcom-team/libosmo-netif.git Homepage: http://git.osmocom.org/libosmo-netif/ -Package: libosmonetif6 +Package: libosmonetif8 Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Multi-Arch: same @@ -30,7 +30,7 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, libosmocore-dev, - libosmonetif6 (= ${binary:Version}) + libosmonetif8 (= ${binary:Version}) Multi-Arch: same Description: Development headers for Osmocom network interface The libosmo-netif library is one of the libraries needed by the diff -Nru libosmo-netif-0.3.0/debian/libosmonetif6.install libosmo-netif-1.0.0/debian/libosmonetif6.install --- libosmo-netif-0.3.0/debian/libosmonetif6.install 2018-11-05 20:41:10.000000000 +0000 +++ libosmo-netif-1.0.0/debian/libosmonetif6.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -usr/lib/*/libosmonetif*.so.* diff -Nru libosmo-netif-0.3.0/debian/libosmonetif6.symbols libosmo-netif-1.0.0/debian/libosmonetif6.symbols --- libosmo-netif-0.3.0/debian/libosmonetif6.symbols 2018-11-05 20:41:10.000000000 +0000 +++ libosmo-netif-1.0.0/debian/libosmonetif6.symbols 1970-01-01 00:00:00.000000000 +0000 @@ -1,167 +0,0 @@ -libosmonetif.so.6 libosmonetif6 #MINVER# - ipa_cli_id_ack@Base 0.0.6 - ipa_cli_id_resp@Base 0.0.6 - ipa_id_ack_msg@Base 0.0.6 - ipa_id_req_msg@Base 0.0.6 - ipa_pong_msg@Base 0.0.6 - ipaccess_idtag_name@Base 0.0.6 - ipaccess_parse_unitid@Base 0.0.6 - ipaccess_send_id_ack@Base 0.0.6 - ipaccess_send_id_req@Base 0.0.6 - ipaccess_send_pong@Base 0.0.6 - osmo_amr_bytes@Base 0.0.6 - osmo_amr_ft_valid@Base 0.0.6 - osmo_dgram_close@Base 0.0.6 - osmo_dgram_create@Base 0.0.6 - osmo_dgram_destroy@Base 0.0.6 - osmo_dgram_get_data@Base 0.0.6 - osmo_dgram_open@Base 0.0.6 - osmo_dgram_recv@Base 0.0.6 - osmo_dgram_rx_close@Base 0.0.6 - osmo_dgram_rx_create@Base 0.0.6 - osmo_dgram_rx_destroy@Base 0.0.6 - osmo_dgram_rx_open@Base 0.0.6 - osmo_dgram_rx_recv@Base 0.0.6 - osmo_dgram_rx_set_addr@Base 0.0.6 - osmo_dgram_rx_set_port@Base 0.0.6 - osmo_dgram_rx_set_read_cb@Base 0.0.6 - osmo_dgram_send@Base 0.0.6 - osmo_dgram_set_data@Base 0.0.6 - osmo_dgram_set_local_addr@Base 0.0.6 - osmo_dgram_set_local_port@Base 0.0.6 - osmo_dgram_set_read_cb@Base 0.0.6 - osmo_dgram_set_remote_addr@Base 0.0.6 - osmo_dgram_set_remote_port@Base 0.0.6 - osmo_dgram_tx_close@Base 0.0.6 - osmo_dgram_tx_create@Base 0.0.6 - osmo_dgram_tx_destroy@Base 0.0.6 - osmo_dgram_tx_open@Base 0.0.6 - osmo_dgram_tx_send@Base 0.0.6 - osmo_dgram_tx_set_addr@Base 0.0.6 - osmo_dgram_tx_set_data@Base 0.0.6 - osmo_dgram_tx_set_local_addr@Base 0.1.1 - osmo_dgram_tx_set_local_port@Base 0.1.1 - osmo_dgram_tx_set_port@Base 0.0.6 - osmo_ipa_idtag_parse@Base 0.0.6 - osmo_ipa_msg_alloc@Base 0.0.6 - osmo_ipa_msg_push_header@Base 0.0.6 - osmo_ipa_parse_msg_id_resp@Base 0.0.6 - osmo_ipa_parse_unitid@Base 0.0.6 - osmo_ipa_process_msg@Base 0.0.6 - osmo_ipa_rcvmsg_base@Base 0.0.6 - osmo_ipa_unit_add@Base 0.0.6 - osmo_ipa_unit_alloc@Base 0.0.6 - osmo_ipa_unit_find@Base 0.0.6 - osmo_ipa_unit_free@Base 0.0.6 - osmo_ipa_unit_get_bts_id@Base 0.0.6 - osmo_ipa_unit_get_data@Base 0.0.6 - osmo_ipa_unit_get_site_id@Base 0.0.6 - osmo_ipa_unit_get_trx_id@Base 0.0.6 - osmo_ipa_unit_get_unit_hwvers@Base 0.0.6 - osmo_ipa_unit_get_unit_location1@Base 0.0.6 - osmo_ipa_unit_get_unit_location2@Base 0.0.6 - osmo_ipa_unit_get_unit_mac_addr@Base 0.0.6 - osmo_ipa_unit_get_unit_name@Base 0.0.6 - osmo_ipa_unit_get_unit_serno@Base 0.0.6 - osmo_ipa_unit_get_unit_swvers@Base 0.0.6 - osmo_ipa_unit_set_bts_id@Base 0.0.6 - osmo_ipa_unit_set_site_id@Base 0.0.6 - osmo_ipa_unit_set_trx_id@Base 0.0.6 - osmo_ipa_unit_set_unit_hwvers@Base 0.0.6 - osmo_ipa_unit_set_unit_location1@Base 0.0.6 - osmo_ipa_unit_set_unit_location2@Base 0.0.6 - osmo_ipa_unit_set_unit_mac_addr@Base 0.0.6 - osmo_ipa_unit_set_unit_name@Base 0.0.6 - osmo_ipa_unit_set_unit_serno@Base 0.0.6 - osmo_ipa_unit_set_unit_swvers@Base 0.0.6 - osmo_ipa_unit_snprintf@Base 0.0.6 - osmo_ipa_unit_snprintf_hwvers@Base 0.0.6 - osmo_ipa_unit_snprintf_loc1@Base 0.0.6 - osmo_ipa_unit_snprintf_loc2@Base 0.0.6 - osmo_ipa_unit_snprintf_mac_addr@Base 0.0.6 - osmo_ipa_unit_snprintf_name@Base 0.0.6 - osmo_ipa_unit_snprintf_serno@Base 0.0.6 - osmo_ipa_unit_snprintf_swvers@Base 0.0.6 - osmo_jibuf_alloc@Base 0.2.0 - osmo_jibuf_delete@Base 0.2.0 - osmo_jibuf_empty@Base 0.2.0 - osmo_jibuf_enable_skew_compensation@Base 0.2.0 - osmo_jibuf_enqueue@Base 0.2.0 - osmo_jibuf_set_dequeue_cb@Base 0.2.0 - osmo_jibuf_set_max_delay@Base 0.2.0 - osmo_jibuf_set_min_delay@Base 0.2.0 - osmo_rs232_close@Base 0.0.6 - osmo_rs232_create@Base 0.0.6 - osmo_rs232_destroy@Base 0.0.6 - osmo_rs232_open@Base 0.0.6 - osmo_rs232_read@Base 0.0.6 - osmo_rs232_set_baudrate@Base 0.0.6 - osmo_rs232_set_delay_us@Base 0.0.6 - osmo_rs232_set_read_cb@Base 0.0.6 - osmo_rs232_set_serial_port@Base 0.0.6 - osmo_rs232_write@Base 0.0.6 - osmo_rtp_build@Base 0.0.6 - osmo_rtp_get_hdr@Base 0.0.6 - osmo_rtp_get_payload@Base 0.0.6 - osmo_rtp_handle_create@Base 0.0.6 - osmo_rtp_handle_free@Base 0.0.6 - osmo_rtp_handle_tx_set_sequence@Base 0.0.6 - osmo_rtp_handle_tx_set_ssrc@Base 0.0.6 - osmo_rtp_handle_tx_set_timestamp@Base 0.0.6 - osmo_rtp_snprintf@Base 0.0.6 - osmo_stream_cli_close@Base 0.0.6 - osmo_stream_cli_create@Base 0.0.6 - osmo_stream_cli_destroy@Base 0.0.6 - osmo_stream_cli_get_data@Base 0.0.6 - osmo_stream_cli_get_ofd@Base 0.0.6 - osmo_stream_cli_open2@Base 0.1.1 - osmo_stream_cli_open@Base 0.0.6 - osmo_stream_cli_reconnect@Base 0.1.1 - osmo_stream_cli_recv@Base 0.0.6 - osmo_stream_cli_send@Base 0.0.6 - osmo_stream_cli_set_addr@Base 0.0.6 - osmo_stream_cli_set_connect_cb@Base 0.0.6 - osmo_stream_cli_set_data@Base 0.0.6 - osmo_stream_cli_set_local_addr@Base 0.1.1 - osmo_stream_cli_set_local_port@Base 0.1.1 - osmo_stream_cli_set_nodelay@Base 0.1.1 - osmo_stream_cli_set_port@Base 0.0.6 - osmo_stream_cli_set_proto@Base 0.1.1 - osmo_stream_cli_set_read_cb@Base 0.0.6 - osmo_stream_cli_set_reconnect_timeout@Base 0.0.6 - osmo_stream_srv_create@Base 0.0.6 - osmo_stream_srv_destroy@Base 0.0.6 - osmo_stream_srv_get_data@Base 0.0.6 - osmo_stream_srv_get_master@Base 0.0.6 - osmo_stream_srv_get_ofd@Base 0.0.6 - osmo_stream_srv_link_close@Base 0.0.6 - osmo_stream_srv_link_create@Base 0.0.6 - osmo_stream_srv_link_destroy@Base 0.0.6 - osmo_stream_srv_link_get_data@Base 0.0.6 - osmo_stream_srv_link_get_ofd@Base 0.0.6 - osmo_stream_srv_link_open@Base 0.0.6 - osmo_stream_srv_link_set_accept_cb@Base 0.0.6 - osmo_stream_srv_link_set_addr@Base 0.0.6 - osmo_stream_srv_link_set_data@Base 0.0.6 - osmo_stream_srv_link_set_nodelay@Base 0.1.1 - osmo_stream_srv_link_set_port@Base 0.0.6 - osmo_stream_srv_link_set_proto@Base 0.1.1 - osmo_stream_srv_recv@Base 0.0.6 - osmo_stream_srv_send@Base 0.0.6 - osmo_stream_srv_set_data@Base 0.0.6 - osmo_stream_srv_set_flush_and_destroy@Base 0.2.0 - osmux_snprintf@Base 0.0.6 - osmux_tx_sched@Base 0.0.6 - osmux_xfrm_input@Base 0.0.6 - osmux_xfrm_input_close_circuit@Base 0.0.6 - osmux_xfrm_input_deliver@Base 0.0.6 - osmux_xfrm_input_fini@Base 0.0.6 - osmux_xfrm_input_init@Base 0.0.6 - osmux_xfrm_input_open_circuit@Base 0.0.6 - osmux_xfrm_output@Base 0.0.6 - osmux_xfrm_output_flush@Base 0.2.0 - osmux_xfrm_output_init@Base 0.0.6 - osmux_xfrm_output_pull@Base 0.0.6 - osmux_xfrm_output_sched@Base 0.2.0 - osmux_xfrm_output_set_tx_cb@Base 0.2.0 - rs232_tx_timer_cb@Base 0.0.6 diff -Nru libosmo-netif-0.3.0/debian/libosmonetif8.install libosmo-netif-1.0.0/debian/libosmonetif8.install --- libosmo-netif-0.3.0/debian/libosmonetif8.install 1970-01-01 00:00:00.000000000 +0000 +++ libosmo-netif-1.0.0/debian/libosmonetif8.install 2020-12-09 18:16:04.000000000 +0000 @@ -0,0 +1 @@ +usr/lib/*/libosmonetif*.so.* diff -Nru libosmo-netif-0.3.0/debian/libosmonetif8.symbols libosmo-netif-1.0.0/debian/libosmonetif8.symbols --- libosmo-netif-0.3.0/debian/libosmonetif8.symbols 1970-01-01 00:00:00.000000000 +0000 +++ libosmo-netif-1.0.0/debian/libosmonetif8.symbols 2020-12-09 18:16:04.000000000 +0000 @@ -0,0 +1,179 @@ +libosmonetif.so.8 libosmonetif8 #MINVER# +* Build-Depends-Package: libosmo-netif-dev + ipa_cli_id_ack@Base 1.0.0 + ipa_cli_id_resp@Base 1.0.0 + ipa_id_ack_msg@Base 1.0.0 + ipa_id_req_msg@Base 1.0.0 + ipa_pong_msg@Base 1.0.0 + ipaccess_idtag_name@Base 1.0.0 + ipaccess_parse_unitid@Base 1.0.0 + ipaccess_send_id_ack@Base 1.0.0 + ipaccess_send_id_req@Base 1.0.0 + ipaccess_send_pong@Base 1.0.0 + osmo_amr_bits@Base 1.0.0 + osmo_amr_bwe_to_oa@Base 1.0.0 + osmo_amr_bytes@Base 1.0.0 + osmo_amr_ft_valid@Base 1.0.0 + osmo_amr_is_oa@Base 1.0.0 + osmo_amr_oa_to_bwe@Base 1.0.0 + osmo_dgram_close@Base 1.0.0 + osmo_dgram_create@Base 1.0.0 + osmo_dgram_destroy@Base 1.0.0 + osmo_dgram_get_data@Base 1.0.0 + osmo_dgram_open@Base 1.0.0 + osmo_dgram_recv@Base 1.0.0 + osmo_dgram_rx_close@Base 1.0.0 + osmo_dgram_rx_create@Base 1.0.0 + osmo_dgram_rx_destroy@Base 1.0.0 + osmo_dgram_rx_open@Base 1.0.0 + osmo_dgram_rx_recv@Base 1.0.0 + osmo_dgram_rx_set_addr@Base 1.0.0 + osmo_dgram_rx_set_port@Base 1.0.0 + osmo_dgram_rx_set_read_cb@Base 1.0.0 + osmo_dgram_send@Base 1.0.0 + osmo_dgram_set_data@Base 1.0.0 + osmo_dgram_set_local_addr@Base 1.0.0 + osmo_dgram_set_local_port@Base 1.0.0 + osmo_dgram_set_read_cb@Base 1.0.0 + osmo_dgram_set_remote_addr@Base 1.0.0 + osmo_dgram_set_remote_port@Base 1.0.0 + osmo_dgram_tx_close@Base 1.0.0 + osmo_dgram_tx_create@Base 1.0.0 + osmo_dgram_tx_destroy@Base 1.0.0 + osmo_dgram_tx_open@Base 1.0.0 + osmo_dgram_tx_send@Base 1.0.0 + osmo_dgram_tx_set_addr@Base 1.0.0 + osmo_dgram_tx_set_data@Base 1.0.0 + osmo_dgram_tx_set_local_addr@Base 1.0.0 + osmo_dgram_tx_set_local_port@Base 1.0.0 + osmo_dgram_tx_set_port@Base 1.0.0 + osmo_ipa_msg_alloc@Base 1.0.0 + osmo_ipa_msg_push_header@Base 1.0.0 + osmo_ipa_parse_msg_id_resp@Base 1.0.0 + osmo_ipa_parse_unitid@Base 1.0.0 + osmo_ipa_process_msg@Base 1.0.0 + osmo_ipa_rcvmsg_base@Base 1.0.0 + osmo_ipa_unit_add@Base 1.0.0 + osmo_ipa_unit_alloc@Base 1.0.0 + osmo_ipa_unit_find@Base 1.0.0 + osmo_ipa_unit_free@Base 1.0.0 + osmo_ipa_unit_get_bts_id@Base 1.0.0 + osmo_ipa_unit_get_data@Base 1.0.0 + osmo_ipa_unit_get_site_id@Base 1.0.0 + osmo_ipa_unit_get_trx_id@Base 1.0.0 + osmo_ipa_unit_get_unit_hwvers@Base 1.0.0 + osmo_ipa_unit_get_unit_location1@Base 1.0.0 + osmo_ipa_unit_get_unit_location2@Base 1.0.0 + osmo_ipa_unit_get_unit_mac_addr@Base 1.0.0 + osmo_ipa_unit_get_unit_name@Base 1.0.0 + osmo_ipa_unit_get_unit_serno@Base 1.0.0 + osmo_ipa_unit_get_unit_swvers@Base 1.0.0 + osmo_ipa_unit_set_bts_id@Base 1.0.0 + osmo_ipa_unit_set_site_id@Base 1.0.0 + osmo_ipa_unit_set_trx_id@Base 1.0.0 + osmo_ipa_unit_set_unit_hwvers@Base 1.0.0 + osmo_ipa_unit_set_unit_location1@Base 1.0.0 + osmo_ipa_unit_set_unit_location2@Base 1.0.0 + osmo_ipa_unit_set_unit_mac_addr@Base 1.0.0 + osmo_ipa_unit_set_unit_name@Base 1.0.0 + osmo_ipa_unit_set_unit_serno@Base 1.0.0 + osmo_ipa_unit_set_unit_swvers@Base 1.0.0 + osmo_ipa_unit_snprintf@Base 1.0.0 + osmo_ipa_unit_snprintf_hwvers@Base 1.0.0 + osmo_ipa_unit_snprintf_loc1@Base 1.0.0 + osmo_ipa_unit_snprintf_loc2@Base 1.0.0 + osmo_ipa_unit_snprintf_mac_addr@Base 1.0.0 + osmo_ipa_unit_snprintf_name@Base 1.0.0 + osmo_ipa_unit_snprintf_serno@Base 1.0.0 + osmo_ipa_unit_snprintf_swvers@Base 1.0.0 + osmo_jibuf_alloc@Base 1.0.0 + osmo_jibuf_delete@Base 1.0.0 + osmo_jibuf_empty@Base 1.0.0 + osmo_jibuf_enable_skew_compensation@Base 1.0.0 + osmo_jibuf_enqueue@Base 1.0.0 + osmo_jibuf_set_dequeue_cb@Base 1.0.0 + osmo_jibuf_set_max_delay@Base 1.0.0 + osmo_jibuf_set_min_delay@Base 1.0.0 + osmo_rs232_close@Base 1.0.0 + osmo_rs232_create@Base 1.0.0 + osmo_rs232_destroy@Base 1.0.0 + osmo_rs232_open@Base 1.0.0 + osmo_rs232_read@Base 1.0.0 + osmo_rs232_set_baudrate@Base 1.0.0 + osmo_rs232_set_delay_us@Base 1.0.0 + osmo_rs232_set_read_cb@Base 1.0.0 + osmo_rs232_set_serial_port@Base 1.0.0 + osmo_rs232_write@Base 1.0.0 + osmo_rtp_build@Base 1.0.0 + osmo_rtp_get_hdr@Base 1.0.0 + osmo_rtp_get_payload@Base 1.0.0 + osmo_rtp_handle_create@Base 1.0.0 + osmo_rtp_handle_free@Base 1.0.0 + osmo_rtp_handle_tx_set_sequence@Base 1.0.0 + osmo_rtp_handle_tx_set_ssrc@Base 1.0.0 + osmo_rtp_handle_tx_set_timestamp@Base 1.0.0 + osmo_rtp_snprintf@Base 1.0.0 + osmo_stream_cli_close@Base 1.0.0 + osmo_stream_cli_create@Base 1.0.0 + osmo_stream_cli_destroy@Base 1.0.0 + osmo_stream_cli_get_data@Base 1.0.0 + osmo_stream_cli_get_ofd@Base 1.0.0 + osmo_stream_cli_get_sockname@Base 1.0.0 + osmo_stream_cli_is_connected@Base 1.0.0 + osmo_stream_cli_open2@Base 1.0.0 + osmo_stream_cli_open@Base 1.0.0 + osmo_stream_cli_reconnect@Base 1.0.0 + osmo_stream_cli_recv@Base 1.0.0 + osmo_stream_cli_send@Base 1.0.0 + osmo_stream_cli_set_addr@Base 1.0.0 + osmo_stream_cli_set_addrs@Base 1.0.0 + osmo_stream_cli_set_connect_cb@Base 1.0.0 + osmo_stream_cli_set_data@Base 1.0.0 + osmo_stream_cli_set_disconnect_cb@Base 1.0.0 + osmo_stream_cli_set_local_addr@Base 1.0.0 + osmo_stream_cli_set_local_addrs@Base 1.0.0 + osmo_stream_cli_set_local_port@Base 1.0.0 + osmo_stream_cli_set_nodelay@Base 1.0.0 + osmo_stream_cli_set_port@Base 1.0.0 + osmo_stream_cli_set_proto@Base 1.0.0 + osmo_stream_cli_set_read_cb@Base 1.0.0 + osmo_stream_cli_set_reconnect_timeout@Base 1.0.0 + osmo_stream_srv_create@Base 1.0.0 + osmo_stream_srv_destroy@Base 1.0.0 + osmo_stream_srv_get_data@Base 1.0.0 + osmo_stream_srv_get_master@Base 1.0.0 + osmo_stream_srv_get_ofd@Base 1.0.0 + osmo_stream_srv_link_close@Base 1.0.0 + osmo_stream_srv_link_create@Base 1.0.0 + osmo_stream_srv_link_destroy@Base 1.0.0 + osmo_stream_srv_link_get_data@Base 1.0.0 + osmo_stream_srv_link_get_ofd@Base 1.0.0 + osmo_stream_srv_link_get_sockname@Base 1.0.0 + osmo_stream_srv_link_open@Base 1.0.0 + osmo_stream_srv_link_set_accept_cb@Base 1.0.0 + osmo_stream_srv_link_set_addr@Base 1.0.0 + osmo_stream_srv_link_set_addrs@Base 1.0.0 + osmo_stream_srv_link_set_data@Base 1.0.0 + osmo_stream_srv_link_set_nodelay@Base 1.0.0 + osmo_stream_srv_link_set_port@Base 1.0.0 + osmo_stream_srv_link_set_proto@Base 1.0.0 + osmo_stream_srv_recv@Base 1.0.0 + osmo_stream_srv_send@Base 1.0.0 + osmo_stream_srv_set_data@Base 1.0.0 + osmo_stream_srv_set_flush_and_destroy@Base 1.0.0 + osmux_snprintf@Base 1.0.0 + osmux_tx_sched@Base 1.0.0 + osmux_xfrm_input@Base 1.0.0 + osmux_xfrm_input_close_circuit@Base 1.0.0 + osmux_xfrm_input_deliver@Base 1.0.0 + osmux_xfrm_input_fini@Base 1.0.0 + osmux_xfrm_input_init@Base 1.0.0 + osmux_xfrm_input_open_circuit@Base 1.0.0 + osmux_xfrm_output@Base 1.0.0 + osmux_xfrm_output_flush@Base 1.0.0 + osmux_xfrm_output_init2@Base 1.0.0 + osmux_xfrm_output_init@Base 1.0.0 + osmux_xfrm_output_pull@Base 1.0.0 + osmux_xfrm_output_sched@Base 1.0.0 + osmux_xfrm_output_set_tx_cb@Base 1.0.0 + rs232_tx_timer_cb@Base 1.0.0 diff -Nru libosmo-netif-0.3.0/debian/patches/series libosmo-netif-1.0.0/debian/patches/series --- libosmo-netif-0.3.0/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 +++ libosmo-netif-1.0.0/debian/patches/series 2020-12-09 18:16:04.000000000 +0000 @@ -0,0 +1 @@ +Setting-library-version-explicitly.patch diff -Nru libosmo-netif-0.3.0/debian/patches/Setting-library-version-explicitly.patch libosmo-netif-1.0.0/debian/patches/Setting-library-version-explicitly.patch --- libosmo-netif-0.3.0/debian/patches/Setting-library-version-explicitly.patch 1970-01-01 00:00:00.000000000 +0000 +++ libosmo-netif-1.0.0/debian/patches/Setting-library-version-explicitly.patch 2020-12-09 18:16:04.000000000 +0000 @@ -0,0 +1,12 @@ +Description: we do not build from git so version has to be set manually +Index: libosmo-netif-1.0.0/configure.ac +=================================================================== +--- libosmo-netif-1.0.0.orig/configure.ac 2020-08-13 09:21:03.000000000 +0000 ++++ libosmo-netif-1.0.0/configure.ac 2020-08-16 14:03:49.142525753 +0000 +@@ -1,5 +1,5 @@ + AC_INIT([libosmo-netif], +- m4_esyscmd([./git-version-gen .tarball-version]), ++ 1.0.0, + [openbsc-devel@lists.openbsc.org]) + + dnl *This* is the root dir, even if an install-sh exists in ../ or ../../ diff -Nru libosmo-netif-0.3.0/debian/rules libosmo-netif-1.0.0/debian/rules --- libosmo-netif-0.3.0/debian/rules 2018-11-05 20:41:10.000000000 +0000 +++ libosmo-netif-1.0.0/debian/rules 2020-12-09 18:16:04.000000000 +0000 @@ -7,6 +7,7 @@ export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed export DEB_BUILD_MAINT_OPTIONS = hardening=+all +arch = $(shell dpkg-architecture -qDEB_BUILD_ARCH) %: @@ -23,3 +24,19 @@ override_dh_clean: dh_clean rm -f tests/package.m4 tests/testsuite .version .tarball-version + +# Print test results in case of a failure +# only s390x is a release architecture +override_dh_auto_test: + echo ${arch} + if [ "${arch}" = "s390x" ] || \ + [ "${arch}" = "hppa" ] || \ + [ "${arch}" = "powerpc" ] || \ + [ "${arch}" = "ppc64" ] || \ + [ "${arch}" = "sparc64" ] || \ + [ "${arch}" = "mips" ] ; then \ + echo "Do not care of test result on this architecture" ;\ + else \ + echo "Do make tests on this architecture" ;\ + dh_auto_test || (find . -name testsuite.log -exec cat {} \; ; false) \ + fi diff -Nru libosmo-netif-0.3.0/debian/watch libosmo-netif-1.0.0/debian/watch --- libosmo-netif-0.3.0/debian/watch 2018-11-05 20:41:10.000000000 +0000 +++ libosmo-netif-1.0.0/debian/watch 2020-12-09 18:16:04.000000000 +0000 @@ -1,2 +1,2 @@ version=4 -opts="mode=git, dversionmangle=s/\+ds//" https://git.osmocom.org/libosmo-netif refs/tags/([\d\.]+) debian uupdate +opts="mode=git, dversionmangle=s/\+ds//" git://git.osmocom.org/libosmo-netif refs/tags/([\d\.]+) debian uupdate diff -Nru libosmo-netif-0.3.0/examples/ipa-stream-client.c libosmo-netif-1.0.0/examples/ipa-stream-client.c --- libosmo-netif-0.3.0/examples/ipa-stream-client.c 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/examples/ipa-stream-client.c 2020-08-13 09:21:03.000000000 +0000 @@ -54,6 +54,13 @@ exit(EXIT_SUCCESS); } +static int disconnect_cb(struct osmo_stream_cli *conn) +{ + LOGP(DIPATEST, LOGL_NOTICE, "disconnected\n"); + + return 0; +} + static int connect_cb(struct osmo_stream_cli *conn) { int *__num_msgs = osmo_stream_cli_get_data(conn); @@ -176,6 +183,7 @@ osmo_stream_cli_set_addr(conn, "127.0.0.1"); osmo_stream_cli_set_port(conn, 10000); osmo_stream_cli_set_connect_cb(conn, connect_cb); + osmo_stream_cli_set_disconnect_cb(conn, disconnect_cb); osmo_stream_cli_set_read_cb(conn, read_cb); osmo_stream_cli_set_data(conn, &num_msgs); diff -Nru libosmo-netif-0.3.0/examples/Makefile.am libosmo-netif-1.0.0/examples/Makefile.am --- libosmo-netif-0.3.0/examples/Makefile.am 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/examples/Makefile.am 2020-08-13 09:21:03.000000000 +0000 @@ -46,10 +46,10 @@ $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) rs232_read_SOURCES = rs232-read.c -rs232_read_LDADD = $(top_builddir)/src/libosmonetif.la $(LIBOSMOCORE_LIBS) +rs232_read_LDADD = $(top_builddir)/src/libosmonetif.la $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) rs232_write_SOURCES = rs232-write.c -rs232_write_LDADD = $(top_builddir)/src/libosmonetif.la $(LIBOSMOCORE_LIBS) +rs232_write_LDADD = $(top_builddir)/src/libosmonetif.la $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) rtp_udp_test_client_SOURCES = rtp-udp-test-client.c rtp_udp_test_client_LDADD = $(top_builddir)/src/libosmonetif.la \ diff -Nru libosmo-netif-0.3.0/examples/rs232-write.c libosmo-netif-1.0.0/examples/rs232-write.c --- libosmo-netif-0.3.0/examples/rs232-write.c 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/examples/rs232-write.c 2020-08-13 09:21:03.000000000 +0000 @@ -377,7 +377,7 @@ exit(EXIT_FAILURE); } kbd_ofd->fd = STDIN_FILENO; - kbd_ofd->when = BSC_FD_READ; + kbd_ofd->when = OSMO_FD_READ; kbd_ofd->data = NULL; kbd_ofd->cb = kbd_cb; rc = osmo_fd_register(kbd_ofd); diff -Nru libosmo-netif-0.3.0/examples/stream-client.c libosmo-netif-1.0.0/examples/stream-client.c --- libosmo-netif-0.3.0/examples/stream-client.c 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/examples/stream-client.c 2020-08-13 09:21:03.000000000 +0000 @@ -39,25 +39,39 @@ static int connect_cb(struct osmo_stream_cli *conn) { - LOGP(DSTREAMTEST, LOGL_NOTICE, "connected\n"); + LOGP(DSTREAMTEST, LOGL_NOTICE, "connected: %s\n", osmo_stream_cli_get_sockname(conn)); + return 0; +} + +static int disconnect_cb(struct osmo_stream_cli *conn) +{ + LOGP(DSTREAMTEST, LOGL_NOTICE, "disconnected: %s\n", osmo_stream_cli_get_sockname(conn)); + return 0; } static int read_cb(struct osmo_stream_cli *conn) { + int bytes; struct msgb *msg; - LOGP(DSTREAMTEST, LOGL_NOTICE, "received message from stream\n"); + LOGP(DSTREAMTEST, LOGL_NOTICE, "receiving message from stream... "); msg = msgb_alloc(1024, "STREAMCLIENT/test"); if (msg == NULL) { - LOGP(DSTREAMTEST, LOGL_ERROR, "cannot allocate message\n"); + LOGPC(DSTREAMTEST, LOGL_ERROR, "cannot allocate message\n"); return 0; } - if (osmo_stream_cli_recv(conn, msg) < 0) { - LOGP(DSTREAMTEST, LOGL_ERROR, "cannot receive message\n"); + + bytes = osmo_stream_cli_recv(conn, msg); + + if (bytes < 0) { + LOGPC(DSTREAMTEST, LOGL_ERROR, "cannot receive message\n"); return 0; } + + LOGPC(DSTREAMTEST, LOGL_NOTICE, "got %d (%d) bytes: %s\n", bytes, msg->len, msgb_hexdump(msg)); + msgb_free(msg); return 0; } @@ -86,7 +100,7 @@ osmo_stream_cli_send(conn, msg); - LOGP(DSTREAMTEST, LOGL_NOTICE, "message of %d bytes sent\n", msg->len); + LOGP(DSTREAMTEST, LOGL_NOTICE, "sent %d bytes message: %s\n", msg->len, msgb_hexdump(msg)); return 0; } @@ -100,6 +114,7 @@ msgb_talloc_ctx_init(tall_test, 0); osmo_init_logging2(tall_test, &osmo_stream_cli_test_log_info); log_set_log_level(osmo_stderr_target, 1); + log_set_category_filter(osmo_stderr_target, DLINP, 0, LOGL_INFO); /* * initialize stream cli. @@ -113,6 +128,7 @@ osmo_stream_cli_set_addr(conn, "127.0.0.1"); osmo_stream_cli_set_port(conn, 10000); osmo_stream_cli_set_connect_cb(conn, connect_cb); + osmo_stream_cli_set_disconnect_cb(conn, disconnect_cb); osmo_stream_cli_set_read_cb(conn, read_cb); if (osmo_stream_cli_open(conn) < 0) { @@ -126,7 +142,7 @@ exit(EXIT_FAILURE); } kbd_ofd->fd = STDIN_FILENO; - kbd_ofd->when = BSC_FD_READ; + kbd_ofd->when = OSMO_FD_READ; kbd_ofd->data = conn; kbd_ofd->cb = kbd_cb; rc = osmo_fd_register(kbd_ofd); diff -Nru libosmo-netif-0.3.0/examples/stream-server.c libosmo-netif-1.0.0/examples/stream-server.c --- libosmo-netif-0.3.0/examples/stream-server.c 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/examples/stream-server.c 2020-08-13 09:21:03.000000000 +0000 @@ -5,6 +5,7 @@ #include #include +#include #include #include #include @@ -43,19 +44,28 @@ int read_cb(struct osmo_stream_srv *conn) { + int bytes; struct msgb *msg; - LOGP(DSTREAMTEST, LOGL_NOTICE, "received message from stream\n"); + LOGP(DSTREAMTEST, LOGL_NOTICE, "receiving message from stream... "); msg = msgb_alloc(1024, "STREAMSERVER/test"); if (msg == NULL) { - LOGP(DSTREAMTEST, LOGL_ERROR, "cannot allocate message\n"); - return 0; - } - if (osmo_stream_srv_recv(conn, msg) < 0) { - LOGP(DSTREAMTEST, LOGL_ERROR, "cannot receive message\n"); + LOGPC(DSTREAMTEST, LOGL_ERROR, "cannot allocate message\n"); return 0; } + + bytes = osmo_stream_srv_recv(conn, msg); + + if (bytes <= 0) { + if (bytes < 0) + LOGPC(DSTREAMTEST, LOGL_ERROR, "cannot receive message: %s\n", strerror(-bytes)); + else + LOGPC(DSTREAMTEST, LOGL_ERROR, "client closed connection\n"); + osmo_stream_srv_destroy(conn); + } else + LOGPC(DSTREAMTEST, LOGL_NOTICE, "got %d (%d) bytes: %s\n", bytes, msg->len, msgb_hexdump(msg)); + msgb_free(msg); return 0; } @@ -68,6 +78,8 @@ static int accept_cb(struct osmo_stream_srv_link *srv, int fd) { + char buf[OSMO_SOCK_NAME_MAXLEN]; + if (conn != NULL) { LOGP(DSTREAMTEST, LOGL_ERROR, "Sorry, this example only " "support one client simultaneously\n"); @@ -82,6 +94,9 @@ return -1; } + osmo_sock_get_name_buf(buf, OSMO_SOCK_NAME_MAXLEN, fd); + LOGP(DSTREAMTEST, LOGL_NOTICE, "accepted client: %s\n", buf); + return 0; } @@ -125,6 +140,7 @@ msgb_talloc_ctx_init(tall_test, 0); osmo_init_logging2(tall_test, &osmo_stream_srv_test_log_info); log_set_log_level(osmo_stderr_target, 1); + log_set_category_filter(osmo_stderr_target, DLINP, 0, LOGL_INFO); /* * initialize stream srv. @@ -132,7 +148,7 @@ srv = osmo_stream_srv_link_create(tall_test); if (srv == NULL) { - fprintf(stderr, "cannot create client\n"); + fprintf(stderr, "cannot create server link\n"); exit(EXIT_FAILURE); } osmo_stream_srv_link_set_addr(srv, "127.0.0.1"); @@ -140,7 +156,7 @@ osmo_stream_srv_link_set_accept_cb(srv, accept_cb); if (osmo_stream_srv_link_open(srv) < 0) { - fprintf(stderr, "cannot open client\n"); + fprintf(stderr, "cannot open server link\n"); exit(EXIT_FAILURE); } @@ -150,12 +166,12 @@ exit(EXIT_FAILURE); } kbd_ofd->fd = STDIN_FILENO; - kbd_ofd->when = BSC_FD_READ; + kbd_ofd->when = OSMO_FD_READ; kbd_ofd->data = srv; kbd_ofd->cb = kbd_cb; osmo_fd_register(kbd_ofd); - LOGP(DSTREAMTEST, LOGL_NOTICE, "Entering main loop\n"); + LOGP(DSTREAMTEST, LOGL_NOTICE, "Entering main loop on %s\n", osmo_stream_srv_link_get_sockname(srv)); while(1) { osmo_select_main(0); diff -Nru libosmo-netif-0.3.0/.gitignore libosmo-netif-1.0.0/.gitignore --- libosmo-netif-0.3.0/.gitignore 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/.gitignore 2020-08-13 09:21:03.000000000 +0000 @@ -53,3 +53,10 @@ /examples/udp-test-server .*.sw? +jibuf_test +jibuf_tool +osmux_test2 +stream_test +amr_test + +contrib/libosmo-netif.spec diff -Nru libosmo-netif-0.3.0/include/osmocom/netif/amr.h libosmo-netif-1.0.0/include/osmocom/netif/amr.h --- libosmo-netif-0.3.0/include/osmocom/netif/amr.h 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/include/osmocom/netif/amr.h 2020-08-13 09:21:03.000000000 +0000 @@ -43,24 +43,19 @@ */ struct amr_hdr { -#if OSMO_IS_BIG_ENDIAN - /* Payload Header */ - uint8_t cmr:4, /* Codec Mode Request */ - pad1:4; - /* Table of Contents */ - uint8_t f:1, /* followed by another speech frame? */ - ft:4, /* coding mode */ - q:1, /* OK (not damaged) at origin? */ - pad2:2; -#elif OSMO_IS_LITTLE_ENDIAN +#if OSMO_IS_LITTLE_ENDIAN /* Payload Header */ uint8_t pad1:4, - cmr:4; + cmr:4; /* Codec Mode Request */ /* Table of Contents */ uint8_t pad2:2, - q:1, - ft:4, - f:1; + q:1, /* OK (not damaged) at origin? */ + ft:4, /* coding mode */ + f:1; /* followed by another speech frame? */ +#elif OSMO_IS_BIG_ENDIAN +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t cmr:4, pad1:4; + uint8_t f:1, ft:4, q:1, pad2:2; #endif } __attribute__((packed)); @@ -69,6 +64,9 @@ return (uint8_t *)amrh + sizeof(struct amr_hdr); } +/* AMR voice frame type identifiers + * See also 3GPP TS 26.101, Table 1a: Interpretation of Frame Type, Mode + * Indication and Mode Request fields */ #define AMR_FT_0 0 /* 4.75 */ #define AMR_FT_1 1 /* 5.15 */ #define AMR_FT_2 2 /* 5.90 */ @@ -80,7 +78,41 @@ #define AMR_FT_SID 8 /* SID */ #define AMR_FT_MAX 9 +/* AMR voice frame length (in bits). + * See also RFC 3267, chapter 3.6. + * + * NOTE: These constants refer to the length of one AMR speech frame-block, + * not counting CMR, TOC. */ +#define AMR_FT_0_LEN_BITS 95 /* 4.75 */ +#define AMR_FT_1_LEN_BITS 103 /* 5.15 */ +#define AMR_FT_2_LEN_BITS 118 /* 5.90 */ +#define AMR_FT_3_LEN_BITS 134 /* 6.70 */ +#define AMR_FT_4_LEN_BITS 148 /* 7.40 */ +#define AMR_FT_5_LEN_BITS 159 /* 7.95 */ +#define AMR_FT_6_LEN_BITS 204 /* 10.2 */ +#define AMR_FT_7_LEN_BITS 244 /* 12.2 */ +#define AMR_FT_SID_LEN_BITS 39 /* SID */ + +/* AMR voice frame length (in bytes, rounded). + * + * NOTE: These constants refer to the length of one AMR speech frame-block, + * not counting CMR, TOC. */ +#define AMR_FT_0_LEN ((AMR_FT_0_LEN_BITS+7)/8) /* 4.75 */ +#define AMR_FT_1_LEN ((AMR_FT_1_LEN_BITS+7)/8) /* 5.15 */ +#define AMR_FT_2_LEN ((AMR_FT_2_LEN_BITS+7)/8) /* 5.90 */ +#define AMR_FT_3_LEN ((AMR_FT_3_LEN_BITS+7)/8) /* 6.70 */ +#define AMR_FT_4_LEN ((AMR_FT_4_LEN_BITS+7)/8) /* 7.40 */ +#define AMR_FT_5_LEN ((AMR_FT_5_LEN_BITS+7)/8) /* 7.95 */ +#define AMR_FT_6_LEN ((AMR_FT_6_LEN_BITS+7)/8) /* 10.2 */ +#define AMR_FT_7_LEN ((AMR_FT_7_LEN_BITS+7)/8) /* 12.2 */ +#define AMR_FT_SID_LEN ((AMR_FT_SID_LEN_BITS+7)/8) /* SID */ + int osmo_amr_ft_valid(uint8_t amr_ft); size_t osmo_amr_bytes(uint8_t amr_cmr); +bool osmo_amr_is_oa(uint8_t *payload, unsigned int payload_len); +int osmo_amr_oa_to_bwe(uint8_t *payload, unsigned int payload_len); +int osmo_amr_bwe_to_oa(uint8_t *payload, unsigned int payload_len, + unsigned int payload_maxlen); + #endif diff -Nru libosmo-netif-0.3.0/include/osmocom/netif/ipa.h libosmo-netif-1.0.0/include/osmocom/netif/ipa.h --- libosmo-netif-0.3.0/include/osmocom/netif/ipa.h 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/include/osmocom/netif/ipa.h 2020-08-13 09:21:03.000000000 +0000 @@ -27,7 +27,6 @@ struct tlv_parsed; int osmo_ipa_rcvmsg_base(struct msgb *msg, struct osmo_fd *bfd, int server); -int osmo_ipa_idtag_parse(struct tlv_parsed *dec, unsigned char *buf, int len); int osmo_ipa_parse_unitid(const char *str, struct ipaccess_unit *unit_data); int ipaccess_send_pong(int fd); diff -Nru libosmo-netif-0.3.0/include/osmocom/netif/osmux.h libosmo-netif-1.0.0/include/osmocom/netif/osmux.h --- libosmo-netif-0.3.0/include/osmocom/netif/osmux.h 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/include/osmocom/netif/osmux.h 2020-08-13 09:21:03.000000000 +0000 @@ -30,28 +30,25 @@ #define OSMUX_FT_DUMMY 2 struct osmux_hdr { -#if OSMO_IS_BIG_ENDIAN - uint8_t rtp_m:1, - ft:2, - ctr:3, - amr_f:1, - amr_q:1; -#elif OSMO_IS_LITTLE_ENDIAN +#if OSMO_IS_LITTLE_ENDIAN uint8_t amr_q:1, amr_f:1, ctr:3, ft:2, rtp_m:1; +#elif OSMO_IS_BIG_ENDIAN +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t rtp_m:1, ft:2, ctr:3, amr_f:1, amr_q:1; #endif uint8_t seq; #define OSMUX_CID_MAX 255 /* determined by circuit_id */ uint8_t circuit_id; -#if OSMO_IS_BIG_ENDIAN - uint8_t amr_ft:4, - amr_cmr:4; -#elif OSMO_IS_LITTLE_ENDIAN +#if OSMO_IS_LITTLE_ENDIAN uint8_t amr_cmr:4, amr_ft:4; +#elif OSMO_IS_BIG_ENDIAN +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t amr_ft:4, amr_cmr:4; #endif } __attribute__((packed)); @@ -80,6 +77,7 @@ uint16_t rtp_seq; uint32_t rtp_timestamp; uint32_t rtp_ssrc; + uint8_t rtp_payload_type; uint8_t osmux_seq_ack; /* Latest received seq num */ struct osmo_timer_list timer; struct llist_head list; @@ -106,7 +104,8 @@ int osmux_xfrm_input(struct osmux_in_handle *h, struct msgb *msg, int ccid); void osmux_xfrm_input_deliver(struct osmux_in_handle *h); -void osmux_xfrm_output_init(struct osmux_out_handle *h, uint32_t rtp_ssrc); +void osmux_xfrm_output_init(struct osmux_out_handle *h, uint32_t rtp_ssrc) OSMO_DEPRECATED("Use osmux_xfrm_output_init2() instead"); +void osmux_xfrm_output_init2(struct osmux_out_handle *h, uint32_t rtp_ssrc, uint8_t rtp_payload_type); void osmux_xfrm_output_set_tx_cb(struct osmux_out_handle *h, void (*tx_cb)(struct msgb *msg, void *data), void *data); int osmux_xfrm_output(struct osmux_hdr *osmuxh, struct osmux_out_handle *h, struct llist_head *list) OSMO_DEPRECATED("Use osmux_xfrm_output_sched() instead"); int osmux_xfrm_output_sched(struct osmux_out_handle *h, struct osmux_hdr *osmuxh); diff -Nru libosmo-netif-0.3.0/include/osmocom/netif/rtp.h libosmo-netif-1.0.0/include/osmocom/netif/rtp.h --- libosmo-netif-0.3.0/include/osmocom/netif/rtp.h 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/include/osmocom/netif/rtp.h 2020-08-13 09:21:03.000000000 +0000 @@ -13,12 +13,9 @@ uint8_t payload_type:7, marker:1; #elif OSMO_IS_BIG_ENDIAN - uint8_t version:2, - padding:1, - extension:1, - csrc_count:4; - uint8_t marker:1, - payload_type:7; +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t version:2, padding:1, extension:1, csrc_count:4; + uint8_t marker:1, payload_type:7; #endif uint16_t sequence; uint32_t timestamp; diff -Nru libosmo-netif-0.3.0/include/osmocom/netif/stream.h libosmo-netif-1.0.0/include/osmocom/netif/stream.h --- libosmo-netif-0.3.0/include/osmocom/netif/stream.h 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/include/osmocom/netif/stream.h 2020-08-13 09:21:03.000000000 +0000 @@ -1,9 +1,10 @@ -#ifndef _OSMO_STREAM_H_ -#define _OSMO_STREAM_H_ +#pragma once #include #include +#include + /*! \addtogroup stream * @{ */ @@ -21,11 +22,13 @@ void osmo_stream_srv_link_set_nodelay(struct osmo_stream_srv_link *link, bool nodelay); void osmo_stream_srv_link_set_addr(struct osmo_stream_srv_link *link, const char *addr); +int osmo_stream_srv_link_set_addrs(struct osmo_stream_srv_link *link, const char **addr, size_t addrcnt); void osmo_stream_srv_link_set_port(struct osmo_stream_srv_link *link, uint16_t port); void osmo_stream_srv_link_set_proto(struct osmo_stream_srv_link *link, uint16_t proto); void osmo_stream_srv_link_set_accept_cb(struct osmo_stream_srv_link *link, int (*accept_cb)(struct osmo_stream_srv_link *link, int fd)); void osmo_stream_srv_link_set_data(struct osmo_stream_srv_link *link, void *data); void *osmo_stream_srv_link_get_data(struct osmo_stream_srv_link *link); +char *osmo_stream_srv_link_get_sockname(const struct osmo_stream_srv_link *link); struct osmo_fd *osmo_stream_srv_link_get_ofd(struct osmo_stream_srv_link *link); int osmo_stream_srv_link_open(struct osmo_stream_srv_link *link); @@ -52,28 +55,32 @@ void osmo_stream_cli_set_nodelay(struct osmo_stream_cli *cli, bool nodelay); void osmo_stream_cli_set_addr(struct osmo_stream_cli *cli, const char *addr); +int osmo_stream_cli_set_addrs(struct osmo_stream_cli *cli, const char **addr, size_t addrcnt); void osmo_stream_cli_set_port(struct osmo_stream_cli *cli, uint16_t port); void osmo_stream_cli_set_proto(struct osmo_stream_cli *cli, uint16_t proto); void osmo_stream_cli_set_local_addr(struct osmo_stream_cli *cli, const char *addr); +int osmo_stream_cli_set_local_addrs(struct osmo_stream_cli *cli, const char **addr, size_t addrcnt); void osmo_stream_cli_set_local_port(struct osmo_stream_cli *cli, uint16_t port); void osmo_stream_cli_set_data(struct osmo_stream_cli *cli, void *data); void osmo_stream_cli_set_reconnect_timeout(struct osmo_stream_cli *cli, int timeout); void *osmo_stream_cli_get_data(struct osmo_stream_cli *cli); +char *osmo_stream_cli_get_sockname(const struct osmo_stream_cli *cli); struct osmo_fd *osmo_stream_cli_get_ofd(struct osmo_stream_cli *cli); void osmo_stream_cli_set_connect_cb(struct osmo_stream_cli *cli, int (*connect_cb)(struct osmo_stream_cli *cli)); +void osmo_stream_cli_set_disconnect_cb(struct osmo_stream_cli *cli, int (*disconnect_cb)(struct osmo_stream_cli *cli)); void osmo_stream_cli_set_read_cb(struct osmo_stream_cli *cli, int (*read_cb)(struct osmo_stream_cli *cli)); void osmo_stream_cli_reconnect(struct osmo_stream_cli *cli); +bool osmo_stream_cli_is_connected(struct osmo_stream_cli *cli); struct osmo_stream_cli *osmo_stream_cli_create(void *ctx); void osmo_stream_cli_destroy(struct osmo_stream_cli *cli); int osmo_stream_cli_open(struct osmo_stream_cli *cli); -int osmo_stream_cli_open2(struct osmo_stream_cli *cli, int reconnect); +int osmo_stream_cli_open2(struct osmo_stream_cli *cli, int reconnect) \ + OSMO_DEPRECATED("Use osmo_stream_cli_set_reconnect_timeout() or osmo_stream_cli_reconnect() instead"); void osmo_stream_cli_close(struct osmo_stream_cli *cli); void osmo_stream_cli_send(struct osmo_stream_cli *cli, struct msgb *msg); int osmo_stream_cli_recv(struct osmo_stream_cli *conn, struct msgb *msg); /*! @} */ - -#endif diff -Nru libosmo-netif-0.3.0/libosmo-netif.pc.in libosmo-netif-1.0.0/libosmo-netif.pc.in --- libosmo-netif-0.3.0/libosmo-netif.pc.in 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/libosmo-netif.pc.in 2020-08-13 09:21:03.000000000 +0000 @@ -7,4 +7,5 @@ Description: C Utility Library Version: @VERSION@ Libs: -L${libdir} -losmonetif +Libs.private: @LIBSCTP_LIBS@ Cflags: -I${includedir}/ diff -Nru libosmo-netif-0.3.0/Makefile.am libosmo-netif-1.0.0/Makefile.am --- libosmo-netif-0.3.0/Makefile.am 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/Makefile.am 2020-08-13 09:21:03.000000000 +0000 @@ -6,7 +6,12 @@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libosmo-netif.pc -EXTRA_DIST = .version README.md +EXTRA_DIST = \ + .version \ + README.md \ + contrib/libosmo-netif.spec.in \ + debian \ + $(NULL) @RELMAKE@ diff -Nru libosmo-netif-0.3.0/src/amr.c libosmo-netif-1.0.0/src/amr.c --- libosmo-netif-0.3.0/src/amr.c 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/src/amr.c 2020-08-13 09:21:03.000000000 +0000 @@ -12,6 +12,8 @@ #include #include +#include +#include #include /* According to TS 26.101: @@ -27,18 +29,35 @@ * 7 12.20 244 31 */ +static size_t amr_ft_to_bits[AMR_FT_MAX] = { + [AMR_FT_0] = AMR_FT_0_LEN_BITS, + [AMR_FT_1] = AMR_FT_1_LEN_BITS, + [AMR_FT_2] = AMR_FT_2_LEN_BITS, + [AMR_FT_3] = AMR_FT_3_LEN_BITS, + [AMR_FT_4] = AMR_FT_4_LEN_BITS, + [AMR_FT_5] = AMR_FT_5_LEN_BITS, + [AMR_FT_6] = AMR_FT_6_LEN_BITS, + [AMR_FT_7] = AMR_FT_7_LEN_BITS, + [AMR_FT_SID] = AMR_FT_SID_LEN_BITS, +}; + static size_t amr_ft_to_bytes[AMR_FT_MAX] = { - [AMR_FT_0] = 12, - [AMR_FT_1] = 13, - [AMR_FT_2] = 15, - [AMR_FT_3] = 17, - [AMR_FT_4] = 19, - [AMR_FT_5] = 20, - [AMR_FT_6] = 26, - [AMR_FT_7] = 31, - [AMR_FT_SID] = 6, + [AMR_FT_0] = AMR_FT_0_LEN, + [AMR_FT_1] = AMR_FT_1_LEN, + [AMR_FT_2] = AMR_FT_2_LEN, + [AMR_FT_3] = AMR_FT_3_LEN, + [AMR_FT_4] = AMR_FT_4_LEN, + [AMR_FT_5] = AMR_FT_5_LEN, + [AMR_FT_6] = AMR_FT_6_LEN, + [AMR_FT_7] = AMR_FT_7_LEN, + [AMR_FT_SID] = AMR_FT_SID_LEN, }; +size_t osmo_amr_bits(uint8_t amr_ft) +{ + return amr_ft_to_bits[amr_ft]; +} + size_t osmo_amr_bytes(uint8_t amr_ft) { return amr_ft_to_bytes[amr_ft]; @@ -62,3 +81,129 @@ return 1; } + +/*! Check if an AMR frame is octet aligned by looking at the padding bits. + * \param[inout] payload user provided memory containing the AMR payload. + * \param[in] payload_len overall length of the AMR payload. + * \returns true when the payload is octet aligned. */ +bool osmo_amr_is_oa(uint8_t *payload, unsigned int payload_len) +{ + /* NOTE: The distinction between octet-aligned and bandwith-efficient + * mode normally relys on out of band methods that explicitly select + * one of the two modes. (See also RFC 3267, chapter 3.8). However the + * A interface in GSM does not provide ways to communicate which mode + * is used exactly used. The following functions uses some heuristics + * to check if an AMR payload is octet aligned or not. */ + + struct amr_hdr *oa_hdr = (struct amr_hdr *)payload; + unsigned int frame_len; + + /* Broken payload? */ + if (!payload || payload_len < sizeof(struct amr_hdr)) + return false; + + /* In octet aligned mode, padding bits are specified to be + * set to zero. (However, there is a remaining risk that the FT0 or FT1 + * is selected and the first two bits of the frame are zero as well, + * in this case a bandwith-efficient mode payload would look like an + * octet-aligned payload, thats why additional checks are required.) */ + if (oa_hdr->pad1 != 0) + return false; + if (oa_hdr->pad2 != 0) + return false; + + /* This implementation is limited to single-frame payloads only and + * since multi-frame payloads are not common in GSM anyway, we may + * include the final bit of the first header into this check. */ + if (oa_hdr->f != 0) + return false; + + /* Match the length of the received payload against the expected frame + * length that is defined by the frame type. */ + if (!osmo_amr_ft_valid(oa_hdr->ft)) + return false; + frame_len = osmo_amr_bytes(oa_hdr->ft); + if (frame_len != payload_len - sizeof(struct amr_hdr)) + return false; + + return true; +} + +/*! Convert an AMR frame from octet-aligned mode to bandwith-efficient mode. + * \param[inout] payload user provided memory containing the AMR payload. + * \param[in] payload_len overall length of the AMR payload. + * \returns resulting payload length, -1 on error. */ +int osmo_amr_oa_to_bwe(uint8_t *payload, unsigned int payload_len) +{ + struct amr_hdr *oa_hdr = (struct amr_hdr *)payload; + unsigned int ft = oa_hdr->ft; + unsigned int frame_len = payload_len - sizeof(struct amr_hdr); + unsigned int i; + int bwe_payload_len; + + /* This implementation is not capable to handle multi-frame + * packets, so we need to make sure that the frame we operate on + * contains only one payload. */ + if (oa_hdr->f != 0) + return -1; + + /* Check for valid FT (AMR mode) value */ + if (!osmo_amr_ft_valid(oa_hdr->ft)) + return -1; + + /* Move TOC close to CMR */ + payload[0] |= (payload[1] >> 4) & 0x0f; + payload[1] = (payload[1] << 4) & 0xf0; + + for (i = 0; i < frame_len; i++) { + payload[i + 1] |= payload[i + 2] >> 2; + payload[i + 2] = payload[i + 2] << 6; + } + + /* Calculate new payload length */ + bwe_payload_len = (10 + osmo_amr_bits(ft) + 7) / 8; + + return bwe_payload_len; +} + +/*! Convert an AMR frame from bandwith-efficient mode to octet-aligned mode. + * \param[inout] payload user provided memory containing the AMR payload. + * \param[in] payload_len overall length of the AMR payload. + * \param[in] payload_maxlen maximum length of the user provided memory. + * \returns resulting payload length, -1 on error. */ +int osmo_amr_bwe_to_oa(uint8_t *payload, unsigned int payload_len, + unsigned int payload_maxlen) +{ + uint8_t buf[256]; + /* The header is only valid after shifting first two bytes to OA mode */ + struct amr_hdr *oa_hdr; + unsigned int i; + int oa_payload_len; + + memset(buf, 0, sizeof(buf)); + + if (payload_len + 1 > payload_maxlen) + return -1; + + if (payload_len + 1 > sizeof(buf)) + return -1; + + buf[0] = payload[0] & 0xf0; + buf[1] = payload[0] << 4; + buf[1] |= (payload[1] >> 4) & 0x0c; + + /* Calculate new payload length */ + oa_hdr = (struct amr_hdr *)buf; + if (!osmo_amr_ft_valid(oa_hdr->ft)) + return -1; + oa_payload_len = 2 + osmo_amr_bytes(oa_hdr->ft); + + for (i = 0; i < oa_payload_len - 3; i++) { + buf[i + 2] = payload[i + 1] << 2; + buf[i + 2] |= payload[i + 2] >> 6; + } + buf[i + 2] = payload[i + 1] << 2; + + memcpy(payload, buf, oa_payload_len); + return oa_payload_len; +} diff -Nru libosmo-netif-0.3.0/src/datagram.c libosmo-netif-1.0.0/src/datagram.c --- libosmo-netif-0.3.0/src/datagram.c 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/src/datagram.c 2020-08-13 09:21:03.000000000 +0000 @@ -95,7 +95,7 @@ LOGP(DLINP, LOGL_DEBUG, "sending data\n"); if (llist_empty(&conn->tx_queue)) { - conn->ofd.when &= ~BSC_FD_WRITE; + conn->ofd.when &= ~OSMO_FD_WRITE; return 0; } lh = conn->tx_queue.next; @@ -115,7 +115,7 @@ { struct osmo_dgram_tx *conn = ofd->data; - if (what & BSC_FD_WRITE) { + if (what & OSMO_FD_WRITE) { LOGP(DLINP, LOGL_DEBUG, "write\n"); osmo_dgram_tx_write(conn); } @@ -136,7 +136,7 @@ return NULL; conn->ofd.fd = -1; - conn->ofd.when |= BSC_FD_READ; + conn->ofd.when |= OSMO_FD_READ; conn->ofd.priv_nr = 0; /* XXX */ conn->ofd.cb = osmo_dgram_tx_fd_cb; conn->ofd.data = conn; @@ -240,7 +240,7 @@ struct msgb *msg) { msgb_enqueue(&conn->tx_queue, msg); - conn->ofd.when |= BSC_FD_WRITE; + conn->ofd.when |= OSMO_FD_WRITE; } /* @@ -290,7 +290,7 @@ struct osmo_dgram_rx *conn = ofd->data; LOGP(DLINP, LOGL_DEBUG, "read\n"); - if (what & BSC_FD_READ) + if (what & OSMO_FD_READ) osmo_dgram_rx_read(conn); return 0; @@ -310,7 +310,7 @@ return NULL; conn->ofd.fd = -1; - conn->ofd.when |= BSC_FD_READ; + conn->ofd.when |= OSMO_FD_READ; conn->ofd.cb = osmo_dgram_rx_cb; conn->ofd.data = conn; diff -Nru libosmo-netif-0.3.0/src/ipa.c libosmo-netif-1.0.0/src/ipa.c --- libosmo-netif-0.3.0/src/ipa.c 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/src/ipa.c 2020-08-13 09:21:03.000000000 +0000 @@ -130,35 +130,6 @@ return 0; } -int osmo_ipa_idtag_parse(struct tlv_parsed *dec, unsigned char *buf, int len) -{ - uint8_t t_len; - uint8_t t_tag; - uint8_t *cur = buf; - - memset(dec, 0, sizeof(*dec)); - - while (len >= 2) { - len -= 2; - t_len = *cur++; - t_tag = *cur++; - - if (t_len > len + 1) { - LOGP(DLMI, LOGL_ERROR, "The tag does not fit: %d\n", t_len); - return -EINVAL; - } - - DEBUGPC(DLMI, "%s='%s' ", ipaccess_idtag_name(t_tag), cur); - - dec->lv[t_tag].len = t_len; - dec->lv[t_tag].val = cur; - - cur += t_len; - len -= t_len; - } - return 0; -} - int osmo_ipa_parse_unitid(const char *str, struct ipaccess_unit *unit_data) { unsigned long ul; @@ -368,8 +339,7 @@ DEBUGP(DLINP, "ID_RESP\n"); /* parse tags, search for Unit ID */ - ret = osmo_ipa_idtag_parse(&tlvp, (uint8_t *)msg->l2h + 2, - msgb_l2len(msg)-2); + ret = ipa_ccm_id_resp_parse(&tlvp, (const uint8_t *)msg->l2h + 1, msgb_l2len(msg)-1); if (ret < 0) { LOGP(DLINP, LOGL_ERROR, "IPA response message " "with malformed TLVs\n"); diff -Nru libosmo-netif-0.3.0/src/jibuf.c libosmo-netif-1.0.0/src/jibuf.c --- libosmo-netif-0.3.0/src/jibuf.c 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/src/jibuf.c 2020-08-13 09:21:03.000000000 +0000 @@ -322,7 +322,7 @@ struct msgb *msg, *tmp; osmo_timer_del(&jb->timer); llist_for_each_entry_safe(msg, tmp, &jb->msg_list, list) - dequeue_msg(jb, msg); + dequeue_msg(jb, msg); talloc_free(jb); } diff -Nru libosmo-netif-0.3.0/src/Makefile.am libosmo-netif-1.0.0/src/Makefile.am --- libosmo-netif-0.3.0/src/Makefile.am 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/src/Makefile.am 2020-08-13 09:21:03.000000000 +0000 @@ -1,14 +1,14 @@ # This is _NOT_ the library release version, it's an API version. # Please read Chapter 6 "Library interface versions" of the libtool documentation before making any modification -LIBVERSION=6:0:0 +LIBVERSION=9:0:1 AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir) -AM_CFLAGS= -fPIC -Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOABIS_CFLAGS) $(COVERAGE_CFLAGS) $(LIBSCTP_CFLAGS) +AM_CFLAGS= -fPIC -Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) $(LIBOSMOABIS_CFLAGS) $(COVERAGE_CFLAGS) $(LIBSCTP_CFLAGS) AM_LDFLAGS = $(COVERAGE_LDFLAGS) lib_LTLIBRARIES = libosmonetif.la -libosmonetif_la_LIBADD = $(LIBOSMOCORE_LIBS) $(LIBSCTP_LIBS) +libosmonetif_la_LIBADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) $(LIBSCTP_LIBS) libosmonetif_la_LDFLAGS = -version-info $(LIBVERSION) -no-undefined libosmonetif_la_SOURCES = amr.c \ diff -Nru libosmo-netif-0.3.0/src/osmux.c libosmo-netif-1.0.0/src/osmux.c --- libosmo-netif-0.3.0/src/osmux.c 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/src/osmux.c 2020-08-13 09:21:03.000000000 +0000 @@ -146,7 +146,7 @@ rtph->csrc_count = 0; rtph->extension = 0; rtph->version = RTP_VERSION; - rtph->payload_type = 98; + rtph->payload_type = h->rtp_payload_type; /* ... emulate timestamp and ssrc */ rtph->timestamp = htonl(h->rtp_timestamp); rtph->sequence = htons(h->rtp_seq); @@ -366,8 +366,7 @@ if (rtph == NULL) return -1; - LOGP(DLMUX, LOGL_DEBUG, "Batch is full for RTP " - "ssrc=%u\n", rtph->ssrc); + LOGP(DLMUX, LOGL_DEBUG, "Batch is full for RTP sssrc=%u\n", rtph->ssrc); return -1; } @@ -999,16 +998,23 @@ } } -void osmux_xfrm_output_init(struct osmux_out_handle *h, uint32_t rtp_ssrc) +void osmux_xfrm_output_init2(struct osmux_out_handle *h, uint32_t rtp_ssrc, uint8_t rtp_payload_type) { memset(h, 0, sizeof(*h)); h->rtp_seq = (uint16_t)random(); h->rtp_timestamp = (uint32_t)random(); h->rtp_ssrc = rtp_ssrc; + h->rtp_payload_type = rtp_payload_type; INIT_LLIST_HEAD(&h->list); osmo_timer_setup(&h->timer, osmux_xfrm_output_trigger, h); } +void osmux_xfrm_output_init(struct osmux_out_handle *h, uint32_t rtp_ssrc) +{ + /* backward compatibility with old users, where 98 was harcoded in osmux_rebuild_rtp() */ + osmux_xfrm_output_init2(h, rtp_ssrc, 98); +} + #define SNPRINTF_BUFFER_SIZE(ret, remain, offset) \ if (ret < 0) \ ret = 0; \ @@ -1025,7 +1031,7 @@ ret = snprintf(buf, remain, "OSMUX seq=%03u ccid=%03u " "ft=%01u ctr=%01u " "amr_f=%01u amr_q=%01u " - "amr_ft=%02u amr_cmr=%02u ", + "amr_ft=%02u amr_cmr=%02u", osmuxh->seq, osmuxh->circuit_id, osmuxh->ft, osmuxh->ctr, osmuxh->amr_f, osmuxh->amr_q, @@ -1086,7 +1092,10 @@ return -1; } osmuxh = (struct osmux_hdr *)((uint8_t *)msg->data + msg_off); - + if (msg_off) { + ret = snprintf(buf + offset, remain, ", "); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); + } ret = osmux_snprintf_header(buf + offset, remain, osmuxh); SNPRINTF_BUFFER_SIZE(ret, remain, offset); @@ -1116,6 +1125,8 @@ } if (osmuxh->ft == OSMUX_FT_VOICE_AMR) { + ret = snprintf(buf + offset, remain, " "); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); ret = osmux_snprintf_payload(buf + offset, remain, osmux_get_payload(osmuxh), payload_len); diff -Nru libosmo-netif-0.3.0/src/rs232.c libosmo-netif-1.0.0/src/rs232.c --- libosmo-netif-0.3.0/src/rs232.c 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/src/rs232.c 2020-08-13 09:21:03.000000000 +0000 @@ -62,7 +62,7 @@ struct osmo_rs232 *r = ptr; /* we're again ready to transmit. */ - r->ofd.when |= BSC_FD_WRITE; + r->ofd.when |= OSMO_FD_WRITE; } static int handle_ser_write(struct osmo_fd *bfd) @@ -75,7 +75,7 @@ LOGP(DLINP, LOGL_DEBUG, "writing data to rs232\n"); if (llist_empty(&r->tx_queue)) { - r->ofd.when &= ~BSC_FD_WRITE; + r->ofd.when &= ~OSMO_FD_WRITE; return 0; } lh = r->tx_queue.next; @@ -92,7 +92,7 @@ /* We've got more data to write, but we have to wait to make it. */ if (!llist_empty(&r->tx_queue) && r->cfg.delay_us) { - r->ofd.when &= ~BSC_FD_WRITE; + r->ofd.when &= ~OSMO_FD_WRITE; osmo_timer_schedule(&r->tx_timer, 0, r->cfg.delay_us); } return 0; @@ -114,13 +114,13 @@ { int rc = 0; - if (what & BSC_FD_READ) + if (what & OSMO_FD_READ) rc = handle_ser_read(bfd); if (rc < 0) return rc; - if (what & BSC_FD_WRITE) + if (what & OSMO_FD_WRITE) rc = handle_ser_write(bfd); return rc; @@ -141,8 +141,7 @@ void osmo_rs232_set_serial_port(struct osmo_rs232 *r, char *serial_port) { - strncpy(r->cfg.serial_port, serial_port, PATH_MAX); - r->cfg.serial_port[PATH_MAX-1] = '\0'; + osmo_strlcpy(r->cfg.serial_port, serial_port, PATH_MAX); } void osmo_rs232_set_baudrate(struct osmo_rs232 *r, int baudrate) @@ -224,7 +223,7 @@ return rc; } - bfd->when = BSC_FD_READ; + bfd->when = OSMO_FD_READ; bfd->cb = serial_fd_cb; bfd->data = r; @@ -258,7 +257,7 @@ void osmo_rs232_write(struct osmo_rs232 *r, struct msgb *msg) { msgb_enqueue(&r->tx_queue, msg); - r->ofd.when |= BSC_FD_WRITE; + r->ofd.when |= OSMO_FD_WRITE; } void osmo_rs232_close(struct osmo_rs232 *r) diff -Nru libosmo-netif-0.3.0/src/stream.c libosmo-netif-1.0.0/src/stream.c --- libosmo-netif-0.3.0/src/stream.c 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/src/stream.c 2020-08-13 09:21:03.000000000 +0000 @@ -49,6 +49,9 @@ #include #endif +#define LOGSCLI(cli, level, fmt, args...) \ + LOGP(DLINP, level, "[%s] %s(): " fmt, get_value_string(stream_cli_state_names, (cli)->state), __func__, ## args) + /*! \addtogroup stream Osmocom Stream Socket * @{ * @@ -62,6 +65,7 @@ * \brief Osmocom stream socket helpers */ +#ifdef HAVE_LIBSCTP /* * Platforms that don't have MSG_NOSIGNAL (which disables SIGPIPE) * usually have SO_NOSIGPIPE (set via setsockopt). @@ -70,6 +74,99 @@ #define MSG_NOSIGNAL 0 #endif +/* is any of the bytes from offset .. u8_size in 'u8' non-zero? return offset or -1 if all zero */ +static int byte_nonzero(const uint8_t *u8, unsigned int offset, unsigned int u8_size) +{ + int j; + + for (j = offset; j < u8_size; j++) { + if (u8[j] != 0) + return j; + } + + return -1; +} + +static int sctp_sockopt_event_subscribe_size = 0; + +static int determine_sctp_sockopt_event_subscribe_size(void) +{ + uint8_t buf[256]; + socklen_t buf_len = sizeof(buf); + int sd, rc; + + /* only do this once */ + if (sctp_sockopt_event_subscribe_size != 0) + return 0; + + sd = socket(AF_INET, SOCK_STREAM, IPPROTO_SCTP); + if (sd < 0) + return sd; + + rc = getsockopt(sd, IPPROTO_SCTP, SCTP_EVENTS, buf, &buf_len); + close(sd); + if (rc < 0) + return rc; + + sctp_sockopt_event_subscribe_size = buf_len; + + LOGP(DLINP, LOGL_INFO, "sizes of 'struct sctp_event_subscribe': compile-time %zu, kernel: %u\n", + sizeof(struct sctp_event_subscribe), sctp_sockopt_event_subscribe_size); + return 0; +} + +/* Attempt to work around Linux kernel ABI breakage + * + * The Linux kernel ABI for the SCTP_EVENTS socket option has been broken repeatedly. + * - until commit 35ea82d611da59f8bea44a37996b3b11bb1d3fd7 ( kernel < 4.11), the size is 10 bytes + * - in 4.11 it is 11 bytes + * - in 4.12 .. 5.4 it is 13 bytes + * - in kernels >= 5.5 it is 14 bytes + * + * This wouldn't be a problem if the kernel didn't have a "stupid" assumption that the structure + * size passed by userspace will match 1:1 the length of the structure at kernel compile time. In + * an ideal world, it would just use the known first bytes and assume the remainder is all zero. + * But as it doesn't do that, let's try to work around this */ +static int sctp_setsockopt_events_linux_workaround(int fd, const struct sctp_event_subscribe *event) +{ + + const unsigned int compiletime_size = sizeof(*event); + int rc; + + if (determine_sctp_sockopt_event_subscribe_size() < 0) { + LOGP(DLINP, LOGL_ERROR, "Cannot determine SCTP_EVENTS socket option size\n"); + return -1; + } + + if (compiletime_size == sctp_sockopt_event_subscribe_size) { + /* no kernel workaround needed */ + return setsockopt(fd, IPPROTO_SCTP, SCTP_EVENTS, event, compiletime_size); + } else if (compiletime_size < sctp_sockopt_event_subscribe_size) { + /* we are using an older userspace with a more modern kernel and hence need + * to pad the data */ + uint8_t buf[sctp_sockopt_event_subscribe_size]; + + memcpy(buf, event, compiletime_size); + memset(buf + sizeof(*event), 0, sctp_sockopt_event_subscribe_size - compiletime_size); + return setsockopt(fd, IPPROTO_SCTP, SCTP_EVENTS, buf, sctp_sockopt_event_subscribe_size); + } else /* if (compiletime_size > sctp_sockopt_event_subscribe_size) */ { + /* we are using a newer userspace with an older kernel and hence need to truncate + * the data - but only if the caller didn't try to enable any of the events of the + * truncated portion */ + rc = byte_nonzero((const uint8_t *)event, sctp_sockopt_event_subscribe_size, + compiletime_size); + if (rc >= 0) { + LOGP(DLINP, LOGL_ERROR, "Kernel only supports sctp_event_subscribe of %u bytes, " + "but caller tried to enable more modern event at offset %u\n", + sctp_sockopt_event_subscribe_size, rc); + return -1; + } + + return setsockopt(fd, IPPROTO_SCTP, SCTP_EVENTS, event, sctp_sockopt_event_subscribe_size); + } +} +#endif // HAVE_LIBSCTP + static int sctp_sock_activate_events(int fd) { #ifdef HAVE_LIBSCTP @@ -81,18 +178,15 @@ event.sctp_data_io_event = 1; event.sctp_association_event = 1; event.sctp_address_event = 1; - event.sctp_address_event = 1; event.sctp_send_failure_event = 1; event.sctp_peer_error_event = 1; event.sctp_shutdown_event = 1; /* IMPORTANT: Do NOT enable sender_dry_event here, see * https://bugzilla.redhat.com/show_bug.cgi?id=1442784 */ - rc = setsockopt(fd, IPPROTO_SCTP, SCTP_EVENTS, - &event, sizeof(event)); + rc = sctp_setsockopt_events_linux_workaround(fd, &event); if (rc < 0) - LOGP(DLINP, LOGL_ERROR, "coudldn't activate SCTP events " - "on FD %u\n", fd); + LOGP(DLINP, LOGL_ERROR, "couldn't activate SCTP events on FD %u\n", fd); return rc; #else return -1; @@ -104,9 +198,11 @@ int rc; switch (proto) { +#ifdef HAVE_LIBSCTP case IPPROTO_SCTP: rc = setsockopt(fd, IPPROTO_SCTP, SCTP_NODELAY, &on, sizeof(on)); break; +#endif case IPPROTO_TCP: rc = setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &on, sizeof(on)); break; @@ -125,26 +221,44 @@ */ enum osmo_stream_cli_state { - STREAM_CLI_STATE_NONE = 0, - STREAM_CLI_STATE_CONNECTING = 1, - STREAM_CLI_STATE_CONNECTED = 2, + STREAM_CLI_STATE_CLOSED, /* No fd associated, no timer active */ + STREAM_CLI_STATE_WAIT_RECONNECT, /* No fd associated, has timer active to try to connect again */ + STREAM_CLI_STATE_CONNECTING, /* Fd associated, but connection not yet confirmed by peer or lower layers */ + STREAM_CLI_STATE_CONNECTED, /* Fd associated and connection is established */ STREAM_CLI_STATE_MAX }; +static const struct value_string stream_cli_state_names[] = { + { STREAM_CLI_STATE_CLOSED, "CLOSED" }, + { STREAM_CLI_STATE_WAIT_RECONNECT, "WAIT_RECONNECT" }, + { STREAM_CLI_STATE_CONNECTING, "CONNECTING" }, + { STREAM_CLI_STATE_CONNECTED, "CONNECTED" }, + { 0, NULL } +}; + #define OSMO_STREAM_CLI_F_RECONF (1 << 0) #define OSMO_STREAM_CLI_F_NODELAY (1 << 1) +#ifdef HAVE_LIBSCTP +#define OSMO_STREAM_MAX_ADDRS OSMO_SOCK_MAX_ADDRS +#else +#define OSMO_STREAM_MAX_ADDRS 1 +#endif + struct osmo_stream_cli { struct osmo_fd ofd; struct llist_head tx_queue; struct osmo_timer_list timer; enum osmo_stream_cli_state state; - char *addr; + char *addr[OSMO_STREAM_MAX_ADDRS]; + uint8_t addrcnt; uint16_t port; - char *local_addr; + char *local_addr[OSMO_STREAM_MAX_ADDRS]; + uint8_t local_addrcnt; uint16_t local_port; uint16_t proto; int (*connect_cb)(struct osmo_stream_cli *srv); + int (*disconnect_cb)(struct osmo_stream_cli *srv); int (*read_cb)(struct osmo_stream_cli *srv); int (*write_cb)(struct osmo_stream_cli *srv); void *data; @@ -155,20 +269,30 @@ void osmo_stream_cli_close(struct osmo_stream_cli *cli); /*! \brief Re-connect an Osmocom Stream Client - * If re-connection is enabled for this client, we close any existing - * connection (if any) and schedule a re-connect timer */ + * If re-connection is enabled for this client + * (which is the case unless negative timeout was explicitly set via osmo_stream_cli_set_reconnect_timeout() call), + * we close any existing connection (if any) and schedule a re-connect timer */ void osmo_stream_cli_reconnect(struct osmo_stream_cli *cli) { + osmo_stream_cli_close(cli); + if (cli->reconnect_timeout < 0) { - LOGP(DLINP, LOGL_DEBUG, "not reconnecting, disabled.\n"); + LOGSCLI(cli, LOGL_INFO, "not reconnecting, disabled.\n"); return; } - LOGP(DLINP, LOGL_DEBUG, "connection closed\n"); - osmo_stream_cli_close(cli); - LOGP(DLINP, LOGL_DEBUG, "retrying in %d seconds...\n", + + cli->state = STREAM_CLI_STATE_WAIT_RECONNECT; + LOGSCLI(cli, LOGL_INFO, "retrying in %d seconds...\n", cli->reconnect_timeout); osmo_timer_schedule(&cli->timer, cli->reconnect_timeout, 0); - cli->state = STREAM_CLI_STATE_CONNECTING; +} + +/*! \brief Check if Osmocom Stream Client is in connected state + * \param[in] cli Osmocom Stream Client + */ +bool osmo_stream_cli_is_connected(struct osmo_stream_cli *cli) +{ + return cli->state == STREAM_CLI_STATE_CONNECTED; } /*! \brief Close an Osmocom Stream Client @@ -182,11 +306,19 @@ osmo_fd_unregister(&cli->ofd); close(cli->ofd.fd); cli->ofd.fd = -1; + + if (cli->state == STREAM_CLI_STATE_CONNECTED) { + LOGSCLI(cli, LOGL_DEBUG, "connection closed\n"); + if (cli->disconnect_cb) + cli->disconnect_cb(cli); + } + + cli->state = STREAM_CLI_STATE_CLOSED; } static void osmo_stream_cli_read(struct osmo_stream_cli *cli) { - LOGP(DLINP, LOGL_DEBUG, "message received\n"); + LOGSCLI(cli, LOGL_DEBUG, "message received\n"); if (cli->read_cb) cli->read_cb(cli); @@ -201,21 +333,21 @@ struct llist_head *lh; int ret; - LOGP(DLINP, LOGL_DEBUG, "sending data\n"); - if (llist_empty(&cli->tx_queue)) { - cli->ofd.when &= ~BSC_FD_WRITE; + cli->ofd.when &= ~OSMO_FD_WRITE; return 0; } lh = cli->tx_queue.next; llist_del(lh); msg = llist_entry(lh, struct msgb, list); - if (cli->state == STREAM_CLI_STATE_CONNECTING) { - LOGP(DLINP, LOGL_ERROR, "not connected, dropping data!\n"); + if (!osmo_stream_cli_is_connected(cli)) { + LOGSCLI(cli, LOGL_ERROR, "not connected, dropping data!\n"); return 0; } + LOGSCLI(cli, LOGL_DEBUG, "sending %u bytes of data\n", msgb_length(msg)); + switch (cli->proto) { #ifdef HAVE_LIBSCTP case IPPROTO_SCTP: @@ -228,14 +360,14 @@ #endif case IPPROTO_TCP: default: - ret = send(cli->ofd.fd, msg->data, msg->len, 0); + ret = send(cli->ofd.fd, msg->data, msgb_length(msg), 0); break; } if (ret < 0) { if (errno == EPIPE || errno == ENOTCONN) { osmo_stream_cli_reconnect(cli); } - LOGP(DLINP, LOGL_ERROR, "error to send\n"); + LOGSCLI(cli, LOGL_ERROR, "error %d to send\n", ret); } msgb_free(msg); return 0; @@ -254,8 +386,13 @@ osmo_stream_cli_reconnect(cli); return 0; } - ofd->when &= ~BSC_FD_WRITE; - LOGP(DLINP, LOGL_DEBUG, "connection done.\n"); + + /* If messages got enqueued while 'connecting', keep WRITE flag + up to dispatch them upon next main loop step */ + if (llist_empty(&cli->tx_queue)) + cli->ofd.when &= ~OSMO_FD_WRITE; + + LOGSCLI(cli, LOGL_DEBUG, "connection done.\n"); cli->state = STREAM_CLI_STATE_CONNECTED; if (cli->proto == IPPROTO_SCTP) { #ifdef SO_NOSIGPIPE @@ -263,7 +400,7 @@ ret = setsockopt(ofd->fd, SOL_SOCKET, SO_NOSIGPIPE, (void*)&val, sizeof(val)); if (ret < 0) - LOGP(DLINP, LOGL_DEBUG, "Failed setting SO_NOSIGPIPE: %s\n", strerror(errno)); + LOGSCLI(cli, LOGL_DEBUG, "Failed setting SO_NOSIGPIPE: %s\n", strerror(errno)); #endif sctp_sock_activate_events(ofd->fd); } @@ -271,17 +408,18 @@ cli->connect_cb(cli); break; case STREAM_CLI_STATE_CONNECTED: - if (what & BSC_FD_READ) { - LOGP(DLINP, LOGL_DEBUG, "connected read\n"); + if (what & OSMO_FD_READ) { + LOGSCLI(cli, LOGL_DEBUG, "connected read\n"); osmo_stream_cli_read(cli); } - if (what & BSC_FD_WRITE) { - LOGP(DLINP, LOGL_DEBUG, "connected write\n"); + if (what & OSMO_FD_WRITE) { + LOGSCLI(cli, LOGL_DEBUG, "connected write\n"); osmo_stream_cli_write(cli); } break; default: - break; + /* Only CONNECTING and CONNECTED states are expected, since they are the only states where FD exists: */ + osmo_panic("osmo_stream_cli_fd_cb called with unexpected state %d\n", cli->state); } return 0; } @@ -302,11 +440,10 @@ cli->proto = IPPROTO_TCP; cli->ofd.fd = -1; - cli->ofd.when |= BSC_FD_READ | BSC_FD_WRITE; cli->ofd.priv_nr = 0; /* XXX */ cli->ofd.cb = osmo_stream_cli_fd_cb; cli->ofd.data = cli; - cli->state = STREAM_CLI_STATE_CONNECTING; + cli->state = STREAM_CLI_STATE_CLOSED; osmo_timer_setup(&cli->timer, cli_timer_cb, cli); cli->reconnect_timeout = 5; /* default is 5 seconds. */ INIT_LLIST_HEAD(&cli->tx_queue); @@ -321,8 +458,32 @@ void osmo_stream_cli_set_addr(struct osmo_stream_cli *cli, const char *addr) { - osmo_talloc_replace_string(cli, &cli->addr, addr); + osmo_stream_cli_set_addrs(cli, &addr, 1); +} + +/*! \brief Set the remote address set to which we connect. + * Useful for protocols allowing connecting to more than one address (such as SCTP) + * \param[in] cli Stream Client to modify + * \param[in] addr Remote IP address set + * \return negative on error, 0 on success + */ +int osmo_stream_cli_set_addrs(struct osmo_stream_cli *cli, const char **addr, size_t addrcnt) +{ + int i = 0; + + if (addrcnt > OSMO_STREAM_MAX_ADDRS) + return -EINVAL; + + for (; i < addrcnt; i++) + osmo_talloc_replace_string(cli, &cli->addr[i], addr[i]); + for (; i < cli->addrcnt; i++) { + talloc_free(cli->addr[i]); + cli->addr[i] = NULL; + } + + cli->addrcnt = addrcnt; cli->flags |= OSMO_STREAM_CLI_F_RECONF; + return 0; } /*! \brief Set the remote port number to which we connect @@ -354,8 +515,32 @@ void osmo_stream_cli_set_local_addr(struct osmo_stream_cli *cli, const char *addr) { - osmo_talloc_replace_string(cli, &cli->local_addr, addr); + osmo_stream_cli_set_local_addrs(cli, &addr, 1); +} + +/*! \brief Set the local address set to which we connect. + * Useful for protocols allowing bind to more than one address (such as SCTP) + * \param[in] cli Stream Client to modify + * \param[in] addr Local IP address set + * \return negative on error, 0 on success + */ +int osmo_stream_cli_set_local_addrs(struct osmo_stream_cli *cli, const char **addr, size_t addrcnt) +{ + int i = 0; + + if (addrcnt > OSMO_STREAM_MAX_ADDRS) + return -EINVAL; + + for (; i < addrcnt; i++) + osmo_talloc_replace_string(cli, &cli->local_addr[i], addr[i]); + for (; i < cli->local_addrcnt; i++) { + talloc_free(cli->local_addr[i]); + cli->local_addr[i] = NULL; + } + + cli->local_addrcnt = addrcnt; cli->flags |= OSMO_STREAM_CLI_F_RECONF; + return 0; } /*! \brief Set the protocol for the stream client socket @@ -371,7 +556,7 @@ /*! \brief Set the reconnect time of the stream client socket * \param[in] cli Stream Client to modify - * \param[in] timeout Re-connect timeout in seconds */ + * \param[in] timeout Re-connect timeout in seconds or negative value to disable auto-reconnection */ void osmo_stream_cli_set_reconnect_timeout(struct osmo_stream_cli *cli, int timeout) { @@ -388,15 +573,27 @@ } /*! \brief Get application private data of the stream client socket - * \param[in] cli Stream Client to modif + * \param[in] cli Stream Client to modify * \returns Application private data, as set by \ref osmo_stream_cli_set_data() */ void *osmo_stream_cli_get_data(struct osmo_stream_cli *cli) { return cli->data; } +/*! \brief Get the stream client socket description. + * \param[in] cli Stream Client to examine + * \returns Socket description or NULL in case of error */ +char *osmo_stream_cli_get_sockname(const struct osmo_stream_cli *cli) +{ + static char buf[OSMO_SOCK_NAME_MAXLEN]; + + osmo_sock_get_name_buf(buf, OSMO_SOCK_NAME_MAXLEN, cli->ofd.fd); + + return buf; +} + /*! \brief Get Osmocom File Descriptor of the stream client socket - * \param[in] cli Stream Client to modif + * \param[in] cli Stream Client to modify * \returns Pointer to \ref osmo_fd */ struct osmo_fd * osmo_stream_cli_get_ofd(struct osmo_stream_cli *cli) @@ -405,7 +602,7 @@ } /*! \brief Set the call-back function called on connect of the stream client socket - * \param[in] cli Stream Client to modif + * \param[in] cli Stream Client to modify * \param[in] connect_cb Call-back function to be called upon connect */ void osmo_stream_cli_set_connect_cb(struct osmo_stream_cli *cli, @@ -414,8 +611,17 @@ cli->connect_cb = connect_cb; } +/*! \brief Set the call-back function called on disconnect of the stream client socket + * \param[in] cli Stream Client to modify + * \param[in] disconnect_cb Call-back function to be called upon disconnect */ +void osmo_stream_cli_set_disconnect_cb(struct osmo_stream_cli *cli, + int (*disconnect_cb)(struct osmo_stream_cli *cli)) +{ + cli->disconnect_cb = disconnect_cb; +} + /*! \brief Set the call-back function called to read from the stream client socket - * \param[in] cli Stream Client to modif + * \param[in] cli Stream Client to modify * \param[in] read_cb Call-back function to be called when we want to read */ void osmo_stream_cli_set_read_cb(struct osmo_stream_cli *cli, @@ -434,7 +640,8 @@ talloc_free(cli); } -/*! \brief Open connection of an Osmocom stream client +/*! \brief DEPRECATED: use osmo_stream_cli_set_reconnect_timeout() or osmo_stream_cli_reconnect() instead! + * Open connection of an Osmocom stream client * \param[in] cli Stream Client to connect * \param[in] reconect 1 if we should not automatically reconnect */ @@ -448,16 +655,29 @@ cli->flags &= ~OSMO_STREAM_CLI_F_RECONF; - ret = osmo_sock_init2(AF_INET, SOCK_STREAM, cli->proto, - cli->local_addr, cli->local_port, - cli->addr, cli->port, - OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + switch (cli->proto) { +#ifdef HAVE_LIBSCTP + case IPPROTO_SCTP: + ret = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, cli->proto, + (const char **)cli->local_addr, cli->local_addrcnt, cli->local_port, + (const char **)cli->addr, cli->addrcnt, cli->port, + OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + break; +#endif + default: + ret = osmo_sock_init2(AF_INET, SOCK_STREAM, cli->proto, + cli->local_addr[0], cli->local_port, + cli->addr[0], cli->port, + OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + } + if (ret < 0) { if (reconnect) osmo_stream_cli_reconnect(cli); return ret; } cli->ofd.fd = ret; + cli->ofd.when = OSMO_FD_READ | OSMO_FD_WRITE; if (cli->flags & OSMO_STREAM_CLI_F_NODELAY) { ret = setsockopt_nodelay(cli->ofd.fd, cli->proto, 1); @@ -468,10 +688,11 @@ if (osmo_fd_register(&cli->ofd) < 0) goto error_close_socket; + cli->state = STREAM_CLI_STATE_CONNECTING; return 0; error_close_socket: - close(ret); + close(cli->ofd.fd); cli->ofd.fd = -1; return -EIO; } @@ -493,26 +714,68 @@ } /*! \brief Open connection of an Osmocom stream client + * By default the client will automatically reconnect after default timeout. + * To disable this, use osmo_stream_cli_set_reconnect_timeout() before calling this function. * \param[in] cli Stream Client to connect */ int osmo_stream_cli_open(struct osmo_stream_cli *cli) { - return osmo_stream_cli_open2(cli, 0); + int ret; + + /* we are reconfiguring this socket, close existing first. */ + if ((cli->flags & OSMO_STREAM_CLI_F_RECONF) && cli->ofd.fd >= 0) + osmo_stream_cli_close(cli); + + cli->flags &= ~OSMO_STREAM_CLI_F_RECONF; + + + switch (cli->proto) { +#ifdef HAVE_LIBSCTP + case IPPROTO_SCTP: + ret = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, cli->proto, + (const char **)cli->local_addr, cli->local_addrcnt, cli->local_port, + (const char **)cli->addr, cli->addrcnt, cli->port, + OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + break; +#endif + default: + ret = osmo_sock_init2(AF_INET, SOCK_STREAM, cli->proto, + cli->local_addr[0], cli->local_port, + cli->addr[0], cli->port, + OSMO_SOCK_F_CONNECT|OSMO_SOCK_F_BIND|OSMO_SOCK_F_NONBLOCK); + } + + if (ret < 0) { + osmo_stream_cli_reconnect(cli); + return ret; + } + cli->ofd.fd = ret; + cli->ofd.when = OSMO_FD_READ | OSMO_FD_WRITE; + + if (cli->flags & OSMO_STREAM_CLI_F_NODELAY) { + ret = setsockopt_nodelay(cli->ofd.fd, cli->proto, 1); + if (ret < 0) + goto error_close_socket; + } + + if (osmo_fd_register(&cli->ofd) < 0) + goto error_close_socket; + + cli->state = STREAM_CLI_STATE_CONNECTING; + return 0; + +error_close_socket: + cli->state = STREAM_CLI_STATE_CLOSED; + close(cli->ofd.fd); + cli->ofd.fd = -1; + return -EIO; } static void cli_timer_cb(void *data) { struct osmo_stream_cli *cli = data; - LOGP(DLINP, LOGL_DEBUG, "reconnecting.\n"); - - switch(cli->state) { - case STREAM_CLI_STATE_CONNECTING: - cli->ofd.when |= BSC_FD_READ | BSC_FD_WRITE; - osmo_stream_cli_open2(cli, 1); - break; - default: - break; - } + LOGSCLI(cli, LOGL_DEBUG, "reconnecting.\n"); + osmo_stream_cli_open(cli); } /*! \brief Enqueue data to be sent via an Osmocom stream client @@ -521,7 +784,7 @@ void osmo_stream_cli_send(struct osmo_stream_cli *cli, struct msgb *msg) { msgb_enqueue(&cli->tx_queue, msg); - cli->ofd.when |= BSC_FD_WRITE; + cli->ofd.when |= OSMO_FD_WRITE; } /*! \brief Receive data via an Osmocom stream client @@ -535,18 +798,17 @@ ret = recv(cli->ofd.fd, msg->data, msg->data_len, 0); if (ret < 0) { if (errno == EPIPE || errno == ECONNRESET) { - LOGP(DLINP, LOGL_ERROR, - "lost connection with srv\n"); + LOGSCLI(cli, LOGL_ERROR, "lost connection with srv\n"); } osmo_stream_cli_reconnect(cli); return ret; } else if (ret == 0) { - LOGP(DLINP, LOGL_ERROR, "connection closed with srv\n"); + LOGSCLI(cli, LOGL_ERROR, "connection closed with srv\n"); osmo_stream_cli_reconnect(cli); return ret; } msgb_put(msg, ret); - LOGP(DLINP, LOGL_DEBUG, "received %d bytes from srv\n", ret); + LOGSCLI(cli, LOGL_DEBUG, "received %d bytes from srv\n", ret); return ret; } @@ -559,7 +821,8 @@ struct osmo_stream_srv_link { struct osmo_fd ofd; - char *addr; + char *addr[OSMO_STREAM_MAX_ADDRS]; + uint8_t addrcnt; uint16_t port; uint16_t proto; int (*accept_cb)(struct osmo_stream_srv_link *srv, int fd); @@ -628,7 +891,7 @@ link->proto = IPPROTO_TCP; link->ofd.fd = -1; - link->ofd.when |= BSC_FD_READ | BSC_FD_WRITE; + link->ofd.when |= OSMO_FD_READ | OSMO_FD_WRITE; link->ofd.cb = osmo_stream_srv_fd_cb; link->ofd.data = link; @@ -657,8 +920,32 @@ void osmo_stream_srv_link_set_addr(struct osmo_stream_srv_link *link, const char *addr) { - osmo_talloc_replace_string(link, &link->addr, addr); + osmo_stream_srv_link_set_addrs(link, &addr, 1); +} + +/*! \brief Set the local address set to which we bind. + * Useful for protocols allowing bind on more than one address (such as SCTP) + * \param[in] link Stream Server Link to modify + * \param[in] addr Local IP address + * \return negative on error, 0 on success + */ +int osmo_stream_srv_link_set_addrs(struct osmo_stream_srv_link *link, const char **addr, size_t addrcnt) +{ + int i = 0; + + if (addrcnt > OSMO_STREAM_MAX_ADDRS) + return -EINVAL; + + for (; i < addrcnt; i++) + osmo_talloc_replace_string(link, &link->addr[i], addr[i]); + for (; i < link->addrcnt; i++) { + talloc_free(link->addr[i]); + link->addr[i] = NULL; + } + + link->addrcnt = addrcnt; link->flags |= OSMO_STREAM_SRV_F_RECONF; + return 0; } /*! \brief Set the local port number to which we bind @@ -702,6 +989,25 @@ return link->data; } +/*! \brief Get description of the stream server link e. g. 127.0.0.1:1234 + * \param[in] link Stream Server Link to examine + * \returns Link description or NULL in case of error */ +char *osmo_stream_srv_link_get_sockname(const struct osmo_stream_srv_link *link) +{ + static char buf[INET6_ADDRSTRLEN + 6]; + int rc = osmo_sock_get_local_ip(link->ofd.fd, buf, INET6_ADDRSTRLEN); + if (rc < 0) + return NULL; + + buf[strnlen(buf, INET6_ADDRSTRLEN + 6)] = ':'; + + rc = osmo_sock_get_local_ip_port(link->ofd.fd, buf + strnlen(buf, INET6_ADDRSTRLEN + 6), 6); + if (rc < 0) + return NULL; + + return buf; +} + /*! \brief Get Osmocom File Descriptor of the stream server link * \param[in] link Stream Server Link * \returns Pointer to \ref osmo_fd */ @@ -746,8 +1052,18 @@ link->flags &= ~OSMO_STREAM_SRV_F_RECONF; - ret = osmo_sock_init(AF_INET, SOCK_STREAM, link->proto, - link->addr, link->port, OSMO_SOCK_F_BIND); + switch (link->proto) { +#ifdef HAVE_LIBSCTP + case IPPROTO_SCTP: + ret = osmo_sock_init2_multiaddr(AF_INET, SOCK_STREAM, link->proto, + (const char **)link->addr, link->addrcnt, link->port, + NULL, 0, 0, OSMO_SOCK_F_BIND); + break; +#endif + default: + ret = osmo_sock_init(AF_INET, SOCK_STREAM, link->proto, + link->addr[0], link->port, OSMO_SOCK_F_BIND); + } if (ret < 0) return ret; @@ -784,19 +1100,21 @@ int flags; }; -static void osmo_stream_srv_read(struct osmo_stream_srv *conn) +static int osmo_stream_srv_read(struct osmo_stream_srv *conn) { + int rc = 0; + LOGP(DLINP, LOGL_DEBUG, "message received\n"); if (conn->flags & OSMO_STREAM_SRV_F_FLUSH_DESTROY) { LOGP(DLINP, LOGL_DEBUG, "Connection is being flushed and closed; ignoring received message\n"); - return; + return 0; } if (conn->cb) - conn->cb(conn); + rc = conn->cb(conn); - return; + return rc; } static void osmo_stream_srv_write(struct osmo_stream_srv *conn) @@ -811,7 +1129,7 @@ LOGP(DLINP, LOGL_DEBUG, "sending data\n"); if (llist_empty(&conn->tx_queue)) { - conn->ofd.when &= ~BSC_FD_WRITE; + conn->ofd.when &= ~OSMO_FD_WRITE; return; } lh = conn->tx_queue.next; @@ -845,14 +1163,15 @@ static int osmo_stream_srv_cb(struct osmo_fd *ofd, unsigned int what) { struct osmo_stream_srv *conn = ofd->data; + int rc = 0; LOGP(DLINP, LOGL_DEBUG, "connected read/write\n"); - if (what & BSC_FD_READ) - osmo_stream_srv_read(conn); - if (what & BSC_FD_WRITE) + if (what & OSMO_FD_READ) + rc = osmo_stream_srv_read(conn); + if (rc != -EBADF && (what & OSMO_FD_WRITE)) osmo_stream_srv_write(conn); - return 0; + return rc; } /*! \brief Create a Stream Server inside the specified link @@ -877,7 +1196,7 @@ conn->ofd.fd = fd; conn->ofd.data = conn; conn->ofd.cb = osmo_stream_srv_cb; - conn->ofd.when = BSC_FD_READ; + conn->ofd.when = OSMO_FD_READ; conn->cb = cb; conn->closed_cb = closed_cb; conn->data = data; @@ -963,7 +1282,7 @@ } msgb_enqueue(&conn->tx_queue, msg); - conn->ofd.when |= BSC_FD_WRITE; + conn->ofd.when |= OSMO_FD_WRITE; } /*! \brief Receive data via Osmocom stream server diff -Nru libosmo-netif-0.3.0/tests/amr/amr_test.c libosmo-netif-1.0.0/tests/amr/amr_test.c --- libosmo-netif-0.3.0/tests/amr/amr_test.c 1970-01-01 00:00:00.000000000 +0000 +++ libosmo-netif-1.0.0/tests/amr/amr_test.c 2020-08-13 09:21:03.000000000 +0000 @@ -0,0 +1,246 @@ +/* (C) 2017 by sysmocom - s.f.m.c. GmbH + * + * Author: Pau Espin Pedrol + * + * SPDX-License-Identifier: GPL-2.0+ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +/* Some octet aligned single-payload AMR frames on different rates */ +char *oa_amr_samples[] = { + "703c22f979890338540179209572624a0f8535871c2f7039cbf926b7e4425b6ef0", + "703c2e671f3b1b0810412d5adae61e2b2a319885c6ced4e909b4eeaa2ea0f0cd80", + "703cf8fc77356c948141686cda34d35220db719e36a359d86b64420dc64b563850", + "60344e300c0e6251342c2ae51fd8a698a945488d16c98922726f3e50", + "60341fc722c7880328a9c280030bc9755c3ef519f80000295323e000", + "60342c338655c00008efba03592419adf62478a79278b3e2d68ab0f0", + "502c98ab841e491ff7a1a555016a32a3c7f913210630", + "502cc5459a0d200e7097c4dfe86ec8d27f1756d776f0", + "502c42b332081813d7e916e7aa5e80d7fde812b8c080", + "40240343e959c79bacd20c77501054880a718db200", + "4024172c53401e39115ceecd12606df5689bdd0ca0", + "4024f871cf48801ec427f0fc3f7318898622062200", + "20141fd4c02667c742b164aef659ffe708", + "2014197e10ead7b250bccbbf3b81887c64", + "2014e959f35fdfe5e9667ffbc088818088", + "100c4e9ba850e30d5d53d04de41e7c", + "100c6c18e7b7fff53aeb055e7d1c54", + "100c1fb967f7f1fdf547bf2e61c060", + "0004f89d67f1160935bde1996840", + "0004633cc7f0630439ffe0000000", + "0004eb81fc0758973b9edc782550", + "a078ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc", /* sample with invalid FT */ + "END", +}; + +/* Some bandwith efficient single-payload AMR frames */ +char *bwe_amr_samples[] = { + "f4495c7cda8f80", + "f44aaa6c969780", + "f3d09c20e32da600c025a72e0a9b360386e40f87e19282094adc1a11e397d1d4", + "f3d39a49a09e7a802852e297e8c9246aadf5a45928bfc27177fed8404d97d3b8", + "f3c2155b65131c68682079fab4810911200003b360ae0446000025f11e539dd0", + "f3c381bc7061c9f8507f6029de6115c16e5fa470c243b21b6e35dbb48bd84c00", + "a7bfc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03f", /* sample with invalid FT */ + "END", +}; + +void dump_bits(uint8_t *buf, int len) +{ + unsigned int i; + if (len <= 0) { + printf("(no data)"); + return; + } + for (i = 0; i < (len * 8); i++) + printf("%u", (buf[i / 8] >> (7 - (i % 8))) & 1); + return; +} + +void osmo_amr_oa_to_bwe_test(void) +{ + uint8_t buf[256]; + unsigned int i = 0; + int len; + int rc; + + printf("\n\n"); + printf("Testing conversion from octet-aligned to bw-efficient:\n"); + + while (1) { + if (strcmp(oa_amr_samples[i], "END") == 0) + return; + printf("\n"); + printf("Sample No.: %i\n", i); + + len = osmo_hexparse(oa_amr_samples[i], buf, sizeof(buf)); + OSMO_ASSERT(len > 0); + + printf(" octet aligned: %s\n", osmo_hexdump_nospc(buf, len)); + printf(" "); + dump_bits(buf, len); + printf("\n"); + rc = osmo_amr_oa_to_bwe(buf, len); + printf(" bw-efficient: %s\n", osmo_hexdump_nospc(buf, rc)); + printf(" "); + dump_bits(buf, rc); + printf("\n"); + printf(" rc: %i\n", rc); + i++; + } +} + +void osmo_amr_bwe_to_oa_test(void) +{ + uint8_t buf[256]; + unsigned int i = 0; + int len; + int rc; + + printf("\n\n"); + printf("Testing conversion from bw-efficient to octet-aligned:\n"); + + while (1) { + if (strcmp(bwe_amr_samples[i], "END") == 0) + return; + printf("\n"); + printf("Sample No.: %i\n", i); + + len = osmo_hexparse(bwe_amr_samples[i], buf, sizeof(buf)); + OSMO_ASSERT(len > 0); + + printf(" bw-efficient: %s\n", osmo_hexdump_nospc(buf, len)); + printf(" "); + dump_bits(buf, len); + printf("\n"); + rc = osmo_amr_bwe_to_oa(buf, len, sizeof(buf)); + printf(" octet aligned: %s\n", osmo_hexdump_nospc(buf, rc)); + printf(" "); + dump_bits(buf, rc); + printf("\n"); + printf(" rc: %i\n", rc); + + i++; + } +} + +void osmo_amr_oa_to_bwe_and_inverse_test(void) +{ + uint8_t buf[256]; + uint8_t buf_chk[256]; + struct amr_hdr *oa_hd = (struct amr_hdr *)buf; + unsigned int ft; + + unsigned int i = 0; + int len; + int rc; + + printf("\n\n"); + printf + ("Testing conversion from octet-aligned to bw-efficient and inverse:\n"); + + while (1) { + if (strcmp(oa_amr_samples[i], "END") == 0) + return; + printf("Sample No.: %i...", i); + + len = osmo_hexparse(oa_amr_samples[i], buf, sizeof(buf)); + OSMO_ASSERT(len > 0); + i++; + + ft = oa_hd->ft; + if (!osmo_amr_ft_valid(ft)) { + printf(" skipping a sample with a wrong FT\n"); + continue; + } + OSMO_ASSERT(osmo_amr_bytes(ft) + 2 == len); + printf(" AMR mode: %d, OA: %d bytes,", ft, len); + memcpy(buf_chk, buf, sizeof(buf)); + + rc = osmo_amr_oa_to_bwe(buf, len); + OSMO_ASSERT(rc > 0); + printf(" BE: %d bytes,", rc); + rc = osmo_amr_bwe_to_oa(buf, rc, sizeof(buf)); + printf(" OA: %d bytes\n", rc); + OSMO_ASSERT(len == rc); + OSMO_ASSERT(memcmp(buf, buf_chk, len) == 0); + } +} + +void osmo_amr_is_oa_test(void) +{ + uint8_t buf[256]; + unsigned int i; + int len; + bool is_oc; + + printf("\n\n"); + printf("Testing detection of octet-aligned mode payloads:\n"); + + i = 0; + while (1) { + if (strcmp(oa_amr_samples[i], "END") == 0) + break; + printf("Sample No.: %i ==>", i); + len = strlen(oa_amr_samples[i]); + + len = osmo_hexparse(oa_amr_samples[i], buf, sizeof(buf)); + OSMO_ASSERT(len > 0); + + is_oc = osmo_amr_is_oa(buf, len); + if (is_oc) + printf("octet aligned\n"); + else + printf("bandwith efficient\n"); + + i++; + } + + i = 0; + while (1) { + if (strcmp(bwe_amr_samples[i], "END") == 0) + break; + printf("Sample No.: %i ==>", i); + len = strlen(oa_amr_samples[i]); + + len = osmo_hexparse(bwe_amr_samples[i], buf, sizeof(buf)); + OSMO_ASSERT(len > 0); + + is_oc = osmo_amr_is_oa(buf, len); + if (is_oc) + printf("octet aligned\n"); + else + printf("bandwith efficient\n"); + + i++; + } +} + +int main(int argc, char **argv) +{ + osmo_amr_oa_to_bwe_test(); + osmo_amr_bwe_to_oa_test(); + osmo_amr_oa_to_bwe_and_inverse_test(); + osmo_amr_is_oa_test(); + + fprintf(stdout, "OK: Test passed\n"); + return EXIT_SUCCESS; +} diff -Nru libosmo-netif-0.3.0/tests/amr/amr_test.ok libosmo-netif-1.0.0/tests/amr/amr_test.ok --- libosmo-netif-0.3.0/tests/amr/amr_test.ok 1970-01-01 00:00:00.000000000 +0000 +++ libosmo-netif-1.0.0/tests/amr/amr_test.ok 2020-08-13 09:21:03.000000000 +0000 @@ -0,0 +1,267 @@ + + +Testing conversion from octet-aligned to bw-efficient: + +Sample No.: 0 + octet aligned: 703c22f979890338540179209572624a0f8535871c2f7039cbf926b7e4425b6ef0 + 011100000011110000100010111110010111100110001001000000110011100001010100000000010111100100100000100101010111001001100010010010100000111110000101001101011000011100011100001011110111000000111001110010111111100100100110101101111110010001000010010110110110111011110000 + bw-efficient: 73c8be5e6240ce15005e48255c989283e14d61c70bdc0e72fe49adf91096dbbc + 0111001111001000101111100101111001100010010000001100111000010101000000000101111001001000001001010101110010011000100100101000001111100001010011010110000111000111000010111101110000001110011100101111111001001001101011011111100100010000100101101101101110111100 + rc: 32 + +Sample No.: 1 + octet aligned: 703c2e671f3b1b0810412d5adae61e2b2a319885c6ced4e909b4eeaa2ea0f0cd80 + 011100000011110000101110011001110001111100111011000110110000100000010000010000010010110101011010110110101110011000011110001010110010101000110001100110001000010111000110110011101101010011101001000010011011010011101110101010100010111010100000111100001100110110000000 + bw-efficient: 73cb99c7cec6c204104b56b6b9878aca8c662171b3b53a426d3baa8ba83c3360 + 0111001111001011100110011100011111001110110001101100001000000100000100000100101101010110101101101011100110000111100010101100101010001100011001100010000101110001101100111011010100111010010000100110110100111011101010101000101110101000001111000011001101100000 + rc: 32 + +Sample No.: 2 + octet aligned: 703cf8fc77356c948141686cda34d35220db719e36a359d86b64420dc64b563850 + 011100000011110011111000111111000111011100110101011011001001010010000001010000010110100001101100110110100011010011010011010100100010000011011011011100011001111000110110101000110101100111011000011010110110010001000010000011011100011001001011010101100011100001010000 + bw-efficient: 73fe3f1dcd5b2520505a1b368d34d48836dc678da8d6761ad910837192d58e14 + 0111001111111110001111110001110111001101010110110010010100100000010100000101101000011011001101101000110100110100110101001000100000110110110111000110011110001101101010001101011001110110000110101101100100010000100000110111000110010010110101011000111000010100 + rc: 32 + +Sample No.: 3 + octet aligned: 60344e300c0e6251342c2ae51fd8a698a945488d16c98922726f3e50 + 01100000001101000100111000110000000011000000111001100010010100010011010000101100001010101110010100011111110110001010011010011000101010010100010101001000100011010001011011001001100010010010001001110010011011110011111001010000 + bw-efficient: 63538c030398944d0b0ab947f629a62a51522345b262489c9bcf94 + 011000110101001110001100000000110000001110011000100101000100110100001011000010101011100101000111111101100010100110100110001010100101000101010010001000110100010110110010011000100100100010011100100110111100111110010100 + rc: 27 + +Sample No.: 4 + octet aligned: 60341fc722c7880328a9c280030bc9755c3ef519f80000295323e000 + 01100000001101000001111111000111001000101100011110001000000000110010100010101001110000101000000000000011000010111100100101110101010111000011111011110101000110011111100000000000000000000010100101010011001000111110000000000000 + bw-efficient: 6347f1c8b1e200ca2a70a000c2f25d570fbd467e00000a54c8f800 + 011000110100011111110001110010001011000111100010000000001100101000101010011100001010000000000000110000101111001001011101010101110000111110111101010001100111111000000000000000000000101001010100110010001111100000000000 + rc: 27 + +Sample No.: 5 + octet aligned: 60342c338655c00008efba03592419adf62478a79278b3e2d68ab0f0 + 01100000001101000010110000110011100001100101010111000000000000000000100011101111101110100000001101011001001001000001100110101101111101100010010001111000101001111001001001111000101100111110001011010110100010101011000011110000 + bw-efficient: 634b0ce1957000023bee80d649066b7d891e29e49e2cf8b5a2ac3c + 011000110100101100001100111000011001010101110000000000000000001000111011111011101000000011010110010010010000011001101011011111011000100100011110001010011110010010011110001011001111100010110101101000101010110000111100 + rc: 27 + +Sample No.: 6 + octet aligned: 502c98ab841e491ff7a1a555016a32a3c7f913210630 + 01010000001011001001100010101011100001000001111001001001000111111111011110100001101001010101010100000001011010100011001010100011110001111111100100010011001000010000011000110000 + bw-efficient: 52e62ae1079247fde86955405a8ca8f1fe44c8418c00 + 01010010111001100010101011100001000001111001001001000111111111011110100001101001010101010100000001011010100011001010100011110001111111100100010011001000010000011000110000000000 + rc: 22 + +Sample No.: 7 + octet aligned: 502cc5459a0d200e7097c4dfe86ec8d27f1756d776f0 + 01010000001011001100010101000101100110100000110100100000000011100111000010010111110001001101111111101000011011101100100011010010011111110001011101010110110101110111011011110000 + bw-efficient: 52f151668348039c25f137fa1bb2349fc5d5b5ddbc00 + 01010010111100010101000101100110100000110100100000000011100111000010010111110001001101111111101000011011101100100011010010011111110001011101010110110101110111011011110000000000 + rc: 22 + +Sample No.: 8 + octet aligned: 502c42b332081813d7e916e7aa5e80d7fde812b8c080 + 01010000001011000100001010110011001100100000100000011000000100111101011111101001000101101110011110101010010111101000000011010111111111011110100000010010101110001100000010000000 + bw-efficient: 52d0accc820604f5fa45b9ea97a035ff7a04ae302000 + 01010010110100001010110011001100100000100000011000000100111101011111101001000101101110011110101010010111101000000011010111111111011110100000010010101110001100000010000000000000 + rc: 22 + +Sample No.: 9 + octet aligned: 40240343e959c79bacd20c77501054880a718db200 + 010000000010010000000011010000111110100101011001110001111001101110101100110100100000110001110111010100000001000001010100100010000000101001110001100011011011001000000000 + bw-efficient: 4240d0fa5671e6eb34831dd4041522029c636c80 + 0100001001000000110100001111101001010110011100011110011011101011001101001000001100011101110101000000010000010101001000100000001010011100011000110110110010000000 + rc: 20 + +Sample No.: 10 + octet aligned: 4024172c53401e39115ceecd12606df5689bdd0ca0 + 010000000010010000010111001011000101001101000000000111100011100100010001010111001110111011001101000100100110000001101101111101010110100010011011110111010000110010100000 + bw-efficient: 4245cb14d0078e44573bb344981b7d5a26f74328 + 0100001001000101110010110001010011010000000001111000111001000100010101110011101110110011010001001001100000011011011111010101101000100110111101110100001100101000 + rc: 20 + +Sample No.: 11 + octet aligned: 4024f871cf48801ec427f0fc3f7318898622062200 + 010000000010010011111000011100011100111101001000100000000001111011000100001001111111000011111100001111110111001100011000100010011000011000100010000001100010001000000000 + bw-efficient: 427e1c73d22007b109fc3f0fdcc6226188818880 + 0100001001111110000111000111001111010010001000000000011110110001000010011111110000111111000011111101110011000110001000100110000110001000100000011000100010000000 + rc: 20 + +Sample No.: 12 + octet aligned: 20141fd4c02667c742b164aef659ffe708 + 0010000000010100000111111101010011000000001001100110011111000111010000101011000101100100101011101111011001011001111111111110011100001000 + bw-efficient: 2147f5300999f1d0ac592bbd967ff9c2 + 00100001010001111111010100110000000010011001100111110001110100001010110001011001001010111011110110010110011111111111100111000010 + rc: 16 + +Sample No.: 13 + octet aligned: 2014197e10ead7b250bccbbf3b81887c64 + 0010000000010100000110010111111000010000111010101101011110110010010100001011110011001011101111110011101110000001100010000111110001100100 + bw-efficient: 21465f843ab5ec942f32efcee0621f19 + 00100001010001100101111110000100001110101011010111101100100101000010111100110010111011111100111011100000011000100001111100011001 + rc: 16 + +Sample No.: 14 + octet aligned: 2014e959f35fdfe5e9667ffbc088818088 + 0010000000010100111010010101100111110011010111111101111111100101111010010110011001111111111110111100000010001000100000011000000010001000 + bw-efficient: 217a567cd7f7f97a599ffef022206022 + 00100001011110100101011001111100110101111111011111111001011110100101100110011111111111101111000000100010001000000110000000100010 + rc: 16 + +Sample No.: 15 + octet aligned: 100c4e9ba850e30d5d53d04de41e7c + 000100000000110001001110100110111010100001010000111000110000110101011101010100111101000001001101111001000001111001111100 + bw-efficient: 10d3a6ea1438c35754f41379079f00 + 000100001101001110100110111010100001010000111000110000110101011101010100111101000001001101111001000001111001111100000000 + rc: 15 + +Sample No.: 16 + octet aligned: 100c6c18e7b7fff53aeb055e7d1c54 + 000100000000110001101100000110001110011110110111111111111111010100111010111010110000010101011110011111010001110001010100 + bw-efficient: 10db0639edfffd4ebac1579f471500 + 000100001101101100000110001110011110110111111111111111010100111010111010110000010101011110011111010001110001010100000000 + rc: 15 + +Sample No.: 17 + octet aligned: 100c1fb967f7f1fdf547bf2e61c060 + 000100000000110000011111101110010110011111110111111100011111110111110101010001111011111100101110011000011100000001100000 + bw-efficient: 10c7ee59fdfc7f7d51efcb98701800 + 000100001100011111101110010110011111110111111100011111110111110101010001111011111100101110011000011100000001100000000000 + rc: 15 + +Sample No.: 18 + octet aligned: 0004f89d67f1160935bde1996840 + 0000000000000100111110001001110101100111111100010001011000001001001101011011110111100001100110010110100001000000 + bw-efficient: 007e2759fc45824d6f78665a1000 + 0000000001111110001001110101100111111100010001011000001001001101011011110111100001100110010110100001000000000000 + rc: 14 + +Sample No.: 19 + octet aligned: 0004633cc7f0630439ffe0000000 + 0000000000000100011000110011110011000111111100000110001100000100001110011111111111100000000000000000000000000000 + bw-efficient: 0058cf31fc18c10e7ff800000000 + 0000000001011000110011110011000111111100000110001100000100001110011111111111100000000000000000000000000000000000 + rc: 14 + +Sample No.: 20 + octet aligned: 0004eb81fc0758973b9edc782550 + 0000000000000100111010111000000111111100000001110101100010010111001110111001111011011100011110000010010101010000 + bw-efficient: 007ae07f01d625cee7b71e095400 + 0000000001111010111000000111111100000001110101100010010111001110111001111011011100011110000010010101010000000000 + rc: 14 + +Sample No.: 21 + octet aligned: a078ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc + 101000000111100011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111100 + bw-efficient: + (no data) + rc: -1 + + +Testing conversion from bw-efficient to octet-aligned: + +Sample No.: 0 + bw-efficient: f4495c7cda8f80 + 11110100010010010101110001111100110110101000111110000000 + octet aligned: f0442571f36a3c + 11110000010001000010010101110001111100110110101000111100 + rc: 7 + +Sample No.: 1 + bw-efficient: f44aaa6c969780 + 11110100010010101010101001101100100101101001011110000000 + octet aligned: f0442aa9b25a5c + 11110000010001000010101010101001101100100101101001011100 + rc: 7 + +Sample No.: 2 + bw-efficient: f3d09c20e32da600c025a72e0a9b360386e40f87e19282094adc1a11e397d1d4 + 1111001111010000100111000010000011100011001011011010011000000000110000000010010110100111001011100000101010011011001101100000001110000110111001000000111110000111111000011001001010000010000010010100101011011100000110100001000111100011100101111101000111010100 + octet aligned: f03c4270838cb6980300969cb82a6cd80e1b903e1f864a08252b7068478e5f4750 + 111100000011110001000010011100001000001110001100101101101001100000000011000000001001011010011100101110000010101001101100110110000000111000011011100100000011111000011111100001100100101000001000001001010010101101110000011010000100011110001110010111110100011101010000 + rc: 33 + +Sample No.: 3 + bw-efficient: f3d39a49a09e7a802852e297e8c9246aadf5a45928bfc27177fed8404d97d3b8 + 1111001111010011100110100100100110100000100111100111101010000000001010000101001011100010100101111110100011001001001001000110101010101101111101011010010001011001001010001011111111000010011100010111011111111110110110000100000001001101100101111101001110111000 + octet aligned: f03c4e69268279ea00a14b8a5fa32491aab7d69164a2ff09c5dffb6101365f4ee0 + 111100000011110001001110011010010010011010000010011110011110101000000000101000010100101110001010010111111010001100100100100100011010101010110111110101101001000101100100101000101111111100001001110001011101111111111011011000010000000100110110010111110100111011100000 + rc: 33 + +Sample No.: 4 + bw-efficient: f3c2155b65131c68682079fab4810911200003b360ae0446000025f11e539dd0 + 1111001111000010000101010101101101100101000100110001110001101000011010000010000001111001111110101011010010000001000010010001000100100000000000000000001110110011011000001010111000000100010001100000000000000000001001011111000100011110010100111001110111010000 + octet aligned: f03c08556d944c71a1a081e7ead204244480000ecd82b81118000097c4794e7740 + 111100000011110000001000010101010110110110010100010011000111000110100001101000001000000111100111111010101101001000000100001001000100010010000000000000000000111011001101100000101011100000010001000110000000000000000000100101111100010001111001010011100111011101000000 + rc: 33 + +Sample No.: 5 + bw-efficient: f3c381bc7061c9f8507f6029de6115c16e5fa470c243b21b6e35dbb48bd84c00 + 1111001111000011100000011011110001110000011000011100100111111000010100000111111101100000001010011101111001100001000101011100000101101110010111111010010001110000110000100100001110110010000110110110111000110101110110111011010010001011110110000100110000000000 + octet aligned: f03c0e06f1c18727e141fd80a779845705b97e91c3090ec86db8d76ed22f613000 + 111100000011110000001110000001101111000111000001100001110010011111100001010000011111110110000000101001110111100110000100010101110000010110111001011111101001000111000011000010010000111011001000011011011011100011010111011011101101001000101111011000010011000000000000 + rc: 33 + +Sample No.: 6 + bw-efficient: a7bfc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03f + 1010011110111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111 + octet aligned: + (no data) + rc: -1 + + +Testing conversion from octet-aligned to bw-efficient and inverse: +Sample No.: 0... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes +Sample No.: 1... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes +Sample No.: 2... AMR mode: 7, OA: 33 bytes, BE: 32 bytes, OA: 33 bytes +Sample No.: 3... AMR mode: 6, OA: 28 bytes, BE: 27 bytes, OA: 28 bytes +Sample No.: 4... AMR mode: 6, OA: 28 bytes, BE: 27 bytes, OA: 28 bytes +Sample No.: 5... AMR mode: 6, OA: 28 bytes, BE: 27 bytes, OA: 28 bytes +Sample No.: 6... AMR mode: 5, OA: 22 bytes, BE: 22 bytes, OA: 22 bytes +Sample No.: 7... AMR mode: 5, OA: 22 bytes, BE: 22 bytes, OA: 22 bytes +Sample No.: 8... AMR mode: 5, OA: 22 bytes, BE: 22 bytes, OA: 22 bytes +Sample No.: 9... AMR mode: 4, OA: 21 bytes, BE: 20 bytes, OA: 21 bytes +Sample No.: 10... AMR mode: 4, OA: 21 bytes, BE: 20 bytes, OA: 21 bytes +Sample No.: 11... AMR mode: 4, OA: 21 bytes, BE: 20 bytes, OA: 21 bytes +Sample No.: 12... AMR mode: 2, OA: 17 bytes, BE: 16 bytes, OA: 17 bytes +Sample No.: 13... AMR mode: 2, OA: 17 bytes, BE: 16 bytes, OA: 17 bytes +Sample No.: 14... AMR mode: 2, OA: 17 bytes, BE: 16 bytes, OA: 17 bytes +Sample No.: 15... AMR mode: 1, OA: 15 bytes, BE: 15 bytes, OA: 15 bytes +Sample No.: 16... AMR mode: 1, OA: 15 bytes, BE: 15 bytes, OA: 15 bytes +Sample No.: 17... AMR mode: 1, OA: 15 bytes, BE: 15 bytes, OA: 15 bytes +Sample No.: 18... AMR mode: 0, OA: 14 bytes, BE: 14 bytes, OA: 14 bytes +Sample No.: 19... AMR mode: 0, OA: 14 bytes, BE: 14 bytes, OA: 14 bytes +Sample No.: 20... AMR mode: 0, OA: 14 bytes, BE: 14 bytes, OA: 14 bytes +Sample No.: 21... skipping a sample with a wrong FT + + +Testing detection of octet-aligned mode payloads: +Sample No.: 0 ==>octet aligned +Sample No.: 1 ==>octet aligned +Sample No.: 2 ==>octet aligned +Sample No.: 3 ==>octet aligned +Sample No.: 4 ==>octet aligned +Sample No.: 5 ==>octet aligned +Sample No.: 6 ==>octet aligned +Sample No.: 7 ==>octet aligned +Sample No.: 8 ==>octet aligned +Sample No.: 9 ==>octet aligned +Sample No.: 10 ==>octet aligned +Sample No.: 11 ==>octet aligned +Sample No.: 12 ==>octet aligned +Sample No.: 13 ==>octet aligned +Sample No.: 14 ==>octet aligned +Sample No.: 15 ==>octet aligned +Sample No.: 16 ==>octet aligned +Sample No.: 17 ==>octet aligned +Sample No.: 18 ==>octet aligned +Sample No.: 19 ==>octet aligned +Sample No.: 20 ==>octet aligned +Sample No.: 21 ==>bandwith efficient +Sample No.: 0 ==>bandwith efficient +Sample No.: 1 ==>bandwith efficient +Sample No.: 2 ==>bandwith efficient +Sample No.: 3 ==>bandwith efficient +Sample No.: 4 ==>bandwith efficient +Sample No.: 5 ==>bandwith efficient +Sample No.: 6 ==>bandwith efficient +OK: Test passed diff -Nru libosmo-netif-0.3.0/tests/jibuf/jibuf_tool.c libosmo-netif-1.0.0/tests/jibuf/jibuf_tool.c --- libosmo-netif-0.3.0/tests/jibuf/jibuf_tool.c 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/tests/jibuf/jibuf_tool.c 2020-08-13 09:21:03.000000000 +0000 @@ -517,7 +517,7 @@ osmo_pcap.timer.cb = pcap_pkt_timer_cb; if(opt_osmux) { - osmux_xfrm_output_init(&pcap_osmux_h, 0); + osmux_xfrm_output_init2(&pcap_osmux_h, 0, 98); osmux_xfrm_output_set_tx_cb(&pcap_osmux_h, glue_cb, NULL); } diff -Nru libosmo-netif-0.3.0/tests/Makefile.am libosmo-netif-1.0.0/tests/Makefile.am --- libosmo-netif-0.3.0/tests/Makefile.am 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/tests/Makefile.am 2020-08-13 09:21:03.000000000 +0000 @@ -1,17 +1,23 @@ AM_CFLAGS = -Wall -I$(top_srcdir)/include $(LIBOSMOCORE_CFLAGS) -g -AM_LDFLAGS = $(LIBOSMOCORE_LDFLAGS) +AM_LDFLAGS = $(LIBOSMOCORE_LDFLAGS) -no-install -check_PROGRAMS = osmux/osmux_test osmux/osmux_test2 jibuf/jibuf_test +check_PROGRAMS = osmux/osmux_test osmux/osmux_test2 stream/stream_test jibuf/jibuf_test amr/amr_test check_HEADERS = osmux_osmux_test_SOURCES = osmux/osmux_test.c -osmux_osmux_test_LDADD = $(LIBOSMOCORE_LIBS) $(top_builddir)/src/libosmonetif.la +osmux_osmux_test_LDADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) $(top_builddir)/src/libosmonetif.la osmux_osmux_test2_SOURCES = osmux/osmux_test2.c -osmux_osmux_test2_LDADD = $(LIBOSMOCORE_LIBS) $(top_builddir)/src/libosmonetif.la +osmux_osmux_test2_LDADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) $(top_builddir)/src/libosmonetif.la + +stream_stream_test_SOURCES = stream/stream_test.c +stream_stream_test_LDADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) $(top_builddir)/src/libosmonetif.la jibuf_jibuf_test_SOURCES = jibuf/jibuf_test.c -jibuf_jibuf_test_LDADD = $(LIBOSMOCORE_LIBS) $(top_builddir)/src/libosmonetif.la +jibuf_jibuf_test_LDADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) $(top_builddir)/src/libosmonetif.la + +amr_amr_test_SOURCES = amr/amr_test.c +amr_amr_test_LDADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) $(top_builddir)/src/libosmonetif.la if HAVE_PCAP check_PROGRAMS += jibuf/jibuf_tool @@ -31,6 +37,7 @@ jibuf_jibuf_tool_LDADD = \ $(LIBOSMOCORE_LIBS) \ + $(LIBOSMOGSM_LIBS) \ $(top_builddir)/src/libosmonetif.la \ -lpcap endif @@ -56,7 +63,11 @@ EXTRA_DIST = testsuite.at $(srcdir)/package.m4 $(TESTSUITE) \ osmux/osmux_test.ok \ osmux/osmux_test2.ok \ - jibuf/jibuf_test.ok + stream/stream_test.ok \ + stream/stream_test.err \ + jibuf/jibuf_test.ok \ + amr/amr_test.ok + DISTCLEANFILES = atconfig diff -Nru libosmo-netif-0.3.0/tests/osmo-pcap-test/osmux_test.c libosmo-netif-1.0.0/tests/osmo-pcap-test/osmux_test.c --- libosmo-netif-0.3.0/tests/osmo-pcap-test/osmux_test.c 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/tests/osmo-pcap-test/osmux_test.c 2020-08-13 09:21:03.000000000 +0000 @@ -177,6 +177,7 @@ tall_test = talloc_named_const(NULL, 1, "osmux_pcap_test"); osmo_init_logging(&osmux_log_info); log_set_log_level(osmo_stderr_target, LOGL_DEBUG); + log_set_use_color(osmo_stderr_target, 0); osmo_pcap_init(); @@ -189,7 +190,7 @@ osmo_pcap.timer.cb = osmo_pcap_pkt_timer_cb; osmux_xfrm_input_init(&h_input); - osmux_xfrm_output_init(&h_output); + osmux_xfrm_output_init2(&h_output, 0, 98); osmux_xfrm_output_set_tx_cb(&h_output, tx_cb, NULL); /* first run */ diff -Nru libosmo-netif-0.3.0/tests/osmux/osmux_test2.c libosmo-netif-1.0.0/tests/osmux/osmux_test2.c --- libosmo-netif-0.3.0/tests/osmux/osmux_test2.c 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/tests/osmux/osmux_test2.c 2020-08-13 09:21:03.000000000 +0000 @@ -164,7 +164,7 @@ clock_override_enable(true); clock_override_set(0, 0); osmux_init(32); - osmux_xfrm_output_init(&h_output, 0x7000000); + osmux_xfrm_output_init2(&h_output, 0x7000000, 98); h_output.rtp_seq = (uint16_t)50; h_output.rtp_timestamp = (uint32_t)500; osmux_xfrm_output_set_tx_cb(&h_output, tx_cb, &h_output); @@ -226,7 +226,7 @@ clock_override_enable(true); clock_override_set(0, 0); osmux_init(32); - osmux_xfrm_output_init(&h_output, 0x7000000); + osmux_xfrm_output_init2(&h_output, 0x7000000, 98); h_output.rtp_seq = (uint16_t)50; h_output.rtp_timestamp = (uint32_t)500; osmux_xfrm_output_set_tx_cb(&h_output, tx_cb, &h_output); @@ -263,7 +263,7 @@ clock_override_enable(true); clock_override_set(0, 0); osmux_init(32); - osmux_xfrm_output_init(&h_output, 0x7000000); + osmux_xfrm_output_init2(&h_output, 0x7000000, 98); h_output.rtp_seq = (uint16_t)50; h_output.rtp_timestamp = (uint32_t)500; osmux_xfrm_output_set_tx_cb(&h_output, tx_cb, &h_output); @@ -297,7 +297,7 @@ clock_override_enable(true); clock_override_set(0, 0); osmux_init(32); - osmux_xfrm_output_init(&h_output, 0x7000000); + osmux_xfrm_output_init2(&h_output, 0x7000000, 98); h_output.rtp_seq = (uint16_t)50; h_output.rtp_timestamp = (uint32_t)500; osmux_xfrm_output_set_tx_cb(&h_output, tx_cb, &h_output); @@ -329,7 +329,7 @@ clock_override_enable(true); clock_override_set(0, 0); osmux_init(32); - osmux_xfrm_output_init(&h_output, 0x7000000); + osmux_xfrm_output_init2(&h_output, 0x7000000, 98); h_output.rtp_seq = (uint16_t)50; h_output.rtp_timestamp = (uint32_t)500; osmux_xfrm_output_set_tx_cb(&h_output, tx_cb, &h_output); diff -Nru libosmo-netif-0.3.0/tests/osmux/osmux_test.c libosmo-netif-1.0.0/tests/osmux/osmux_test.c --- libosmo-netif-0.3.0/tests/osmux/osmux_test.c 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/tests/osmux/osmux_test.c 2020-08-13 09:21:03.000000000 +0000 @@ -63,6 +63,31 @@ static struct timeval last; #endif +#define clock_debug(fmt, args...) \ + do { \ + struct timespec ts; \ + struct timeval tv; \ + osmo_clock_gettime(CLOCK_MONOTONIC, &ts); \ + osmo_gettimeofday(&tv, NULL); \ + fprintf(stderr, "sys={%lu.%06lu}, mono={%lu.%06lu}: " fmt, \ + tv.tv_sec, tv.tv_usec, ts.tv_sec, ts.tv_nsec/1000, ##args); \ + } while(0) + +static void clock_override_enable(bool enable) +{ + osmo_gettimeofday_override = enable; + osmo_clock_override_enable(CLOCK_MONOTONIC, enable); +} + +static void clock_override_add_debug(long sec, long usec, bool dbg) +{ + osmo_gettimeofday_override_add(sec, usec); + osmo_clock_override_add(CLOCK_MONOTONIC, sec, usec*1000); + if (dbg) + clock_debug("clock_override_add\n"); +} +#define clock_override_add(sec, usec) clock_override_add_debug(sec, usec, true) + static void tx_cb(struct msgb *msg, void *data) { struct rtp_hdr *rtph = (struct rtp_hdr *)msg->data; @@ -75,7 +100,7 @@ last = now; if (diff.tv_usec > 2*17000) { - fprintf(stdout, "delivery of reconstructed RTP lagged" + clock_debug("delivery of reconstructed RTP lagged" " (diff.tv_usec=%u > 2*17000)\n", (unsigned int)diff.tv_usec); exit(EXIT_FAILURE); @@ -83,12 +108,12 @@ #endif osmo_rtp_snprintf(buf, sizeof(buf), msg); - fprintf(stderr, "extracted packet: %s\n", buf); + clock_debug("extracted packet: %s\n", buf); if (memcmp(msg->data + sizeof(struct rtp_hdr), rtp_pkt + sizeof(struct rtp_hdr), sizeof(rtp_pkt) - sizeof(struct rtp_hdr)) != 0) { - fprintf(stdout, "payload mismatch!\n"); + clock_debug("payload mismatch!\n"); exit(EXIT_FAILURE); } @@ -106,7 +131,7 @@ char buf[2048]; osmux_snprintf(buf, sizeof(buf), batch_msg); - fprintf(stderr, "OSMUX message (len=%d) %s\n", batch_msg->len, buf); + clock_debug("OSMUX message (len=%d): %s\n", batch_msg->len, buf); /* For each OSMUX message, extract the RTP messages and put them * in a list. Then, reconstruct transmission timing. @@ -124,7 +149,7 @@ static void sigalarm_handler(int foo) { - printf("FAIL: test did not run successfully\n"); + clock_debug("FAIL: test did not run successfully\n"); exit(EXIT_FAILURE); } @@ -161,19 +186,19 @@ } } #if !OSMUX_TEST_USE_TIMING - osmo_gettimeofday_override_add(0, PKT_TIME_USEC); + clock_override_add(0, PKT_TIME_USEC); #endif } while (rtp_pkts) { #if !OSMUX_TEST_USE_TIMING - osmo_gettimeofday_override_add(1, 0); + clock_override_add(1, 0); #endif osmo_select_main(0); } if (mark_pkts) { - fprintf(stdout, "osmux_test_marker: RTP M bit (marker) mismatch! %d\n", mark_pkts); + clock_debug("osmux_test_marker: RTP M bit (marker) mismatch! %d\n", mark_pkts); exit(EXIT_FAILURE); } } @@ -205,7 +230,7 @@ } osmo_rtp_snprintf(buf, sizeof(buf), msg); - fprintf(stderr, "adding to ccid=%u %s\n", (i % 2) + ccid, buf); + clock_debug("adding to ccid=%u %s\n", (i % 2) + ccid, buf); rtp_pkts++; k++; @@ -234,7 +259,7 @@ for (j = 0; j < k-2; j++) { osmo_select_main(0); #if !OSMUX_TEST_USE_TIMING - osmo_gettimeofday_override_add(0, PKT_TIME_USEC); + clock_override_add(0, PKT_TIME_USEC); #endif } @@ -243,7 +268,7 @@ } if (mark_pkts) { - fprintf(stdout, "osmux_test_loop: RTP M bit (marker) mismatch! %d\n", mark_pkts); + clock_debug("osmux_test_loop: RTP M bit (marker) mismatch! %d\n", mark_pkts); exit(EXIT_FAILURE); } } @@ -260,7 +285,7 @@ #if !OSMUX_TEST_USE_TIMING /* This test uses fake time to speedup the run, unless we want to manually * test time specific stuff */ - osmo_gettimeofday_override = true; + clock_override_enable(true); #endif /* This test doesn't use it, but osmux requires it internally. */ @@ -268,9 +293,16 @@ msgb_talloc_ctx_init(tall_ctx, 0); osmo_init_logging2(tall_ctx, &osmux_test_log_info); log_set_log_level(osmo_stderr_target, LOGL_DEBUG); + log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); + log_set_print_category(osmo_stderr_target, 1); + log_set_print_category_hex(osmo_stderr_target, 0); + log_set_use_color(osmo_stderr_target, 0); - osmux_xfrm_output_init(&h_output, 0x7000000); + osmux_xfrm_output_init2(&h_output, 0x7000000, 98); osmux_xfrm_output_set_tx_cb(&h_output, tx_cb, NULL); + /* These fields are set using random() */ + h_output.rtp_seq = 9158; + h_output.rtp_timestamp = 1681692777; /* If the test takes longer than 10 seconds, abort it */ alarm(10); @@ -318,6 +350,6 @@ osmux_xfrm_input_fini(&h_input); - fprintf(stdout, "OK: Test passed\n"); + clock_debug("OK: Test passed\n"); return EXIT_SUCCESS; } diff -Nru libosmo-netif-0.3.0/tests/osmux/osmux_test.ok libosmo-netif-1.0.0/tests/osmux/osmux_test.ok --- libosmo-netif-0.3.0/tests/osmux/osmux_test.ok 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/tests/osmux/osmux_test.ok 2020-08-13 09:21:03.000000000 +0000 @@ -1 +1,1081 @@ -OK: Test passed +DLMUX initialized osmux input converter +sys={23.444242}, mono={0.020000}: clock_override_add +sys={23.464242}, mono={0.040000}: clock_override_add +sys={23.484242}, mono={0.060000}: clock_override_add +sys={23.504242}, mono={0.080000}: clock_override_add +DLMUX Batch is full for RTP sssrc=1644169479 +sys={23.504242}, mono={0.080000}: OSMUX message (len=256): OSMUX seq=000 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=001 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=002 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=003 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.504242}, mono={0.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9158 timestamp=1681692777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.524242}, mono={0.100000}: clock_override_add +sys={23.524242}, mono={0.100000}: OSMUX message (len=106): OSMUX seq=004 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=005 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=006 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=007 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.544242}, mono={0.120000}: clock_override_add +sys={23.564242}, mono={0.140000}: clock_override_add +sys={23.564242}, mono={0.140000}: OSMUX message (len=106): OSMUX seq=008 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=009 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=010 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=011 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.584242}, mono={0.160000}: clock_override_add +sys={23.604242}, mono={0.180000}: clock_override_add +sys={23.624242}, mono={0.200000}: clock_override_add +sys={23.644242}, mono={0.220000}: clock_override_add +DLMUX Batch is full for RTP sssrc=1644169479 +sys={23.644242}, mono={0.220000}: OSMUX message (len=256): OSMUX seq=012 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=013 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=014 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=015 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.664242}, mono={0.240000}: clock_override_add +sys={23.664242}, mono={0.240000}: OSMUX message (len=106): OSMUX seq=016 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=017 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=018 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=019 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.684242}, mono={0.260000}: clock_override_add +sys={23.704242}, mono={0.280000}: clock_override_add +sys={23.704242}, mono={0.280000}: OSMUX message (len=106): OSMUX seq=020 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=021 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=022 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=023 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.724242}, mono={0.300000}: clock_override_add +sys={23.744242}, mono={0.320000}: clock_override_add +sys={23.764242}, mono={0.340000}: clock_override_add +sys={23.784242}, mono={0.360000}: clock_override_add +DLMUX Batch is full for RTP sssrc=1644169479 +sys={23.784242}, mono={0.360000}: OSMUX message (len=256): OSMUX seq=024 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=025 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=026 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=027 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.804242}, mono={0.380000}: clock_override_add +sys={23.804242}, mono={0.380000}: OSMUX message (len=106): OSMUX seq=028 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=029 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=030 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=031 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.824242}, mono={0.400000}: clock_override_add +sys={23.844242}, mono={0.420000}: clock_override_add +sys={23.844242}, mono={0.420000}: OSMUX message (len=106): OSMUX seq=032 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=033 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=034 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=035 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.864242}, mono={0.440000}: clock_override_add +sys={23.884242}, mono={0.460000}: clock_override_add +sys={23.904242}, mono={0.480000}: clock_override_add +sys={23.924242}, mono={0.500000}: clock_override_add +DLMUX Batch is full for RTP sssrc=1644169479 +sys={23.924242}, mono={0.500000}: OSMUX message (len=256): OSMUX seq=036 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=037 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=038 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=039 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.944242}, mono={0.520000}: clock_override_add +sys={23.944242}, mono={0.520000}: OSMUX message (len=106): OSMUX seq=040 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=041 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=042 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=043 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={23.964242}, mono={0.540000}: clock_override_add +sys={23.984242}, mono={0.560000}: clock_override_add +sys={23.984242}, mono={0.560000}: OSMUX message (len=106): OSMUX seq=044 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=045 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=046 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=047 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.004242}, mono={0.580000}: clock_override_add +sys={24.024242}, mono={0.600000}: clock_override_add +sys={24.044242}, mono={0.620000}: clock_override_add +sys={24.064242}, mono={0.640000}: clock_override_add +DLMUX Batch is full for RTP sssrc=1644169479 +sys={24.064242}, mono={0.640000}: OSMUX message (len=256): OSMUX seq=048 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=049 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=050 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=051 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.084242}, mono={0.660000}: clock_override_add +sys={24.084242}, mono={0.660000}: OSMUX message (len=106): OSMUX seq=052 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=053 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=054 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=055 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.104242}, mono={0.680000}: clock_override_add +sys={24.124242}, mono={0.700000}: clock_override_add +sys={24.124242}, mono={0.700000}: OSMUX message (len=106): OSMUX seq=056 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=057 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=058 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=059 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.144242}, mono={0.720000}: clock_override_add +sys={24.164242}, mono={0.740000}: clock_override_add +sys={24.184242}, mono={0.760000}: clock_override_add +sys={24.204242}, mono={0.780000}: clock_override_add +DLMUX Batch is full for RTP sssrc=1644169479 +sys={24.204242}, mono={0.780000}: OSMUX message (len=256): OSMUX seq=060 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=061 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=062 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=063 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.224242}, mono={0.800000}: clock_override_add +sys={24.224242}, mono={0.800000}: OSMUX message (len=106): OSMUX seq=064 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=065 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=066 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=067 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.244242}, mono={0.820000}: clock_override_add +sys={24.264242}, mono={0.840000}: clock_override_add +sys={24.264242}, mono={0.840000}: OSMUX message (len=106): OSMUX seq=068 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=069 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=070 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=071 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.284242}, mono={0.860000}: clock_override_add +sys={24.304242}, mono={0.880000}: clock_override_add +sys={24.324242}, mono={0.900000}: clock_override_add +sys={24.344242}, mono={0.920000}: clock_override_add +DLMUX Batch is full for RTP sssrc=1644169479 +sys={24.344242}, mono={0.920000}: OSMUX message (len=256): OSMUX seq=072 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=073 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=074 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=075 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.364242}, mono={0.940000}: clock_override_add +sys={24.364242}, mono={0.940000}: OSMUX message (len=106): OSMUX seq=076 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=077 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=078 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=079 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.384242}, mono={0.960000}: clock_override_add +sys={24.404242}, mono={0.980000}: clock_override_add +sys={24.404242}, mono={0.980000}: OSMUX message (len=106): OSMUX seq=080 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=081 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=082 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=083 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.424242}, mono={1.000000}: clock_override_add +sys={24.444242}, mono={1.020000}: clock_override_add +sys={24.464242}, mono={1.040000}: clock_override_add +sys={24.484242}, mono={1.060000}: clock_override_add +DLMUX Batch is full for RTP sssrc=1644169479 +sys={24.484242}, mono={1.060000}: OSMUX message (len=256): OSMUX seq=084 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=085 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=086 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=087 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.504242}, mono={1.080000}: clock_override_add +sys={24.504242}, mono={1.080000}: OSMUX message (len=106): OSMUX seq=088 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=089 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=090 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=091 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.524242}, mono={1.100000}: clock_override_add +sys={24.544242}, mono={1.120000}: clock_override_add +sys={24.544242}, mono={1.120000}: OSMUX message (len=106): OSMUX seq=092 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=093 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=094 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=095 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.564242}, mono={1.140000}: clock_override_add +sys={24.584242}, mono={1.160000}: clock_override_add +sys={24.604242}, mono={1.180000}: clock_override_add +sys={24.624242}, mono={1.200000}: clock_override_add +DLMUX Batch is full for RTP sssrc=1644169479 +sys={24.624242}, mono={1.200000}: OSMUX message (len=256): OSMUX seq=096 ccid=000 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=097 ccid=001 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=098 ccid=002 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=099 ccid=003 ft=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.644242}, mono={1.220000}: clock_override_add +sys={24.644242}, mono={1.220000}: OSMUX message (len=106): OSMUX seq=100 ccid=000 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=101 ccid=001 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=102 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=103 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.664242}, mono={1.240000}: clock_override_add +sys={24.684242}, mono={1.260000}: clock_override_add +sys={24.684242}, mono={1.260000}: OSMUX message (len=106): OSMUX seq=104 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=105 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=106 ccid=002 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=107 ccid=003 ft=1 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={24.704242}, mono={1.280000}: clock_override_add +sys={25.704242}, mono={2.280000}: clock_override_add +sys={25.704242}, mono={2.280000}: OSMUX message (len=76): OSMUX seq=108 ccid=000 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=109 ccid=001 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=110 ccid=002 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=111 ccid=003 ft=1 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: clock_override_add +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9159 timestamp=1681692937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9160 timestamp=1681693097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9161 timestamp=1681693257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9162 timestamp=1681693417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9163 timestamp=1681693577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9164 timestamp=1681693737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9165 timestamp=1681693897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9166 timestamp=1681694057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9167 timestamp=1681694217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9168 timestamp=1681694377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9169 timestamp=1681694537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9170 timestamp=1681694697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9171 timestamp=1681694857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9172 timestamp=1681695017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9173 timestamp=1681695177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9174 timestamp=1681695337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9175 timestamp=1681695497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9176 timestamp=1681695657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9177 timestamp=1681695817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9178 timestamp=1681695977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9179 timestamp=1681696137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9180 timestamp=1681696297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9181 timestamp=1681696457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9182 timestamp=1681696617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9183 timestamp=1681696777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9184 timestamp=1681696937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9185 timestamp=1681697097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9186 timestamp=1681697257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9187 timestamp=1681697417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9188 timestamp=1681697577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9189 timestamp=1681697737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9190 timestamp=1681697897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9191 timestamp=1681698057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9192 timestamp=1681698217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9193 timestamp=1681698377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9194 timestamp=1681698537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9195 timestamp=1681698697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9196 timestamp=1681698857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9197 timestamp=1681699017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9198 timestamp=1681699177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9199 timestamp=1681699337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9200 timestamp=1681699497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9201 timestamp=1681699657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9202 timestamp=1681699817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9203 timestamp=1681699977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9204 timestamp=1681700137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9205 timestamp=1681700297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9206 timestamp=1681700457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9207 timestamp=1681700617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9208 timestamp=1681700777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9209 timestamp=1681700937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9210 timestamp=1681701097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9211 timestamp=1681701257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9212 timestamp=1681701417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9213 timestamp=1681701577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9214 timestamp=1681701737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9215 timestamp=1681701897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9216 timestamp=1681702057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9217 timestamp=1681702217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9218 timestamp=1681702377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9219 timestamp=1681702537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9220 timestamp=1681702697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9221 timestamp=1681702857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9222 timestamp=1681703017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9223 timestamp=1681703177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9224 timestamp=1681703337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9225 timestamp=1681703497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9226 timestamp=1681703657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9227 timestamp=1681703817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9228 timestamp=1681703977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9229 timestamp=1681704137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9230 timestamp=1681704297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9231 timestamp=1681704457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9232 timestamp=1681704617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9233 timestamp=1681704777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9234 timestamp=1681704937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9235 timestamp=1681705097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9236 timestamp=1681705257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9237 timestamp=1681705417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9238 timestamp=1681705577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9239 timestamp=1681705737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9240 timestamp=1681705897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9241 timestamp=1681706057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9242 timestamp=1681706217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9243 timestamp=1681706377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9244 timestamp=1681706537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9245 timestamp=1681706697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9246 timestamp=1681706857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9247 timestamp=1681707017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9248 timestamp=1681707177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9249 timestamp=1681707337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9250 timestamp=1681707497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9251 timestamp=1681707657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9252 timestamp=1681707817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9253 timestamp=1681707977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9254 timestamp=1681708137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9255 timestamp=1681708297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9256 timestamp=1681708457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9257 timestamp=1681708617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9258 timestamp=1681708777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9259 timestamp=1681708937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9260 timestamp=1681709097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9261 timestamp=1681709257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9262 timestamp=1681709417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9263 timestamp=1681709577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9264 timestamp=1681709737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9265 timestamp=1681709897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9266 timestamp=1681710057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9267 timestamp=1681710217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9268 timestamp=1681710377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9269 timestamp=1681710537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9270 timestamp=1681710697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9271 timestamp=1681710857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9272 timestamp=1681711017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9273 timestamp=1681711177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9274 timestamp=1681711337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9275 timestamp=1681711497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9276 timestamp=1681711657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9277 timestamp=1681711817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9278 timestamp=1681711977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9279 timestamp=1681712137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9280 timestamp=1681712297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9281 timestamp=1681712457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9282 timestamp=1681712617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9283 timestamp=1681712777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9284 timestamp=1681712937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9285 timestamp=1681713097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9286 timestamp=1681713257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9287 timestamp=1681713417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9288 timestamp=1681713577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9289 timestamp=1681713737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9290 timestamp=1681713897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9291 timestamp=1681714057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9292 timestamp=1681714217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9293 timestamp=1681714377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9294 timestamp=1681714537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9295 timestamp=1681714697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9296 timestamp=1681714857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9297 timestamp=1681715017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9298 timestamp=1681715177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9299 timestamp=1681715337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9300 timestamp=1681715497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9301 timestamp=1681715657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9302 timestamp=1681715817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9303 timestamp=1681715977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9304 timestamp=1681716137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9305 timestamp=1681716297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9306 timestamp=1681716457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9307 timestamp=1681716617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9308 timestamp=1681716777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9309 timestamp=1681716937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9310 timestamp=1681717097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9311 timestamp=1681717257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9312 timestamp=1681717417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9313 timestamp=1681717577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9314 timestamp=1681717737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9315 timestamp=1681717897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9316 timestamp=1681718057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9317 timestamp=1681718217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9318 timestamp=1681718377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9319 timestamp=1681718537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9320 timestamp=1681718697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9321 timestamp=1681718857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9322 timestamp=1681719017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9323 timestamp=1681719177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9324 timestamp=1681719337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9325 timestamp=1681719497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9326 timestamp=1681719657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9327 timestamp=1681719817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9328 timestamp=1681719977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9329 timestamp=1681720137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9330 timestamp=1681720297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9331 timestamp=1681720457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9332 timestamp=1681720617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9333 timestamp=1681720777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9334 timestamp=1681720937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9335 timestamp=1681721097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9336 timestamp=1681721257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9337 timestamp=1681721417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9338 timestamp=1681721577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9339 timestamp=1681721737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9340 timestamp=1681721897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9341 timestamp=1681722057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9342 timestamp=1681722217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9343 timestamp=1681722377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9344 timestamp=1681722537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9345 timestamp=1681722697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9346 timestamp=1681722857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9347 timestamp=1681723017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9348 timestamp=1681723177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9349 timestamp=1681723337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9350 timestamp=1681723497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9351 timestamp=1681723657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9352 timestamp=1681723817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9353 timestamp=1681723977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9354 timestamp=1681724137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9355 timestamp=1681724297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9356 timestamp=1681724457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9357 timestamp=1681724617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9358 timestamp=1681724777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9359 timestamp=1681724937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9360 timestamp=1681725097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9361 timestamp=1681725257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9362 timestamp=1681725417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9363 timestamp=1681725577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9364 timestamp=1681725737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9365 timestamp=1681725897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9366 timestamp=1681726057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9367 timestamp=1681726217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9368 timestamp=1681726377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9369 timestamp=1681726537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9370 timestamp=1681726697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9371 timestamp=1681726857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9372 timestamp=1681727017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9373 timestamp=1681727177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9374 timestamp=1681727337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9375 timestamp=1681727497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9376 timestamp=1681727657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9377 timestamp=1681727817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9378 timestamp=1681727977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9379 timestamp=1681728137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9380 timestamp=1681728297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9381 timestamp=1681728457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9382 timestamp=1681728617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9383 timestamp=1681728777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9384 timestamp=1681728937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9385 timestamp=1681729097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9386 timestamp=1681729257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9387 timestamp=1681729417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9388 timestamp=1681729577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9389 timestamp=1681729737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9390 timestamp=1681729897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9391 timestamp=1681730057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9392 timestamp=1681730217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9393 timestamp=1681730377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9394 timestamp=1681730537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9395 timestamp=1681730697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9396 timestamp=1681730857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9397 timestamp=1681731017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9398 timestamp=1681731177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9399 timestamp=1681731337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9400 timestamp=1681731497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9401 timestamp=1681731657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9402 timestamp=1681731817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9403 timestamp=1681731977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9404 timestamp=1681732137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9405 timestamp=1681732297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9406 timestamp=1681732457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9407 timestamp=1681732617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9408 timestamp=1681732777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9409 timestamp=1681732937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9410 timestamp=1681733097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9411 timestamp=1681733257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9412 timestamp=1681733417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9413 timestamp=1681733577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX initialized osmux input converter +sys={26.704242}, mono={3.280000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=1 ext=0 csrc_count=0 sequence=16396 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=1 ext=0 csrc_count=0 sequence=16397 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16398 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.704242}, mono={3.280000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16399 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.704242}, mono={3.280000}: OSMUX message (len=242): OSMUX seq=000 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=001 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9414 timestamp=1681733737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9415 timestamp=1681733897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9416 timestamp=1681734057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.704242}, mono={3.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9417 timestamp=1681734217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.724242}, mono={3.300000}: clock_override_add +sys={26.724242}, mono={3.300000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9418 timestamp=1681734377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.744242}, mono={3.320000}: clock_override_add +sys={26.744242}, mono={3.320000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16400 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.744242}, mono={3.320000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16401 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.744242}, mono={3.320000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16402 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.744242}, mono={3.320000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16403 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.744242}, mono={3.320000}: OSMUX message (len=242): OSMUX seq=002 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=003 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.744242}, mono={3.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9419 timestamp=1681734537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.744242}, mono={3.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9420 timestamp=1681734697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.744242}, mono={3.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9421 timestamp=1681734857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.744242}, mono={3.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9422 timestamp=1681735017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.744242}, mono={3.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9423 timestamp=1681735177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.764242}, mono={3.340000}: clock_override_add +sys={26.764242}, mono={3.340000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9424 timestamp=1681735337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.784242}, mono={3.360000}: clock_override_add +sys={26.784242}, mono={3.360000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16404 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.784242}, mono={3.360000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16405 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.784242}, mono={3.360000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16406 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.784242}, mono={3.360000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16407 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.784242}, mono={3.360000}: OSMUX message (len=242): OSMUX seq=004 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=005 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.784242}, mono={3.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9425 timestamp=1681735497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.784242}, mono={3.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9426 timestamp=1681735657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.784242}, mono={3.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9427 timestamp=1681735817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.784242}, mono={3.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9428 timestamp=1681735977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.784242}, mono={3.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9429 timestamp=1681736137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.804242}, mono={3.380000}: clock_override_add +sys={26.804242}, mono={3.380000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9430 timestamp=1681736297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.824242}, mono={3.400000}: clock_override_add +sys={26.824242}, mono={3.400000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16408 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.824242}, mono={3.400000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16409 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.824242}, mono={3.400000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16410 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.824242}, mono={3.400000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16411 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.824242}, mono={3.400000}: OSMUX message (len=242): OSMUX seq=006 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=007 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.824242}, mono={3.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9431 timestamp=1681736457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.824242}, mono={3.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9432 timestamp=1681736617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.824242}, mono={3.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9433 timestamp=1681736777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.824242}, mono={3.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9434 timestamp=1681736937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.824242}, mono={3.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9435 timestamp=1681737097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.844242}, mono={3.420000}: clock_override_add +sys={26.844242}, mono={3.420000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9436 timestamp=1681737257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.864242}, mono={3.440000}: clock_override_add +sys={26.864242}, mono={3.440000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16412 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.864242}, mono={3.440000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16413 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.864242}, mono={3.440000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16414 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.864242}, mono={3.440000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16415 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.864242}, mono={3.440000}: OSMUX message (len=242): OSMUX seq=008 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=009 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.864242}, mono={3.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9437 timestamp=1681737417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.864242}, mono={3.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9438 timestamp=1681737577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.864242}, mono={3.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9439 timestamp=1681737737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.864242}, mono={3.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9440 timestamp=1681737897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.864242}, mono={3.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9441 timestamp=1681738057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.884242}, mono={3.460000}: clock_override_add +sys={26.884242}, mono={3.460000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9442 timestamp=1681738217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.904242}, mono={3.480000}: clock_override_add +sys={26.904242}, mono={3.480000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16416 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.904242}, mono={3.480000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16417 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.904242}, mono={3.480000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16418 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.904242}, mono={3.480000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16419 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.904242}, mono={3.480000}: OSMUX message (len=242): OSMUX seq=010 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=011 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.904242}, mono={3.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9443 timestamp=1681738377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.904242}, mono={3.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9444 timestamp=1681738537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.904242}, mono={3.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9445 timestamp=1681738697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.904242}, mono={3.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9446 timestamp=1681738857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.904242}, mono={3.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9447 timestamp=1681739017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.924242}, mono={3.500000}: clock_override_add +sys={26.924242}, mono={3.500000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9448 timestamp=1681739177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.944242}, mono={3.520000}: clock_override_add +sys={26.944242}, mono={3.520000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16420 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.944242}, mono={3.520000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16421 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.944242}, mono={3.520000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16422 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.944242}, mono={3.520000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16423 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.944242}, mono={3.520000}: OSMUX message (len=242): OSMUX seq=012 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=013 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.944242}, mono={3.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9449 timestamp=1681739337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.944242}, mono={3.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9450 timestamp=1681739497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.944242}, mono={3.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9451 timestamp=1681739657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.944242}, mono={3.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9452 timestamp=1681739817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.944242}, mono={3.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9453 timestamp=1681739977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.964242}, mono={3.540000}: clock_override_add +sys={26.964242}, mono={3.540000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9454 timestamp=1681740137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.984242}, mono={3.560000}: clock_override_add +sys={26.984242}, mono={3.560000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16424 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.984242}, mono={3.560000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16425 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.984242}, mono={3.560000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16426 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.984242}, mono={3.560000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16427 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={26.984242}, mono={3.560000}: OSMUX message (len=242): OSMUX seq=014 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=015 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={26.984242}, mono={3.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9455 timestamp=1681740297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.984242}, mono={3.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9456 timestamp=1681740457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.984242}, mono={3.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9457 timestamp=1681740617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.984242}, mono={3.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9458 timestamp=1681740777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={26.984242}, mono={3.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9459 timestamp=1681740937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.004242}, mono={3.580000}: clock_override_add +sys={27.004242}, mono={3.580000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9460 timestamp=1681741097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.024242}, mono={3.600000}: clock_override_add +sys={27.024242}, mono={3.600000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16428 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.024242}, mono={3.600000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16429 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.024242}, mono={3.600000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16430 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.024242}, mono={3.600000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16431 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.024242}, mono={3.600000}: OSMUX message (len=242): OSMUX seq=016 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=017 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.024242}, mono={3.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9461 timestamp=1681741257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.024242}, mono={3.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9462 timestamp=1681741417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.024242}, mono={3.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9463 timestamp=1681741577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.024242}, mono={3.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9464 timestamp=1681741737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.024242}, mono={3.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9465 timestamp=1681741897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.044242}, mono={3.620000}: clock_override_add +sys={27.044242}, mono={3.620000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9466 timestamp=1681742057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.064242}, mono={3.640000}: clock_override_add +sys={27.064242}, mono={3.640000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16432 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.064242}, mono={3.640000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16433 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.064242}, mono={3.640000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16434 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.064242}, mono={3.640000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16435 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.064242}, mono={3.640000}: OSMUX message (len=242): OSMUX seq=018 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=019 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.064242}, mono={3.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9467 timestamp=1681742217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.064242}, mono={3.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9468 timestamp=1681742377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.064242}, mono={3.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9469 timestamp=1681742537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.064242}, mono={3.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9470 timestamp=1681742697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.064242}, mono={3.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9471 timestamp=1681742857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.084242}, mono={3.660000}: clock_override_add +sys={27.084242}, mono={3.660000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9472 timestamp=1681743017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.104242}, mono={3.680000}: clock_override_add +sys={27.104242}, mono={3.680000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16436 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.104242}, mono={3.680000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16437 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.104242}, mono={3.680000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16438 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.104242}, mono={3.680000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16439 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.104242}, mono={3.680000}: OSMUX message (len=242): OSMUX seq=020 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=021 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.104242}, mono={3.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9473 timestamp=1681743177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.104242}, mono={3.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9474 timestamp=1681743337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.104242}, mono={3.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9475 timestamp=1681743497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.104242}, mono={3.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9476 timestamp=1681743657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.104242}, mono={3.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9477 timestamp=1681743817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.124242}, mono={3.700000}: clock_override_add +sys={27.124242}, mono={3.700000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9478 timestamp=1681743977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.144242}, mono={3.720000}: clock_override_add +sys={27.144242}, mono={3.720000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16440 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.144242}, mono={3.720000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16441 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.144242}, mono={3.720000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16442 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.144242}, mono={3.720000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16443 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.144242}, mono={3.720000}: OSMUX message (len=242): OSMUX seq=022 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=023 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.144242}, mono={3.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9479 timestamp=1681744137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.144242}, mono={3.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9480 timestamp=1681744297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.144242}, mono={3.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9481 timestamp=1681744457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.144242}, mono={3.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9482 timestamp=1681744617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.144242}, mono={3.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9483 timestamp=1681744777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.164242}, mono={3.740000}: clock_override_add +sys={27.164242}, mono={3.740000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9484 timestamp=1681744937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.184242}, mono={3.760000}: clock_override_add +sys={27.184242}, mono={3.760000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16444 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.184242}, mono={3.760000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16445 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.184242}, mono={3.760000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16446 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.184242}, mono={3.760000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16447 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.184242}, mono={3.760000}: OSMUX message (len=242): OSMUX seq=024 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=025 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.184242}, mono={3.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9485 timestamp=1681745097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.184242}, mono={3.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9486 timestamp=1681745257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.184242}, mono={3.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9487 timestamp=1681745417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.184242}, mono={3.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9488 timestamp=1681745577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.184242}, mono={3.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9489 timestamp=1681745737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.204242}, mono={3.780000}: clock_override_add +sys={27.204242}, mono={3.780000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9490 timestamp=1681745897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.224242}, mono={3.800000}: clock_override_add +sys={27.224242}, mono={3.800000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16448 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.224242}, mono={3.800000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16449 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.224242}, mono={3.800000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16450 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.224242}, mono={3.800000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16451 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.224242}, mono={3.800000}: OSMUX message (len=242): OSMUX seq=026 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=027 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.224242}, mono={3.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9491 timestamp=1681746057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.224242}, mono={3.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9492 timestamp=1681746217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.224242}, mono={3.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9493 timestamp=1681746377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.224242}, mono={3.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9494 timestamp=1681746537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.224242}, mono={3.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9495 timestamp=1681746697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.244242}, mono={3.820000}: clock_override_add +sys={27.244242}, mono={3.820000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9496 timestamp=1681746857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.264242}, mono={3.840000}: clock_override_add +sys={27.264242}, mono={3.840000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16452 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.264242}, mono={3.840000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16453 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.264242}, mono={3.840000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16454 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.264242}, mono={3.840000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16455 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.264242}, mono={3.840000}: OSMUX message (len=242): OSMUX seq=028 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=029 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.264242}, mono={3.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9497 timestamp=1681747017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.264242}, mono={3.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9498 timestamp=1681747177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.264242}, mono={3.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9499 timestamp=1681747337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.264242}, mono={3.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9500 timestamp=1681747497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.264242}, mono={3.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9501 timestamp=1681747657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.284242}, mono={3.860000}: clock_override_add +sys={27.284242}, mono={3.860000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9502 timestamp=1681747817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.304242}, mono={3.880000}: clock_override_add +sys={27.304242}, mono={3.880000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16456 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.304242}, mono={3.880000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16457 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.304242}, mono={3.880000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16458 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.304242}, mono={3.880000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16459 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.304242}, mono={3.880000}: OSMUX message (len=242): OSMUX seq=030 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=031 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=000 ccid=002 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00 +sys={27.304242}, mono={3.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9503 timestamp=1681747977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.304242}, mono={3.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9504 timestamp=1681748137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.304242}, mono={3.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9505 timestamp=1681748297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.304242}, mono={3.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9506 timestamp=1681748457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.304242}, mono={3.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9507 timestamp=1681748617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.324242}, mono={3.900000}: clock_override_add +sys={27.324242}, mono={3.900000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9508 timestamp=1681748777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: clock_override_add +sys={27.344242}, mono={3.920000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=1 ext=0 csrc_count=0 sequence=16460 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=1 ext=0 csrc_count=0 sequence=16461 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16462 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.344242}, mono={3.920000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16463 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.344242}, mono={3.920000}: OSMUX message (len=98): OSMUX seq=032 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=033 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9509 timestamp=1681748937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9510 timestamp=1681749097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9511 timestamp=1681749257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9512 timestamp=1681749417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.344242}, mono={3.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9513 timestamp=1681749577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.364242}, mono={3.940000}: clock_override_add +sys={27.364242}, mono={3.940000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9514 timestamp=1681749737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: clock_override_add +sys={27.384242}, mono={3.960000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16464 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16465 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16466 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.384242}, mono={3.960000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16467 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.384242}, mono={3.960000}: OSMUX message (len=98): OSMUX seq=034 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=035 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9515 timestamp=1681749897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9516 timestamp=1681750057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9517 timestamp=1681750217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9518 timestamp=1681750377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.384242}, mono={3.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9519 timestamp=1681750537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.404242}, mono={3.980000}: clock_override_add +sys={27.404242}, mono={3.980000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9520 timestamp=1681750697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: clock_override_add +sys={27.424242}, mono={4.000000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16468 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16469 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16470 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.424242}, mono={4.000000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16471 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.424242}, mono={4.000000}: OSMUX message (len=98): OSMUX seq=036 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=037 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9521 timestamp=1681750857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9522 timestamp=1681751017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9523 timestamp=1681751177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9524 timestamp=1681751337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.424242}, mono={4.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9525 timestamp=1681751497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.444242}, mono={4.020000}: clock_override_add +sys={27.444242}, mono={4.020000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9526 timestamp=1681751657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: clock_override_add +sys={27.464242}, mono={4.040000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16472 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16473 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16474 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.464242}, mono={4.040000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16475 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.464242}, mono={4.040000}: OSMUX message (len=98): OSMUX seq=038 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=039 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9527 timestamp=1681751817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9528 timestamp=1681751977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9529 timestamp=1681752137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9530 timestamp=1681752297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.464242}, mono={4.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9531 timestamp=1681752457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.484242}, mono={4.060000}: clock_override_add +sys={27.484242}, mono={4.060000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9532 timestamp=1681752617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: clock_override_add +sys={27.504242}, mono={4.080000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16476 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16477 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16478 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.504242}, mono={4.080000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16479 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.504242}, mono={4.080000}: OSMUX message (len=98): OSMUX seq=040 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=041 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9533 timestamp=1681752777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9534 timestamp=1681752937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9535 timestamp=1681753097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9536 timestamp=1681753257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.504242}, mono={4.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9537 timestamp=1681753417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.524242}, mono={4.100000}: clock_override_add +sys={27.524242}, mono={4.100000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9538 timestamp=1681753577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: clock_override_add +sys={27.544242}, mono={4.120000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16480 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16481 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16482 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.544242}, mono={4.120000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16483 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.544242}, mono={4.120000}: OSMUX message (len=98): OSMUX seq=042 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=043 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9539 timestamp=1681753737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9540 timestamp=1681753897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9541 timestamp=1681754057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9542 timestamp=1681754217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.544242}, mono={4.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9543 timestamp=1681754377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.564242}, mono={4.140000}: clock_override_add +sys={27.564242}, mono={4.140000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9544 timestamp=1681754537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: clock_override_add +sys={27.584242}, mono={4.160000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16484 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16485 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16486 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.584242}, mono={4.160000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16487 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.584242}, mono={4.160000}: OSMUX message (len=98): OSMUX seq=044 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=045 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9545 timestamp=1681754697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9546 timestamp=1681754857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9547 timestamp=1681755017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9548 timestamp=1681755177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.584242}, mono={4.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9549 timestamp=1681755337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.604242}, mono={4.180000}: clock_override_add +sys={27.604242}, mono={4.180000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9550 timestamp=1681755497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: clock_override_add +sys={27.624242}, mono={4.200000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16488 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16489 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16490 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.624242}, mono={4.200000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16491 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.624242}, mono={4.200000}: OSMUX message (len=98): OSMUX seq=046 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=047 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9551 timestamp=1681755657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9552 timestamp=1681755817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9553 timestamp=1681755977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9554 timestamp=1681756137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.624242}, mono={4.200000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9555 timestamp=1681756297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.644242}, mono={4.220000}: clock_override_add +sys={27.644242}, mono={4.220000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9556 timestamp=1681756457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: clock_override_add +sys={27.664242}, mono={4.240000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16492 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16493 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16494 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.664242}, mono={4.240000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16495 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.664242}, mono={4.240000}: OSMUX message (len=98): OSMUX seq=048 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=049 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9557 timestamp=1681756617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9558 timestamp=1681756777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9559 timestamp=1681756937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9560 timestamp=1681757097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.664242}, mono={4.240000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9561 timestamp=1681757257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.684242}, mono={4.260000}: clock_override_add +sys={27.684242}, mono={4.260000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9562 timestamp=1681757417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: clock_override_add +sys={27.704242}, mono={4.280000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16496 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16497 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16498 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.704242}, mono={4.280000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16499 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.704242}, mono={4.280000}: OSMUX message (len=98): OSMUX seq=050 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=051 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9563 timestamp=1681757577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9564 timestamp=1681757737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9565 timestamp=1681757897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9566 timestamp=1681758057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.704242}, mono={4.280000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9567 timestamp=1681758217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.724242}, mono={4.300000}: clock_override_add +sys={27.724242}, mono={4.300000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9568 timestamp=1681758377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: clock_override_add +sys={27.744242}, mono={4.320000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16500 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16501 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16502 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.744242}, mono={4.320000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16503 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.744242}, mono={4.320000}: OSMUX message (len=98): OSMUX seq=052 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=053 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9569 timestamp=1681758537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9570 timestamp=1681758697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9571 timestamp=1681758857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9572 timestamp=1681759017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.744242}, mono={4.320000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9573 timestamp=1681759177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.764242}, mono={4.340000}: clock_override_add +sys={27.764242}, mono={4.340000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9574 timestamp=1681759337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: clock_override_add +sys={27.784242}, mono={4.360000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16504 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16505 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16506 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.784242}, mono={4.360000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16507 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.784242}, mono={4.360000}: OSMUX message (len=98): OSMUX seq=054 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=055 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9575 timestamp=1681759497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9576 timestamp=1681759657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9577 timestamp=1681759817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9578 timestamp=1681759977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.784242}, mono={4.360000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9579 timestamp=1681760137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.804242}, mono={4.380000}: clock_override_add +sys={27.804242}, mono={4.380000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9580 timestamp=1681760297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: clock_override_add +sys={27.824242}, mono={4.400000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16508 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16509 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16510 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.824242}, mono={4.400000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16511 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.824242}, mono={4.400000}: OSMUX message (len=98): OSMUX seq=056 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=057 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9581 timestamp=1681760457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9582 timestamp=1681760617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9583 timestamp=1681760777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9584 timestamp=1681760937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.824242}, mono={4.400000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9585 timestamp=1681761097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.844242}, mono={4.420000}: clock_override_add +sys={27.844242}, mono={4.420000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9586 timestamp=1681761257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: clock_override_add +sys={27.864242}, mono={4.440000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16512 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16513 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16514 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.864242}, mono={4.440000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16515 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.864242}, mono={4.440000}: OSMUX message (len=98): OSMUX seq=058 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=059 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9587 timestamp=1681761417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9588 timestamp=1681761577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9589 timestamp=1681761737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9590 timestamp=1681761897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.864242}, mono={4.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9591 timestamp=1681762057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.884242}, mono={4.460000}: clock_override_add +sys={27.884242}, mono={4.460000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9592 timestamp=1681762217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: clock_override_add +sys={27.904242}, mono={4.480000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16516 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16517 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16518 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.904242}, mono={4.480000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16519 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.904242}, mono={4.480000}: OSMUX message (len=98): OSMUX seq=060 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=061 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9593 timestamp=1681762377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9594 timestamp=1681762537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9595 timestamp=1681762697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9596 timestamp=1681762857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.904242}, mono={4.480000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9597 timestamp=1681763017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.924242}, mono={4.500000}: clock_override_add +sys={27.924242}, mono={4.500000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9598 timestamp=1681763177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: clock_override_add +sys={27.944242}, mono={4.520000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16520 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16521 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: adding to ccid=3 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16522 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.944242}, mono={4.520000}: adding to ccid=2 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16523 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.944242}, mono={4.520000}: OSMUX message (len=98): OSMUX seq=062 ccid=002 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=063 ccid=003 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9599 timestamp=1681763337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9600 timestamp=1681763497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9601 timestamp=1681763657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9602 timestamp=1681763817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.944242}, mono={4.520000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9603 timestamp=1681763977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.964242}, mono={4.540000}: clock_override_add +sys={27.964242}, mono={4.540000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9604 timestamp=1681764137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: clock_override_add +sys={27.984242}, mono={4.560000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=1 ext=0 csrc_count=0 sequence=16524 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=1 ext=0 csrc_count=0 sequence=16525 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16526 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.984242}, mono={4.560000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16527 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={27.984242}, mono={4.560000}: OSMUX message (len=98): OSMUX seq=064 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=065 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9605 timestamp=1681764297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9606 timestamp=1681764457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9607 timestamp=1681764617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9608 timestamp=1681764777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={27.984242}, mono={4.560000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 ext=0 csrc_count=0 sequence=9609 timestamp=1681764937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.004242}, mono={4.580000}: clock_override_add +sys={28.004242}, mono={4.580000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9610 timestamp=1681765097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: clock_override_add +sys={28.024242}, mono={4.600000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16528 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16529 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16530 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.024242}, mono={4.600000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16531 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.024242}, mono={4.600000}: OSMUX message (len=98): OSMUX seq=066 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=067 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9611 timestamp=1681765257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9612 timestamp=1681765417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9613 timestamp=1681765577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9614 timestamp=1681765737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.024242}, mono={4.600000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9615 timestamp=1681765897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.044242}, mono={4.620000}: clock_override_add +sys={28.044242}, mono={4.620000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9616 timestamp=1681766057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: clock_override_add +sys={28.064242}, mono={4.640000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16532 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16533 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16534 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.064242}, mono={4.640000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16535 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.064242}, mono={4.640000}: OSMUX message (len=98): OSMUX seq=068 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=069 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9617 timestamp=1681766217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9618 timestamp=1681766377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9619 timestamp=1681766537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9620 timestamp=1681766697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.064242}, mono={4.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9621 timestamp=1681766857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.084242}, mono={4.660000}: clock_override_add +sys={28.084242}, mono={4.660000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9622 timestamp=1681767017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: clock_override_add +sys={28.104242}, mono={4.680000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16536 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16537 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16538 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.104242}, mono={4.680000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16539 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.104242}, mono={4.680000}: OSMUX message (len=98): OSMUX seq=070 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=071 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9623 timestamp=1681767177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9624 timestamp=1681767337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9625 timestamp=1681767497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9626 timestamp=1681767657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.104242}, mono={4.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9627 timestamp=1681767817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.124242}, mono={4.700000}: clock_override_add +sys={28.124242}, mono={4.700000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9628 timestamp=1681767977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: clock_override_add +sys={28.144242}, mono={4.720000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16540 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16541 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16542 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.144242}, mono={4.720000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16543 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.144242}, mono={4.720000}: OSMUX message (len=98): OSMUX seq=072 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=073 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9629 timestamp=1681768137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9630 timestamp=1681768297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9631 timestamp=1681768457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9632 timestamp=1681768617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.144242}, mono={4.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9633 timestamp=1681768777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.164242}, mono={4.740000}: clock_override_add +sys={28.164242}, mono={4.740000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9634 timestamp=1681768937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: clock_override_add +sys={28.184242}, mono={4.760000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16544 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16545 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16546 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.184242}, mono={4.760000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16547 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.184242}, mono={4.760000}: OSMUX message (len=98): OSMUX seq=074 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=075 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9635 timestamp=1681769097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9636 timestamp=1681769257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9637 timestamp=1681769417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9638 timestamp=1681769577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.184242}, mono={4.760000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9639 timestamp=1681769737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.204242}, mono={4.780000}: clock_override_add +sys={28.204242}, mono={4.780000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9640 timestamp=1681769897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: clock_override_add +sys={28.224242}, mono={4.800000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16548 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16549 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16550 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.224242}, mono={4.800000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16551 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.224242}, mono={4.800000}: OSMUX message (len=98): OSMUX seq=076 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=077 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9641 timestamp=1681770057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9642 timestamp=1681770217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9643 timestamp=1681770377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9644 timestamp=1681770537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.224242}, mono={4.800000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9645 timestamp=1681770697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.244242}, mono={4.820000}: clock_override_add +sys={28.244242}, mono={4.820000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9646 timestamp=1681770857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: clock_override_add +sys={28.264242}, mono={4.840000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16552 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16553 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16554 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.264242}, mono={4.840000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16555 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.264242}, mono={4.840000}: OSMUX message (len=98): OSMUX seq=078 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=079 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9647 timestamp=1681771017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9648 timestamp=1681771177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9649 timestamp=1681771337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9650 timestamp=1681771497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.264242}, mono={4.840000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9651 timestamp=1681771657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.284242}, mono={4.860000}: clock_override_add +sys={28.284242}, mono={4.860000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9652 timestamp=1681771817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: clock_override_add +sys={28.304242}, mono={4.880000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16556 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16557 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16558 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.304242}, mono={4.880000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16559 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.304242}, mono={4.880000}: OSMUX message (len=98): OSMUX seq=080 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=081 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9653 timestamp=1681771977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9654 timestamp=1681772137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9655 timestamp=1681772297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9656 timestamp=1681772457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.304242}, mono={4.880000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9657 timestamp=1681772617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.324242}, mono={4.900000}: clock_override_add +sys={28.324242}, mono={4.900000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9658 timestamp=1681772777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: clock_override_add +sys={28.344242}, mono={4.920000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16560 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16561 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16562 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.344242}, mono={4.920000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16563 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.344242}, mono={4.920000}: OSMUX message (len=98): OSMUX seq=082 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=083 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9659 timestamp=1681772937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9660 timestamp=1681773097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9661 timestamp=1681773257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9662 timestamp=1681773417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.344242}, mono={4.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9663 timestamp=1681773577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.364242}, mono={4.940000}: clock_override_add +sys={28.364242}, mono={4.940000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9664 timestamp=1681773737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: clock_override_add +sys={28.384242}, mono={4.960000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16564 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16565 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16566 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.384242}, mono={4.960000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16567 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.384242}, mono={4.960000}: OSMUX message (len=98): OSMUX seq=084 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=085 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9665 timestamp=1681773897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9666 timestamp=1681774057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9667 timestamp=1681774217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9668 timestamp=1681774377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.384242}, mono={4.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9669 timestamp=1681774537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.404242}, mono={4.980000}: clock_override_add +sys={28.404242}, mono={4.980000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9670 timestamp=1681774697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: clock_override_add +sys={28.424242}, mono={5.000000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16568 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16569 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16570 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.424242}, mono={5.000000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16571 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.424242}, mono={5.000000}: OSMUX message (len=98): OSMUX seq=086 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=087 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9671 timestamp=1681774857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9672 timestamp=1681775017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9673 timestamp=1681775177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9674 timestamp=1681775337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.424242}, mono={5.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9675 timestamp=1681775497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.444242}, mono={5.020000}: clock_override_add +sys={28.444242}, mono={5.020000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9676 timestamp=1681775657 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: clock_override_add +sys={28.464242}, mono={5.040000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16572 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16573 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16574 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.464242}, mono={5.040000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16575 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.464242}, mono={5.040000}: OSMUX message (len=98): OSMUX seq=088 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=089 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9677 timestamp=1681775817 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9678 timestamp=1681775977 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9679 timestamp=1681776137 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9680 timestamp=1681776297 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9681 timestamp=1681776457 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.484242}, mono={5.060000}: clock_override_add +sys={28.484242}, mono={5.060000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9682 timestamp=1681776617 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: clock_override_add +sys={28.504242}, mono={5.080000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16576 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16577 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16578 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.504242}, mono={5.080000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16579 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.504242}, mono={5.080000}: OSMUX message (len=98): OSMUX seq=090 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=091 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9683 timestamp=1681776777 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9684 timestamp=1681776937 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9685 timestamp=1681777097 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9686 timestamp=1681777257 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.504242}, mono={5.080000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9687 timestamp=1681777417 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.524242}, mono={5.100000}: clock_override_add +sys={28.524242}, mono={5.100000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9688 timestamp=1681777577 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: clock_override_add +sys={28.544242}, mono={5.120000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16580 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16581 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16582 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.544242}, mono={5.120000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16583 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.544242}, mono={5.120000}: OSMUX message (len=98): OSMUX seq=092 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=093 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9689 timestamp=1681777737 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9690 timestamp=1681777897 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9691 timestamp=1681778057 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9692 timestamp=1681778217 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.544242}, mono={5.120000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9693 timestamp=1681778377 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.564242}, mono={5.140000}: clock_override_add +sys={28.564242}, mono={5.140000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9694 timestamp=1681778537 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: clock_override_add +sys={28.584242}, mono={5.160000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16584 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16585 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: adding to ccid=1 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16586 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.584242}, mono={5.160000}: adding to ccid=0 RTP ver=2 ssrc=118030434 type=98 marker=0 ext=0 csrc_count=0 sequence=16587 timestamp=108399 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +DLMUX adding cloned RTP +sys={28.584242}, mono={5.160000}: OSMUX message (len=98): OSMUX seq=094 ccid=000 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ], OSMUX seq=095 ccid=001 ft=1 ctr=2 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=02 [ ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9695 timestamp=1681778697 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9696 timestamp=1681778857 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9697 timestamp=1681779017 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9698 timestamp=1681779177 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9699 timestamp=1681779337 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.604242}, mono={5.180000}: clock_override_add +sys={28.604242}, mono={5.180000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 ext=0 csrc_count=0 sequence=9700 timestamp=1681779497 [20 14 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ] +sys={28.624242}, mono={5.200000}: clock_override_add +sys={28.624242}, mono={5.200000}: OK: Test passed diff -Nru libosmo-netif-0.3.0/tests/stream/stream_test.c libosmo-netif-1.0.0/tests/stream/stream_test.c --- libosmo-netif-0.3.0/tests/stream/stream_test.c 1970-01-01 00:00:00.000000000 +0000 +++ libosmo-netif-1.0.0/tests/stream/stream_test.c 2020-08-13 09:21:03.000000000 +0000 @@ -0,0 +1,408 @@ +/* + * (C) 2019 by sysmocom - s.f.m.c. GmbH. + * Author: Max Suraev + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include + +#define RECONNECT_TIMEOUT_SECS 9 + +#define DSTREAMTEST 0 +struct log_info_cat osmo_stream_test_cat[] = { + [DSTREAMTEST] = { + .name = "DSTREAMTEST", + .description = "STREAM test", + .enabled = 1, .loglevel = LOGL_INFO, + }, +}; + +const struct log_info osmo_stream_test_log_info = { + .filter_fn = NULL, + .cat = osmo_stream_test_cat, + .num_cat = ARRAY_SIZE(osmo_stream_test_cat), +}; + +static struct msgb *make_msgb(const char *m) +{ + struct msgb *msg = msgb_alloc(512, "STREAM test"); + if (!msg) { + printf("Unable to allocate message\n"); + return NULL; + } + + if (m) + msgb_printf(msg, "%s", m); + + return msg; +} + +#define ASTR(rec) ((rec) ? "autoreconnecting" : "non-reconnecting") + +/* client defs */ +#define LOGCLI(cli, fmt, args...) do { \ + struct timeval tv; \ + osmo_gettimeofday(&tv, NULL); \ + printf("{%lu.%06lu} [%s] Client's %s(): " fmt, tv.tv_sec, tv.tv_usec, \ + osmo_stream_cli_get_data(cli) ? "OK" : "NA", __func__, ##args); \ + } while (0) + +#define CLI_SND(cli, m) do { \ + struct msgb *msg = make_msgb(m); \ + LOGCLI(cli, "sent %d bytes message: %s\n", \ + msg->len, msgb_hexdump(msg)); \ + osmo_stream_cli_send(cli, msg); \ + } while(0) + +/* client callbacks */ +static int connect_cb_cli(struct osmo_stream_cli *cli) +{ + void *recon = osmo_stream_cli_get_data(cli); + LOGCLI(cli, "callback triggered <%s>\n", recon ? "reconnected" : "initial"); + if (recon) { + LOGCLI(cli, "closing connection\n"); + osmo_stream_cli_close(cli); + } else + CLI_SND(cli, "Hi! from connect callback :-P"); + + return 0; +} + +static int read_cb_cli(struct osmo_stream_cli *cli) +{ + int bytes; + void *cli_data = osmo_stream_cli_get_data(cli); + struct msgb *msg = make_msgb(NULL); + if (!msg) + return -ENOMEM; + + LOGCLI(cli, "callback triggered\n"); + + bytes = osmo_stream_cli_recv(cli, msg); + if (bytes < 0) { + LOGCLI(cli, "unable to receive message\n"); + return -EINVAL; + } + + if (bytes) + LOGCLI(cli, "received %d(%d) bytes: %s\n", bytes, msg->len, msgb_hexdump(msg)); + else { + /* N. B: normally receiving 0 bytes means that we should close the connection and re-establish it + but to test autoreconnection logic we ignore it in here to let the test run till completion */ + LOGCLI(cli, "0-byte read, auto-reconnect will be triggered if enabled\n"); + osmo_gettimeofday_override_add(RECONNECT_TIMEOUT_SECS, 0); + } + + if (!cli_data) { + LOGCLI(cli, "initial read, contacting server\n"); + + osmo_stream_cli_set_data(cli, msg); + CLI_SND(cli, "Doh, responding to server :-D"); + } + + return 0; +} + +/* client helpers */ +static struct osmo_stream_cli *init_client_reconnection(struct osmo_stream_cli *cli, bool autoreconnect) +{ + /* setting negative timeout ensures that we disable reconnection logic */ + osmo_stream_cli_set_reconnect_timeout(cli, autoreconnect ? RECONNECT_TIMEOUT_SECS : -1); + + if (osmo_stream_cli_open(cli) < 0) { + LOGCLI(cli, "unable to open client\n"); + return NULL; + } + + return cli; +} + +/* Without explicit timeout set with osmo_stream_cli_set_reconnect_timeout() default value is used. +static struct osmo_stream_cli *init_client_reconnection_broken1(struct osmo_stream_cli *cli, bool autoreconnect) +{ + if (osmo_stream_cli_open2(cli, autoreconnect) < 0) { + LOGCLI(cli, "unable to open client\n"); + return NULL; + } + + return cli; +} +That's why those those functions result in exact the same output despite inverse use of autoreconnect parameter. +static struct osmo_stream_cli *init_client_reconnection_broken2(struct osmo_stream_cli *cli, bool autoreconnect) +{ + if (osmo_stream_cli_open2(cli, !autoreconnect) < 0) { + LOGCLI(cli, "unable to open client\n"); + return NULL; + } + + return cli; +} + +Variant below are also equivalent to each other. +static struct osmo_stream_cli *init_client_reconnection_broken1(struct osmo_stream_cli *cli, bool autoreconnect) +{ + osmo_stream_cli_set_reconnect_timeout(cli, (!autoreconnect) ? 2 : -1); + if (osmo_stream_cli_open2(cli, autoreconnect) < 0) { + LOGCLI(cli, "unable to open client\n"); + return NULL; + } + + return cli; +} + +static struct osmo_stream_cli *init_client_reconnection_broken2(struct osmo_stream_cli *cli, bool autoreconnect) +{ + osmo_stream_cli_set_reconnect_timeout(cli, (!autoreconnect) ? 2 : -1); + if (osmo_stream_cli_open2(cli, !autoreconnect) < 0) { + LOGCLI(cli, "unable to open client\n"); + return NULL; + } + + return cli; +} +Note: the result differs from normal init_client_reconnection() +*/ + +/* Setting reconnection value explicitly as follows is equivalent to normal init_client_reconnection() +static struct osmo_stream_cli *init_client_reconnection_broken1(struct osmo_stream_cli *cli, bool autoreconnect) +{ + osmo_stream_cli_set_reconnect_timeout(cli, autoreconnect ? 2 : -1); + if (osmo_stream_cli_open2(cli, autoreconnect) < 0) { + LOGCLI(cli, "unable to open client\n"); + return NULL; + } + + return cli; +} + +static struct osmo_stream_cli *init_client_reconnection_broken2(struct osmo_stream_cli *cli, bool autoreconnect) +{ + osmo_stream_cli_set_reconnect_timeout(cli, autoreconnect ? 2 : -1); + if (osmo_stream_cli_open2(cli, !autoreconnect) < 0) { + LOGCLI(cli, "unable to open client\n"); + return NULL; + } + + return cli; +} +*/ + +static struct osmo_stream_cli *make_client(void *ctx, const char *host, unsigned port, bool autoreconnect) +{ + struct osmo_stream_cli *cli = osmo_stream_cli_create(ctx); + if (!cli) { + printf("Unable to create client\n"); + return NULL; + } + + printf("Prepare %s stream client...\n", ASTR(autoreconnect)); + + osmo_stream_cli_set_addr(cli, host); + osmo_stream_cli_set_port(cli, port); + osmo_stream_cli_set_connect_cb(cli, connect_cb_cli); + osmo_stream_cli_set_read_cb(cli, read_cb_cli); + + /* using + return init_client_reconnection_broken1(cli, autoreconnect); + or + return init_client_reconnection_broken2(cli, autoreconnect); + will result in exactly the same output which might or might not be the same as with + init_client_reconnection() - see preceeding notes */ + return init_client_reconnection(cli, autoreconnect); +} + +/* server defs */ +#define LOGLNK(lnk, fmt, args...) \ + printf("[%s] Server's %s(): " fmt, osmo_stream_srv_link_get_data(lnk) ? "OK" : "NA", __func__, ##args) + +#define LOGSRV(srv, fmt, args...) do { \ + struct timeval tv; \ + osmo_gettimeofday(&tv, NULL); \ + printf("{%lu.%06lu} [%s|%s] Server's %s(): " fmt, tv.tv_sec, tv.tv_usec, \ + osmo_stream_srv_get_data(srv) ? "OK" : "NA", \ + osmo_stream_srv_link_get_data(osmo_stream_srv_get_master(srv)) ? "OK" : "NA", \ + __func__, ##args); \ + } while (0) + +#define SRV_SND(srv, m) do { \ + struct msgb *msg = make_msgb(m); \ + LOGSRV(srv, "sent %d bytes message: %s\n", \ + msg->len, msgb_hexdump(msg)); \ + osmo_stream_srv_send(srv, msg); \ + } while(0) + +/* server helpers */ +static bool subsequent_read(struct osmo_stream_srv *srv) +{ + if (osmo_stream_srv_get_data(srv)) + return true; + + osmo_stream_srv_set_data(srv, srv); + + return false; +} + +static void request_test_stop(struct osmo_stream_srv *srv) +{ + osmo_stream_srv_link_set_data(osmo_stream_srv_get_master(srv), NULL); +} + +static bool test_stop_requested(struct osmo_stream_srv_link *lnk) +{ + if (osmo_stream_srv_link_get_data(lnk)) + return false; + return true; +} + +/* server callbacks */ +int read_cb_srv(struct osmo_stream_srv *srv) +{ + int bytes; + struct msgb *msg = make_msgb(NULL); + if (!msg) + return -ENOMEM; + + LOGSRV(srv, "callback triggered\n"); + + bytes = osmo_stream_srv_recv(srv, msg); + if (bytes <= 0) { + if (bytes < 0) + LOGSRV(srv, "unable to receive message: %s\n", strerror(-bytes)); + else { + LOGSRV(srv, "client have already closed connection\n"); + + /* if client have already closed the connection, + than it must be subsequent (after reconnect) call */ + request_test_stop(srv); + } + osmo_stream_srv_destroy(srv); + return -EINVAL; + } else { + LOGSRV(srv, "received %d(%d) bytes: %s\n", bytes, msg->len, msgb_hexdump(msg)); + SRV_SND(srv, __func__); + } + + msgb_free(msg); + + if (subsequent_read(srv)) { + LOGSRV(srv, "force client disconnect on subsequent call\n"); + osmo_stream_srv_destroy(srv); + } else + LOGSRV(srv, "keep initial client connection\n"); + + return 0; +} + +static int close_cb_srv(struct osmo_stream_srv *ignored) +{ + return 0; +} + +static int accept_cb_srv(struct osmo_stream_srv_link *lnk, int fd) +{ + struct osmo_stream_srv *srv = osmo_stream_srv_create(osmo_stream_srv_link_get_data(lnk), lnk, fd, + read_cb_srv, close_cb_srv, NULL); + if (!srv) { + LOGLNK(lnk, "error while creating connection\n"); + return -EINVAL; + } + + return 0; +} + + +static void test_recon(void *ctx, const char *host, unsigned port, unsigned steps, struct osmo_stream_srv_link *lnk, + bool autoreconnect) +{ + struct timeval tv; + struct osmo_stream_cli *cli = make_client(ctx, host, port, autoreconnect); + if (!cli) + return; + + printf("=======================================\n"); + printf("Client/Server entering %s event loop...\n", ASTR(autoreconnect)); + printf("=======================================\n"); + + osmo_stream_srv_link_set_data(lnk, ctx); + + while(steps--) { + osmo_gettimeofday_override_add(0, 1); /* small increment to easily spot iterations */ + osmo_select_main(0); + osmo_gettimeofday(&tv, NULL); + fprintf(stderr, "\n{%lu.%06lu} %s test step %u [client %s, server %s], FD reg %u\n", + tv.tv_sec, tv.tv_usec, ASTR(autoreconnect), steps, + osmo_stream_cli_get_data(cli) ? "OK" : "NA", + osmo_stream_srv_link_get_data(lnk) ? "OK" : "NA", + osmo_fd_is_registered(osmo_stream_cli_get_ofd(cli))); + + if (test_stop_requested(lnk)) { + printf("{%lu.%06lu} Server requested test termination\n", + tv.tv_sec, tv.tv_usec); + steps = 0; + } + } + + osmo_stream_cli_destroy(cli); + printf("{%lu.%06lu} %s test complete.\n\n", tv.tv_sec, tv.tv_usec, ASTR(autoreconnect)); +} + + +int main(void) +{ + struct osmo_stream_srv_link *srv; + char *host = "127.0.0.11"; + unsigned port = 1111; + void *tall_test = talloc_named_const(NULL, 1, "osmo_stream_test"); + + osmo_gettimeofday_override = true; + osmo_gettimeofday_override_time.tv_sec = 2; + osmo_gettimeofday_override_time.tv_usec = 0; + + msgb_talloc_ctx_init(tall_test, 0); + osmo_init_logging2(tall_test, &osmo_stream_test_log_info); + log_set_log_level(osmo_stderr_target, LOGL_INFO); + log_set_use_color(osmo_stderr_target, 0); + log_set_print_category_hex(osmo_stderr_target, 0); + log_set_print_filename(osmo_stderr_target, 0); + + printf("Preparing stream server...\n"); + srv = osmo_stream_srv_link_create(tall_test); + if (!srv) { + printf("Unable to create server\n"); + return EXIT_FAILURE; + } + + osmo_stream_srv_link_set_addr(srv, host); + osmo_stream_srv_link_set_port(srv, port); + osmo_stream_srv_link_set_accept_cb(srv, accept_cb_srv); + + if (osmo_stream_srv_link_open(srv) < 0) { + printf("Unable to open server\n"); + return EXIT_FAILURE; + } + + test_recon(tall_test, host, port, 12, srv, true); + test_recon(tall_test, host, port, 8, srv, false); + + osmo_stream_srv_link_destroy(srv); + printf("Stream tests completed\n"); + + return EXIT_SUCCESS; +} diff -Nru libosmo-netif-0.3.0/tests/stream/stream_test.err libosmo-netif-1.0.0/tests/stream/stream_test.err --- libosmo-netif-0.3.0/tests/stream/stream_test.err 1970-01-01 00:00:00.000000000 +0000 +++ libosmo-netif-1.0.0/tests/stream/stream_test.err 2020-08-13 09:21:03.000000000 +0000 @@ -0,0 +1,43 @@ + +{2.000001} autoreconnecting test step 11 [client NA, server OK], FD reg 1 + +{2.000002} autoreconnecting test step 10 [client NA, server OK], FD reg 1 + +{2.000003} autoreconnecting test step 9 [client NA, server OK], FD reg 1 + +{2.000004} autoreconnecting test step 8 [client NA, server OK], FD reg 1 + +{2.000005} autoreconnecting test step 7 [client OK, server OK], FD reg 1 + +{2.000006} autoreconnecting test step 6 [client OK, server OK], FD reg 1 + +{2.000007} autoreconnecting test step 5 [client OK, server OK], FD reg 1 +[CONNECTED] osmo_stream_cli_recv(): connection closed with srv +[WAIT_RECONNECT] osmo_stream_cli_reconnect(): retrying in 9 seconds... + +{11.000008} autoreconnecting test step 4 [client OK, server OK], FD reg 0 + +{11.000009} autoreconnecting test step 3 [client OK, server OK], FD reg 1 + +{11.000010} autoreconnecting test step 2 [client OK, server OK], FD reg 0 +connection closed with srv + +{11.000011} autoreconnecting test step 1 [client OK, server NA], FD reg 0 + +{11.000012} non-reconnecting test step 7 [client NA, server OK], FD reg 1 + +{11.000013} non-reconnecting test step 6 [client NA, server OK], FD reg 1 + +{11.000014} non-reconnecting test step 5 [client NA, server OK], FD reg 1 + +{11.000015} non-reconnecting test step 4 [client NA, server OK], FD reg 1 + +{11.000016} non-reconnecting test step 3 [client OK, server OK], FD reg 1 + +{11.000017} non-reconnecting test step 2 [client OK, server OK], FD reg 1 + +{11.000018} non-reconnecting test step 1 [client OK, server OK], FD reg 1 +[CONNECTED] osmo_stream_cli_recv(): connection closed with srv +[CLOSED] osmo_stream_cli_reconnect(): not reconnecting, disabled. + +{20.000019} non-reconnecting test step 0 [client OK, server OK], FD reg 0 diff -Nru libosmo-netif-0.3.0/tests/stream/stream_test.ok libosmo-netif-1.0.0/tests/stream/stream_test.ok --- libosmo-netif-0.3.0/tests/stream/stream_test.ok 1970-01-01 00:00:00.000000000 +0000 +++ libosmo-netif-1.0.0/tests/stream/stream_test.ok 2020-08-13 09:21:03.000000000 +0000 @@ -0,0 +1,51 @@ +Preparing stream server... +Prepare autoreconnecting stream client... +======================================= +Client/Server entering autoreconnecting event loop... +======================================= +{2.000001} [NA] Client's connect_cb_cli(): callback triggered +{2.000001} [NA] Client's connect_cb_cli(): sent 29 bytes message: 48 69 21 20 66 72 6f 6d 20 63 6f 6e 6e 65 63 74 20 63 61 6c 6c 62 61 63 6b 20 3a 2d 50 +{2.000003} [NA|OK] Server's read_cb_srv(): callback triggered +{2.000003} [NA|OK] Server's read_cb_srv(): received 29(29) bytes: 48 69 21 20 66 72 6f 6d 20 63 6f 6e 6e 65 63 74 20 63 61 6c 6c 62 61 63 6b 20 3a 2d 50 +{2.000003} [NA|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 +{2.000003} [OK|OK] Server's read_cb_srv(): keep initial client connection +{2.000005} [NA] Client's read_cb_cli(): callback triggered +{2.000005} [NA] Client's read_cb_cli(): received 11(11) bytes: 72 65 61 64 5f 63 62 5f 73 72 76 +{2.000005} [NA] Client's read_cb_cli(): initial read, contacting server +{2.000005} [OK] Client's read_cb_cli(): sent 29 bytes message: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 +{2.000007} [OK|OK] Server's read_cb_srv(): callback triggered +{2.000007} [OK|OK] Server's read_cb_srv(): received 29(29) bytes: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 +{2.000007} [OK|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 +{2.000007} [OK|OK] Server's read_cb_srv(): force client disconnect on subsequent call +{2.000008} [OK] Client's read_cb_cli(): callback triggered +{2.000008} [OK] Client's read_cb_cli(): 0-byte read, auto-reconnect will be triggered if enabled +{11.000010} [OK] Client's connect_cb_cli(): callback triggered +{11.000010} [OK] Client's connect_cb_cli(): closing connection +{11.000011} [NA|OK] Server's read_cb_srv(): callback triggered +{11.000011} [NA|OK] Server's read_cb_srv(): client have already closed connection +{11.000011} Server requested test termination +{11.000011} autoreconnecting test complete. + +Prepare non-reconnecting stream client... +======================================= +Client/Server entering non-reconnecting event loop... +======================================= +{11.000012} [NA] Client's connect_cb_cli(): callback triggered +{11.000012} [NA] Client's connect_cb_cli(): sent 29 bytes message: 48 69 21 20 66 72 6f 6d 20 63 6f 6e 6e 65 63 74 20 63 61 6c 6c 62 61 63 6b 20 3a 2d 50 +{11.000014} [NA|OK] Server's read_cb_srv(): callback triggered +{11.000014} [NA|OK] Server's read_cb_srv(): received 29(29) bytes: 48 69 21 20 66 72 6f 6d 20 63 6f 6e 6e 65 63 74 20 63 61 6c 6c 62 61 63 6b 20 3a 2d 50 +{11.000014} [NA|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 +{11.000014} [OK|OK] Server's read_cb_srv(): keep initial client connection +{11.000016} [NA] Client's read_cb_cli(): callback triggered +{11.000016} [NA] Client's read_cb_cli(): received 11(11) bytes: 72 65 61 64 5f 63 62 5f 73 72 76 +{11.000016} [NA] Client's read_cb_cli(): initial read, contacting server +{11.000016} [OK] Client's read_cb_cli(): sent 29 bytes message: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 +{11.000018} [OK|OK] Server's read_cb_srv(): callback triggered +{11.000018} [OK|OK] Server's read_cb_srv(): received 29(29) bytes: 44 6f 68 2c 20 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 73 65 72 76 65 72 20 3a 2d 44 +{11.000018} [OK|OK] Server's read_cb_srv(): sent 11 bytes message: 72 65 61 64 5f 63 62 5f 73 72 76 +{11.000018} [OK|OK] Server's read_cb_srv(): force client disconnect on subsequent call +{11.000019} [OK] Client's read_cb_cli(): callback triggered +{11.000019} [OK] Client's read_cb_cli(): 0-byte read, auto-reconnect will be triggered if enabled +{20.000019} non-reconnecting test complete. + +Stream tests completed diff -Nru libosmo-netif-0.3.0/tests/testsuite.at libosmo-netif-1.0.0/tests/testsuite.at --- libosmo-netif-0.3.0/tests/testsuite.at 2018-07-27 16:31:43.000000000 +0000 +++ libosmo-netif-1.0.0/tests/testsuite.at 2020-08-13 09:21:03.000000000 +0000 @@ -1,10 +1,17 @@ AT_INIT AT_BANNER([Regression tests.]) +AT_SETUP([stream_test]) +AT_KEYWORDS([stream_test]) +cat $abs_srcdir/stream/stream_test.ok > expout +cat $abs_srcdir/stream/stream_test.err > experr +AT_CHECK([$abs_top_builddir/tests/stream/stream_test], [0], [expout], [experr]) +AT_CLEANUP + AT_SETUP([osmux_test]) AT_KEYWORDS([osmux_test]) cat $abs_srcdir/osmux/osmux_test.ok > expout -AT_CHECK([$abs_top_builddir/tests/osmux/osmux_test], [0], [expout], [ignore]) +AT_CHECK([$abs_top_builddir/tests/osmux/osmux_test 2>&1], [0], [expout], [ignore]) AT_CLEANUP AT_SETUP([osmux_test2]) @@ -18,3 +25,9 @@ cat $abs_srcdir/jibuf/jibuf_test.ok > expout AT_CHECK([$abs_top_builddir/tests/jibuf/jibuf_test], [0], [expout], [ignore]) AT_CLEANUP + +AT_SETUP([amr_test]) +AT_KEYWORDS([amr_test]) +cat $abs_srcdir/amr/amr_test.ok > expout +AT_CHECK([$abs_top_builddir/tests/amr/amr_test], [0], [expout], [ignore]) +AT_CLEANUP