Projects
osmocom:latest
libosmo-netif
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 4
View file
libosmo-netif.spec
Changed
@@ -14,30 +14,32 @@ Name: libosmo-netif Requires: osmocom-latest -Version: 1.2.0 +Version: 1.3.0 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: libosmo-netif_1.2.0.tar.xz +Source: libosmo-netif_1.3.0.tar.xz +Source1: rpmlintrc BuildRequires: automake BuildRequires: libtool >= 2 BuildRequires: lksctp-tools-devel BuildRequires: pkgconfig >= 0.20 -BuildRequires: pkgconfig(libosmocore) >= 1.7.0 -BuildRequires: pkgconfig(libosmogsm) >= 1.7.0 +BuildRequires: pkgconfig(libosmocore) >= 1.8.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.8.0 +BuildRequires: pkgconfig(libosmocodec) >= 1.8.0 %description Network interface demuxer library for OsmoCom projects. -%package -n libosmonetif8 +%package -n libosmonetif11 Requires: osmocom-latest Summary: Osmocom library for muxed audio License: AGPL-3.0-or-later Group: System/Libraries -%description -n libosmonetif8 +%description -n libosmonetif11 Network interface demuxer library for OsmoCom projects. %package -n libosmonetif-devel @@ -45,7 +47,7 @@ Summary: Development files for the Osmocom muxed audio library License: AGPL-3.0-or-later Group: Development/Libraries/C and C++ -Requires: libosmonetif8 = %{version} +Requires: libosmonetif11 = %{version} %description -n libosmonetif-devel Network interface demuxer library for OsmoCom projects. @@ -54,7 +56,7 @@ applications that want to make use of libosmo-netif. %prep -%setup -q +%setup -n libosmo-netif -q %build echo "%{version}" >.tarball-version @@ -69,11 +71,11 @@ %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) -%post -n libosmonetif8 -p /sbin/ldconfig -%postun -n libosmonetif8 -p /sbin/ldconfig +%post -n libosmonetif11 -p /sbin/ldconfig +%postun -n libosmonetif11 -p /sbin/ldconfig -%files -n libosmonetif8 -%{_libdir}/libosmonetif.so.8* +%files -n libosmonetif11 +%{_libdir}/libosmonetif.so.11* %files -n libosmonetif-devel %license COPYING
View file
libosmo-netif_1.2.0.tar.xz/tests/osmux/osmux_test2.c
Deleted
@@ -1,378 +0,0 @@ -/* (C) 2017 by sysmocom - s.f.m.c. GmbH <info@sysmocom.de> - * - * Author: Pau Espin Pedrol <pespin@sysmocom.de> - * - * 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 <stdio.h> -#include <stdlib.h> -#include <stdbool.h> -#include <unistd.h> -#include <stdint.h> -#include <inttypes.h> -#include <string.h> -#include <signal.h> -#include <arpa/inet.h> -#include <sys/time.h> -#include <getopt.h> - -#include <osmocom/core/select.h> -#include <osmocom/core/application.h> -#include <osmocom/core/logging.h> -#include <osmocom/core/msgb.h> -#include <osmocom/netif/rtp.h> -#include <osmocom/netif/osmux.h> -#include <osmocom/netif/amr.h> - -static uint8_t osmux_next_seq; - -#define TIME_RTP_PKT_MS 20 -#define BATCH_FACTOR 6 -/* ----------------------------- */ - -/* Logging related stuff */ -#define INT2IDX(x) (-1*(x)-1) -struct log_info_cat jibuf_test_cat = { - INT2IDX(DLMUX) = { - .name = "DLMUX", - .description = "Osmocom Osmux", - .enabled = 1, .loglevel = LOGL_DEBUG, - }, -}; -const struct log_info log_info = { - .filter_fn = NULL, - .cat = jibuf_test_cat, - .num_cat = ARRAY_SIZE(jibuf_test_cat), -}; -/* ----------------------------- */ - -static void osmux_init(uint8_t seq) -{ - osmux_next_seq = seq; -} - -static struct msgb *osmux_new(uint8_t cid, uint8_t seq, uint8_t batch_factor) -{ - struct msgb *msg; - struct osmux_hdr *osmuxh; - - msg = msgb_alloc(1500, "test"); - if (!msg) - exit(EXIT_FAILURE); - msgb_put(msg, sizeof(struct osmux_hdr)); - - osmuxh = (struct osmux_hdr *)msg->data; - osmuxh->amr_q = 0; - osmuxh->amr_f = 0; - osmuxh->rtp_m = 0; - osmuxh->ctr = batch_factor - 1; - osmuxh->ft = 1; - osmuxh->seq = osmux_next_seq; - osmuxh->circuit_id = cid; - osmuxh->amr_ft = AMR_FT_2; /* 5.90 */ - osmuxh->amr_cmr = 0; - msgb_put(msg, osmo_amr_bytes(osmuxh->amr_ft)*batch_factor); - return msg; -} - -static struct msgb *osmux_next(void) -{ - osmux_next_seq++; - return osmux_new(0, osmux_next_seq, BATCH_FACTOR); -} - -static void sigalarm_handler(int foo) -{ - printf("FAIL: test did not run successfully\n"); - exit(EXIT_FAILURE); -} - - -static void clock_debug(char* str) -{ - struct timespec ts; - struct timeval tv; - osmo_clock_gettime(CLOCK_MONOTONIC, &ts); - osmo_gettimeofday(&tv, NULL); - printf("sys={%lu.%06lu}, mono={%lu.%06lu}: %s\n", - tv.tv_sec, tv.tv_usec, ts.tv_sec, ts.tv_nsec/1000, str); -} - -static void clock_override_enable(bool enable) -{ - osmo_gettimeofday_override = enable; - osmo_clock_override_enable(CLOCK_MONOTONIC, enable); -} - -static void clock_override_set(long sec, long usec) -{ - struct timespec *mono; - osmo_gettimeofday_override_time.tv_sec = sec; - osmo_gettimeofday_override_time.tv_usec = usec; - mono = osmo_clock_override_gettimespec(CLOCK_MONOTONIC); - mono->tv_sec = sec; - mono->tv_nsec = usec*1000; - - clock_debug("clock_override_set"); -} - -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"); -} -#define clock_override_add(sec, usec) clock_override_add_debug(sec, usec, true) - -static void tx_cb(struct msgb *msg, void *data) -{ - struct osmux_out_handle *h_output = (struct osmux_out_handle *) data; - struct rtp_hdr *rtph; - char buf250; - rtph = osmo_rtp_get_hdr(msg); - snprintf(buf, sizeof(buf), "dequeue: seq=%"PRIu16" ts=%"PRIu32"%s enqueued=%u", - ntohs(rtph->sequence), ntohl(rtph->timestamp), rtph->marker ? " M" : "", - llist_count(&h_output->list)); - clock_debug(buf); - msgb_free(msg); -} - -#define PULL_NEXT(h_output) { \ - struct msgb *_msg; \ - struct osmux_hdr *_osmuxh; \ - int _rc; \ - _msg = osmux_next(); \ - _osmuxh = osmux_xfrm_output_pull(_msg); \ - OSMO_ASSERT(_osmuxh); \ - _rc = osmux_xfrm_output_sched((h_output), _osmuxh); \ - OSMO_ASSERT(_rc == _osmuxh->ctr+1); \ - } - -static void test_output_consecutive(void) -{ - struct osmux_out_handle h_output; - - printf("===test_output_consecutive===\n"); - - clock_override_enable(true); - clock_override_set(0, 0); - osmux_init(32); - 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); - - /* First osmux frame at t=0 */ - PULL_NEXT(&h_output); - clock_debug("first dequed before first select"); - osmo_select_main(0); - - clock_override_add(0, TIME_RTP_PKT_MS*1000); - clock_debug("second select, second dequed"); - osmo_select_main(0); - - clock_override_add(0, TIME_RTP_PKT_MS*1000); - clock_debug("third select, third dequed"); - osmo_select_main(0); - - clock_override_add(0, TIME_RTP_PKT_MS*1000); - clock_debug("fourth select, fourth dequed"); - osmo_select_main(0); - - clock_override_add(0, TIME_RTP_PKT_MS*1000); - clock_debug("fifth select, fifth dequed"); - osmo_select_main(0); - - clock_override_add(0, TIME_RTP_PKT_MS*1000); - clock_debug("sixth select, sixth dequed"); - osmo_select_main(0); - OSMO_ASSERT(llist_empty(&h_output.list)); - - /* Second osmux frame at t=80 */ - clock_debug("send second osmux frame"); - PULL_NEXT(&h_output); - clock_debug("first dequed before first select"); - osmo_select_main(0); - - clock_override_add(0, TIME_RTP_PKT_MS*1000); - clock_debug("second select, second dequed"); - osmo_select_main(0); - - clock_override_add(0, 4*TIME_RTP_PKT_MS*1000); - clock_debug("third select, four packet should be dequeued"); - osmo_select_main(0); - OSMO_ASSERT(llist_empty(&h_output.list)); - OSMO_ASSERT(!osmo_timer_pending(&h_output.timer)); - - clock_debug("calling flush on empty list, should do nothing"); - osmux_xfrm_output_flush(&h_output); - OSMO_ASSERT(llist_empty(&h_output.list)); - OSMO_ASSERT(!osmo_timer_pending(&h_output.timer)); -} - -static void test_output_interleaved(void) -{ - struct osmux_out_handle h_output; - - printf("===test_output_interleaved===\n"); - - clock_override_enable(true); - clock_override_set(0, 0); - osmux_init(32); - 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); - - /* First osmux frame at t=0, but it actually arrives late due to jitter, - so 2nd frame is going to arrive before the 1st one is completelly - scheduled */ - PULL_NEXT(&h_output); - - clock_override_add(0, 2*TIME_RTP_PKT_MS*1000); - clock_debug("select, 3 dequed, 3 still queued"); - osmo_select_main(0); - - /* Second osmux frame at t=0 */ - clock_debug("next frame arrives, 3 pending rtp packets are dequeued and first of new osmux frame too"); - PULL_NEXT(&h_output); - osmo_select_main(0); - OSMO_ASSERT(llist_count(&h_output.list) == 5); - - clock_override_add(0, 5*TIME_RTP_PKT_MS*1000); - clock_debug("calling select, then all should be out"); - osmo_select_main(0); - - OSMO_ASSERT(llist_empty(&h_output.list)); - OSMO_ASSERT(!osmo_timer_pending(&h_output.timer)); -} - -static void test_output_2together(void) -{ - struct osmux_out_handle h_output; - - printf("===test_output_2together===\n"); - - clock_override_enable(true); - clock_override_set(0, 0); - osmux_init(32); - 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); - - /* First osmux frame at t=0, but it actually arrives late due to jitter, - so we receive both at the same time. */ - PULL_NEXT(&h_output); - clock_debug("calling select in between 2 osmux recv"); - osmo_select_main(0); - PULL_NEXT(&h_output); - - clock_debug("calling select after receiving 2nd osmux. Dequeue 1st osmux frame and 1st rtp from 2nd osmux frame."); - osmo_select_main(0); - OSMO_ASSERT(llist_count(&h_output.list) == 5); - - clock_override_add(0, 5*TIME_RTP_PKT_MS*1000); - clock_debug("select, all 5 remaining should be out"); - osmo_select_main(0); - - OSMO_ASSERT(llist_empty(&h_output.list)); - OSMO_ASSERT(!osmo_timer_pending(&h_output.timer)); -} - -/* FIXME: this test shows generated rtp stream doesn't have osmux lost frames into account! */ -static void test_output_frame_lost(void) -{ - struct osmux_out_handle h_output; - - printf("===test_output_frame_lost===\n"); - - clock_override_enable(true); - clock_override_set(0, 0); - osmux_init(32); - 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); - - clock_debug("first osmux frame"); - PULL_NEXT(&h_output); - clock_override_add(0, 5*TIME_RTP_PKT_MS*1000); - osmo_select_main(0); - - clock_debug("one osmux frame is now lost (seq++)"); - osmux_next(); - clock_override_add(0, 6*TIME_RTP_PKT_MS*1000); - - clock_debug("3rd osmux frame arrives"); - PULL_NEXT(&h_output); - clock_override_add(0, 5*TIME_RTP_PKT_MS*1000); - osmo_select_main(0); - - OSMO_ASSERT(llist_empty(&h_output.list)); - OSMO_ASSERT(!osmo_timer_pending(&h_output.timer)); -} - -static void test_output_flush(void) -{ - struct osmux_out_handle h_output; - - printf("===test_output_flush===\n"); - - clock_override_enable(true); - clock_override_set(0, 0); - osmux_init(32); - 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); - - clock_debug("first osmux frame"); - PULL_NEXT(&h_output); - clock_override_add(0, 2*TIME_RTP_PKT_MS*1000); - osmo_select_main(0); - - clock_debug("2nd osmux frame arrives"); - PULL_NEXT(&h_output); - - clock_debug("flushing, all packet should be transmitted immediately"); - OSMO_ASSERT(llist_count(&h_output.list) == 9); - OSMO_ASSERT(osmo_timer_pending(&h_output.timer)); - osmux_xfrm_output_flush(&h_output); - OSMO_ASSERT(llist_empty(&h_output.list)); - OSMO_ASSERT(!osmo_timer_pending(&h_output.timer)); -} - -int main(int argc, char **argv) -{ - - if (signal(SIGALRM, sigalarm_handler) == SIG_ERR) { - perror("signal"); - exit(EXIT_FAILURE); - } - - void *tall_ctx = talloc_named_const(NULL, 1, "Root context"); - msgb_talloc_ctx_init(tall_ctx, 0); - osmo_init_logging2(tall_ctx, &log_info); - log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); - log_set_log_level(osmo_stderr_target, LOGL_DEBUG); - log_set_category_filter(osmo_stderr_target, DLMUX, 1, LOGL_DEBUG); - - alarm(10); - - test_output_consecutive(); - test_output_interleaved(); - test_output_2together(); - test_output_frame_lost(); - test_output_flush(); - - fprintf(stdout, "OK: Test passed\n"); - return EXIT_SUCCESS; -}
View file
libosmo-netif_1.2.0.tar.xz/tests/osmux/osmux_test2.ok
Deleted
@@ -1,108 +0,0 @@ -===test_output_consecutive=== -sys={0.000000}, mono={0.000000}: clock_override_set -sys={0.000000}, mono={0.000000}: dequeue: seq=50 ts=500 M enqueued=5 -sys={0.000000}, mono={0.000000}: first dequed before first select -sys={0.020000}, mono={0.020000}: clock_override_add -sys={0.020000}, mono={0.020000}: second select, second dequed -sys={0.020000}, mono={0.020000}: dequeue: seq=51 ts=660 enqueued=4 -sys={0.040000}, mono={0.040000}: clock_override_add -sys={0.040000}, mono={0.040000}: third select, third dequed -sys={0.040000}, mono={0.040000}: dequeue: seq=52 ts=820 enqueued=3 -sys={0.060000}, mono={0.060000}: clock_override_add -sys={0.060000}, mono={0.060000}: fourth select, fourth dequed -sys={0.060000}, mono={0.060000}: dequeue: seq=53 ts=980 enqueued=2 -sys={0.080000}, mono={0.080000}: clock_override_add -sys={0.080000}, mono={0.080000}: fifth select, fifth dequed -sys={0.080000}, mono={0.080000}: dequeue: seq=54 ts=1140 enqueued=1 -sys={0.100000}, mono={0.100000}: clock_override_add -sys={0.100000}, mono={0.100000}: sixth select, sixth dequed -sys={0.100000}, mono={0.100000}: dequeue: seq=55 ts=1300 enqueued=0 -sys={0.100000}, mono={0.100000}: send second osmux frame -sys={0.100000}, mono={0.100000}: dequeue: seq=56 ts=1460 enqueued=5 -sys={0.100000}, mono={0.100000}: first dequed before first select -sys={0.120000}, mono={0.120000}: clock_override_add -sys={0.120000}, mono={0.120000}: second select, second dequed -sys={0.120000}, mono={0.120000}: dequeue: seq=57 ts=1620 enqueued=4 -sys={0.200000}, mono={0.200000}: clock_override_add -sys={0.200000}, mono={0.200000}: third select, four packet should be dequeued -sys={0.200000}, mono={0.200000}: dequeue: seq=58 ts=1780 enqueued=3 -sys={0.200000}, mono={0.200000}: dequeue: seq=59 ts=1940 enqueued=2 -sys={0.200000}, mono={0.200000}: dequeue: seq=60 ts=2100 enqueued=1 -sys={0.200000}, mono={0.200000}: dequeue: seq=61 ts=2260 enqueued=0 -sys={0.200000}, mono={0.200000}: calling flush on empty list, should do nothing -===test_output_interleaved=== -sys={0.000000}, mono={0.000000}: clock_override_set -sys={0.000000}, mono={0.000000}: dequeue: seq=50 ts=500 M enqueued=5 -sys={0.040000}, mono={0.040000}: clock_override_add -sys={0.040000}, mono={0.040000}: select, 3 dequed, 3 still queued -sys={0.040000}, mono={0.040000}: dequeue: seq=51 ts=660 enqueued=4 -sys={0.040000}, mono={0.040000}: dequeue: seq=52 ts=820 enqueued=3 -sys={0.040000}, mono={0.040000}: next frame arrives, 3 pending rtp packets are dequeued and first of new osmux frame too -sys={0.040000}, mono={0.040000}: dequeue: seq=53 ts=980 enqueued=8 -sys={0.040000}, mono={0.040000}: dequeue: seq=54 ts=1140 enqueued=7 -sys={0.040000}, mono={0.040000}: dequeue: seq=55 ts=1300 enqueued=6 -sys={0.040000}, mono={0.040000}: dequeue: seq=56 ts=1460 enqueued=5 -sys={0.140000}, mono={0.140000}: clock_override_add -sys={0.140000}, mono={0.140000}: calling select, then all should be out -sys={0.140000}, mono={0.140000}: dequeue: seq=57 ts=1620 enqueued=4 -sys={0.140000}, mono={0.140000}: dequeue: seq=58 ts=1780 enqueued=3 -sys={0.140000}, mono={0.140000}: dequeue: seq=59 ts=1940 enqueued=2 -sys={0.140000}, mono={0.140000}: dequeue: seq=60 ts=2100 enqueued=1 -sys={0.140000}, mono={0.140000}: dequeue: seq=61 ts=2260 enqueued=0 -===test_output_2together=== -sys={0.000000}, mono={0.000000}: clock_override_set -sys={0.000000}, mono={0.000000}: dequeue: seq=50 ts=500 M enqueued=5 -sys={0.000000}, mono={0.000000}: calling select in between 2 osmux recv -sys={0.000000}, mono={0.000000}: calling select after receiving 2nd osmux. Dequeue 1st osmux frame and 1st rtp from 2nd osmux frame. -sys={0.000000}, mono={0.000000}: dequeue: seq=51 ts=660 enqueued=10 -sys={0.000000}, mono={0.000000}: dequeue: seq=52 ts=820 enqueued=9 -sys={0.000000}, mono={0.000000}: dequeue: seq=53 ts=980 enqueued=8 -sys={0.000000}, mono={0.000000}: dequeue: seq=54 ts=1140 enqueued=7 -sys={0.000000}, mono={0.000000}: dequeue: seq=55 ts=1300 enqueued=6 -sys={0.000000}, mono={0.000000}: dequeue: seq=56 ts=1460 enqueued=5 -sys={0.100000}, mono={0.100000}: clock_override_add -sys={0.100000}, mono={0.100000}: select, all 5 remaining should be out -sys={0.100000}, mono={0.100000}: dequeue: seq=57 ts=1620 enqueued=4 -sys={0.100000}, mono={0.100000}: dequeue: seq=58 ts=1780 enqueued=3 -sys={0.100000}, mono={0.100000}: dequeue: seq=59 ts=1940 enqueued=2 -sys={0.100000}, mono={0.100000}: dequeue: seq=60 ts=2100 enqueued=1 -sys={0.100000}, mono={0.100000}: dequeue: seq=61 ts=2260 enqueued=0 -===test_output_frame_lost=== -sys={0.000000}, mono={0.000000}: clock_override_set -sys={0.000000}, mono={0.000000}: first osmux frame -sys={0.000000}, mono={0.000000}: dequeue: seq=50 ts=500 M enqueued=5 -sys={0.100000}, mono={0.100000}: clock_override_add -sys={0.100000}, mono={0.100000}: dequeue: seq=51 ts=660 enqueued=4 -sys={0.100000}, mono={0.100000}: dequeue: seq=52 ts=820 enqueued=3 -sys={0.100000}, mono={0.100000}: dequeue: seq=53 ts=980 enqueued=2 -sys={0.100000}, mono={0.100000}: dequeue: seq=54 ts=1140 enqueued=1 -sys={0.100000}, mono={0.100000}: dequeue: seq=55 ts=1300 enqueued=0 -sys={0.100000}, mono={0.100000}: one osmux frame is now lost (seq++) -sys={0.220000}, mono={0.220000}: clock_override_add -sys={0.220000}, mono={0.220000}: 3rd osmux frame arrives -sys={0.220000}, mono={0.220000}: dequeue: seq=56 ts=1460 M enqueued=5 -sys={0.320000}, mono={0.320000}: clock_override_add -sys={0.320000}, mono={0.320000}: dequeue: seq=57 ts=1620 enqueued=4 -sys={0.320000}, mono={0.320000}: dequeue: seq=58 ts=1780 enqueued=3 -sys={0.320000}, mono={0.320000}: dequeue: seq=59 ts=1940 enqueued=2 -sys={0.320000}, mono={0.320000}: dequeue: seq=60 ts=2100 enqueued=1 -sys={0.320000}, mono={0.320000}: dequeue: seq=61 ts=2260 enqueued=0 -===test_output_flush=== -sys={0.000000}, mono={0.000000}: clock_override_set -sys={0.000000}, mono={0.000000}: first osmux frame -sys={0.000000}, mono={0.000000}: dequeue: seq=50 ts=500 M enqueued=5 -sys={0.040000}, mono={0.040000}: clock_override_add -sys={0.040000}, mono={0.040000}: dequeue: seq=51 ts=660 enqueued=4 -sys={0.040000}, mono={0.040000}: dequeue: seq=52 ts=820 enqueued=3 -sys={0.040000}, mono={0.040000}: 2nd osmux frame arrives -sys={0.040000}, mono={0.040000}: flushing, all packet should be transmitted immediately -sys={0.040000}, mono={0.040000}: dequeue: seq=53 ts=980 enqueued=8 -sys={0.040000}, mono={0.040000}: dequeue: seq=54 ts=1140 enqueued=7 -sys={0.040000}, mono={0.040000}: dequeue: seq=55 ts=1300 enqueued=6 -sys={0.040000}, mono={0.040000}: dequeue: seq=56 ts=1460 enqueued=5 -sys={0.040000}, mono={0.040000}: dequeue: seq=57 ts=1620 enqueued=4 -sys={0.040000}, mono={0.040000}: dequeue: seq=58 ts=1780 enqueued=3 -sys={0.040000}, mono={0.040000}: dequeue: seq=59 ts=1940 enqueued=2 -sys={0.040000}, mono={0.040000}: dequeue: seq=60 ts=2100 enqueued=1 -sys={0.040000}, mono={0.040000}: dequeue: seq=61 ts=2260 enqueued=0 -OK: Test passed
View file
libosmo-netif_1.2.0.dsc -> libosmo-netif_1.3.0.dsc
Changed
@@ -1,22 +1,22 @@ Format: 3.0 (native) Source: libosmo-netif -Binary: libosmonetif8, libosmo-netif-dev, libosmo-netif-doc, libosmo-netif-dbg +Binary: libosmonetif11, libosmo-netif-dev, libosmo-netif-doc, libosmo-netif-dbg Architecture: any all -Version: 1.2.0 +Version: 1.3.0 Maintainer: Osmocom team <openbsc@lists.osmocom.org> Homepage: https://projects.osmocom.org/projects/libosmo-netif Standards-Version: 3.9.6 Vcs-Browser: https://gitea.osmocom.org/osmocom/libosmo-netif Vcs-Git: https://gitea.osmocom.org/osmocom/libosmo-netif -Build-Depends: debhelper (>= 9), autotools-dev, autoconf, automake, libtool, dh-autoreconf, libdpkg-perl, git, doxygen, libosmocore-dev (>= 1.7.0), pkg-config, libpcap0.8-dev, libsctp-dev +Build-Depends: debhelper (>= 9), autotools-dev, autoconf, automake, libtool, dh-autoreconf, libdpkg-perl, git, doxygen, libosmocore-dev (>= 1.8.0), pkg-config, libpcap0.8-dev, libsctp-dev Package-List: libosmo-netif-dbg deb debug extra arch=any libosmo-netif-dev deb libdevel optional arch=any libosmo-netif-doc deb doc optional arch=all - libosmonetif8 deb libs optional arch=any + libosmonetif11 deb libs optional arch=any Checksums-Sha1: - 82c889a606e370e1bbbf88aa2c9b97c5003db880 169548 libosmo-netif_1.2.0.tar.xz + 3ccd5889d74e846abe11113926027a8b1eaf5fc6 180288 libosmo-netif_1.3.0.tar.xz Checksums-Sha256: - 5ab6d3e501d5aab705c7ea06b1b593814284861f2d468812181738a8d4df826d 169548 libosmo-netif_1.2.0.tar.xz + 603f3318ec0ca35cbe1c1301f015b22e29205449a8d82a630751e5e5da7adc81 180288 libosmo-netif_1.3.0.tar.xz Files: - 6d0ead92d775d253ebf646b63f219e98 169548 libosmo-netif_1.2.0.tar.xz + b738aca6613ba1c392f5844833c9b43e 180288 libosmo-netif_1.3.0.tar.xz
View file
libosmo-netif_1.2.0.tar.xz/.tarball-version -> libosmo-netif_1.3.0.tar.xz/.tarball-version
Changed
@@ -1 +1 @@ -1.2.0 \ No newline at end of file +1.3.0
View file
libosmo-netif_1.2.0.tar.xz/Makefile.am -> libosmo-netif_1.3.0.tar.xz/Makefile.am
Changed
@@ -1,7 +1,7 @@ AUTOMAKE_OPTIONS = foreign dist-bzip2 1.6 ACLOCAL_AMFLAGS = -I m4 -SUBDIRS = include src examples tests +SUBDIRS = include src examples utils tests pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libosmo-netif.pc
View file
libosmo-netif_1.2.0.tar.xz/configure.ac -> libosmo-netif_1.3.0.tar.xz/configure.ac
Changed
@@ -89,8 +89,9 @@ dnl Generate the output AM_CONFIG_HEADER(config.h) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.7.0) -PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.7.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.8.0) +PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.8.0) +PKG_CHECK_MODULES(LIBOSMOCODEC, libosmocodec >= 1.8.0) AC_ARG_ENABLE(lapd_examples, AS_HELP_STRING( @@ -99,7 +100,7 @@ ), lapd_examples=$enableval, lapd_examples="no") AS_IF(test "x$lapd_examples" = "xyes", - PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 1.3.0) + PKG_CHECK_MODULES(LIBOSMOABIS, libosmoabis >= 1.4.0) AC_DEFINE(ENABLE_LAPD, 1, Enable LAPD examples) ) AM_CONDITIONAL(ENABLE_LAPD, test "x$lapd_examples" = "xyes") @@ -144,6 +145,7 @@ include/osmocom/netif/Makefile src/Makefile examples/Makefile + utils/Makefile tests/Makefile Doxyfile Makefile
View file
libosmo-netif_1.2.0.tar.xz/contrib/libosmo-netif.spec.in -> libosmo-netif_1.3.0.tar.xz/contrib/libosmo-netif.spec.in
Changed
@@ -13,6 +13,7 @@ # published by the Open Source Initiative. Name: libosmo-netif +Requires: osmocom-latest Version: @VERSION@ Release: 0 Summary: Osmocom library for muxed audio @@ -24,25 +25,28 @@ BuildRequires: libtool >= 2 BuildRequires: lksctp-tools-devel BuildRequires: pkgconfig >= 0.20 -BuildRequires: pkgconfig(libosmocore) >= 1.7.0 -BuildRequires: pkgconfig(libosmogsm) >= 1.7.0 +BuildRequires: pkgconfig(libosmocore) >= 1.8.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.8.0 +BuildRequires: pkgconfig(libosmocodec) >= 1.8.0 %description Network interface demuxer library for OsmoCom projects. -%package -n libosmonetif8 +%package -n libosmonetif11 +Requires: osmocom-latest Summary: Osmocom library for muxed audio License: AGPL-3.0-or-later Group: System/Libraries -%description -n libosmonetif8 +%description -n libosmonetif11 Network interface demuxer library for OsmoCom projects. %package -n libosmonetif-devel +Requires: osmocom-latest Summary: Development files for the Osmocom muxed audio library License: AGPL-3.0-or-later Group: Development/Libraries/C and C++ -Requires: libosmonetif8 = %{version} +Requires: libosmonetif11 = %{version} %description -n libosmonetif-devel Network interface demuxer library for OsmoCom projects. @@ -66,11 +70,11 @@ %check make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +) -%post -n libosmonetif8 -p /sbin/ldconfig -%postun -n libosmonetif8 -p /sbin/ldconfig +%post -n libosmonetif11 -p /sbin/ldconfig +%postun -n libosmonetif11 -p /sbin/ldconfig -%files -n libosmonetif8 -%{_libdir}/libosmonetif.so.8* +%files -n libosmonetif11 +%{_libdir}/libosmonetif.so.11* %files -n libosmonetif-devel %license COPYING
View file
libosmo-netif_1.2.0.tar.xz/debian/changelog -> libosmo-netif_1.3.0.tar.xz/debian/changelog
Changed
@@ -1,3 +1,129 @@ +libosmo-netif (1.3.0) unstable; urgency=medium + + Pau Espin Pedrol + * rtp: Delay rtph ptr assign after validating length + * stream: assert params are not NULL in send/recv functions + * stream: getsockopt ret socklen_t is unsigned + * osmux.h: Add missing msgb.h header + * osmux.h: Define default Osmux port + * rtp: Avoid memcpy(len=0) + * examples/osmux-test-output: Avoid using deprecated Osmux API + * osmux: Drop long time deprecated APIs + * osmux: Move osmux_xfrm_output_set_tx_cb() further down to the xfrm_output section + * osmux: Allocate struct osmux_out_handle through API + * osmux: Allow the user to alloc msgbs used to provide generated RTP packets + * osmux: osmux_xfrm_input_close_circuit(): Log circuit not found + * stream: Fix typos in log messages + * stream: Unset fd value after close() before calling closed_cb() + * stream: Provide caller with SCTP flags during osmo_stream_*_recv() + * tests/osmo-pcap-test/osmux_test: Fix return condition check for osmux_xfrm_input() + * osmux: Improve logging non-usual conditions + * osmux: osmux_xfrm_input(): Propagate error code to inform caller + * osmux: Avoid duplicated RTP msg trigger Tx of osmux frame + * osmux: Change order of lines to follow packet fill order + * cosmetic: osmux: Fix typo in comment + * osmux: Unify return codes of osmux_batch_add() and osmux_batch_enqueue() + * osmux: Early return on error or batch full during osmux_replay_lost_packets() + * osmux: assert no batch factor greater than 8 is used + * tests/osmux_test2: Document unit tests + * tests/osmux: Always run with fake time + * tests: rename test osmux_test2 -> osmux_output_test + * osmux: Print osmux_hdr rtp_m field in osmux_snprintf() + * amr: Add data0 field to amr_hdr + * osmux: Proper encoding of osmux frames when when AMR FT changes + * tests/osmux: Add new osmux_input_test to validate AMR FT changes + * osmux: Fix AMR F,Q,CMR fields not properly encoded in osmux header + * cosmetic: osmux: Properly separate expressions with whitespace + * cosmetic: osmux: Fix typo in comment + * osmux: Fix osmux seqnum incremented globally instead of per circuit + * tests/osmux: Properly flush and free out_handle in osmux_test + * tests/osmux: Test rx of osmux seqnum wrap around + * osmux: Fix unwanted RTP marker bit upon rx of osmux seqnum wrap around + * stream: Set proper msgb length when returning sctp_notification + * stream: Erase sctp_msg_flags if receiving user data + * stream: Log rx of sctp notification SCTP_SEND_FAILED + * stream: Set sctp_ppid and sctp_stream when sctp notifciation is received + * stream: Remove unneeded break statement + * stream: Return 0 when receiving sctp notification SCTP_COMM_LOST + * stream: Document osmo_stream_srv_recv() SCTP specialties + * osmux: join osmux_xfrm_input_open_circuit() and osmux_batch_add_circuit() + * osmux: Take into account configured osmux_in_handle->osmux_seq field + * osmux: Split input and output code into separate files + * cosmetic: osmux: Make linter happy + * tests/osmo-pcap/osmux: Replace deprecated API osmux_xfrm_output_init2() + * osmux: Allocate struct osmux_out_handle through API + * osmux: Replace deprecated osmux_xfrm_input_* APIs in examples & tests + * osmux: Introduce API osmux_xfrm_input_get_deliver_cb_data() + * stream: Improve logging of SCTP_PEER_ADDR_CHANGE notification + * cosmetic: stream: Fix parameter name + * stream: Introduce APIs osmo_stream_{cli,srv}_clear_tx_queue() + * cosmetic: Fix indentation whitespace + * amr: Document SID frame length from spec + * osmux: Rework log formatting when replaying detected RTP gaps + * osmux: Use msgb_copy() API in osmux_replay_lost_packets() + * osmux: Log AMR FT when incorrect AMR payload size detected + * osmux: Fix naming of functions operating on osmux circuits + * osmux: rename internal struct osmux_batch -> osmux_link + * osmux: Add internal backpointer to in_handle to simplify param passing + * osmux: Fix endianness logging duplicaed seqnum + * osmux: Use internal struct to cache parsing state of rtp pkt from user + * osmux: dup in RTP pkt: check before applying queue flush due to Marker bit + * osmux: dup in RTP pkt: Replace potentially internally forged pkt with incoming one + * osmux: recreate lost RTP pkts before handling newest one + * osmux: Drop marker bit in forged RTP packets to fill gaps + * osmux: Add data0 field to osmux_hdr + * osmux: Drop noop OR during assignment + * tests/osmux: Test replay of one lost RTP packet when generating osmux batches + * tests/osmux: Test incoming RTP stream with seqnum jumps during wraparound + * tests/osmux: Test big seqnum holes (>batch_factor) in incoming RTP stream + * osmux: Obey current batch_size restrictions when creating forged RTP packets to fill holes + * osmux: Use better rationale when limiting amount of lost & forged RTP incoming packets + * osmux: Avoid filling in seqnum holes upon rx of RTP pkt with M bit set + * osmux: Set M bit in osmuxhdr if seqnum hole found encoding RTP pkts + * osmux: Support recreating lost RTP packets at start of the batch + * osmux: Introduce API osmux_xfrm_input_set_name() + * osmux: Improve logging of osmux_xfrm_input + * tests/osmux: Add extra asserts to validate osmux header is pulled correctly + * amr: Guard against incorrect AMR FT passed to osmo_amr_{bits,bytes}() + * osmux: Check received osmuxh->amr_ft is correct before using it + * osmux: Refactor osmux_xfrm_output_pull() to simplify code flow + * osmux_output: Refactor init code to avoid calling deprecated APIs internally + * amr.h: Fix missing include dependencies + * amr: osmo_amr_bwe_to_oa(): Modify loop to allow osmo_amr_bytes()=0 (NO_DATA) + * amr: osmo_amr_bwe_to_oa() define variable as unsigned + * amr: Add struct definition for AMR BWE header + * tests/amr: Add test case for unused FT=14 + * amr: Support all SID and NO_DATA amr formats + * osmux: Allow forwarding AMR NO_DATA frames + * stream: Log read/write flags + * stream: osmo_stream_*_write: Unifiy way to get data and length + * stream: Log error on short send + * stream: Avoid useless polling if tx_queue becomes empty + * stream: Fix tx data dropped upon show socket write + * amr.h: Fix AMR_FT_{GSM,TDMA,PDC}_EFR_SID_LEN + * amr: Add missing header stdbool.h + * amr: constify input buffer in osmo_amr_is_oa() + * amr: use struct bwe_hdr in osmo_amr_bwe_to_oa() + * amr: Clarify size of AMR BWE header and ToC + * amr: use OSMO_BYTES_FOR_BITS() + * amr: osmo_amr_bwe_to_oa(): validate input data is long enough + * Introduce utils/osmo-amr-inspect program + * osmo-amr-inspect: Improve robustness reading from stdin + + Vadim Yanitskiy + * tests/amr: fix less-than-zero comparison of an unsigned value + + Max + * Log more details in osmo_stream_srv_write() + * Properly handle send() return code + * Better handling of send() error + * Add assert for link check to osmo_stream_srv_create() + + Harald Welte + * Support building with -Werror=strict-prototypes / -Werror=old-style-definition + + -- Pau Espin Pedrol <pespin@sysmocom.de> Tue, 07 Feb 2023 13:28:19 +0100 + libosmo-netif (1.2.0) unstable; urgency=medium Pau Espin Pedrol
View file
libosmo-netif_1.2.0.tar.xz/debian/control -> libosmo-netif_1.3.0.tar.xz/debian/control
Changed
@@ -11,7 +11,7 @@ libdpkg-perl, git, doxygen, - libosmocore-dev (>= 1.7.0), + libosmocore-dev (>= 1.8.0), pkg-config, libpcap0.8-dev, libsctp-dev @@ -20,7 +20,7 @@ Vcs-Git: https://gitea.osmocom.org/osmocom/libosmo-netif Homepage: https://projects.osmocom.org/projects/libosmo-netif -Package: libosmonetif8 +Package: libosmonetif11 Section: libs Architecture: any Depends: osmocom-latest, ${shlibs:Depends}, ${misc:Depends} @@ -37,7 +37,7 @@ Depends: osmocom-latest, ${misc:Depends}, libosmocore-dev, libosmocore, - libosmonetif8 (= ${binary:Version}) + libosmonetif11 (= ${binary:Version}) Multi-Arch: same Description: Development headers for Osmocom network interface The libosmo-netif library is one of the libraries needed by the @@ -51,7 +51,7 @@ Architecture: all Section: doc Depends: osmocom-latest, ${misc:Depends}, - libosmonetif8, + libosmonetif11, libjs-jquery Description: Documentation for the Osmo network interface library The libosmo-netif library is one of the libraries needed by the @@ -64,7 +64,7 @@ Section: debug Architecture: any Priority: extra -Depends: osmocom-latest, libosmonetif8 (= ${binary:Version}), ${misc:Depends} +Depends: osmocom-latest, libosmonetif11 (= ${binary:Version}), ${misc:Depends} Multi-Arch: same Description: Debug symbols for Osmocom network interface library The libosmo-netif library is one of the libraries needed by the
View file
libosmo-netif_1.3.0.tar.xz/debian/libosmonetif11.install
Changed
(renamed from debian/libosmonetif8.install)
View file
libosmo-netif_1.2.0.tar.xz/examples/osmux-test-input.c -> libosmo-netif_1.3.0.tar.xz/examples/osmux-test-input.c
Changed
@@ -83,11 +83,7 @@ * This is the input handle for osmux. It stores the last osmux sequence that * has been used and the deliver function that sends the osmux batch. */ -struct osmux_in_handle h_input = { - .osmux_seq = 0, /* sequence number to start OSmux message from */ - .batch_factor = 4, /* batch up to 4 RTP messages */ - .deliver = osmux_deliver, -}; +struct osmux_in_handle *h_input; #define MAX_CONCURRENT_CALLS 8 @@ -165,9 +161,9 @@ if (ccid < 0) register_ccid(rtph->ssrc); - while ((ret = osmux_xfrm_input(&h_input, msg, ccid)) > 0) { + while ((ret = osmux_xfrm_input(h_input, msg, ccid)) > 0) { /* batch full, deliver it */ - osmux_xfrm_input_deliver(&h_input); + osmux_xfrm_input_deliver(h_input); } if (ret == -1) printf("something is wrong\n"); @@ -217,7 +213,10 @@ /* * initialize OSMUX handlers. */ - osmux_xfrm_input_init(&h_input); + h_input = osmux_xfrm_input_alloc(tall_test); + osmux_xfrm_input_set_initial_seqnum(h_input, 0); + osmux_xfrm_input_set_batch_factor(h_input, 4); + osmux_xfrm_input_set_deliver_cb(h_input, osmux_deliver, NULL); /* * initialize datagram server.
View file
libosmo-netif_1.2.0.tar.xz/examples/osmux-test-output.c -> libosmo-netif_1.3.0.tar.xz/examples/osmux-test-output.c
Changed
@@ -42,7 +42,7 @@ * This is the output handle for osmux, it stores last RTP sequence and * timestamp that has been used. There should be one per circuit ID. */ -static struct osmux_out_handle h_output; +static struct osmux_out_handle *h_output; static int fd; @@ -107,7 +107,7 @@ msg->len, buf); while((osmuxh = osmux_xfrm_output_pull(msg)) != NULL) - osmux_xfrm_output_sched(&h_output, osmuxh); + osmux_xfrm_output_sched(h_output, osmuxh); return 0; } @@ -117,7 +117,7 @@ LOGP(DOSMUX_TEST, LOGL_NOTICE, "closing OSMUX.\n"); osmo_dgram_close(conn); osmo_dgram_destroy(conn); - osmux_xfrm_output_flush(&h_output); + talloc_free(h_output); osmo_rtp_handle_free(rtp); amr_close(); exit(EXIT_SUCCESS); @@ -155,8 +155,10 @@ /* * initialize OSMUX handlers. */ - osmux_xfrm_output_init(&h_output, random()); - osmux_xfrm_output_set_tx_cb(&h_output, tx_cb, NULL); + h_output = osmux_xfrm_output_alloc(NULL); + osmux_xfrm_output_set_rtp_ssrc(h_output, random()); + osmux_xfrm_output_set_rtp_pl_type(h_output, 98); + osmux_xfrm_output_set_tx_cb(h_output, tx_cb, NULL); /* * initialize datagram server. */
View file
libosmo-netif_1.2.0.tar.xz/include/osmocom/netif/amr.h -> libosmo-netif_1.3.0.tar.xz/include/osmocom/netif/amr.h
Changed
@@ -1,6 +1,10 @@ #ifndef _OSMO_AMR_H_ #define _OSMO_AMR_H_ +#include <stddef.h> +#include <stdbool.h> +#include <stdint.h> + #include <osmocom/core/endian.h> /* As defined by RFC3267: Adaptive Multi-Rate (AMR) */ @@ -12,6 +16,37 @@ */ /* + * 4.3. Bandwidth-Efficient Mode: + * + * Summary from 4.3.4: Same as Octet aligned (see below) but without padding after header and ToC: + * 0 1 + * 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * | CMR |F| FT |Q|X X X X X X| + * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + * + * X means AMR payload (padding in case of FT=NO_DATA). + */ +struct amr_hdr_bwe { +#if OSMO_IS_LITTLE_ENDIAN + uint8_t ft_hi:3, /* coding mode highest part */ + f:1, + cmr:4; /* Codec Mode Request */ + uint8_t data_start:6, + q:1, /* OK (not damaged) at origin? */ + ft_lo:1; /* coding mode lowest bit */ +#elif OSMO_IS_BIG_ENDIAN +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t cmr:4, f:1, ft_hi:3; + uint8_t ft_lo:1, q:1, data_start:6; +#endif + uint8_t data0; +} __attribute__((packed)); + +/* See diagram above: CMR (4) + F (1) + FT (4) + Q (1) = 10 */ +#define AMR_HDR_BWE_LEN_BITS 10 + +/* * 4.4. Octet-aligned Mode: * * 4.4.1. The Payload Header: @@ -57,6 +92,7 @@ uint8_t cmr:4, pad1:4; uint8_t f:1, ft:4, q:1, pad2:2; #endif + uint8_t data0; } __attribute__((packed)); static inline void *osmo_amr_get_payload(struct amr_hdr *amrh) @@ -67,51 +103,66 @@ /* 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 */ -#define AMR_FT_3 3 /* 6.70 */ -#define AMR_FT_4 4 /* 7.40 */ -#define AMR_FT_5 5 /* 7.95 */ -#define AMR_FT_6 6 /* 10.2 */ -#define AMR_FT_7 7 /* 12.2 */ -#define AMR_FT_SID 8 /* SID */ -#define AMR_FT_MAX 9 +#define AMR_FT_0 0 /* 4.75 */ +#define AMR_FT_1 1 /* 5.15 */ +#define AMR_FT_2 2 /* 5.90 */ +#define AMR_FT_3 3 /* 6.70 */ +#define AMR_FT_4 4 /* 7.40 */ +#define AMR_FT_5 5 /* 7.95 */ +#define AMR_FT_6 6 /* 10.2 */ +#define AMR_FT_7 7 /* 12.2 */ +#define AMR_FT_SID 8 /* AMR SID */ +#define AMR_FT_GSM_EFR_SID 9 /* GSM-EFR SID */ +#define AMR_FT_TDMA_EFR_SID 10 /* TDMA-EFR SID */ +#define AMR_FT_PDC_EFR_SID 11 /* PDC-EFR SID */ +/* version 16.0.0 Release 16: 12-14 for future use */ +#define AMR_FT_NO_DATA 15 /* NO_DATA */ +#define AMR_FT_MAX 16 /* INTERNAL, NO NOT USE OUTSIDE libosmo-netif */ /* 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 */ +#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 */ +#define AMR_FT_GSM_EFR_SID_LEN_BITS 43 /* GSM-EFR SID */ +#define AMR_FT_TDMA_EFR_SID_LEN_BITS 38 /* TDMA-EFR SID */ +#define AMR_FT_PDC_EFR_SID_LEN_BITS 37 /* PDC-EFR SID */ +/* version 16.0.0 Release 16: 12-14 for future use */ +#define AMR_FT_NO_DATA_LEN_BITS 0 /* NO_DATA */ /* 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 */ +#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 */ +#define AMR_FT_GSM_EFR_SID_LEN ((AMR_FT_GSM_EFR_SID_LEN_BITS+7)/8) /* GSM-EFR SID */ +#define AMR_FT_TDMA_EFR_SID_LEN ((AMR_FT_TDMA_EFR_SID_LEN_BITS+7)/8) /* TDMA-EFR SID */ +#define AMR_FT_PDC_EFR_SID_LEN ((AMR_FT_PDC_EFR_SID_LEN_BITS+7)/8) /* PDC-EFR SID */ +/* version 16.0.0 Release 16: 12-14 for future use */ +#define AMR_FT_NO_DATA_LEN ((AMR_FT_NO_DATA_LEN_BITS+7)/8) /* NO_DATA */ int osmo_amr_ft_valid(uint8_t amr_ft); size_t osmo_amr_bytes(uint8_t amr_cmr); size_t osmo_amr_bits(uint8_t amr_ft); -bool osmo_amr_is_oa(uint8_t *payload, unsigned int payload_len); +bool osmo_amr_is_oa(const 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);
View file
libosmo-netif_1.2.0.tar.xz/include/osmocom/netif/osmux.h -> libosmo-netif_1.3.0.tar.xz/include/osmocom/netif/osmux.h
Changed
@@ -3,6 +3,7 @@ #include <osmocom/core/endian.h> #include <osmocom/core/timer.h> +#include <osmocom/core/msgb.h> /*! \addtogroup osmux * @{ @@ -12,6 +13,8 @@ * Osmocom multiplex protocol helpers */ +#define OSMUX_DEFAULT_PORT 1984 + /* OSmux header: * * rtp_m (1 bit): RTP M field (RFC3550, RFC4867) @@ -50,10 +53,12 @@ /* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ uint8_t amr_ft:4, amr_cmr:4; #endif + uint8_t data0; } __attribute__((packed)); /* one to handle all existing RTP flows */ struct osmux_in_handle { + /* Initial Osmux seqnum for each circuit, set during osmux_xfrm_input_open_circuit() */ uint8_t osmux_seq; uint8_t batch_factor; uint16_t batch_size; @@ -72,6 +77,8 @@ #define OSMUX_MAX_CONCURRENT_CALLS 8 +typedef struct msgb *(*rtp_msgb_alloc_cb_t)(void *rtp_msgb_alloc_priv_data, + unsigned int msg_len); /* one per OSmux circuit_id, ie. one per RTP flow. */ struct osmux_out_handle { uint16_t rtp_seq; @@ -83,6 +90,8 @@ struct llist_head list; void (*tx_cb)(struct msgb *msg, void *data); /* Used defined rtp tx callback */ void *data; /* User defined opaque data structure */ + rtp_msgb_alloc_cb_t rtp_msgb_alloc_cb; /* User defined msgb alloc function for generated RTP pkts */ + void *rtp_msgb_alloc_cb_data; /* Opaque data pointer set by user and passed in rtp_msgb_alloc_cb() */ }; static inline uint8_t *osmux_get_payload(struct osmux_hdr *osmuxh) @@ -95,8 +104,15 @@ /* 1500 - sizeof(iphdr) = 20 bytes - sizeof(udphdr) = 8 bytes. */ #define OSMUX_BATCH_DEFAULT_MAX 1472 -void osmux_xfrm_input_init(struct osmux_in_handle *h); -void osmux_xfrm_input_fini(struct osmux_in_handle *h); +struct osmux_in_handle *osmux_xfrm_input_alloc(void *ctx); +void osmux_xfrm_input_init(struct osmux_in_handle *h) OSMO_DEPRECATED("Use osmux_xfrm_input_alloc() instead"); +void osmux_xfrm_input_fini(struct osmux_in_handle *h) OSMO_DEPRECATED("Use talloc_free() instead"); +void osmux_xfrm_input_set_name(struct osmux_in_handle *h, const char *name); +int osmux_xfrm_input_set_batch_factor(struct osmux_in_handle *h, uint8_t batch_factor); +void osmux_xfrm_input_set_batch_size(struct osmux_in_handle *h, uint16_t batch_size); +void osmux_xfrm_input_set_initial_seqnum(struct osmux_in_handle *h, uint8_t osmux_seqnum); +void osmux_xfrm_input_set_deliver_cb(struct osmux_in_handle *h, void (*deliver_cb)(struct msgb *msg, void *data), void *data); +void *osmux_xfrm_input_get_deliver_cb_data(struct osmux_in_handle *h); int osmux_xfrm_input_open_circuit(struct osmux_in_handle *h, int ccid, int dummy); void osmux_xfrm_input_close_circuit(struct osmux_in_handle *h, int ccid); @@ -104,16 +120,16 @@ 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) 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); +struct osmux_out_handle *osmux_xfrm_output_alloc(void *ctx); +void osmux_xfrm_output_init(struct osmux_out_handle *h, uint32_t rtp_ssrc) OSMO_DEPRECATED("Use osmux_xfrm_output_alloc() and osmux_xfrm_output_set_rtp_*() instead"); +void osmux_xfrm_output_init2(struct osmux_out_handle *h, uint32_t rtp_ssrc, uint8_t rtp_payload_type) OSMO_DEPRECATED("Use osmux_xfrm_output_alloc() and osmux_xfrm_output_set_rtp_*() instead"); +void osmux_xfrm_output_set_rtp_ssrc(struct osmux_out_handle *h, uint32_t rtp_ssrc); +void osmux_xfrm_output_set_rtp_pl_type(struct osmux_out_handle *h, uint32_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"); +void osmux_xfrm_output_set_rtp_msgb_alloc_cb(struct osmux_out_handle *h, rtp_msgb_alloc_cb_t cb, void *cb_data); int osmux_xfrm_output_sched(struct osmux_out_handle *h, struct osmux_hdr *osmuxh); void osmux_xfrm_output_flush(struct osmux_out_handle *h); struct osmux_hdr *osmux_xfrm_output_pull(struct msgb *msg); - -void osmux_tx_sched(struct llist_head *list, void (*tx_cb)(struct msgb *msg, void *data), void *data) OSMO_DEPRECATED("Use osmux_xfrm_output_set_tx_cb() instead"); - /*! @} */ #endif
View file
libosmo-netif_1.2.0.tar.xz/include/osmocom/netif/sctp.h -> libosmo-netif_1.3.0.tar.xz/include/osmocom/netif/sctp.h
Changed
@@ -7,7 +7,17 @@ static inline const char *osmo_sctp_assoc_chg_str(enum sctp_sac_state val) { return get_value_string(osmo_sctp_assoc_chg_strs, val); } +enum sctp_spc_state; +extern const struct value_string osmo_sctp_paddr_chg_strs; +static inline const char *osmo_sctp_paddr_chg_str(enum sctp_spc_state val) +{ return get_value_string(osmo_sctp_paddr_chg_strs, val); } + enum sctp_sn_type; extern const struct value_string osmo_sctp_sn_type_strs; static inline const char *osmo_sctp_sn_type_str(enum sctp_sn_type val) { return get_value_string(osmo_sctp_sn_type_strs, val); } + +enum sctp_sn_error; +extern const struct value_string osmo_sctp_sn_error_strs; +static inline const char *osmo_sctp_sn_error_str(enum sctp_sn_error val) +{ return get_value_string(osmo_sctp_sn_error_strs, val); }
View file
libosmo-netif_1.2.0.tar.xz/include/osmocom/netif/stream.h -> libosmo-netif_1.3.0.tar.xz/include/osmocom/netif/stream.h
Changed
@@ -9,6 +9,10 @@ * @{ */ +/*! \brief Access SCTP flags from the msgb control buffer */ +#define OSMO_STREAM_SCTP_MSG_FLAGS_NOTIFICATION 0x80 /* sctp_recvmsg() flags=MSG_NOTIFICATION, msgb_data() contains "union sctp_notification*" */ +#define msgb_sctp_msg_flags(msg) (msg)->cb2 + /*! \brief Access the SCTP PPID from the msgb control buffer */ #define msgb_sctp_ppid(msg) (msg)->cb3 /*! \brief Access the SCTP Stream ID from the msgb control buffer */ @@ -52,6 +56,8 @@ void osmo_stream_srv_send(struct osmo_stream_srv *conn, struct msgb *msg); int osmo_stream_srv_recv(struct osmo_stream_srv *conn, struct msgb *msg); +void osmo_stream_srv_clear_tx_queue(struct osmo_stream_srv *conn); + /*! \brief Osmocom Stream Client: Single client connection */ struct osmo_stream_cli; @@ -85,6 +91,8 @@ 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); +int osmo_stream_cli_recv(struct osmo_stream_cli *cli, struct msgb *msg); + +void osmo_stream_cli_clear_tx_queue(struct osmo_stream_cli *cli); /*! @} */
View file
libosmo-netif_1.2.0.tar.xz/src/Makefile.am -> libosmo-netif_1.3.0.tar.xz/src/Makefile.am
Changed
@@ -1,6 +1,6 @@ # 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=10:0:2 +LIBVERSION=11:0:0 AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir) AM_CFLAGS= -fPIC -Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) $(LIBOSMOABIS_CFLAGS) $(COVERAGE_CFLAGS) $(LIBSCTP_CFLAGS) @@ -17,6 +17,8 @@ ipa_unit.c \ jibuf.c \ osmux.c \ + osmux_input.c \ + osmux_output.c \ prim.c \ rs232.c \ rtp.c \
View file
libosmo-netif_1.2.0.tar.xz/src/amr.c -> libosmo-netif_1.3.0.tar.xz/src/amr.c
Changed
@@ -14,9 +14,11 @@ #include <unistd.h> #include <string.h> #include <stdbool.h> + +#include <osmocom/core/utils.h> #include <osmocom/netif/amr.h> -/* According to TS 26.101: +/* According to TS 26.101 Table A.1b: * * Frame type AMR code bits bytes * 0 4.75 95 12 @@ -27,18 +29,33 @@ * 5 7.95 159 20 * 6 10.20 204 26 * 7 12.20 244 31 + * 8 AMR SID 39 5 + * 9 GSM-EFR SID 43 5 + * 10 TDMA-EFR SID 38 5 + * 11 PDC-EFR SID 37 5 + * 12 NOT USED + * 13 NOT USED + * 14 NOT USED + * 15 NO DATA 0 0 */ -static size_t amr_ft_to_bitsAMR_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 int amr_ft_to_bitsAMR_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, + AMR_FT_GSM_EFR_SID = AMR_FT_GSM_EFR_SID_LEN_BITS, + AMR_FT_TDMA_EFR_SID = AMR_FT_TDMA_EFR_SID_LEN_BITS, + AMR_FT_PDC_EFR_SID = AMR_FT_PDC_EFR_SID_LEN_BITS, + 12 = 0, /* for future use */ + 13 = 0, /* for future use */ + 14 = 0, /* for future use */ + AMR_FT_NO_DATA = AMR_FT_NO_DATA_LEN_BITS, }; static size_t amr_ft_to_bytesAMR_FT_MAX = { @@ -51,15 +68,24 @@ AMR_FT_6 = AMR_FT_6_LEN, AMR_FT_7 = AMR_FT_7_LEN, AMR_FT_SID = AMR_FT_SID_LEN, + AMR_FT_GSM_EFR_SID = AMR_FT_GSM_EFR_SID_LEN, + AMR_FT_TDMA_EFR_SID = AMR_FT_TDMA_EFR_SID_LEN, + AMR_FT_PDC_EFR_SID = AMR_FT_PDC_EFR_SID_LEN, + 12 = 0, /* for future use */ + 13 = 0, /* for future use */ + 14 = 0, /* for future use */ + AMR_FT_NO_DATA = AMR_FT_NO_DATA_LEN, }; size_t osmo_amr_bits(uint8_t amr_ft) { + OSMO_ASSERT(amr_ft < AMR_FT_MAX); return amr_ft_to_bitsamr_ft; } size_t osmo_amr_bytes(uint8_t amr_ft) { + OSMO_ASSERT(amr_ft < AMR_FT_MAX); return amr_ft_to_bytesamr_ft; } @@ -67,37 +93,27 @@ { int ft; - for (ft = 0; ft < AMR_FT_MAX; ft++) { + for (ft = 0; ft < AMR_FT_PDC_EFR_SID; ft++) { if (amr_ft_to_bytesft == bytes) return ft; } + /* 12-14 not used, jump to 15 (AMR_FT_NO_DATA): */ + if (amr_ft_to_bytesAMR_FT_NO_DATA == bytes) + return AMR_FT_NO_DATA; + return -1; } int osmo_amr_ft_valid(uint8_t amr_ft) { - /* - * Extracted from RFC3267: - * - * "... with a FT value in the range 9-14 for AMR ... the whole packet - * SHOULD be discarded." - * - * "... packets containing only NO_DATA frames (FT=15) SHOULD NOT be - * transmitted." - * - * So, let's discard frames with a AMR FT >= 9. - */ - if (amr_ft >= AMR_FT_MAX) - return 0; - - return 1; + return amr_ft <= AMR_FT_PDC_EFR_SID || amr_ft == AMR_FT_NO_DATA; } /*! Check if an AMR frame is octet aligned by looking at the padding bits. * \paraminout payload user provided memory containing the AMR payload. * \paramin 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) +bool osmo_amr_is_oa(const 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 @@ -172,7 +188,7 @@ } /* Calculate new payload length */ - bwe_payload_len = (10 + osmo_amr_bits(ft) + 7) / 8; + bwe_payload_len = OSMO_BYTES_FOR_BITS(AMR_HDR_BWE_LEN_BITS + osmo_amr_bits(ft)); return bwe_payload_len; } @@ -187,11 +203,14 @@ { uint8_t buf256; /* The header is only valid after shifting first two bytes to OA mode */ + struct amr_hdr_bwe *bwe_hdr = (struct amr_hdr_bwe *)payload; struct amr_hdr *oa_hdr; unsigned int i; - int oa_payload_len; + unsigned int oa_payload_len; + uint8_t ft; - memset(buf, 0, sizeof(buf)); + if (payload_len < sizeof(struct amr_hdr_bwe)) + return -1; if (payload_len + 1 > payload_maxlen) return -1; @@ -199,21 +218,27 @@ if (payload_len + 1 > sizeof(buf)) return -1; - buf0 = payload0 & 0xf0; - buf1 = payload0 << 4; - buf1 |= (payload1 >> 4) & 0x0c; + ft = (bwe_hdr->ft_hi << 1) | bwe_hdr->ft_lo; + if (!osmo_amr_ft_valid(ft)) + return -1; + if (OSMO_BYTES_FOR_BITS(AMR_HDR_BWE_LEN_BITS + osmo_amr_bits(ft)) > payload_len) + return -1; + + memset(buf, 0, sizeof(buf)); + oa_hdr = (struct amr_hdr *)buf; + oa_hdr->cmr = bwe_hdr->cmr; + oa_hdr->f = bwe_hdr->f; + oa_hdr->ft = ft; + oa_hdr->q = bwe_hdr->q; /* 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); + oa_payload_len = 2 + osmo_amr_bytes(ft); - for (i = 0; i < oa_payload_len - 3; i++) { - bufi + 2 = payloadi + 1 << 2; - bufi + 2 |= payloadi + 2 >> 6; + for (i = 2; i < oa_payload_len - 1; i++) { + bufi = payloadi - 1 << 2; + bufi |= payloadi >> 6; } - bufi + 2 = payloadi + 1 << 2; + bufi = payloadi - 1 << 2; memcpy(payload, buf, oa_payload_len); return oa_payload_len; @@ -243,8 +268,9 @@ amr_speech_len_bits = osmo_amr_bits(ft); amr_speech_len_bytes = osmo_amr_bytes(ft); - required_len_bits = amr_speech_len_bits + 10; /* shift of 10 bits */ - if (payload_len < (required_len_bits + 7)/8) + /* shift of AMR_HDR_BWE_LEN_BITS (10) bits, aka remove BWE Hdr + ToC: */ + required_len_bits = AMR_HDR_BWE_LEN_BITS + amr_speech_len_bits; + if (payload_len < OSMO_BYTES_FOR_BITS(required_len_bits)) return -1; for (i = 0; i < amr_speech_len_bytes; i++) { @@ -265,7 +291,7 @@ int osmo_amr_iuup_to_bwe(uint8_t *payload, unsigned int payload_len, unsigned int payload_maxlen) { - /* shift all bits by 10 */ + /* shift all bits by AMR_HDR_BWE_LEN_BITS (10) */ unsigned int i, required_len_bits, required_len_bytes; int ft = osmo_amr_bytes_to_ft(payload_len); @@ -273,14 +299,14 @@ return ft; required_len_bits = osmo_amr_bits(ft) + 10; - required_len_bytes = (required_len_bits + 7)/8; + required_len_bytes = OSMO_BYTES_FOR_BITS(required_len_bits); if (payload_maxlen < required_len_bytes) return -1; i = payload_len + 1; payloadi = (payloadi - 2 << 6); for (i = payload_len; i >= 2; i--) { - /* we have to shift the payload by 10 bits to get only the Class A, B, C bits */ + /* we have to shift the payload by AMR_HDR_BWE_LEN_BITS (10) bits to prepend BWE Hdr + ToC */ payloadi = (payloadi - 1 >> 2) | (payloadi - 2 << 6); } payloadi = (payloadi - 1 >> 2);
View file
libosmo-netif_1.2.0.tar.xz/src/osmux.c -> libosmo-netif_1.3.0.tar.xz/src/osmux.c
Changed
@@ -1,7 +1,7 @@ /* * (C) 2012-2017 by Pablo Neira Ayuso <pablo@gnumonks.org> * (C) 2012 by On Waves ehf <http://www.on-waves.com> - * (C) 2015-2017 by sysmocom - s.f.m.c. GmbH + * (C) 2015-2022 by sysmocom - s.f.m.c. GmbH * * SPDX-License-Identifier: GPL-2.0+ * @@ -44,977 +44,11 @@ * \brief Osmocom multiplex protocol helpers */ - -/* This allows you to debug timing reconstruction in the output path */ -#if 0 -#define DEBUG_TIMING 0 -#endif - -/* This allows you to debug osmux message transformations (spamming) */ -#if 0 -#define DEBUG_MSG 0 -#endif - -/* delta time between two RTP messages (in microseconds) */ -#define DELTA_RTP_MSG 20000 -/* delta time between two RTP messages (in samples, 8kHz) */ -#define DELTA_RTP_TIMESTAMP 160 - -static void *osmux_ctx; - static uint32_t osmux_get_payload_len(struct osmux_hdr *osmuxh) { return osmo_amr_bytes(osmuxh->amr_ft) * (osmuxh->ctr+1); } -static uint32_t osmux_ft_dummy_size(uint8_t amr_ft, uint8_t batch_factor) -{ - return sizeof(struct osmux_hdr) + (osmo_amr_bytes(amr_ft) * batch_factor); -} - -struct osmux_hdr *osmux_xfrm_output_pull(struct msgb *msg) -{ - struct osmux_hdr *osmuxh; -next: - osmuxh = NULL; - if (msg->len > sizeof(struct osmux_hdr)) { - size_t len; - - osmuxh = (struct osmux_hdr *)msg->data; - - switch (osmuxh->ft) { - case OSMUX_FT_VOICE_AMR: - break; - case OSMUX_FT_DUMMY: - len = osmux_ft_dummy_size(osmuxh->amr_ft, osmuxh->ctr + 1); - if (msgb_length(msg) < len) { - LOGP(DLMUX, LOGL_ERROR, "Discarding bad Dummy FT: %s\n", - osmo_hexdump(msg->data, msgb_length(msg))); - return NULL; - } - msgb_pull(msg, len); - goto next; - default: - LOGP(DLMUX, LOGL_ERROR, "Discarding unsupported Osmux FT %d\n", - osmuxh->ft); - return NULL; - } - if (!osmo_amr_ft_valid(osmuxh->amr_ft)) { - LOGP(DLMUX, LOGL_ERROR, "Discarding bad AMR FT %d\n", - osmuxh->amr_ft); - return NULL; - } - - len = osmo_amr_bytes(osmuxh->amr_ft) * (osmuxh->ctr+1) + - sizeof(struct osmux_hdr); - - if (msgb_length(msg) < len) { - LOGP(DLMUX, LOGL_ERROR, - "Discarding malformed OSMUX message: %s\n", - osmo_hexdump(msg->data, msgb_length(msg))); - return NULL; - } - - msgb_pull(msg, len); - } else if (msg->len > 0) { - LOGP(DLMUX, LOGL_ERROR, - "remaining %d bytes, broken osmuxhdr?\n", msg->len); - } - - return osmuxh; -} - -static struct msgb * -osmux_rebuild_rtp(struct osmux_out_handle *h, struct osmux_hdr *osmuxh, - void *payload, int payload_len, bool first_pkt) -{ - struct msgb *prev_msg, *out_msg; - struct timespec *prev_ts, *out_ts; - struct rtp_hdr *rtph; - struct amr_hdr *amrh; - struct timespec delta = { .tv_sec = 0, .tv_nsec = DELTA_RTP_MSG*1000 }; - - out_msg = msgb_alloc(sizeof(struct rtp_hdr) + - sizeof(struct amr_hdr) + - osmo_amr_bytes(osmuxh->amr_ft), - "OSMUX test"); - if (out_msg == NULL) - return NULL; - - /* Reconstruct RTP header */ - rtph = (struct rtp_hdr *)out_msg->data; - rtph->csrc_count = 0; - rtph->extension = 0; - rtph->version = RTP_VERSION; - rtph->payload_type = h->rtp_payload_type; - /* ... emulate timestamp and ssrc */ - rtph->timestamp = htonl(h->rtp_timestamp); - rtph->sequence = htons(h->rtp_seq); - rtph->ssrc = htonl(h->rtp_ssrc); - /* rtp packet with the marker bit is always guaranteed to be the first - * one. We want to notify with marker in 2 scenarios: - * 1- Sender told us through osmux frame rtp_m. - * 2- Sntermediate osmux frame lost (seq gap), otherwise rtp receiver only sees - * steady increase of delay - */ - rtph->marker = first_pkt && - (osmuxh->rtp_m || (osmuxh->seq != h->osmux_seq_ack + 1)); - - msgb_put(out_msg, sizeof(struct rtp_hdr)); - - /* Reconstruct AMR header */ - amrh = (struct amr_hdr *)out_msg->tail; - amrh->cmr = osmuxh->amr_cmr; - amrh->f = osmuxh->amr_f; - amrh->ft = osmuxh->amr_ft; - amrh->q = osmuxh->amr_q; - - msgb_put(out_msg, sizeof(struct amr_hdr)); - - /* add AMR speech data */ - memcpy(out_msg->tail, payload, payload_len); - msgb_put(out_msg, payload_len); - - /* bump last RTP sequence number and timestamp that has been used */ - h->rtp_seq++; - h->rtp_timestamp += DELTA_RTP_TIMESTAMP; - - out_ts = ((struct timespec *)&((out_msg)->cb0)); - if (first_pkt || llist_empty(&h->list)) { - osmo_clock_gettime(CLOCK_MONOTONIC, out_ts); - } else { - prev_msg = llist_last_entry(&h->list, struct msgb, list); - prev_ts = ((struct timespec *)&((prev_msg)->cb0)); - timespecadd(prev_ts, &delta, out_ts); - } - - return out_msg; -} - -int osmux_xfrm_output(struct osmux_hdr *osmuxh, struct osmux_out_handle *h, - struct llist_head *list) -{ - struct msgb *msg; - int i; - - INIT_LLIST_HEAD(list); - - for (i=0; i<osmuxh->ctr+1; i++) { - struct rtp_hdr *rtph; - - msg = osmux_rebuild_rtp(h, osmuxh, - osmux_get_payload(osmuxh) + - i * osmo_amr_bytes(osmuxh->amr_ft), - osmo_amr_bytes(osmuxh->amr_ft), !i); - if (msg == NULL) - continue; - - rtph = osmo_rtp_get_hdr(msg); - if (rtph == NULL) - continue; - -#ifdef DEBUG_MSG - { - char buf4096; - - osmo_rtp_snprintf(buf, sizeof(buf), msg); - bufsizeof(buf)-1 = '\0'; - LOGP(DLMUX, LOGL_DEBUG, "to BTS: %s\n", buf); - } -#endif - llist_add_tail(&msg->list, list); - } - - /* Update last seen seq number: */ - h->osmux_seq_ack = osmuxh->seq; - - return i; -} - -static void osmux_xfrm_output_trigger(void *data) -{ - struct osmux_out_handle *h = data; - struct timespec delay_ts, now; - struct msgb *msg, *next; - - llist_for_each_entry_safe(msg, next, &h->list, list) { - osmo_clock_gettime(CLOCK_MONOTONIC, &now); - struct timespec *msg_ts = ((struct timespec *)&((msg)->cb0)); - if (timespeccmp(msg_ts, &now, >)) { - timespecsub(msg_ts, &now, &delay_ts); - osmo_timer_schedule(&h->timer, - delay_ts.tv_sec, delay_ts.tv_nsec / 1000); - return; - } - - /* Transmit the rtp packet */ - llist_del(&msg->list); - if (h->tx_cb) - h->tx_cb(msg, h->data); - else - msgb_free(msg); - } -} - -/*! \brief Generate RTP packets from osmux frame AMR payload set and schedule - * them for transmission at appropiate time. - * \paramin h the osmux out handle handling a specific CID - * \paramin osmuxh Buffer pointing to osmux frame header structure and AMR payload - * \return Number of generated RTP packets - * - * The osmux frame passed to this function must be of the type OSMUX_FT_VOICE_AMR. - * The generated RTP packets are kept into h's internal list and sent to the - * callback configured through osmux_xfrm_output_set_tx_cb when are ready to be - * transmitted according to schedule. - */ -int osmux_xfrm_output_sched(struct osmux_out_handle *h, struct osmux_hdr *osmuxh) -{ - struct timespec now, *msg_ts; - struct msgb *msg; - int i; - bool was_empty = llist_empty(&h->list); - - if (!was_empty) { - /* If we received new data it means we are behind schedule and - * we should flush all previous quickly */ - osmo_clock_gettime(CLOCK_MONOTONIC, &now); - llist_for_each_entry(msg, &h->list, list) { - msg_ts = ((struct timespec *)&((msg)->cb0)); - *msg_ts = now; - } - osmo_timer_schedule(&h->timer, 0, 0); - } - - for (i=0; i<osmuxh->ctr+1; i++) { - struct rtp_hdr *rtph; - - msg = osmux_rebuild_rtp(h, osmuxh, - osmux_get_payload(osmuxh) + - i * osmo_amr_bytes(osmuxh->amr_ft), - osmo_amr_bytes(osmuxh->amr_ft), !i); - if (msg == NULL) - continue; - - rtph = osmo_rtp_get_hdr(msg); - if (rtph == NULL) - continue; - - llist_add_tail(&msg->list, &h->list); - } - - /* Update last seen seq number: */ - h->osmux_seq_ack = osmuxh->seq; - - /* In case list is still empty after parsing messages, no need to rearm */ - if(was_empty && !llist_empty(&h->list)) - osmux_xfrm_output_trigger(h); - return i; -} - -/*! \brief Flush all scheduled RTP packets still pending to be transmitted - * \paramin h the osmux out handle to flush - * - * This function will immediately call the transmit callback for all queued RTP - * packets, making sure the list ends up empty. It will also stop all internal - * timers to make sure the osmux_out_handle can be dropped or re-used by calling - * osmux_xfrm_output on it. - */ -void osmux_xfrm_output_flush(struct osmux_out_handle *h) -{ - struct msgb *msg, *next; - - if (osmo_timer_pending(&h->timer)) - osmo_timer_del(&h->timer); - - llist_for_each_entry_safe(msg, next, &h->list, list) { - llist_del(&msg->list); - if (h->tx_cb) - h->tx_cb(msg, h->data); - else - msgb_free(msg); - } -} - -struct osmux_batch { - struct osmo_timer_list timer; - struct osmux_hdr *osmuxh; - struct llist_head circuit_list; - unsigned int remaining_bytes; - uint8_t seq; - uint32_t nmsgs; - int ndummy; -}; - -struct osmux_circuit { - struct llist_head head; - int ccid; - struct llist_head msg_list; - int nmsgs; - int dummy; -}; - -static int osmux_batch_enqueue(struct msgb *msg, struct osmux_circuit *circuit, - uint8_t batch_factor) -{ - /* Validate amount of messages per batch. The counter field of the - * osmux header is just 3 bits long, so make sure it doesn't overflow. - */ - if (circuit->nmsgs >= batch_factor || circuit->nmsgs >= 8) { - struct rtp_hdr *rtph; - - rtph = osmo_rtp_get_hdr(msg); - if (rtph == NULL) - return -1; - - LOGP(DLMUX, LOGL_DEBUG, "Batch is full for RTP sssrc=%u\n", rtph->ssrc); - return -1; - } - - llist_add_tail(&msg->list, &circuit->msg_list); - circuit->nmsgs++; - return 0; -} - -static void osmux_batch_dequeue(struct msgb *msg, struct osmux_circuit *circuit) -{ - llist_del(&msg->list); - circuit->nmsgs--; -} - -static void osmux_circuit_del_msgs(struct osmux_batch *batch, struct osmux_circuit *circuit) -{ - struct msgb *cur, *tmp; - llist_for_each_entry_safe(cur, tmp, &circuit->msg_list, list) { - osmux_batch_dequeue(cur, circuit); - msgb_free(cur); - batch->nmsgs--; - } -} - -struct osmux_input_state { - struct msgb *out_msg; - struct msgb *msg; - struct rtp_hdr *rtph; - struct amr_hdr *amrh; - uint32_t amr_payload_len; - int ccid; - int add_osmux_hdr; -}; - -static int osmux_batch_put(struct osmux_batch *batch, - struct osmux_input_state *state) -{ - struct osmux_hdr *osmuxh; - - if (state->add_osmux_hdr) { - osmuxh = (struct osmux_hdr *)state->out_msg->tail; - osmuxh->ft = OSMUX_FT_VOICE_AMR; - osmuxh->ctr = 0; - osmuxh->rtp_m = osmuxh->rtp_m || state->rtph->marker; - osmuxh->amr_f = state->amrh->f; - osmuxh->amr_q= state->amrh->q; - osmuxh->seq = batch->seq++; - osmuxh->circuit_id = state->ccid; - osmuxh->amr_cmr = state->amrh->cmr; - osmuxh->amr_ft = state->amrh->ft; - msgb_put(state->out_msg, sizeof(struct osmux_hdr)); - - /* annotate current osmux header */ - batch->osmuxh = osmuxh; - } else { - if (batch->osmuxh->ctr == 0x7) { - LOGP(DLMUX, LOGL_ERROR, "cannot add msg=%p, " - "too many messages for this RTP ssrc=%u\n", - state->msg, state->rtph->ssrc); - return 0; - } - batch->osmuxh->ctr++; - } - - memcpy(state->out_msg->tail, osmo_amr_get_payload(state->amrh), - state->amr_payload_len); - msgb_put(state->out_msg, state->amr_payload_len); - - return 0; -} - -static int osmux_xfrm_encode_amr(struct osmux_batch *batch, - struct osmux_input_state *state) -{ - uint32_t amr_len; - - state->amrh = osmo_rtp_get_payload(state->rtph, state->msg, &amr_len); - if (state->amrh == NULL) - return -1; - - state->amr_payload_len = amr_len - sizeof(struct amr_hdr); - - if (osmux_batch_put(batch, state) < 0) - return -1; - - return 0; -} - -static void osmux_encode_dummy(struct osmux_batch *batch, uint8_t batch_factor, - struct osmux_input_state *state) -{ - struct osmux_hdr *osmuxh; - /* TODO: This should be configurable at some point. */ - uint32_t payload_size = osmux_ft_dummy_size(AMR_FT_3, batch_factor) - - sizeof(struct osmux_hdr); - - osmuxh = (struct osmux_hdr *)state->out_msg->tail; - osmuxh->ft = OSMUX_FT_DUMMY; - osmuxh->ctr = batch_factor - 1; - osmuxh->amr_f = 0; - osmuxh->amr_q= 0; - osmuxh->seq = 0; - osmuxh->circuit_id = state->ccid; - osmuxh->amr_cmr = 0; - osmuxh->amr_ft = AMR_FT_3; - msgb_put(state->out_msg, sizeof(struct osmux_hdr)); - - memset(state->out_msg->tail, 0xff, payload_size); - msgb_put(state->out_msg, payload_size); -} - -static struct msgb *osmux_build_batch(struct osmux_batch *batch, - uint32_t batch_size, uint8_t batch_factor) -{ - struct msgb *batch_msg; - struct osmux_circuit *circuit; - -#ifdef DEBUG_MSG - LOGP(DLMUX, LOGL_DEBUG, "Now building batch\n"); -#endif - - batch_msg = msgb_alloc(batch_size, "osmux"); - if (batch_msg == NULL) { - LOGP(DLMUX, LOGL_ERROR, "Not enough memory\n"); - return NULL; - } - - llist_for_each_entry(circuit, &batch->circuit_list, head) { - struct msgb *cur, *tmp; - int ctr = 0; - - if (circuit->dummy) { - struct osmux_input_state state = { - .out_msg = batch_msg, - .ccid = circuit->ccid, - }; - osmux_encode_dummy(batch, batch_factor, &state); - continue; - } - - llist_for_each_entry_safe(cur, tmp, &circuit->msg_list, list) { - struct osmux_input_state state = { - .msg = cur, - .out_msg = batch_msg, - .ccid = circuit->ccid, - }; -#ifdef DEBUG_MSG - char buf4096; - - osmo_rtp_snprintf(buf, sizeof(buf), cur); - bufsizeof(buf)-1 = '\0'; - LOGP(DLMUX, LOGL_DEBUG, "to BSC-NAT: %s\n", buf); -#endif - - state.rtph = osmo_rtp_get_hdr(cur); - if (state.rtph == NULL) - return NULL; - - if (ctr == 0) { -#ifdef DEBUG_MSG - LOGP(DLMUX, LOGL_DEBUG, "add osmux header\n"); -#endif - state.add_osmux_hdr = 1; - } - - osmux_xfrm_encode_amr(batch, &state); - osmux_batch_dequeue(cur, circuit); - msgb_free(cur); - ctr++; - batch->nmsgs--; - } - } - return batch_msg; -} - -void osmux_xfrm_input_deliver(struct osmux_in_handle *h) -{ - struct msgb *batch_msg; - struct osmux_batch *batch = (struct osmux_batch *)h->internal_data; - -#ifdef DEBUG_MSG - LOGP(DLMUX, LOGL_DEBUG, "invoking delivery function\n"); -#endif - batch_msg = osmux_build_batch(batch, h->batch_size, h->batch_factor); - if (!batch_msg) - return; - h->stats.output_osmux_msgs++; - h->stats.output_osmux_bytes += batch_msg->len; - - h->deliver(batch_msg, h->data); - osmo_timer_del(&batch->timer); - batch->remaining_bytes = h->batch_size; - - if (batch->ndummy) { - osmo_timer_schedule(&batch->timer, 0, - h->batch_factor * DELTA_RTP_MSG); - } -} - -static void osmux_batch_timer_expired(void *data) -{ - struct osmux_in_handle *h = data; - -#ifdef DEBUG_MSG - LOGP(DLMUX, LOGL_DEBUG, "osmux_batch_timer_expired\n"); -#endif - osmux_xfrm_input_deliver(h); -} - -static int osmux_rtp_amr_payload_len(struct msgb *msg, struct rtp_hdr *rtph) -{ - struct amr_hdr *amrh; - unsigned int amr_len; - int amr_payload_len; - - amrh = osmo_rtp_get_payload(rtph, msg, &amr_len); - if (amrh == NULL) - return -1; - - if (!osmo_amr_ft_valid(amrh->ft)) - return -1; - - amr_payload_len = amr_len - sizeof(struct amr_hdr); - - /* The AMR payload does not fit with what we expect */ - if (osmo_amr_bytes(amrh->ft) != amr_payload_len) { - LOGP(DLMUX, LOGL_ERROR, - "Bad AMR frame, expected %zd bytes, got %d bytes\n", - osmo_amr_bytes(amrh->ft), amr_len); - return -1; - } - return amr_payload_len; -} - -static void osmux_replay_lost_packets(struct osmux_circuit *circuit, - struct rtp_hdr *cur_rtph, int batch_factor) -{ - int16_t diff; - struct msgb *last; - struct rtp_hdr *rtph; - int i; - - /* Have we see any RTP packet in this batch before? */ - if (llist_empty(&circuit->msg_list)) - return; - - /* Get last RTP packet seen in this batch */ - last = llist_entry(circuit->msg_list.prev, struct msgb, list); - rtph = osmo_rtp_get_hdr(last); - if (rtph == NULL) - return; - - diff = ntohs(cur_rtph->sequence) - ntohs(rtph->sequence); - - /* Lifesaver: make sure bugs don't spawn lots of clones */ - if (diff > 16) - diff = 16; - - /* If diff between last RTP packet seen and this one is > 1, - * then we lost several RTP packets, let's replay them. - */ - for (i=1; i<diff; i++) { - struct msgb *clone; - - /* Clone last RTP packet seen */ - clone = msgb_alloc(last->data_len, "RTP clone"); - if (!clone) - continue; - - memcpy(clone->data, last->data, last->len); - msgb_put(clone, last->len); - - /* The original RTP message has been already sanity check. */ - rtph = osmo_rtp_get_hdr(clone); - - /* Adjust sequence number and timestamp */ - rtph->sequence = htons(ntohs(rtph->sequence) + i); - rtph->timestamp = htonl(ntohl(rtph->timestamp) + - DELTA_RTP_TIMESTAMP); - - /* No more room in this batch, skip padding with more clones */ - if (osmux_batch_enqueue(clone, circuit, batch_factor) < 0) { - msgb_free(clone); - break; - } - - LOGP(DLMUX, LOGL_ERROR, "adding cloned RTP\n"); - } -} - -static struct osmux_circuit * -osmux_batch_find_circuit(struct osmux_batch *batch, int ccid) -{ - struct osmux_circuit *circuit; - - llist_for_each_entry(circuit, &batch->circuit_list, head) { - if (circuit->ccid == ccid) - return circuit; - } - return NULL; -} - -static struct osmux_circuit * -osmux_batch_add_circuit(struct osmux_batch *batch, int ccid, int dummy, - uint8_t batch_factor) -{ - struct osmux_circuit *circuit; - - circuit = osmux_batch_find_circuit(batch, ccid); - if (circuit != NULL) { - LOGP(DLMUX, LOGL_ERROR, "circuit %u already exists!\n", ccid); - return NULL; - } - - circuit = talloc_zero(osmux_ctx, struct osmux_circuit); - if (circuit == NULL) { - LOGP(DLMUX, LOGL_ERROR, "OOM on circuit %u\n", ccid); - return NULL; - } - - circuit->ccid = ccid; - INIT_LLIST_HEAD(&circuit->msg_list); - llist_add_tail(&circuit->head, &batch->circuit_list); - - if (dummy) { - circuit->dummy = dummy; - batch->ndummy++; - if (!osmo_timer_pending(&batch->timer)) - osmo_timer_schedule(&batch->timer, 0, - batch_factor * DELTA_RTP_MSG); - } - return circuit; -} - -static void osmux_batch_del_circuit(struct osmux_batch *batch, struct osmux_circuit *circuit) -{ - if (circuit->dummy) - batch->ndummy--; - llist_del(&circuit->head); - osmux_circuit_del_msgs(batch, circuit); - talloc_free(circuit); -} - -static int -osmux_batch_add(struct osmux_batch *batch, uint32_t batch_factor, struct msgb *msg, - struct rtp_hdr *rtph, int ccid) -{ - int bytes = 0, amr_payload_len; - struct osmux_circuit *circuit; - struct msgb *cur; - - circuit = osmux_batch_find_circuit(batch, ccid); - if (!circuit) - return -1; - - /* We've seen the first RTP message, disable dummy padding */ - if (circuit->dummy) { - circuit->dummy = 0; - batch->ndummy--; - } - amr_payload_len = osmux_rtp_amr_payload_len(msg, rtph); - if (amr_payload_len < 0) - return -1; - - /* First check if there is room for this message in the batch */ - bytes += amr_payload_len; - if (circuit->nmsgs == 0) - bytes += sizeof(struct osmux_hdr); - - /* No room, sorry. You'll have to retry */ - if (bytes > batch->remaining_bytes) - return 1; - - /* Init of talkspurt (RTP M marker bit) needs to be in the first AMR slot - * of the OSMUX packet, enforce sending previous batch if required: - */ - if (rtph->marker && circuit->nmsgs != 0) - return 1; - - - /* Extra validation: check if this message already exists, should not - * happen but make sure we don't propagate duplicated messages. - */ - llist_for_each_entry(cur, &circuit->msg_list, list) { - struct rtp_hdr *rtph2 = osmo_rtp_get_hdr(cur); - if (rtph2 == NULL) - return -1; - - /* Already exists message with this sequence, skip */ - if (rtph2->sequence == rtph->sequence) { - LOGP(DLMUX, LOGL_ERROR, "already exists " - "message with seq=%u, skip it\n", - rtph->sequence); - return -1; - } - } - /* Handle RTP packet loss scenario */ - osmux_replay_lost_packets(circuit, rtph, batch_factor); - - /* This batch is full, force batch delivery */ - if (osmux_batch_enqueue(msg, circuit, batch_factor) < 0) - return 1; - -#ifdef DEBUG_MSG - LOGP(DLMUX, LOGL_DEBUG, "adding msg with ssrc=%u to batch\n", - rtph->ssrc); -#endif - - /* Update remaining room in this batch */ - batch->remaining_bytes -= bytes; - - if (batch->nmsgs == 0) { -#ifdef DEBUG_MSG - LOGP(DLMUX, LOGL_DEBUG, "osmux start timer batch\n"); -#endif - osmo_timer_schedule(&batch->timer, 0, - batch_factor * DELTA_RTP_MSG); - } - batch->nmsgs++; - - return 0; -} - -/** - * osmux_xfrm_input - add RTP message to OSmux batch - * \param msg: RTP message that you want to batch into one OSmux message - * - * If 0 is returned, this indicates that the message has been batched or that - * an error occured and we have skipped the message. If 1 is returned, you - * have to invoke osmux_xfrm_input_deliver and try again. - * - * The function takes care of releasing the messages in case of error and - * when building the batch. - */ -int osmux_xfrm_input(struct osmux_in_handle *h, struct msgb *msg, int ccid) -{ - int ret; - struct rtp_hdr *rtph; - struct osmux_batch *batch = (struct osmux_batch *)h->internal_data; - - /* Ignore too big RTP/RTCP messages, most likely forged. Sanity check - * to avoid a possible forever loop in the caller. - */ - if (msg->len > h->batch_size - sizeof(struct osmux_hdr)) { - msgb_free(msg); - return 0; - } - - rtph = osmo_rtp_get_hdr(msg); - if (rtph == NULL) { - msgb_free(msg); - return 0; - } - - switch(rtph->payload_type) { - case RTP_PT_RTCP: - msgb_free(msg); - return 0; - default: - /* The RTP payload type is dynamically allocated, - * although we use static ones. Assume that we always - * receive AMR traffic. - */ - - /* Add this RTP to the OSMUX batch */ - ret = osmux_batch_add(batch, h->batch_factor, - msg, rtph, ccid); - if (ret < 0) { - /* Cannot put this message into the batch. - * Malformed, duplicated, OOM. Drop it and tell - * the upper layer that we have digest it. - */ - msgb_free(msg); - return 0; - } - - h->stats.input_rtp_msgs++; - h->stats.input_rtp_bytes += msg->len; - break; - } - return ret; -} - -void osmux_xfrm_input_init(struct osmux_in_handle *h) -{ - struct osmux_batch *batch; - - /* Default to osmux packet size if not specified */ - if (h->batch_size == 0) - h->batch_size = OSMUX_BATCH_DEFAULT_MAX; - - batch = talloc_zero(osmux_ctx, struct osmux_batch); - if (batch == NULL) - return; - - INIT_LLIST_HEAD(&batch->circuit_list); - batch->remaining_bytes = h->batch_size; - osmo_timer_setup(&batch->timer, osmux_batch_timer_expired, h); - - h->internal_data = (void *)batch; - - LOGP(DLMUX, LOGL_DEBUG, "initialized osmux input converter\n"); -} - -/*! \brief Set transmission callback to call when a generated RTP packet is to be transmitted - * \paramin h the osmux out handle handling a specific CID - * \paramin osmuxh Buffer pointing to osmux frame header structure and AMR payload - * \return Number of generated RTP packets - * - * This Function sets the callback called by the interal timer set by - * osmux_xfrm_out_sched function. - */ -void osmux_xfrm_output_set_tx_cb(struct osmux_out_handle *h, - void (*tx_cb)(struct msgb *msg, void *data), - void *data) -{ - h->tx_cb = tx_cb; - h->data = data; -} - -int osmux_xfrm_input_open_circuit(struct osmux_in_handle *h, int ccid, - int dummy) -{ - struct osmux_batch *batch = (struct osmux_batch *)h->internal_data; - - return osmux_batch_add_circuit(batch, ccid, dummy, h->batch_factor) ? 0 : -1; -} - -void osmux_xfrm_input_close_circuit(struct osmux_in_handle *h, int ccid) -{ - struct osmux_batch *batch = (struct osmux_batch *)h->internal_data; - struct osmux_circuit *circuit; - - circuit = osmux_batch_find_circuit(batch, ccid); - if (circuit == NULL) - return; - - osmux_batch_del_circuit(batch, circuit); -} - -void osmux_xfrm_input_fini(struct osmux_in_handle *h) -{ - struct osmux_batch *batch = (struct osmux_batch *)h->internal_data; - struct osmux_circuit *circuit, *next; - - llist_for_each_entry_safe(circuit, next, &batch->circuit_list, head) - osmux_batch_del_circuit(batch, circuit); - - osmo_timer_del(&batch->timer); - talloc_free(batch); -} - -struct osmux_tx_handle { - struct osmo_timer_list timer; - struct msgb *msg; - void (*tx_cb)(struct msgb *msg, void *data); - void *data; -#ifdef DEBUG_TIMING - struct timeval start; - struct timeval when; -#endif -}; - -static void osmux_tx_cb(void *data) -{ - struct osmux_tx_handle *h = data; -#ifdef DEBUG_TIMING - struct timeval now, diff; - - osmo_gettimeofday(&now, NULL); - timersub(&now, &h->start, &diff); - timersub(&diff,&h->when, &diff); - LOGP(DLMUX, LOGL_DEBUG, "we are lagging %lu.%.6lu in scheduled " - "transmissions\n", diff.tv_sec, diff.tv_usec); -#endif - - h->tx_cb(h->msg, h->data); - - talloc_free(h); -} - -static void -osmux_tx(struct msgb *msg, struct timeval *when, - void (*tx_cb)(struct msgb *msg, void *data), void *data) -{ - struct osmux_tx_handle *h; - - h = talloc_zero(osmux_ctx, struct osmux_tx_handle); - if (h == NULL) - return; - - h->msg = msg; - h->tx_cb = tx_cb; - h->data = data; - osmo_timer_setup(&h->timer, osmux_tx_cb, h); - -#ifdef DEBUG_TIMING - osmo_gettimeofday(&h->start, NULL); - h->when.tv_sec = when->tv_sec; - h->when.tv_usec = when->tv_usec; -#endif - /* send it now */ - if (when->tv_sec == 0 && when->tv_usec == 0) { - osmux_tx_cb(h); - return; - } - osmo_timer_schedule(&h->timer, when->tv_sec, when->tv_usec); -} - -void -osmux_tx_sched(struct llist_head *list, - void (*tx_cb)(struct msgb *msg, void *data), void *data) -{ - struct msgb *cur, *tmp; - struct timeval delta = { .tv_sec = 0, .tv_usec = DELTA_RTP_MSG }; - struct timeval when; - - timerclear(&when); - - llist_for_each_entry_safe(cur, tmp, list, list) { - -#ifdef DEBUG_MSG - LOGP(DLMUX, LOGL_DEBUG, "scheduled transmision in %lu.%6lu " - "seconds, msg=%p\n", when.tv_sec, when.tv_usec, cur); -#endif - llist_del(&cur->list); - osmux_tx(cur, &when, tx_cb, data); - timeradd(&when, &delta, &when); - } -} - -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; \ @@ -1029,11 +63,11 @@ int ret; ret = snprintf(buf, remain, "OSMUX seq=%03u ccid=%03u " - "ft=%01u ctr=%01u " + "ft=%01u rtp_m=%01u ctr=%01u " "amr_f=%01u amr_q=%01u " "amr_ft=%02u amr_cmr=%02u", osmuxh->seq, osmuxh->circuit_id, - osmuxh->ft, osmuxh->ctr, + osmuxh->ft, osmuxh->rtp_m, osmuxh->ctr, osmuxh->amr_f, osmuxh->amr_q, osmuxh->amr_ft, osmuxh->amr_cmr); SNPRINTF_BUFFER_SIZE(ret, remain, offset);
View file
libosmo-netif_1.3.0.tar.xz/src/osmux_input.c
Added
@@ -0,0 +1,858 @@ +/* + * (C) 2012-2017 by Pablo Neira Ayuso <pablo@gnumonks.org> + * (C) 2012 by On Waves ehf <http://www.on-waves.com> + * (C) 2015-2022 by sysmocom - s.f.m.c. GmbH + * + * 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 <stdio.h> +#include <string.h> +#include <inttypes.h> + +#include <osmocom/core/msgb.h> +#include <osmocom/core/timer.h> +#include <osmocom/core/timer_compat.h> +#include <osmocom/core/select.h> +#include <osmocom/core/talloc.h> +#include <osmocom/core/logging.h> + +#include <osmocom/netif/amr.h> +#include <osmocom/netif/rtp.h> +#include <osmocom/netif/osmux.h> + +#include <arpa/inet.h> + +/*! \addtogroup osmux Osmocom Multiplex Protocol + * @{ + * + * This code implements a variety of utility functions related to the + * OSMUX user-plane multiplexing protocol, an efficient alternative to + * plain UDP/RTP streams for voice transport in back-haul of cellular + * networks. + * + * For information about the OSMUX protocol design, please see the + * OSMUX reference manual at + * http://ftp.osmocom.org/docs/latest/osmux-reference.pdf + */ + +/*! \file osmux_input.c + * \brief Osmocom multiplex protocol helpers (input) + */ + +/* This allows you to debug osmux message transformations (spamming) */ +#if 0 +#define DEBUG_MSG 0 +#endif + +/* delta time between two RTP messages (in microseconds) */ +#define DELTA_RTP_MSG 20000 +/* delta time between two RTP messages (in samples, 8kHz) */ +#define DELTA_RTP_TIMESTAMP 160 + +#define LOGMUXLK_(link, lvl, fmt, args ...) \ + LOGP(DLMUX, lvl, "%s,%u/%" PRIu16 "" fmt, \ + (link)->name, (link)->h->batch_size - (link)->remaining_bytes, \ + (link)->h->batch_size, \ + ## args) + +#define LOGMUXLK(link, lvl, fmt, args ...) \ + LOGMUXLK_(link, lvl, " " fmt, ## args) + +#define LOGMUXCID(link, circuit, lvl, fmt, args ...) \ + LOGMUXLK_(link, lvl, "CID=%" PRIu8 ",batched=%u/%u " fmt, \ + (circuit)->ccid, (circuit)->nmsgs, (link)->h->batch_factor, ## args) + + +static void *osmux_ctx; + +static uint32_t osmux_ft_dummy_size(uint8_t amr_ft, uint8_t batch_factor) +{ + return sizeof(struct osmux_hdr) + (osmo_amr_bytes(amr_ft) * batch_factor); +} + +/* This is (struct osmux_in_handle)->internal_data. + * TODO: API have been defined to access all fields of osmux_in_handle + * (deprecated osmux_xfrm_input_init()), hence at some point we remove struct + * osmux_in_handle definition from osmux.h and we move it here internally and + * merge it with struct osmux_link. + */ +struct osmux_link { + struct osmo_timer_list timer; + struct osmux_hdr *osmuxh; + struct llist_head circuit_list; + unsigned int remaining_bytes; + uint32_t nmsgs; + int ndummy; + char *name; + struct osmux_in_handle *h; /* backpointer to parent object */ +}; + +struct osmux_circuit { + struct llist_head head; + int ccid; + struct llist_head msg_list; + int nmsgs; + int dummy; + uint8_t seq; + int32_t last_transmitted_rtp_seq; /* -1 = unset */ + uint32_t last_transmitted_rtp_ts; /* Check last_transmitted_rtp_seq = -1 to detect unset */ +}; + +/* Used internally to temporarily cache all parsed content of an RTP pkt from user to be transmitted as Osmux */ +struct osmux_in_req { + struct osmux_circuit *circuit; + struct msgb *msg; + struct rtp_hdr *rtph; + uint32_t rtp_payload_len; + struct amr_hdr *amrh; + int amr_payload_len; +}; + +/* returns: 1 if batch is full, 0 if batch still not full, negative on error. */ +static int osmux_circuit_enqueue(struct osmux_link *link, struct osmux_circuit *circuit, struct msgb *msg) +{ + /* Validate amount of messages per batch. The counter field of the + * osmux header is just 3 bits long, so make sure it doesn't overflow. + */ + OSMO_ASSERT(link->h->batch_factor <= 8); + if (circuit->nmsgs >= link->h->batch_factor) { + struct rtp_hdr *rtph; + + rtph = osmo_rtp_get_hdr(msg); + if (rtph == NULL) + return -1; + + LOGMUXCID(link, circuit, LOGL_DEBUG, "Batch is full for RTP sssrc=%u\n", rtph->ssrc); + return 1; + } + + llist_add_tail(&msg->list, &circuit->msg_list); + circuit->nmsgs++; + return 0; +} + +static void osmux_circuit_dequeue(struct osmux_circuit *circuit, struct msgb *msg) +{ + llist_del(&msg->list); + circuit->nmsgs--; +} + +static void osmux_circuit_del_msgs(struct osmux_link *link, struct osmux_circuit *circuit) +{ + struct msgb *cur, *tmp; + llist_for_each_entry_safe(cur, tmp, &circuit->msg_list, list) { + osmux_circuit_dequeue(circuit, cur); + msgb_free(cur); + link->nmsgs--; + } +} + +struct osmux_input_state { + struct msgb *out_msg; + struct msgb *msg; + struct rtp_hdr *rtph; + struct amr_hdr *amrh; + uint32_t amr_payload_len; + struct osmux_circuit *circuit; + int add_osmux_hdr; +}; + +static int osmux_link_put(struct osmux_link *link, struct osmux_input_state *state) +{ + uint16_t rtp_seqnum = ntohs(state->rtph->sequence); + + if (state->add_osmux_hdr) { + bool seq_jump = state->circuit->last_transmitted_rtp_seq != -1 && + ((state->circuit->last_transmitted_rtp_seq + 1) & 0xffff) != rtp_seqnum; + struct osmux_hdr *osmuxh; + osmuxh = (struct osmux_hdr *)msgb_put(state->out_msg, + sizeof(struct osmux_hdr)); + osmuxh->ft = OSMUX_FT_VOICE_AMR; + osmuxh->ctr = 0; + osmuxh->rtp_m = state->rtph->marker || seq_jump; + osmuxh->seq = state->circuit->seq++; + osmuxh->circuit_id = state->circuit->ccid; + osmuxh->amr_ft = state->amrh->ft; + + /* annotate current osmux header */ + link->osmuxh = osmuxh; + } else { + if (link->osmuxh->ctr == 0x7) { + LOGMUXCID(link, state->circuit, LOGL_ERROR, + "Cannot encode RTP pkt ssrc=%u into osmux batch, too many packets\n", + state->rtph->ssrc); + return 0; + } + link->osmuxh->ctr++; + } + /* For fields below, we only use the last included in batch and ignore any previous: */ + link->osmuxh->amr_cmr = state->amrh->cmr; + link->osmuxh->amr_f = state->amrh->f; + link->osmuxh->amr_q = state->amrh->q; + + if (state->amr_payload_len > 0) { + memcpy(state->out_msg->tail, osmo_amr_get_payload(state->amrh), + state->amr_payload_len); + msgb_put(state->out_msg, state->amr_payload_len); + } + + /* Update circuit state of last transmitted incoming RTP seqnum/ts: */ + state->circuit->last_transmitted_rtp_seq = rtp_seqnum; + state->circuit->last_transmitted_rtp_ts = ntohl(state->rtph->timestamp); + return 0; +} + +static void osmux_encode_dummy(struct osmux_link *link, struct osmux_input_state *state) +{ + struct osmux_hdr *osmuxh; + /* TODO: This should be configurable at some point. */ + uint32_t payload_size = osmux_ft_dummy_size(AMR_FT_3, link->h->batch_factor) - + sizeof(struct osmux_hdr); + + osmuxh = (struct osmux_hdr *)state->out_msg->tail; + osmuxh->ft = OSMUX_FT_DUMMY; + osmuxh->ctr = link->h->batch_factor - 1; + osmuxh->amr_f = 0; + osmuxh->amr_q = 0; + osmuxh->seq = 0; + osmuxh->circuit_id = state->circuit->ccid; + osmuxh->amr_cmr = 0; + osmuxh->amr_ft = AMR_FT_3; + msgb_put(state->out_msg, sizeof(struct osmux_hdr)); + + memset(state->out_msg->tail, 0xff, payload_size); + msgb_put(state->out_msg, payload_size); +} + +static struct msgb *osmux_build_batch(struct osmux_link *link) +{ + struct msgb *batch_msg; + struct osmux_circuit *circuit; + +#ifdef DEBUG_MSG + LOGMUXLK(link, LOGL_DEBUG, "Now building batch\n"); +#endif + + batch_msg = msgb_alloc(link->h->batch_size, "osmux"); + if (batch_msg == NULL) { + LOGMUXLK(link, LOGL_ERROR, "Not enough memory\n"); + return NULL; + } + + llist_for_each_entry(circuit, &link->circuit_list, head) { + struct msgb *cur, *tmp; + int ctr = 0; + int prev_amr_ft; + + if (circuit->dummy) { + struct osmux_input_state state = { + .out_msg = batch_msg, + .circuit = circuit, + }; + osmux_encode_dummy(link, &state); + continue; + } + + llist_for_each_entry_safe(cur, tmp, &circuit->msg_list, list) { + struct osmux_input_state state = { + .msg = cur, + .out_msg = batch_msg, + .circuit = circuit, + }; + uint32_t amr_len; +#ifdef DEBUG_MSG + char buf4096; + + osmo_rtp_snprintf(buf, sizeof(buf), cur); + bufsizeof(buf)-1 = '\0'; + LOGMUXCID(link, circuit, LOGL_DEBUG, "to BSC-NAT: %s\n", buf); +#endif + + state.rtph = osmo_rtp_get_hdr(cur); + if (!state.rtph) + return NULL; + state.amrh = osmo_rtp_get_payload(state.rtph, state.msg, &amr_len); + if (!state.amrh) + return NULL; + state.amr_payload_len = amr_len - sizeof(struct amr_hdr); + + if (ctr == 0) { +#ifdef DEBUG_MSG + LOGMUXCID(link, circuit, LOGL_DEBUG, "Add osmux header (First in batch)\n"); +#endif + state.add_osmux_hdr = 1; + } else if (prev_amr_ft != state.amrh->ft) { + /* If AMR FT changed, we have to generate an extra batch osmux header: */ +#ifdef DEBUG_MSG + LOGMUXCID(link, circuit, LOGL_DEBUG, "Add osmux header (New AMR FT)\n"); +#endif + state.add_osmux_hdr = 1; + } + + osmux_link_put(link, &state); + osmux_circuit_dequeue(circuit, cur); + prev_amr_ft = state.amrh->ft; + ctr++; + msgb_free(cur); + link->nmsgs--; + } + } + return batch_msg; +} + +void osmux_xfrm_input_deliver(struct osmux_in_handle *h) +{ + struct msgb *batch_msg; + struct osmux_link *link = (struct osmux_link *)h->internal_data; + +#ifdef DEBUG_MSG + LOGMUXLK(link, LOGL_DEBUG, "Invoking delivery function\n"); +#endif + batch_msg = osmux_build_batch(link); + if (!batch_msg) + return; + h->stats.output_osmux_msgs++; + h->stats.output_osmux_bytes += batch_msg->len; + + h->deliver(batch_msg, h->data); + osmo_timer_del(&link->timer); + link->remaining_bytes = h->batch_size; + + if (link->ndummy) + osmo_timer_schedule(&link->timer, 0, h->batch_factor * DELTA_RTP_MSG); +} + +static void osmux_link_timer_expired(void *data) +{ + struct osmux_in_handle *h = data; + +#ifdef DEBUG_MSG + const struct osmux_link *link = (struct osmux_link *)h->internal_data; + LOGMUXLK(link, LOGL_DEBUG, "Batch delivery timer timeout\n"); +#endif + osmux_xfrm_input_deliver(h); +} + +static int osmux_rtp_amr_payload_len(struct amr_hdr *amrh, uint32_t amr_len) +{ + int amr_payload_len; + + if (!osmo_amr_ft_valid(amrh->ft)) + return -1; + + amr_payload_len = amr_len - sizeof(struct amr_hdr); + + /* The AMR payload does not fit with what we expect */ + if (osmo_amr_bytes(amrh->ft) != amr_payload_len) { + LOGP(DLMUX, LOGL_ERROR, + "Bad AMR frame FT=%u, expected %zd bytes, got %d bytes\n", + amrh->ft, osmo_amr_bytes(amrh->ft), amr_len); + return -1; + } + return amr_payload_len; +} + +/* Last stored AMR FT to be added in the current osmux batch. -1 if none stored yet */ +static int osmux_circuit_get_last_stored_amr_ft(struct osmux_circuit *circuit) +{ + struct msgb *last; + struct rtp_hdr *rtph; + struct amr_hdr *amrh; + uint32_t amr_len; + /* Have we seen any RTP packet in this batch before? */ + if (llist_empty(&circuit->msg_list)) + return -1; + OSMO_ASSERT(circuit->nmsgs > 0); + + /* Get last RTP packet seen in this batch */ + last = llist_entry(circuit->msg_list.prev, struct msgb, list); + rtph = osmo_rtp_get_hdr(last); + amrh = osmo_rtp_get_payload(rtph, last, &amr_len); + if (amrh == NULL) + return -1; + return amrh->ft; + +} + +static struct osmux_circuit * +osmux_link_find_circuit(struct osmux_link *link, int ccid) +{ + struct osmux_circuit *circuit; + + llist_for_each_entry(circuit, &link->circuit_list, head) { + if (circuit->ccid == ccid) + return circuit; + } + return NULL; +} + +static void osmux_link_del_circuit(struct osmux_link *link, struct osmux_circuit *circuit) +{ + if (circuit->dummy) + link->ndummy--; + llist_del(&circuit->head); + osmux_circuit_del_msgs(link, circuit); + talloc_free(circuit); +} + +/* returns: 1 if batch is full, 0 if batch still not full, negative on error. */ +static int osmux_link_add(struct osmux_link *link, const struct osmux_in_req *req) +{ + unsigned int needed_bytes = 0; + int rc; + /* Init of talkspurt (RTP M marker bit) needs to be in the first AMR slot + * of the OSMUX packet, enforce sending previous batch if required: + */ + if (req->rtph->marker && req->circuit->nmsgs != 0) + return 1; + + /* First check if there is room for this message in the batch */ + /* First in batch comes after the batch header: */ + if (req->circuit->nmsgs == 0) + needed_bytes += sizeof(struct osmux_hdr); + /* If AMR FT changes in the middle of current batch a new header is + * required to adapt to size change: */ + else if (osmux_circuit_get_last_stored_amr_ft(req->circuit) != req->amrh->ft) + needed_bytes += sizeof(struct osmux_hdr); + needed_bytes += req->amr_payload_len; + + /* No room, sorry. You'll have to retry */ + if (needed_bytes > link->remaining_bytes) + return 1; + + /* This batch is full, force batch delivery */ + rc = osmux_circuit_enqueue(link, req->circuit, req->msg); + if (rc != 0) + return rc; + +#ifdef DEBUG_MSG + LOGMUXCID(link, req->circuit, LOGL_DEBUG, "Adding msg with ssrc=%u to batch\n", + req->rtph->ssrc); +#endif + + /* Update remaining room in this batch */ + link->remaining_bytes -= needed_bytes; + + if (link->nmsgs == 0) { +#ifdef DEBUG_MSG + LOGMUXLK(link, LOGL_DEBUG, "Osmux start batch delivery timer\n"); +#endif + osmo_timer_schedule(&link->timer, 0, + link->h->batch_factor * DELTA_RTP_MSG); + } + link->nmsgs++; + + return 0; +}; + +/* returns: 1 if batch is full, 0 if batch still not full, negative on error. */ +static int osmux_replay_lost_packets(struct osmux_link *link, const struct osmux_in_req *req) +{ + int16_t diff; + uint16_t lost_pkts; + struct msgb *copy_from; + uint16_t last_seq, cur_seq; + uint32_t last_ts; + int i, rc; + struct osmux_in_req clone_req; + + /* If M bit is set, this is a sync point, so any sort of seq jump is expected and has no real meaning. */ + if (req->rtph->marker) + return 0; + + /* Have we seen any RTP packet in this batch before? */ + if (llist_empty(&req->circuit->msg_list)) { + /* Since current batch is empty, it can be assumed: + * 1- circuit->last_transmitted_rtp_seq is either unset or really contains the last RTP enqueued + * 2- This pkt will generate an osmuxhdr and hence there's no + * restriction on the FT, as opposite to the case where the batch + * is half full + * Conclusion: + * 1- It is fine using circuit->last_transmitted_rtp_seq as last enqueued RTP header to detect seqnum jumps. + * 2- It is fine filling holes at the start of the batch by using current req->rtph. + */ + if (req->circuit->last_transmitted_rtp_seq == -1) + return 0; /* first message in circuit, do nothing */ + copy_from = req->msg; + last_seq = req->circuit->last_transmitted_rtp_seq; + last_ts = req->circuit->last_transmitted_rtp_ts; + } else { + /* Get last RTP packet seen in this batch, so that we simply keep filling with same osmuxhdr */ + struct rtp_hdr *last_rtph; + copy_from = llist_entry(req->circuit->msg_list.prev, struct msgb, list); + last_rtph = osmo_rtp_get_hdr(copy_from); + if (last_rtph == NULL) + return -1; + last_seq = ntohs(last_rtph->sequence); + last_ts = ntohl(last_rtph->timestamp); + } + cur_seq = ntohs(req->rtph->sequence); + diff = cur_seq - last_seq; + + /* If diff between last RTP packet seen and this one is > 1, + * then we lost several RTP packets, let's replay them. + */ + if (diff <= 1) + return 0; + lost_pkts = diff - 1; + + LOGMUXCID(link, req->circuit, LOGL_INFO, + "RTP seq jump detected: %" PRIu16 " -> %" PRIu16 " (%" PRId16 + " lost packets)\n", + last_seq, cur_seq, lost_pkts); + + /* We know we can feed only up to batch_factor before osmux_link_add() + * returning 1 signalling "transmission needed, call deliver() and retry". + * Hence, it doesn't make sense to even attempt recreating a big number of + * RTP packets (>batch_factor). + */ + if (lost_pkts > link->h->batch_factor - req->circuit->nmsgs) { + if (llist_empty(&req->circuit->msg_list)) { + /* If we are starting a batch, it doesn't make sense to keep filling entire + * batches with lost packets, since it could potentially end up in a loop if + * the lost_pkts value is huge. Instead, avoid recreating packets and let the + * osmux encoder set an M bit on the osmuxhdr when acting upon current req->rtph. + */ + return 0; + } + lost_pkts = link->h->batch_factor - req->circuit->nmsgs; + } + + rc = 0; + clone_req = *req; + for (i = 0; i < lost_pkts; i++) { + /* Clone last (or new if last not available) RTP packet seen */ + clone_req.msg = msgb_copy(copy_from, "RTP clone"); + if (!clone_req.msg) + continue; + + /* The original RTP message has been already sanity checked. */ + clone_req.rtph = osmo_rtp_get_hdr(clone_req.msg); + clone_req.amrh = osmo_rtp_get_payload(clone_req.rtph, clone_req.msg, &clone_req.rtp_payload_len); + clone_req.amr_payload_len = osmux_rtp_amr_payload_len(clone_req.amrh, clone_req.rtp_payload_len); + + /* Faking a follow up RTP pkt here, so no Marker bit: */ + clone_req.rtph->marker = false; + /* Adjust sequence number and timestamp */ + clone_req.rtph->sequence = htons(last_seq + 1 + i); + clone_req.rtph->timestamp = last_ts + ((1 + i) * DELTA_RTP_TIMESTAMP); + rc = osmux_link_add(link, &clone_req); + /* No more room in this batch, skip padding with more clones */ + if (rc != 0) { + msgb_free(clone_req.msg); + return rc; + } + } + return rc; +} + +/* returns: 1 if batch is full, 0 if batch still not full, negative on error. */ +static int osmux_link_handle_rtp_req(struct osmux_link *link, struct osmux_in_req *req) +{ + struct msgb *cur, *next; + int rc; + + /* We've seen the first RTP message, disable dummy padding */ + if (req->circuit->dummy) { + req->circuit->dummy = 0; + link->ndummy--; + } + + /* Extra validation: check if this message already exists, should not + * happen but make sure we don't propagate duplicated messages. + */ + llist_for_each_entry_safe(cur, next, &req->circuit->msg_list, list) { + struct rtp_hdr *rtph2 = osmo_rtp_get_hdr(cur); + OSMO_ASSERT(rtph2); + + /* Already exists message with this sequence. Let's copy over + * the new RTP, since there's the chance that the existing one may + * be a forged copy we did when we detected a hole. */ + if (rtph2->sequence == req->rtph->sequence) { + if (msgb_length(cur) != msgb_length(req->msg)) { + /* Different packet size, AMR FT may have changed. Let's avoid changing it to + * break accounted size to be written (would need new osmux_hdr, etc.) */ + LOGMUXCID(link, req->circuit, LOGL_NOTICE, + "RTP pkt with seq=%u and different len %u != %u already exists, skip it\n", + ntohs(req->rtph->sequence), msgb_length(cur), msgb_length(req->msg)); + return -1; + } + LOGMUXCID(link, req->circuit, LOGL_INFO, + "RTP pkt with seq=%u already exists, replace it\n", + ntohs(req->rtph->sequence)); + __llist_add(&req->msg->list, &cur->list, cur->list.next); + llist_del(&cur->list); + msgb_free(cur); + return 0; + } + } + + /* Handle RTP packet loss scenario */ + rc = osmux_replay_lost_packets(link, req); + if (rc != 0) + return rc; + + return osmux_link_add(link, req); +} + +/** + * osmux_xfrm_input - add RTP message to OSmux batch + * \param msg: RTP message that you want to batch into one OSmux message + * + * If 0 is returned, this indicates that the message has been batched and the + * msgb is now owned by the osmux layer. + * If negative value is returned, an error occurred and the message has been + * dropped (and freed). + * If 1 is returned, you have to invoke osmux_xfrm_input_deliver and try again. + * + * The function takes care of releasing the messages in case of error and + * when building the batch. + */ +int osmux_xfrm_input(struct osmux_in_handle *h, struct msgb *msg, int ccid) +{ + int ret; + struct osmux_link *link = (struct osmux_link *)h->internal_data; + struct osmux_in_req req = { + .msg = msg, + .rtph = osmo_rtp_get_hdr(msg), + .circuit = osmux_link_find_circuit(link, ccid), + }; + + if (!req.circuit) { + LOGMUXLK(link, LOGL_INFO, "Couldn't find circuit CID=%u\n", ccid); + goto err_free; + } + + if (!req.rtph) { + LOGMUXCID(link, req.circuit, LOGL_NOTICE, "msg not containing an RTP header\n"); + goto err_free; + } + + /* Ignore too big RTP/RTCP messages, most likely forged. Sanity check + * to avoid a possible forever loop in the caller. + */ + if (msg->len > h->batch_size - sizeof(struct osmux_hdr)) { + LOGMUXCID(link, req.circuit, LOGL_NOTICE, + "RTP payload too big (%u) for configured batch size (%u)\n", + msg->len, h->batch_size); + goto err_free; + } + + switch (req.rtph->payload_type) { + case RTP_PT_RTCP: + LOGMUXCID(link, req.circuit, LOGL_INFO, "Dropping RTCP packet\n"); + msgb_free(msg); + return 0; + default: + /* The RTP payload type is dynamically allocated, + * although we use static ones. Assume that we always + * receive AMR traffic. + */ + req.amrh = osmo_rtp_get_payload(req.rtph, req.msg, &req.rtp_payload_len); + if (req.amrh == NULL) + goto err_free; + req.amr_payload_len = osmux_rtp_amr_payload_len(req.amrh, req.rtp_payload_len); + if (req.amr_payload_len < 0) { + LOGMUXCID(link, req.circuit, LOGL_NOTICE, "AMR payload invalid\n"); + goto err_free; + } + + /* Add this RTP to the OSMUX batch */ + ret = osmux_link_handle_rtp_req(link, &req); + if (ret < 0) { + /* Cannot put this message into the batch. + * Malformed, duplicated, OOM. Drop it and tell + * the upper layer that we have digest it. + */ + LOGMUXCID(link, req.circuit, LOGL_DEBUG, "Dropping RTP packet instead of adding to batch\n"); + goto err_free; + } + + h->stats.input_rtp_msgs++; + h->stats.input_rtp_bytes += msg->len; + break; + } + return ret; + +err_free: + msgb_free(msg); + return -1; +} + +static int osmux_xfrm_input_talloc_destructor(struct osmux_in_handle *h) +{ + struct osmux_link *link = (struct osmux_link *)h->internal_data; + struct osmux_circuit *circuit, *next; + + llist_for_each_entry_safe(circuit, next, &link->circuit_list, head) + osmux_link_del_circuit(link, circuit); + + osmo_timer_del(&link->timer); + talloc_free(link); + return 0; +} + +/*! \brief Allocate a new osmux in handle (osmux source, tx side) + * \paramin ctx talloc context to use when allocating the returned struct + * \return Allocated osmux in handle + * + * This object contains configuration and state to handle a group of circuits (trunk), + * receiving RTP packets from the upper layer (API user) and sending batched & + * trunked Osmux messages containing all the data of those circuits down the + * stack outgoing network Osmux messages. + * Returned pointer can be freed with regular talloc_free, all pending messages + * in queue and all internal data will be freed. */ +static unsigned int next_default_name_idx = 0; +struct osmux_in_handle *osmux_xfrm_input_alloc(void *ctx) +{ + struct osmux_in_handle *h; + struct osmux_link *link; + + h = talloc_zero(ctx, struct osmux_in_handle); + OSMO_ASSERT(h); + + h->batch_size = OSMUX_BATCH_DEFAULT_MAX; + + link = talloc_zero(h, struct osmux_link); + OSMO_ASSERT(link); + INIT_LLIST_HEAD(&link->circuit_list); + link->h = h; + link->remaining_bytes = h->batch_size; + link->name = talloc_asprintf(link, "input-%u", next_default_name_idx++); + osmo_timer_setup(&link->timer, osmux_link_timer_expired, h); + + h->internal_data = (void *)link; + + LOGMUXLK(link, LOGL_DEBUG, "Initialized osmux input converter\n"); + + talloc_set_destructor(h, osmux_xfrm_input_talloc_destructor); + return h; +} + +/* DEPRECATED: Use osmux_xfrm_input_alloc() instead */ +void osmux_xfrm_input_init(struct osmux_in_handle *h) +{ + struct osmux_link *link; + + /* Default to osmux packet size if not specified */ + if (h->batch_size == 0) + h->batch_size = OSMUX_BATCH_DEFAULT_MAX; + + link = talloc_zero(osmux_ctx, struct osmux_link); + if (link == NULL) + return; + INIT_LLIST_HEAD(&link->circuit_list); + link->h = h; + link->remaining_bytes = h->batch_size; + link->name = talloc_asprintf(link, "%u", next_default_name_idx++); + osmo_timer_setup(&link->timer, osmux_link_timer_expired, h); + + h->internal_data = (void *)link; + + LOGMUXLK(link, LOGL_DEBUG, "Initialized osmux input converter\n"); +} + +int osmux_xfrm_input_set_batch_factor(struct osmux_in_handle *h, uint8_t batch_factor) +{ + if (batch_factor > 8) + return -1; + h->batch_factor = batch_factor; + return 0; +} + +void osmux_xfrm_input_set_batch_size(struct osmux_in_handle *h, uint16_t batch_size) +{ + if (batch_size == 0) + h->batch_size = OSMUX_BATCH_DEFAULT_MAX; + else + h->batch_size = batch_size; +} + +void osmux_xfrm_input_set_initial_seqnum(struct osmux_in_handle *h, uint8_t osmux_seqnum) +{ + h->osmux_seq = osmux_seqnum; +} + +void osmux_xfrm_input_set_deliver_cb(struct osmux_in_handle *h, + void (*deliver_cb)(struct msgb *msg, void *data), void *data) +{ + h->deliver = deliver_cb; + h->data = data; +} + +void *osmux_xfrm_input_get_deliver_cb_data(struct osmux_in_handle *h) +{ + return h->data; +} + +void osmux_xfrm_input_set_name(struct osmux_in_handle *h, const char *name) +{ + struct osmux_link *link = (struct osmux_link *)h->internal_data; + osmo_talloc_replace_string(link, &link->name, name); +} + +int osmux_xfrm_input_open_circuit(struct osmux_in_handle *h, int ccid, + int dummy) +{ + struct osmux_link *link = (struct osmux_link *)h->internal_data; + struct osmux_circuit *circuit; + + circuit = osmux_link_find_circuit(link, ccid); + if (circuit != NULL) { + LOGMUXLK(link, LOGL_ERROR, "circuit %u already exists!\n", ccid); + return -1; + } + + circuit = talloc_zero(osmux_ctx, struct osmux_circuit); + if (circuit == NULL) { + LOGMUXLK(link, LOGL_ERROR, "OOM on circuit %u\n", ccid); + return -1; + } + + circuit->ccid = ccid; + circuit->seq = h->osmux_seq; + circuit->last_transmitted_rtp_seq = -1; /* field unset */ + INIT_LLIST_HEAD(&circuit->msg_list); + llist_add_tail(&circuit->head, &link->circuit_list); + + if (dummy) { + circuit->dummy = dummy; + link->ndummy++; + if (!osmo_timer_pending(&link->timer)) + osmo_timer_schedule(&link->timer, 0, + h->batch_factor * DELTA_RTP_MSG); + } + LOGMUXCID(link, circuit, LOGL_INFO, "Circuit opened successfully\n"); + return 0; +} + +void osmux_xfrm_input_close_circuit(struct osmux_in_handle *h, int ccid) +{ + struct osmux_link *link = (struct osmux_link *)h->internal_data; + struct osmux_circuit *circuit; + + circuit = osmux_link_find_circuit(link, ccid); + if (circuit == NULL) { + LOGMUXLK(link, LOGL_NOTICE, "Unable to close circuit %d: Not found\n", + ccid); + return; + } + + LOGMUXCID(link, circuit, LOGL_INFO, "Closing circuit\n"); + + osmux_link_del_circuit(link, circuit); +} + +/* DEPRECATED: Use talloc_free() instead (will call osmux_xfrm_input_talloc_destructor()) */ +void osmux_xfrm_input_fini(struct osmux_in_handle *h) +{ + (void)osmux_xfrm_input_talloc_destructor(h); +} + +/*! @} */
View file
libosmo-netif_1.3.0.tar.xz/src/osmux_output.c
Added
@@ -0,0 +1,396 @@ +/* + * (C) 2012-2017 by Pablo Neira Ayuso <pablo@gnumonks.org> + * (C) 2012 by On Waves ehf <http://www.on-waves.com> + * (C) 2015-2022 by sysmocom - s.f.m.c. GmbH + * + * 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 <stdio.h> +#include <string.h> + +#include <osmocom/core/msgb.h> +#include <osmocom/core/timer.h> +#include <osmocom/core/timer_compat.h> +#include <osmocom/core/select.h> +#include <osmocom/core/talloc.h> +#include <osmocom/core/logging.h> + +#include <osmocom/netif/amr.h> +#include <osmocom/netif/rtp.h> +#include <osmocom/netif/osmux.h> + +#include <arpa/inet.h> + +/*! \addtogroup osmux Osmocom Multiplex Protocol + * @{ + * + * This code implements a variety of utility functions related to the + * OSMUX user-plane multiplexing protocol, an efficient alternative to + * plain UDP/RTP streams for voice transport in back-haul of cellular + * networks. + * + * For information about the OSMUX protocol design, please see the + * OSMUX reference manual at + * http://ftp.osmocom.org/docs/latest/osmux-reference.pdf + */ + +/*! \file osmux_output.c + * \brief Osmocom multiplex protocol helpers (output) + */ + +/* delta time between two RTP messages (in microseconds) */ +#define DELTA_RTP_MSG 20000 +/* delta time between two RTP messages (in samples, 8kHz) */ +#define DELTA_RTP_TIMESTAMP 160 + +static uint32_t osmux_ft_dummy_size(uint8_t amr_ft, uint8_t batch_factor) +{ + return sizeof(struct osmux_hdr) + (osmo_amr_bytes(amr_ft) * batch_factor); +} + +struct osmux_hdr *osmux_xfrm_output_pull(struct msgb *msg) +{ + struct osmux_hdr *osmuxh; + size_t len; + +next: + if (msgb_length(msg) == 0) + return NULL; /* base case, we drained the msg successfully, tell user it is done. */ + + if (msgb_length(msg) < sizeof(struct osmux_hdr)) { + LOGP(DLMUX, LOGL_ERROR, "remaining %d bytes, broken osmuxhdr?\n", msgb_length(msg)); + return NULL; + } + + osmuxh = (struct osmux_hdr *)msgb_data(msg); + switch (osmuxh->ft) { + case OSMUX_FT_VOICE_AMR: + if (!osmo_amr_ft_valid(osmuxh->amr_ft)) { + LOGP(DLMUX, LOGL_ERROR, "Discarding bad AMR FT %d\n", osmuxh->amr_ft); + return NULL; + } + len = osmo_amr_bytes(osmuxh->amr_ft) * (osmuxh->ctr + 1) + sizeof(struct osmux_hdr); + if (msgb_length(msg) < len) { + LOGP(DLMUX, LOGL_ERROR, + "Discarding malformed OSMUX message: %s\n", + osmo_hexdump(msgb_data(msg), msgb_length(msg))); + return NULL; + } + msgb_pull(msg, len); + return osmuxh; + + case OSMUX_FT_DUMMY: + if (!osmo_amr_ft_valid(osmuxh->amr_ft)) { + LOGP(DLMUX, LOGL_ERROR, "Discarding bad Dummy FT: amr_ft=%u\n", osmuxh->amr_ft); + return NULL; + } + len = osmux_ft_dummy_size(osmuxh->amr_ft, osmuxh->ctr + 1); + if (msgb_length(msg) < len) { + LOGP(DLMUX, LOGL_ERROR, "Discarding bad Dummy FT: %s\n", + osmo_hexdump(msgb_data(msg), msgb_length(msg))); + return NULL; + } + msgb_pull(msg, len); + goto next; + + default: + LOGP(DLMUX, LOGL_ERROR, "Discarding unsupported Osmux FT %d\n", + osmuxh->ft); + return NULL; + } +} + +static struct msgb * +osmux_rebuild_rtp(struct osmux_out_handle *h, struct osmux_hdr *osmuxh, + void *payload, int payload_len, bool first_pkt) +{ + struct msgb *prev_msg, *out_msg; + struct timespec *prev_ts, *out_ts; + struct rtp_hdr *rtph; + struct amr_hdr *amrh; + struct timespec delta = { .tv_sec = 0, .tv_nsec = DELTA_RTP_MSG*1000 }; + unsigned int msg_len = sizeof(struct rtp_hdr) + + sizeof(struct amr_hdr) + + payload_len; + + if (h->rtp_msgb_alloc_cb) { + out_msg = h->rtp_msgb_alloc_cb(h->rtp_msgb_alloc_cb_data, msg_len); + } else { + out_msg = msgb_alloc(msg_len, "osmux-rtp"); + } + if (out_msg == NULL) + return NULL; + + /* Reconstruct RTP header */ + rtph = (struct rtp_hdr *)out_msg->data; + rtph->csrc_count = 0; + rtph->extension = 0; + rtph->version = RTP_VERSION; + rtph->payload_type = h->rtp_payload_type; + /* ... emulate timestamp and ssrc */ + rtph->timestamp = htonl(h->rtp_timestamp); + rtph->sequence = htons(h->rtp_seq); + rtph->ssrc = htonl(h->rtp_ssrc); + /* rtp packet with the marker bit is always guaranteed to be the first + * one. We want to notify with marker in 2 scenarios: + * 1- Sender told us through osmux frame rtp_m. + * 2- Intermediate osmux frame lost (seq gap), otherwise rtp receiver only sees + * steady increase of delay + */ + rtph->marker = first_pkt && + (osmuxh->rtp_m || (osmuxh->seq != ((h->osmux_seq_ack + 1) & 0xff))); + + msgb_put(out_msg, sizeof(struct rtp_hdr)); + + /* Reconstruct AMR header */ + amrh = (struct amr_hdr *)out_msg->tail; + amrh->cmr = osmuxh->amr_cmr; + amrh->f = osmuxh->amr_f; + amrh->ft = osmuxh->amr_ft; + amrh->q = osmuxh->amr_q; + + msgb_put(out_msg, sizeof(struct amr_hdr)); + + /* add AMR speech data */ + if (payload_len > 0) { + memcpy(out_msg->tail, payload, payload_len); + msgb_put(out_msg, payload_len); + } + + /* bump last RTP sequence number and timestamp that has been used */ + h->rtp_seq++; + h->rtp_timestamp += DELTA_RTP_TIMESTAMP; + + out_ts = ((struct timespec *)&((out_msg)->cb0)); + if (first_pkt || llist_empty(&h->list)) { + osmo_clock_gettime(CLOCK_MONOTONIC, out_ts); + } else { + prev_msg = llist_last_entry(&h->list, struct msgb, list); + prev_ts = ((struct timespec *)&((prev_msg)->cb0)); + timespecadd(prev_ts, &delta, out_ts); + } + + return out_msg; +} + +static void osmux_xfrm_output_trigger(void *data) +{ + struct osmux_out_handle *h = data; + struct timespec delay_ts, now; + struct msgb *msg, *next; + + llist_for_each_entry_safe(msg, next, &h->list, list) { + osmo_clock_gettime(CLOCK_MONOTONIC, &now); + struct timespec *msg_ts = ((struct timespec *)&((msg)->cb0)); + if (timespeccmp(msg_ts, &now, >)) { + timespecsub(msg_ts, &now, &delay_ts); + osmo_timer_schedule(&h->timer, + delay_ts.tv_sec, delay_ts.tv_nsec / 1000); + return; + } + + /* Transmit the rtp packet */ + llist_del(&msg->list); + if (h->tx_cb) + h->tx_cb(msg, h->data); + else + msgb_free(msg); + } +} + +/*! \brief Generate RTP packets from osmux frame AMR payload set and schedule + * them for transmission at appropriate time. + * \paramin h the osmux out handle handling a specific CID + * \paramin osmuxh Buffer pointing to osmux frame header structure and AMR payload + * \return Number of generated RTP packets + * + * The osmux frame passed to this function must be of the type OSMUX_FT_VOICE_AMR. + * The generated RTP packets are kept into h's internal list and sent to the + * callback configured through osmux_xfrm_output_set_tx_cb when are ready to be + * transmitted according to schedule. + */ +int osmux_xfrm_output_sched(struct osmux_out_handle *h, struct osmux_hdr *osmuxh) +{ + struct timespec now, *msg_ts; + struct msgb *msg; + int i; + bool was_empty = llist_empty(&h->list); + + if (!was_empty) { + /* If we received new data it means we are behind schedule and + * we should flush all previous quickly */ + osmo_clock_gettime(CLOCK_MONOTONIC, &now); + llist_for_each_entry(msg, &h->list, list) { + msg_ts = ((struct timespec *)&((msg)->cb0)); + *msg_ts = now; + } + osmo_timer_schedule(&h->timer, 0, 0); + } + + for (i = 0; i < osmuxh->ctr + 1; i++) { + struct rtp_hdr *rtph; + + msg = osmux_rebuild_rtp(h, osmuxh, + osmux_get_payload(osmuxh) + + i * osmo_amr_bytes(osmuxh->amr_ft), + osmo_amr_bytes(osmuxh->amr_ft), !i); + if (msg == NULL) + continue; + + rtph = osmo_rtp_get_hdr(msg); + if (rtph == NULL) + continue; + + llist_add_tail(&msg->list, &h->list); + } + + /* Update last seen seq number: */ + h->osmux_seq_ack = osmuxh->seq; + + /* In case list is still empty after parsing messages, no need to rearm */ + if (was_empty && !llist_empty(&h->list)) + osmux_xfrm_output_trigger(h); + return i; +} + +/*! \brief Flush all scheduled RTP packets still pending to be transmitted + * \paramin h the osmux out handle to flush + * + * This function will immediately call the transmit callback for all queued RTP + * packets, making sure the list ends up empty. It will also stop all internal + * timers to make sure the osmux_out_handle can be dropped or re-used by calling + * osmux_xfrm_output on it. + */ +void osmux_xfrm_output_flush(struct osmux_out_handle *h) +{ + struct msgb *msg, *next; + + if (osmo_timer_pending(&h->timer)) + osmo_timer_del(&h->timer); + + llist_for_each_entry_safe(msg, next, &h->list, list) { + llist_del(&msg->list); + if (h->tx_cb) + h->tx_cb(msg, h->data); + else + msgb_free(msg); + } +} + +struct osmux_tx_handle { + struct osmo_timer_list timer; + struct msgb *msg; + void (*tx_cb)(struct msgb *msg, void *data); + void *data; +}; + +static int osmux_xfrm_output_talloc_destructor(struct osmux_out_handle *h) +{ + osmux_xfrm_output_flush(h); + return 0; +} + +/* Placeholder to avoid init code duplication while keeping backward + * compatilbility with deprecated osmux_xfrm_output_init{2}() APIs. */ +static void _osmux_xfrm_output_init(struct osmux_out_handle *h, uint32_t rtp_ssrc, uint8_t rtp_payload_type) +{ + 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); +} + +/*! \brief Allocate a new osmux out handle + * \paramin ctx talloc context to use when allocating the returned struct + * \return Allocated osmux out handle + * + * This object contains configuration and state to handle a specific CID in + * incoming network Osmux messages, repackaging the frames for that CID as RTP + * packets and pushing them up the protocol stack. + * Returned pointer can be freed with regular talloc_free, queue will be flushed + * and all internal data will be freed. */ +struct osmux_out_handle *osmux_xfrm_output_alloc(void *ctx) +{ + struct osmux_out_handle *h; + + h = talloc_zero(ctx, struct osmux_out_handle); + OSMO_ASSERT(h); + + _osmux_xfrm_output_init(h, (uint32_t)random(), 98); + + talloc_set_destructor(h, osmux_xfrm_output_talloc_destructor); + return h; +} + +/* DEPRECATED: Use osmux_xfrm_output_alloc() and osmux_xfrm_output_set_rtp_*() instead */ +void osmux_xfrm_output_init2(struct osmux_out_handle *h, uint32_t rtp_ssrc, uint8_t rtp_payload_type) +{ + memset(h, 0, sizeof(*h)); + _osmux_xfrm_output_init(h, rtp_ssrc, rtp_payload_type); +} + +/* DEPRECATED: Use osmux_xfrm_output_alloc() and osmux_xfrm_output_set_rtp_*() instead */ +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() */ + memset(h, 0, sizeof(*h)); + _osmux_xfrm_output_init(h, rtp_ssrc, 98); +} + +/*! \brief Set transmission callback to call when a generated RTP packet is to be transmitted + * \paramin h the osmux out handle handling a specific CID + * \paramin osmuxh Buffer pointing to osmux frame header structure and AMR payload + * \return Number of generated RTP packets + * + * This Function sets the callback called by the interal timer set by + * osmux_xfrm_out_sched function. + */ +void osmux_xfrm_output_set_tx_cb(struct osmux_out_handle *h, + void (*tx_cb)(struct msgb *msg, void *data), + void *data) +{ + h->tx_cb = tx_cb; + h->data = data; +} + +/*! \brief Set callback to call when an RTP packet to be generated is to be allocated + * \paramin h the osmux out handle handling a specific CID + * \paramin cb User defined msgb alloc function for generated RTP pkts + * \paramin cb_data Opaque data pointer set by user and passed in \ref cb + * \return msgb structure to be used to fill in generated RTP pkt content + */ +void osmux_xfrm_output_set_rtp_msgb_alloc_cb(struct osmux_out_handle *h, + rtp_msgb_alloc_cb_t cb, + void *cb_data) +{ + h->rtp_msgb_alloc_cb = cb; + h->rtp_msgb_alloc_cb_data = cb_data; +} + +/*! \brief Set SSRC of generated RTP packets from Osmux frames + * \paramin h the osmux out handle handling a specific CID + * \paramin rtp_ssrc the RTP SSRC to set + */ +void osmux_xfrm_output_set_rtp_ssrc(struct osmux_out_handle *h, uint32_t rtp_ssrc) +{ + h->rtp_ssrc = rtp_ssrc; +} + +/*! \brief Set Payload Type of generated RTP packets from Osmux frames + * \paramin h the osmux out handle handling a specific CID + * \paramin rtp_payload_type the RTP Payload Type to set + */ +void osmux_xfrm_output_set_rtp_pl_type(struct osmux_out_handle *h, uint32_t rtp_payload_type) +{ + h->rtp_payload_type = rtp_payload_type; +} + +/*! @} */
View file
libosmo-netif_1.2.0.tar.xz/src/rtp.c -> libosmo-netif_1.3.0.tar.xz/src/rtp.c
Changed
@@ -89,13 +89,14 @@ struct rtp_hdr *osmo_rtp_get_hdr(struct msgb *msg) { - struct rtp_hdr *rtph = (struct rtp_hdr *)msg->data; + struct rtp_hdr *rtph; if (msg->len < sizeof(struct rtp_hdr)) { DEBUGPC(DLMUX, "received RTP frame too short (len = %d)\n", msg->len); return NULL; } + rtph = (struct rtp_hdr *)msg->data; if (rtph->version != RTP_VERSION) { DEBUGPC(DLMUX, "received RTP version %d not supported.\n", rtph->version); @@ -198,7 +199,8 @@ rtph->timestamp = htonl(h->tx.timestamp); h->tx.timestamp += duration; rtph->ssrc = htonl(h->tx.ssrc); - memcpy(msg->data + sizeof(struct rtp_hdr), data, payload_len); + if (payload_len > 0) + memcpy(msg->data + sizeof(struct rtp_hdr), data, payload_len); msgb_put(msg, sizeof(struct rtp_hdr) + payload_len); return msg;
View file
libosmo-netif_1.2.0.tar.xz/src/sctp.c -> libosmo-netif_1.3.0.tar.xz/src/sctp.c
Changed
@@ -10,6 +10,19 @@ { 0, NULL } }; +const struct value_string osmo_sctp_paddr_chg_strs = { + { SCTP_ADDR_AVAILABLE, "ADDR_AVAILABLE" }, + { SCTP_ADDR_UNREACHABLE, "ADDR_UNREACHABLE" }, + { SCTP_ADDR_REMOVED, "ADDR_REMOVED" }, + { SCTP_ADDR_ADDED, "ADDR_ADDED" }, + { SCTP_ADDR_MADE_PRIM, "ADDR_MADE_PRIM" }, + { SCTP_ADDR_CONFIRMED, "ADDR_CONFIRMED" }, +#ifdef SCTP_ADDR_PF + { SCTP_ADDR_PF, "ADDR_POTENTIALLY_FAILED" }, +#endif + { 0, NULL } +}; + const struct value_string osmo_sctp_sn_type_strs = { { SCTP_ASSOC_CHANGE, "ASSOC_CHANGE" }, { SCTP_PEER_ADDR_CHANGE, "PEER_ADDR_CHANGE" }, @@ -26,3 +39,15 @@ #endif { 0, NULL } }; + + +const struct value_string osmo_sctp_sn_error_strs = { + { SCTP_FAILED_THRESHOLD, "FAILED_THRESHOLD" }, + { SCTP_RECEIVED_SACK, "RECEIVED_SACK" }, + { SCTP_HEARTBEAT_SUCCESS, "HEARTBEAT_SUCCESS" }, + { SCTP_RESPONSE_TO_USER_REQ, "RESPONSE_TO_USER_REQ" }, + { SCTP_INTERNAL_ERROR, "INTERNAL_ERROR" }, + { SCTP_SHUTDOWN_GUARD_EXPIRES, "SHUTDOWN_GUARD_EXPIRES" }, + { SCTP_PEER_FAULTY, "PEER_FAULTY" }, + { 0, NULL } +};
View file
libosmo-netif_1.2.0.tar.xz/src/stream.c -> libosmo-netif_1.3.0.tar.xz/src/stream.c
Changed
@@ -49,6 +49,8 @@ #include <netinet/sctp.h> #endif +#include <osmocom/netif/sctp.h> + #define LOGSCLI(cli, level, fmt, args...) \ LOGP(DLINP, level, "%s %s(): " fmt, get_value_string(stream_cli_state_names, (cli)->state), __func__, ## args) @@ -87,7 +89,7 @@ return -1; } -static int sctp_sockopt_event_subscribe_size = 0; +static unsigned int sctp_sockopt_event_subscribe_size = 0; static int determine_sctp_sockopt_event_subscribe_size(void) { @@ -96,7 +98,7 @@ int sd, rc; /* only do this once */ - if (sctp_sockopt_event_subscribe_size != 0) + if (sctp_sockopt_event_subscribe_size > 0) return 0; sd = socket(AF_INET, SOCK_STREAM, IPPROTO_SCTP); @@ -108,7 +110,7 @@ if (rc < 0) return rc; - sctp_sockopt_event_subscribe_size = buf_len; + sctp_sockopt_event_subscribe_size = (unsigned int)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); @@ -333,16 +335,14 @@ struct sctp_sndrcvinfo sinfo; #endif struct msgb *msg; - struct llist_head *lh; int ret; if (llist_empty(&cli->tx_queue)) { osmo_fd_write_disable(&cli->ofd); return 0; } - lh = cli->tx_queue.next; - llist_del(lh); - msg = llist_entry(lh, struct msgb, list); + msg = llist_first_entry(&cli->tx_queue, struct msgb, list); + llist_del(&msg->list); if (!osmo_stream_cli_is_connected(cli)) { LOGSCLI(cli, LOGL_ERROR, "not connected, dropping data!\n"); @@ -353,7 +353,7 @@ switch (cli->sk_domain) { case AF_UNIX: - ret = send(cli->ofd.fd, msg->data, msg->len, 0); + ret = send(cli->ofd.fd, msgb_data(msg), msgb_length(msg), 0); break; case AF_UNSPEC: case AF_INET: @@ -364,26 +364,40 @@ memset(&sinfo, 0, sizeof(sinfo)); sinfo.sinfo_ppid = htonl(msgb_sctp_ppid(msg)); sinfo.sinfo_stream = msgb_sctp_stream(msg); - ret = sctp_send(cli->ofd.fd, msg->data, msgb_length(msg), + ret = sctp_send(cli->ofd.fd, msgb_data(msg), msgb_length(msg), &sinfo, MSG_NOSIGNAL); break; #endif case IPPROTO_TCP: default: - ret = send(cli->ofd.fd, msg->data, msgb_length(msg), 0); + ret = send(cli->ofd.fd, msgb_data(msg), msgb_length(msg), 0); break; } break; default: ret = -ENOTSUP; } + + if (ret >= 0 && ret < msgb_length(msg)) { + LOGP(DLINP, LOGL_ERROR, "short send: %d < exp %u\n", ret, msgb_length(msg)); + /* Update msgb and re-add it at the start of the queue: */ + msgb_pull(msg, ret); + llist_add(&msg->list, &cli->tx_queue); + return 0; + } + if (ret < 0) { if (errno == EPIPE || errno == ENOTCONN) { osmo_stream_cli_reconnect(cli); } LOGSCLI(cli, LOGL_ERROR, "error %d to send\n", ret); } + msgb_free(msg); + + if (llist_empty(&cli->tx_queue)) + osmo_fd_write_disable(&cli->ofd); + return 0; } @@ -870,6 +884,8 @@ * \paramin msg Message buffer to enqueue in transmit queue */ void osmo_stream_cli_send(struct osmo_stream_cli *cli, struct msgb *msg) { + OSMO_ASSERT(cli); + OSMO_ASSERT(msg); msgb_enqueue(&cli->tx_queue, msg); osmo_fd_write_enable(&cli->ofd); } @@ -881,6 +897,8 @@ int osmo_stream_cli_recv(struct osmo_stream_cli *cli, struct msgb *msg) { int ret; + OSMO_ASSERT(cli); + OSMO_ASSERT(msg); ret = recv(cli->ofd.fd, msg->data, msg->data_len, 0); if (ret < 0) { @@ -899,6 +917,15 @@ return ret; } +void osmo_stream_cli_clear_tx_queue(struct osmo_stream_cli *cli) +{ + msgb_queue_free(&cli->tx_queue); + /* If in state 'connecting', keep WRITE flag up to receive + * socket connection signal and then transition to STATE_CONNECTED: */ + if (cli->state == STREAM_CLI_STATE_CONNECTED) + osmo_fd_write_disable(&cli->ofd); +} + /* * Server side. */ @@ -1287,22 +1314,20 @@ struct sctp_sndrcvinfo sinfo; #endif struct msgb *msg; - struct llist_head *lh; int ret; - LOGP(DLINP, LOGL_DEBUG, "sending data\n"); - if (llist_empty(&conn->tx_queue)) { osmo_fd_write_disable(&conn->ofd); return; } - lh = conn->tx_queue.next; - llist_del(lh); - msg = llist_entry(lh, struct msgb, list); + msg = llist_first_entry(&conn->tx_queue, struct msgb, list); + llist_del(&msg->list); + + LOGP(DLINP, LOGL_DEBUG, "sending %u bytes of data\n", msg->len); switch (conn->srv->sk_domain) { case AF_UNIX: - ret = send(conn->ofd.fd, msg->data, msg->len, 0); + ret = send(conn->ofd.fd, msgb_data(msg), msgb_length(msg), 0); break; case AF_INET: case AF_INET6: @@ -1313,26 +1338,39 @@ memset(&sinfo, 0, sizeof(sinfo)); sinfo.sinfo_ppid = htonl(msgb_sctp_ppid(msg)); sinfo.sinfo_stream = msgb_sctp_stream(msg); - ret = sctp_send(conn->ofd.fd, msg->data, msgb_length(msg), + ret = sctp_send(conn->ofd.fd, msgb_data(msg), msgb_length(msg), &sinfo, MSG_NOSIGNAL); break; #endif case IPPROTO_TCP: default: - ret = send(conn->ofd.fd, msg->data, msg->len, 0); + ret = send(conn->ofd.fd, msgb_data(msg), msgb_length(msg), 0); break; } break; default: - ret = -ENOTSUP; + ret = -1; + errno = ENOTSUP; } - if (ret < 0) { - LOGP(DLINP, LOGL_ERROR, "error to send\n"); + + if (ret >= 0 && ret < msgb_length(msg)) { + LOGP(DLINP, LOGL_ERROR, "short send: %d < exp %u\n", ret, msgb_length(msg)); + /* Update msgb and re-add it at the start of the queue: */ + msgb_pull(msg, ret); + llist_add(&msg->list, &conn->tx_queue); + return; } + + if (ret == -1) /* send(): On error -1 is returned, and errno is set appropriately */ + LOGP(DLINP, LOGL_ERROR, "error to send: %s\n", strerror(errno)); + msgb_free(msg); - if (llist_empty(&conn->tx_queue) && (conn->flags & OSMO_STREAM_SRV_F_FLUSH_DESTROY)) - osmo_stream_srv_destroy(conn); + if (llist_empty(&conn->tx_queue)) { + osmo_fd_write_disable(&conn->ofd); + if (conn->flags & OSMO_STREAM_SRV_F_FLUSH_DESTROY) + osmo_stream_srv_destroy(conn); + } } static int osmo_stream_srv_cb(struct osmo_fd *ofd, unsigned int what) @@ -1340,7 +1378,7 @@ struct osmo_stream_srv *conn = ofd->data; int rc = 0; - LOGP(DLINP, LOGL_DEBUG, "connected read/write\n"); + LOGP(DLINP, LOGL_DEBUG, "connected read/write (what=0x%x)\n", what); if (what & OSMO_FD_READ) rc = osmo_stream_srv_read(conn); if (rc != -EBADF && (what & OSMO_FD_WRITE)) @@ -1361,6 +1399,8 @@ { struct osmo_stream_srv *conn; + OSMO_ASSERT(link); + conn = talloc_zero(ctx, struct osmo_stream_srv); if (conn == NULL) { LOGP(DLINP, LOGL_ERROR, "cannot allocate new peer in srv, " @@ -1435,8 +1475,9 @@ * \paramin conn Stream Server to be destroyed */ void osmo_stream_srv_destroy(struct osmo_stream_srv *conn) { - close(conn->ofd.fd); osmo_fd_unregister(&conn->ofd); + close(conn->ofd.fd); + conn->ofd.fd = -1; if (conn->closed_cb) conn->closed_cb(conn); msgb_queue_free(&conn->tx_queue); @@ -1448,6 +1489,8 @@ * \paramin msg Message buffer to enqueue in transmit queue */ void osmo_stream_srv_send(struct osmo_stream_srv *conn, struct msgb *msg) { + OSMO_ASSERT(conn); + OSMO_ASSERT(msg); if (conn->flags & OSMO_STREAM_SRV_F_FLUSH_DESTROY) { LOGP(DLINP, LOGL_DEBUG, "Connection is being flushed and closed; ignoring new outgoing message\n"); return; @@ -1466,9 +1509,14 @@ ret = sctp_recvmsg(fd, msgb_data(msg), msgb_tailroom(msg), NULL, NULL, &sinfo, &flags); + msgb_sctp_msg_flags(msg) = 0; + msgb_sctp_ppid(msg) = ntohl(sinfo.sinfo_ppid); + msgb_sctp_stream(msg) = sinfo.sinfo_stream; if (flags & MSG_NOTIFICATION) { union sctp_notification *notif = (union sctp_notification *)msgb_data(msg); LOGP(DLINP, LOGL_DEBUG, "NOTIFICATION %u flags=0x%x\n", notif->sn_header.sn_type, notif->sn_header.sn_flags); + msgb_put(msg, sizeof(union sctp_notification)); + msgb_sctp_msg_flags(msg) = OSMO_STREAM_SCTP_MSG_FLAGS_NOTIFICATION; switch (notif->sn_header.sn_type) { case SCTP_ASSOC_CHANGE: LOGP(DLINP, LOGL_DEBUG, "===> ASSOC CHANGE:"); @@ -1478,7 +1526,8 @@ break; case SCTP_COMM_LOST: LOGPC(DLINP, LOGL_DEBUG, " LOST\n"); - break; + /* Handle this like a regular disconnect */ + return 0; case SCTP_RESTART: LOGPC(DLINP, LOGL_DEBUG, " RESTART\n"); break; @@ -1490,19 +1539,28 @@ break; } break; + case SCTP_SEND_FAILED: + LOGP(DLINP, LOGL_DEBUG, "===> SEND FAILED\n"); + break; case SCTP_PEER_ADDR_CHANGE: - LOGP(DLINP, LOGL_DEBUG, "===> PEER ADDR CHANGE\n"); + { + char addr_strINET6_ADDRSTRLEN + 10; + struct sockaddr_storage sa = notif->sn_paddr_change.spc_aaddr; + osmo_sockaddr_to_str_buf(addr_str, sizeof(addr_str), + (const struct osmo_sockaddr *)&sa); + LOGP(DLINP, LOGL_DEBUG, "===> PEER ADDR CHANGE: %s %s err=%s\n", + addr_str, osmo_sctp_paddr_chg_str(notif->sn_paddr_change.spc_state), + (notif->sn_paddr_change.spc_state == SCTP_ADDR_UNREACHABLE) ? + osmo_sctp_sn_error_str(notif->sn_paddr_change.spc_error) : "None"); + } break; case SCTP_SHUTDOWN_EVENT: LOGP(DLINP, LOGL_DEBUG, "===> SHUTDOWN EVT\n"); /* Handle this like a regular disconnect */ return 0; - break; } return -EAGAIN; } - msgb_sctp_ppid(msg) = ntohl(sinfo.sinfo_ppid); - msgb_sctp_stream(msg) = sinfo.sinfo_stream; return ret; } #endif @@ -1511,13 +1569,22 @@ * \paramin conn Stream Server from which to receive * \param msg pre-allocate message buffer to which received data is appended * \returns number of bytes read, negative on error. + * + * If conn is an SCTP connection, additional specific considerations shall be taken: + * - msg->cb is always filled with SCTP ppid, and SCTP stream values, see msgb_sctp_*() APIs. + * - If an SCTP notification was received when reading from the SCTP socket, + * msgb_sctp_msg_flags(msg) will contain bit flag + * OSMO_STREAM_SCTP_MSG_FLAGS_NOTIFICATION set, and the msgb will + * contain a "union sctp_notification" instead of user data. In this case the + * return code will be either 0 (if conn is considered dead after the + * notification) or -EAGAIN (if conn is considered still alive after the + * notification) resembling the standard recv() API. */ int osmo_stream_srv_recv(struct osmo_stream_srv *conn, struct msgb *msg) { int ret; - - if (!msg) - return -EINVAL; + OSMO_ASSERT(conn); + OSMO_ASSERT(msg); switch (conn->srv->sk_domain) { case AF_UNIX: @@ -1545,11 +1612,11 @@ if (ret < 0) { if (errno == EPIPE || errno == ECONNRESET) { LOGP(DLINP, LOGL_ERROR, - "lost connection with srv\n"); + "lost connection with client\n"); } return ret; } else if (ret == 0) { - LOGP(DLINP, LOGL_ERROR, "connection closed with srv\n"); + LOGP(DLINP, LOGL_ERROR, "connection closed with client\n"); return ret; } msgb_put(msg, ret); @@ -1557,4 +1624,12 @@ return ret; } +void osmo_stream_srv_clear_tx_queue(struct osmo_stream_srv *conn) +{ + msgb_queue_free(&conn->tx_queue); + osmo_fd_write_disable(&conn->ofd); + if (conn->flags & OSMO_STREAM_SRV_F_FLUSH_DESTROY) + osmo_stream_srv_destroy(conn); +} + /*! @} */
View file
libosmo-netif_1.2.0.tar.xz/tests/Makefile.am -> libosmo-netif_1.3.0.tar.xz/tests/Makefile.am
Changed
@@ -1,14 +1,24 @@ AM_CFLAGS = -Wall -I$(top_srcdir)/include $(LIBOSMOCORE_CFLAGS) -g AM_LDFLAGS = $(LIBOSMOCORE_LDFLAGS) -no-install -check_PROGRAMS = osmux/osmux_test osmux/osmux_test2 stream/stream_test jibuf/jibuf_test amr/amr_test +check_PROGRAMS = \ + osmux/osmux_test \ + osmux/osmux_output_test \ + osmux/osmux_input_test \ + stream/stream_test \ + jibuf/jibuf_test \ + amr/amr_test \ + $(NULL) check_HEADERS = osmux_osmux_test_SOURCES = osmux/osmux_test.c 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) $(LIBOSMOGSM_LIBS) $(top_builddir)/src/libosmonetif.la +osmux_osmux_output_test_SOURCES = osmux/osmux_output_test.c +osmux_osmux_output_test_LDADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) $(top_builddir)/src/libosmonetif.la + +osmux_osmux_input_test_SOURCES = osmux/osmux_input_test.c +osmux_osmux_input_test_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 @@ -62,7 +72,8 @@ EXTRA_DIST = testsuite.at $(srcdir)/package.m4 $(TESTSUITE) \ osmux/osmux_test.ok \ - osmux/osmux_test2.ok \ + osmux/osmux_output_test.ok \ + osmux/osmux_input_test.ok \ stream/stream_test.ok \ stream/stream_test.err \ jibuf/jibuf_test.ok \
View file
libosmo-netif_1.2.0.tar.xz/tests/amr/amr_test.c -> libosmo-netif_1.3.0.tar.xz/tests/amr/amr_test.c
Changed
@@ -48,7 +48,8 @@ "0004f89d67f1160935bde1996840", "0004633cc7f0630439ffe0000000", "0004eb81fc0758973b9edc782550", - "a078ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc", /* sample with invalid FT, will be detected as bandwith-efficient */ + "a070ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc", /* sample with invalid FT=14, will be detected as bandwith-efficient */ + "a078", /* sample with FT=15 NO_DATA */ "END", }; @@ -71,6 +72,7 @@ "f3c381bc7061c9f8507f6029de6115c16e5fa470c243b21b6e35dbb48bd84c00", "73c901b7a2004be7f85284b6ab7142acfe6872b1ae1c107d0588b551de7be650", "a7bfc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03f", /* sample with invalid FT */ + "4780", /* FT=15 NO_DATA */ "END", }; @@ -209,7 +211,7 @@ { uint8_t buf256; uint8_t buf_chk256; - unsigned int ft; + int ft; unsigned int i = 0; int len;
View file
libosmo-netif_1.2.0.tar.xz/tests/amr/amr_test.ok -> libosmo-netif_1.3.0.tar.xz/tests/amr/amr_test.ok
Changed
@@ -157,12 +157,19 @@ rc: 14 Sample No.: 22 - octet aligned: a078ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc - 101000000111100011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111100 + octet aligned: a070ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00ff00fc + 101000000111000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111100 bw-efficient: (no data) rc: -1 +Sample No.: 23 + octet aligned: a078 + 1010000001111000 + bw-efficient: a780 + 1010011110000000 + rc: 2 + Testing conversion from bw-efficient to octet-aligned: @@ -281,9 +288,16 @@ Sample No.: 16 bw-efficient: a7bfc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03fc03f 1010011110111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111110000000011111111000000001111111100000000111111 - octet aligned: - (no data) - rc: -1 + octet aligned: a078 + 1010000001111000 + rc: 2 + +Sample No.: 17 + bw-efficient: 4780 + 0100011110000000 + octet aligned: 4078 + 0100000001111000 + rc: 2 Testing conversion from octet-aligned to bw-efficient and inverse: @@ -310,6 +324,7 @@ Sample No.: 20... AMR mode: 0, OA: 14 bytes, BE: 14 bytes, OA: 14 bytes Sample No.: 21... AMR mode: 0, OA: 14 bytes, BE: 14 bytes, OA: 14 bytes Sample No.: 22... skipping a sample with a wrong FT +Sample No.: 23... AMR mode: 15, OA: 2 bytes, BE: 2 bytes, OA: 2 bytes Testing conversion from IuUP to bw-efficient and inverse: @@ -342,6 +357,7 @@ Sample No.: 20 ==>octet aligned Sample No.: 21 ==>octet aligned Sample No.: 22 ==>bandwith efficient +Sample No.: 23 ==>octet aligned Sample No.: 0 ==>bandwith efficient Sample No.: 1 ==>bandwith efficient Sample No.: 2 ==>bandwith efficient @@ -359,4 +375,5 @@ Sample No.: 14 ==>bandwith efficient Sample No.: 15 ==>bandwith efficient Sample No.: 16 ==>bandwith efficient +Sample No.: 17 ==>bandwith efficient OK: Test passed
View file
libosmo-netif_1.2.0.tar.xz/tests/jibuf/jibuf_test.c -> libosmo-netif_1.3.0.tar.xz/tests/jibuf/jibuf_test.c
Changed
@@ -622,7 +622,7 @@ /* This test aims at testing scenarios described in OS#3262, in which syncpoint packets can provoke a situation in which packets are stored out-of-order in the queue. */ -static void test_rtp_marker_queue_order() +static void test_rtp_marker_queue_order(void) { int min_delay = 60; struct msgb *msg;
View file
libosmo-netif_1.2.0.tar.xz/tests/jibuf/jibuf_tool.c -> libosmo-netif_1.3.0.tar.xz/tests/jibuf/jibuf_tool.c
Changed
@@ -113,7 +113,7 @@ /* Used for test pcap: */ static struct osmo_pcap osmo_pcap; static bool pcap_finished; -static struct osmux_out_handle pcap_osmux_h; +static struct osmux_out_handle *pcap_osmux_h; /* ----------------------------- */ static void sigalarm_handler(int foo) @@ -336,7 +336,7 @@ return cb->data; } -void rand_send_rtp_packet() +void rand_send_rtp_packet(void) { struct rtp_pkt_info *pinfo; @@ -438,7 +438,7 @@ /* This code below belongs to the osmux receiver */ while((osmuxh = osmux_xfrm_output_pull(msg)) != NULL) - osmux_xfrm_output_sched(&pcap_osmux_h, osmuxh); + osmux_xfrm_output_sched(pcap_osmux_h, osmuxh); msgb_free(msg); return 0; } @@ -458,7 +458,7 @@ } } -void rand_test_check() +void rand_test_check(void) { uint32_t drop_threshold = NUM_PACKETS_TO_SEND * 5 / 100; if (packets_dropped > drop_threshold) { @@ -475,7 +475,7 @@ } } -void rand_test() +void rand_test(void) { srandom(time(NULL)); rtp_first_seq = (uint16_t) random(); @@ -503,11 +503,11 @@ rand_test_check(); } -void pcap_test_check() { +void pcap_test_check(void) { } -void pcap_test() { +void pcap_test(void) { osmo_pcap_init(); osmo_pcap.h = osmo_pcap_test_open(opt_pcap_file); @@ -517,8 +517,10 @@ osmo_pcap.timer.cb = pcap_pkt_timer_cb; if(opt_osmux) { - osmux_xfrm_output_init2(&pcap_osmux_h, 0, 98); - osmux_xfrm_output_set_tx_cb(&pcap_osmux_h, glue_cb, NULL); + pcap_osmux_h = osmux_xfrm_output_alloc(NULL); + osmux_xfrm_output_set_rtp_ssrc(pcap_osmux_h, 0); + osmux_xfrm_output_set_rtp_pl_type(pcap_osmux_h, 98); + osmux_xfrm_output_set_tx_cb(pcap_osmux_h, glue_cb, NULL); } jb = osmo_jibuf_alloc(NULL); @@ -532,11 +534,12 @@ while(!pcap_finished || !osmo_jibuf_empty(jb)) { if (pcap_finished && opt_osmux) /* Flushing once should be enough */ - osmux_xfrm_output_flush(&pcap_osmux_h); + osmux_xfrm_output_flush(pcap_osmux_h); osmo_select_main(0); } osmo_jibuf_delete(jb); + talloc_free(pcap_osmux_h); pcap_test_check(); }
View file
libosmo-netif_1.2.0.tar.xz/tests/osmo-pcap-test/configure.ac -> libosmo-netif_1.3.0.tar.xz/tests/osmo-pcap-test/configure.ac
Changed
@@ -16,7 +16,7 @@ dnl kernel style compile messages m4_ifdef(AM_SILENT_RULES, AM_SILENT_RULES(yes)) -PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.7.0) +PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.8.0) AC_PROG_CC AC_DISABLE_STATIC
View file
libosmo-netif_1.2.0.tar.xz/tests/osmo-pcap-test/osmux_test.c -> libosmo-netif_1.3.0.tar.xz/tests/osmo-pcap-test/osmux_test.c
Changed
@@ -37,7 +37,7 @@ * This is the output handle for osmux, it stores last RTP sequence and * timestamp that has been used. There should be one per circuit ID. */ -static struct osmux_out_handle h_output; +static struct osmux_out_handle *h_output; static void tx_cb(struct msgb *msg, void *data) { @@ -57,7 +57,7 @@ /* This code below belongs to the osmux receiver */ while((osmuxh = osmux_xfrm_output_pull(batch_msg)) != NULL) - osmux_xfrm_output_sched(&h_output, osmuxh); + osmux_xfrm_output_sched(h_output, osmuxh); msgb_free(batch_msg); } @@ -65,11 +65,7 @@ * This is the input handle for osmux. It stores the last osmux sequence that * has been used and the deliver function that sends the osmux batch. */ -struct osmux_in_handle h_input = { - .osmux_seq = 0, /* sequence number to start OSmux message from */ - .batch_factor = 4, /* batch up to 4 RTP messages */ - .deliver = deliver, -}; +struct osmux_in_handle *h_input; #define MAX_CONCURRENT_CALLS 8 @@ -124,9 +120,9 @@ if (ccid < 0) register_ccid(rtph->ssrc); - while ((ret = osmux_xfrm_input(&h_input, msg, ccid)) > 1) { + while ((ret = osmux_xfrm_input(h_input, msg, ccid)) > 0) { /* batch full, deliver it */ - osmux_xfrm_input_deliver(&h_input); + osmux_xfrm_input_deliver(h_input); } if (ret == -1) printf("something is wrong\n"); @@ -189,9 +185,15 @@ osmo_pcap.timer.cb = osmo_pcap_pkt_timer_cb; - osmux_xfrm_input_init(&h_input); - osmux_xfrm_output_init2(&h_output, 0, 98); - osmux_xfrm_output_set_tx_cb(&h_output, tx_cb, NULL); + h_input = osmux_xfrm_input_alloc(tall_test); + osmux_xfrm_input_set_initial_seqnum(h_input, 0); + osmux_xfrm_input_set_batch_factor(h_input, 4); + osmux_xfrm_input_set_deliver_cb(h_input, deliver, NULL); + + h_output = osmux_xfrm_output_alloc(tall_test); + osmux_xfrm_output_set_rtp_ssrc(h_output, 0); + osmux_xfrm_output_set_rtp_pl_type(h_output, 98); + osmux_xfrm_output_set_tx_cb(h_output, tx_cb, NULL); /* first run */ osmo_pcap_pkt_timer_cb(NULL); @@ -200,5 +202,7 @@ osmo_select_main(0); } + talloc_free(h_output); + return ret; }
View file
libosmo-netif_1.3.0.tar.xz/tests/osmux/osmux_input_test.c
Added
@@ -0,0 +1,732 @@ +/* (C) 2022 by sysmocom - s.f.m.c. GmbH <info@sysmocom.de> + * + * Author: Pau Espin Pedrol <pespin@sysmocom.de> + * + * 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 <stdio.h> +#include <stdlib.h> +#include <stdbool.h> +#include <unistd.h> +#include <stdint.h> +#include <inttypes.h> +#include <string.h> +#include <signal.h> +#include <arpa/inet.h> +#include <sys/time.h> +#include <getopt.h> + +#include <osmocom/core/select.h> +#include <osmocom/core/application.h> +#include <osmocom/core/logging.h> +#include <osmocom/core/msgb.h> +#include <osmocom/netif/rtp.h> +#include <osmocom/netif/osmux.h> +#include <osmocom/netif/amr.h> + +static uint16_t rtp_next_seq; +static uint16_t rtp_next_ts; + +void *tall_ctx; + +#define TIME_RTP_PKT_MS 20 +#define BATCH_FACTOR 6 +/* ----------------------------- */ + +/* Logging related stuff */ +#define INT2IDX(x) (-1*(x)-1) +struct log_info_cat jibuf_test_cat = { + INT2IDX(DLMUX) = { + .name = "DLMUX", + .description = "Osmocom Osmux", + .enabled = 1, .loglevel = LOGL_DEBUG, + }, +}; +const struct log_info log_info = { + .filter_fn = NULL, + .cat = jibuf_test_cat, + .num_cat = ARRAY_SIZE(jibuf_test_cat), +}; +/* ----------------------------- */ + +static void rtp_init(uint16_t seq, uint16_t ts) +{ + rtp_next_seq = seq; + rtp_next_ts = ts; +} + +static struct msgb *rtp_new(uint16_t seq, uint8_t timestamp, uint8_t marker) +{ + struct msgb *msg; + struct rtp_hdr *rtph; + + msg = msgb_alloc(1500, "rtp"); + if (!msg) + exit(EXIT_FAILURE); + msgb_put(msg, sizeof(struct rtp_hdr)); + + rtph = (struct rtp_hdr *)msg->data; + rtph->version = RTP_VERSION; + rtph->marker = marker; + rtph->sequence = htons(seq); + rtph->timestamp = htons(timestamp); + rtph->ssrc = 0x6789; + return msg; +} + +static struct msgb *rtp_next(void) +{ + rtp_next_seq++; + rtp_next_ts += TIME_RTP_PKT_MS; + return rtp_new(rtp_next_seq, rtp_next_ts, 0); +} + +static struct amr_hdr *rtp_append_amr(struct msgb *msg, uint8_t ft) +{ + struct amr_hdr *amrh; + struct rtp_hdr *rtph = (struct rtp_hdr *)msg->data; + + msgb_put(msg, sizeof(struct amr_hdr)); + amrh = (struct amr_hdr *)rtph->data; + + amrh->cmr = 0; + amrh->q = 1; + amrh->f = 0; + amrh->ft = ft; + msgb_put(msg, osmo_amr_bytes(amrh->ft)); + return amrh; +} + +static void sigalarm_handler(int foo) +{ + printf("FAIL: test did not run successfully\n"); + exit(EXIT_FAILURE); +} + +#define clock_debug(fmt, args...) \ + do { \ + struct timespec ts; \ + struct timeval tv; \ + osmo_clock_gettime(CLOCK_MONOTONIC, &ts); \ + osmo_gettimeofday(&tv, NULL); \ + fprintf(stdout, "sys={%lu.%06lu}, mono={%lu.%06lu}: " fmt "\n", \ + 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_set(long sec, long usec) +{ + struct timespec *mono; + osmo_gettimeofday_override_time.tv_sec = sec; + osmo_gettimeofday_override_time.tv_usec = usec; + mono = osmo_clock_override_gettimespec(CLOCK_MONOTONIC); + mono->tv_sec = sec; + mono->tv_nsec = usec*1000; + + clock_debug("clock_override_set"); +} + +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"); +} +#define clock_override_add(sec, usec) clock_override_add_debug(sec, usec, true) + +static void test_amr_ft_change_middle_batch_osmux_deliver_cb(struct msgb *batch_msg, void *data) +{ + struct osmux_hdr *osmuxh; + char buf2048; + int n = 0; + bool *osmux_transmitted = (bool *)data; + + osmux_snprintf(buf, sizeof(buf), batch_msg); + clock_debug("OSMUX message (len=%d): %s\n", batch_msg->len, buf); + + /* We expect 3 batches: */ + while ((osmuxh = osmux_xfrm_output_pull(batch_msg))) { + n++; + OSMO_ASSERT(osmuxh->ft == OSMUX_FT_VOICE_AMR); + OSMO_ASSERT(osmuxh->rtp_m == 0); + OSMO_ASSERT(osmuxh->amr_cmr == 0); + OSMO_ASSERT(osmuxh->amr_q == 1); + switch (n) { + case 1: + OSMO_ASSERT(osmuxh->seq == 0); + OSMO_ASSERT(osmuxh->ctr == 1); + OSMO_ASSERT(osmuxh->amr_ft == AMR_FT_2); + break; + case 2: + OSMO_ASSERT(osmuxh->seq == 1); + OSMO_ASSERT(osmuxh->ctr == 0); + OSMO_ASSERT(osmuxh->amr_ft == AMR_FT_6); + break; + case 3: + OSMO_ASSERT(osmuxh->seq == 2); + OSMO_ASSERT(osmuxh->ctr == 0); + OSMO_ASSERT(osmuxh->amr_ft == AMR_FT_1); + break; + } + } + OSMO_ASSERT(n == 3); + + msgb_free(batch_msg); + + *osmux_transmitted = true; +} +/* Test if an RTP pkt with changed AMR FT passed to osmux_input is properly + * processed: The current batch ends and a new batch with a new osmux header is + * appeneded to the generated packet. */ +static void test_amr_ft_change_middle_batch(void) +{ + struct msgb *msg; + int rc; + const uint8_t cid = 30; + bool osmux_transmitted = false; + struct osmux_in_handle *h_input; + + printf("===%s===\n", __func__); + + + clock_override_enable(true); + clock_override_set(0, 0); + rtp_init(0, 0); + + h_input = osmux_xfrm_input_alloc(tall_ctx); + osmux_xfrm_input_set_initial_seqnum(h_input, 0); + osmux_xfrm_input_set_batch_factor(h_input, 4); + osmux_xfrm_input_set_deliver_cb(h_input, + test_amr_ft_change_middle_batch_osmux_deliver_cb, + &osmux_transmitted); + osmux_xfrm_input_open_circuit(h_input, cid, false); + + /* First RTP frame at t=0 */ + msg = rtp_next(); + rtp_append_amr(msg, AMR_FT_2); + rc = osmux_xfrm_input(h_input, msg, cid); + OSMO_ASSERT(rc == 0); + + /* Second RTP frame at t=20 */ + clock_override_add(0, TIME_RTP_PKT_MS*1000); + msg = rtp_next(); + rtp_append_amr(msg, AMR_FT_2); + rc = osmux_xfrm_input(h_input, msg, cid); + OSMO_ASSERT(rc == 0); + + /* Third RTP frame at t=40, AMR FT changes: */ + clock_debug("Submit RTP with 1st AMR FT change"); + clock_override_add(0, TIME_RTP_PKT_MS*1000); + msg = rtp_next(); + rtp_append_amr(msg, AMR_FT_6); + rc = osmux_xfrm_input(h_input, msg, cid); + OSMO_ASSERT(rc == 0); + + /* Forth RTP frame at t=60, AMR FT changes again: */ + clock_debug("Submit RTP with 2nd AMR FT change"); + clock_override_add(0, TIME_RTP_PKT_MS*1000); + msg = rtp_next(); + rtp_append_amr(msg, AMR_FT_1); + rc = osmux_xfrm_input(h_input, msg, cid); + OSMO_ASSERT(rc == 0); + + /* t=80, osmux batch is scheduled to be transmitted: */ + clock_override_add(0, TIME_RTP_PKT_MS*1000); + clock_debug("Osmux frame should now be transmitted"); + osmo_select_main(0); + OSMO_ASSERT(osmux_transmitted == true); + + clock_debug("Closing circuit"); + osmux_xfrm_input_close_circuit(h_input, cid); + talloc_free(h_input); +} + +static void test_last_amr_cmr_f_q_used_osmux_deliver_cb(struct msgb *batch_msg, void *data) +{ + struct osmux_hdr *osmuxh; + char buf2048; + bool *osmux_transmitted = (bool *)data; + + osmux_snprintf(buf, sizeof(buf), batch_msg); + clock_debug("OSMUX message (len=%d): %s\n", batch_msg->len, buf); + + /* We expect 1 batch: */ + osmuxh = osmux_xfrm_output_pull(batch_msg); + OSMO_ASSERT(osmuxh); + OSMO_ASSERT(osmuxh->ft == OSMUX_FT_VOICE_AMR); + /* Check CMR and Q values are the ones from the last message: */ + OSMO_ASSERT(osmuxh->amr_f == 0); + OSMO_ASSERT(osmuxh->amr_q == 0); + OSMO_ASSERT(osmuxh->amr_cmr == 2); + + osmuxh = osmux_xfrm_output_pull(batch_msg); + OSMO_ASSERT(osmuxh == NULL); + + msgb_free(batch_msg); + + *osmux_transmitted = true; +} +/* Test that fields CMR, F and Q of the last RTP packet in the batch are the + * ones set in the osmux batch header. */ +static void test_last_amr_cmr_f_q_used(void) +{ + struct msgb *msg; + int rc; + const uint8_t cid = 32; + bool osmux_transmitted = false; + struct amr_hdr *amrh; + struct osmux_in_handle *h_input; + + printf("===%s===\n", __func__); + + + + clock_override_enable(true); + clock_override_set(0, 0); + rtp_init(0, 0); + + h_input = osmux_xfrm_input_alloc(tall_ctx); + osmux_xfrm_input_set_initial_seqnum(h_input, 0); + osmux_xfrm_input_set_batch_factor(h_input, 3); + osmux_xfrm_input_set_deliver_cb(h_input, + test_last_amr_cmr_f_q_used_osmux_deliver_cb, + &osmux_transmitted); + osmux_xfrm_input_open_circuit(h_input, cid, false); + + /* First RTP frame at t=0 */ + msg = rtp_next(); + amrh = rtp_append_amr(msg, AMR_FT_2); + amrh->f = 1; + amrh->q = 1; + amrh->cmr = 0; + rc = osmux_xfrm_input(h_input, msg, cid); + OSMO_ASSERT(rc == 0); + + /* Second RTP frame at t=20, CMR changes 0->1 */ + clock_debug("Submit 2nd RTP packet, CMR changes"); + clock_override_add(0, TIME_RTP_PKT_MS*1000); + msg = rtp_next(); + amrh = rtp_append_amr(msg, AMR_FT_2); + amrh->f = 1; + amrh->q = 1; + amrh->cmr = 1; + rc = osmux_xfrm_input(h_input, msg, cid); + OSMO_ASSERT(rc == 0); + + /* Third RTP frame at t=40, q changes 1->0, CMR changes 1->2: */ + clock_debug("Submit 3rd RTP packet with Q and CMR changes"); + clock_override_add(0, TIME_RTP_PKT_MS*1000); + msg = rtp_next(); + amrh = rtp_append_amr(msg, AMR_FT_2); + amrh->f = 0; + amrh->q = 0; + amrh->cmr = 2; + rc = osmux_xfrm_input(h_input, msg, cid); + OSMO_ASSERT(rc == 0); + + /* t=60, osmux batch is scheduled to be transmitted: */ + clock_override_add(0, TIME_RTP_PKT_MS*1000); + clock_debug("Osmux frame should now be transmitted"); + osmo_select_main(0); + OSMO_ASSERT(osmux_transmitted == true); + + clock_debug("Closing circuit"); + osmux_xfrm_input_close_circuit(h_input, cid); + talloc_free(h_input); +} + +static void test_initial_osmux_seqnum_osmux_deliver_cb(struct msgb *batch_msg, void *data) +{ + struct osmux_hdr *osmuxh; + char buf2048; + bool *osmux_transmitted = (bool *)data; + + osmux_snprintf(buf, sizeof(buf), batch_msg); + clock_debug("OSMUX message (len=%d): %s\n", batch_msg->len, buf); + + /* We expect 1 batch: */ + osmuxh = osmux_xfrm_output_pull(batch_msg); + OSMO_ASSERT(osmuxh); + /* Check seqnum is the one configured beforehand: */ + OSMO_ASSERT(osmuxh->seq == 123); + + osmuxh = osmux_xfrm_output_pull(batch_msg); + OSMO_ASSERT(osmuxh == NULL); + + msgb_free(batch_msg); + + *osmux_transmitted = true; +} +/* Test that the first transmitted osmux header is set according to what has been configured. */ +static void test_initial_osmux_seqnum(void) +{ + struct msgb *msg; + int rc; + const uint8_t cid = 33; + bool osmux_transmitted = false; + struct amr_hdr *amrh; + struct osmux_in_handle *h_input; + + printf("===%s===\n", __func__); + + + + clock_override_enable(true); + clock_override_set(0, 0); + rtp_init(0, 0); + + h_input = osmux_xfrm_input_alloc(tall_ctx); + osmux_xfrm_input_set_initial_seqnum(h_input, 123); + osmux_xfrm_input_set_batch_factor(h_input, 1); + osmux_xfrm_input_set_deliver_cb(h_input, + test_initial_osmux_seqnum_osmux_deliver_cb, + &osmux_transmitted); + osmux_xfrm_input_open_circuit(h_input, cid, false); + + /* First RTP frame at t=0 */ + msg = rtp_next(); + amrh = rtp_append_amr(msg, AMR_FT_2); + amrh->f = 1; + amrh->q = 1; + amrh->cmr = 0; + rc = osmux_xfrm_input(h_input, msg, cid); + OSMO_ASSERT(rc == 0); + + /* t=20, osmux batch is scheduled to be transmitted: */ + clock_debug("Submit 2nd RTP packet, CMR changes"); + clock_override_add(0, TIME_RTP_PKT_MS*1000); + osmo_select_main(0); + OSMO_ASSERT(osmux_transmitted == true); + + clock_debug("Closing circuit"); + osmux_xfrm_input_close_circuit(h_input, cid); + talloc_free(h_input); +} + +static void test_rtp_dup_osmux_deliver_cb(struct msgb *batch_msg, void *data) +{ + struct osmux_hdr *osmuxh; + char buf2048; + uint8_t *osmux_pl; + bool *osmux_transmitted = (bool *)data; + + osmux_snprintf(buf, sizeof(buf), batch_msg); + clock_debug("OSMUX message (len=%d): %s\n", batch_msg->len, buf); + + /* We expect 1 batch: */ + osmuxh = osmux_xfrm_output_pull(batch_msg); + OSMO_ASSERT(osmuxh); + /* Check seqnum is the one configured beforehand: */ + OSMO_ASSERT(osmuxh->seq == 123); + osmux_pl = (uint8_t *)osmuxh + sizeof(*osmuxh); + OSMO_ASSERT(osmux_pl0 == 0x12); + + osmuxh = osmux_xfrm_output_pull(batch_msg); + OSMO_ASSERT(osmuxh == NULL); + + msgb_free(batch_msg); + + *osmux_transmitted = true; +} +/* Test user pushes duplicated RTP (dup seqnum) to osmux: */ +static void test_rtp_dup(void) +{ + struct msgb *msg, *msg_dup; + struct amr_hdr *amrh; + int rc; + const uint8_t cid = 33; + bool osmux_transmitted = false; + struct osmux_in_handle *h_input; + + printf("===%s===\n", __func__); + + + + clock_override_enable(true); + clock_override_set(0, 0); + rtp_init(0, 0); + + h_input = osmux_xfrm_input_alloc(tall_ctx); + osmux_xfrm_input_set_initial_seqnum(h_input, 123); + osmux_xfrm_input_set_batch_factor(h_input, 2); + osmux_xfrm_input_set_deliver_cb(h_input, + test_rtp_dup_osmux_deliver_cb, + &osmux_transmitted); + osmux_xfrm_input_open_circuit(h_input, cid, false); + + /* First RTP frame at t=0 */ + msg = rtp_next(); + msg_dup = msgb_copy(msg, "dup"); + rtp_append_amr(msg, AMR_FT_2); + rc = osmux_xfrm_input(h_input, msg, cid); + OSMO_ASSERT(rc == 0); + + clock_debug("Submit 2nd RTP packet, seqnum dup"); + clock_override_add(0, TIME_RTP_PKT_MS*1000); + amrh = rtp_append_amr(msg_dup, AMR_FT_2); + amrh->data0 = 0x12; /* Change AMR payload to check it is updated. */ + rc = osmux_xfrm_input(h_input, msg_dup, cid); + OSMO_ASSERT(rc == 0); + OSMO_ASSERT(osmux_transmitted == false); + + /* t=60, osmux batch is scheduled to be transmitted: */ + clock_debug("Submit 3rd RTP packet, triggers osmux batch"); + clock_override_add(0, TIME_RTP_PKT_MS*1000); + msg = rtp_next(); + rtp_append_amr(msg, AMR_FT_2); + osmo_select_main(0); + OSMO_ASSERT(osmux_transmitted == true); + + clock_debug("Closing circuit"); + osmux_xfrm_input_close_circuit(h_input, cid); + talloc_free(h_input); +} + +/* Test some scenario where one RTP packet is lost */ +static void test_rtp_pkt_gap_osmux_deliver_cb(struct msgb *batch_msg, void *data) +{ + struct osmux_hdr *osmuxh; + char buf2048; + bool *osmux_transmitted = (bool *)data; + + osmux_snprintf(buf, sizeof(buf), batch_msg); + clock_debug("OSMUX message (len=%d): %s\n", batch_msg->len, buf); + + /* We expect 1 batch: */ + osmuxh = osmux_xfrm_output_pull(batch_msg); + OSMO_ASSERT(osmuxh); + /* Check seqnum is the one configured beforehand: */ + OSMO_ASSERT(osmuxh->seq == 123); + /* Check four AMR payloads appear: */ + OSMO_ASSERT(osmuxh->ctr == 3); + + osmuxh = osmux_xfrm_output_pull(batch_msg); + OSMO_ASSERT(osmuxh == NULL); + + msgb_free(batch_msg); + + *osmux_transmitted = true; +} +static void test_rtp_pkt_gap(uint16_t rtp_start_seqnum) +{ + struct msgb *msg; + int rc; + const uint8_t cid = 33; + bool osmux_transmitted = false; + struct osmux_in_handle *h_input; + + printf("===%s(%" PRIu16 ")===\n", __func__, rtp_start_seqnum); + + clock_override_enable(true); + clock_override_set(0, 0); + rtp_init(rtp_start_seqnum, 18000); + + h_input = osmux_xfrm_input_alloc(tall_ctx); + osmux_xfrm_input_set_initial_seqnum(h_input, 123); + osmux_xfrm_input_set_batch_factor(h_input, 4); + osmux_xfrm_input_set_deliver_cb(h_input, + test_rtp_pkt_gap_osmux_deliver_cb, + &osmux_transmitted); + osmux_xfrm_input_open_circuit(h_input, cid, false); + + /* First RTP frame at t=0 */ + clock_debug("1st RTP packet is received"); + msg = rtp_next(); + rtp_append_amr(msg, AMR_FT_2); + rc = osmux_xfrm_input(h_input, msg, cid); + OSMO_ASSERT(rc == 0); + + clock_debug("2nd RTP packet is lost"); + clock_override_add(0, TIME_RTP_PKT_MS*1000); + msg = rtp_next(); + msgb_free(msg); + + clock_debug("3rd RTP packet is received"); + clock_override_add(0, TIME_RTP_PKT_MS*1000); + msg = rtp_next(); + rtp_append_amr(msg, AMR_FT_2); + rc = osmux_xfrm_input(h_input, msg, cid); + OSMO_ASSERT(rc == 0); + + clock_debug("4th RTP packet is received"); + clock_override_add(0, TIME_RTP_PKT_MS*1000); + msg = rtp_next(); + rtp_append_amr(msg, AMR_FT_2); + rc = osmux_xfrm_input(h_input, msg, cid); + OSMO_ASSERT(rc == 0); + + /* t=80, osmux batch is scheduled to be transmitted: */ + clock_debug("osmux batch transmitted"); + clock_override_add(0, TIME_RTP_PKT_MS*1000); + osmo_select_main(0); + OSMO_ASSERT(osmux_transmitted == true); + + clock_debug("Closing circuit"); + osmux_xfrm_input_close_circuit(h_input, cid); + talloc_free(h_input); +} + +/* Test some scenario where some RTP packets (>batch_factor) are lost */ +static void test_rtp_pkt_gap_bigger_than_batch_factor_osmux_deliver_cb(struct msgb *batch_msg, void *data) +{ + struct osmux_hdr *osmuxh; + char buf2048; + unsigned *osmux_transmitted = (unsigned *)data; + (*osmux_transmitted)++; + + osmux_snprintf(buf, sizeof(buf), batch_msg); + clock_debug("OSMUX message %u (len=%d): %s\n", *osmux_transmitted, batch_msg->len, buf); + + /* We expect 1 batch: */ + osmuxh = osmux_xfrm_output_pull(batch_msg); + OSMO_ASSERT(osmuxh); + /* Check seqnum is the one configured beforehand: */ + OSMO_ASSERT(osmuxh->seq == (123 + *osmux_transmitted - 1)); + /* Check four AMR payloads appear: */ + OSMO_ASSERT(osmuxh->ctr == 3); + + /* Second osmux frame: is it expected to have the Marker bit set, since + * there was an incoming RTP jump between this resulting osmux frame and + * the previous one. */ + if (*osmux_transmitted == 2) + OSMO_ASSERT(osmuxh->rtp_m == 1); + + osmuxh = osmux_xfrm_output_pull(batch_msg); + OSMO_ASSERT(osmuxh == NULL); + + msgb_free(batch_msg); +} +static void test_rtp_pkt_gap_bigger_than_batch_factor(uint16_t rtp_start_seqnum) +{ + struct msgb *msg; + int rc; + const uint8_t cid = 33; + unsigned osmux_transmitted = 0; + struct osmux_in_handle *h_input; + int i; + + printf("===%s(%" PRIu16 ")===\n", __func__, rtp_start_seqnum); + + clock_override_enable(true); + clock_override_set(0, 0); + rtp_init(rtp_start_seqnum, 18000); + + h_input = osmux_xfrm_input_alloc(tall_ctx); + osmux_xfrm_input_set_initial_seqnum(h_input, 123); + osmux_xfrm_input_set_batch_factor(h_input, 4); + osmux_xfrm_input_set_deliver_cb(h_input, + test_rtp_pkt_gap_bigger_than_batch_factor_osmux_deliver_cb, + &osmux_transmitted); + osmux_xfrm_input_open_circuit(h_input, cid, false); + + /* First RTP frame at t=0 */ + clock_debug("1st RTP packet is received"); + msg = rtp_next(); + rtp_append_amr(msg, AMR_FT_2); + rc = osmux_xfrm_input(h_input, msg, cid); + OSMO_ASSERT(rc == 0); + + clock_debug("10 packets are lost"); + for (i = 0; i < 10; i++) { + clock_override_add(0, TIME_RTP_PKT_MS*1000); + msg = rtp_next(); + msgb_free(msg); + } + + clock_debug("12th RTP packet is received"); + clock_override_add(0, TIME_RTP_PKT_MS*1000); + msg = rtp_next(); + rtp_append_amr(msg, AMR_FT_2); + /* The recreation of lost pkts fills the batch and hence triggers transmission of osmux frame: */ + rc = osmux_xfrm_input(h_input, msg, cid); + OSMO_ASSERT(rc == 1); + /* We call deliver as requested by API: */ + osmux_xfrm_input_deliver(h_input); + OSMO_ASSERT(osmux_transmitted == 1); + /* We try to feed the RTP packet again as per API. This time 0 is + * received, pkt is stored in osmux layer. This is because we don't + * recreate entire batches with fake data. Instead, Osmux should use the + * Marker bit to announce the peer there was a (potentially huge) jump + * in seqnums. */ + rc = osmux_xfrm_input(h_input, msg, cid); + OSMO_ASSERT(rc == 0); + + /* We continue filling the current batch so it gets transmitted: */ + clock_debug("12th+1 RTP packet is received"); + clock_override_add(0, TIME_RTP_PKT_MS*1000); + msg = rtp_next(); + rtp_append_amr(msg, AMR_FT_2); + rc = osmux_xfrm_input(h_input, msg, cid); + OSMO_ASSERT(rc == 0); + + clock_debug("12th+2 RTP packet is received"); + clock_override_add(0, TIME_RTP_PKT_MS*1000); + msg = rtp_next(); + rtp_append_amr(msg, AMR_FT_2); + rc = osmux_xfrm_input(h_input, msg, cid); + OSMO_ASSERT(rc == 0); + + clock_debug("12th+3 RTP packet is received"); + clock_override_add(0, TIME_RTP_PKT_MS*1000); + msg = rtp_next(); + rtp_append_amr(msg, AMR_FT_2); + rc = osmux_xfrm_input(h_input, msg, cid); + OSMO_ASSERT(rc == 0); + + clock_debug("osmux batch transmitted"); + clock_override_add(0, TIME_RTP_PKT_MS*1000); + osmo_select_main(0); + OSMO_ASSERT(osmux_transmitted == 2); + + clock_debug("Closing circuit"); + osmux_xfrm_input_close_circuit(h_input, cid); + talloc_free(h_input); +} + +int main(int argc, char **argv) +{ + + if (signal(SIGALRM, sigalarm_handler) == SIG_ERR) { + perror("signal"); + exit(EXIT_FAILURE); + } + + tall_ctx = talloc_named_const(NULL, 1, "Root context"); + msgb_talloc_ctx_init(tall_ctx, 0); + osmo_init_logging2(tall_ctx, &log_info); + log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); + log_set_log_level(osmo_stderr_target, LOGL_DEBUG); + log_set_category_filter(osmo_stderr_target, DLMUX, 1, LOGL_DEBUG); + + alarm(10); + + test_amr_ft_change_middle_batch(); + test_last_amr_cmr_f_q_used(); + test_initial_osmux_seqnum(); + test_rtp_dup(); + test_rtp_pkt_gap(60); + /* Test several wraparound scenarios: */ + test_rtp_pkt_gap(65533); + test_rtp_pkt_gap(65534); + test_rtp_pkt_gap(65535); + test_rtp_pkt_gap_bigger_than_batch_factor(60); + /* Test several wraparound scenarios: */ + test_rtp_pkt_gap_bigger_than_batch_factor(65533); + test_rtp_pkt_gap_bigger_than_batch_factor(65534); + test_rtp_pkt_gap_bigger_than_batch_factor(65535); + + fprintf(stdout, "OK: Test passed\n"); + return EXIT_SUCCESS; +}
View file
libosmo-netif_1.3.0.tar.xz/tests/osmux/osmux_input_test.ok
Added
@@ -0,0 +1,212 @@ +===test_amr_ft_change_middle_batch=== +sys={0.000000}, mono={0.000000}: clock_override_set +sys={0.020000}, mono={0.020000}: clock_override_add +sys={0.020000}, mono={0.020000}: Submit RTP with 1st AMR FT change +sys={0.040000}, mono={0.040000}: clock_override_add +sys={0.040000}, mono={0.040000}: Submit RTP with 2nd AMR FT change +sys={0.060000}, mono={0.060000}: clock_override_add +sys={0.080000}, mono={0.080000}: clock_override_add +sys={0.080000}, mono={0.080000}: Osmux frame should now be transmitted +sys={0.080000}, mono={0.080000}: OSMUX message (len=81): OSMUX seq=000 ccid=030 ft=1 rtp_m=0 ctr=1 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 , OSMUX seq=001 ccid=030 ft=1 rtp_m=0 ctr=0 amr_f=0 amr_q=1 amr_ft=06 amr_cmr=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 , OSMUX seq=002 ccid=030 ft=1 rtp_m=0 ctr=0 amr_f=0 amr_q=1 amr_ft=01 amr_cmr=00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +sys={0.080000}, mono={0.080000}: Closing circuit +===test_last_amr_cmr_f_q_used=== +sys={0.000000}, mono={0.000000}: clock_override_set +sys={0.000000}, mono={0.000000}: Submit 2nd RTP packet, CMR changes +sys={0.020000}, mono={0.020000}: clock_override_add +sys={0.020000}, mono={0.020000}: Submit 3rd RTP packet with Q and CMR changes +sys={0.040000}, mono={0.040000}: clock_override_add +sys={0.060000}, mono={0.060000}: clock_override_add +sys={0.060000}, mono={0.060000}: Osmux frame should now be transmitted +sys={0.060000}, mono={0.060000}: OSMUX message (len=49): OSMUX seq=000 ccid=032 ft=1 rtp_m=0 ctr=2 amr_f=0 amr_q=0 amr_ft=02 amr_cmr=02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +sys={0.060000}, mono={0.060000}: Closing circuit +===test_initial_osmux_seqnum=== +sys={0.000000}, mono={0.000000}: clock_override_set +sys={0.000000}, mono={0.000000}: Submit 2nd RTP packet, CMR changes +sys={0.020000}, mono={0.020000}: clock_override_add +sys={0.020000}, mono={0.020000}: OSMUX message (len=19): OSMUX seq=123 ccid=033 ft=1 rtp_m=0 ctr=0 amr_f=1 amr_q=1 amr_ft=02 amr_cmr=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +sys={0.020000}, mono={0.020000}: Closing circuit +===test_rtp_dup=== +sys={0.000000}, mono={0.000000}: clock_override_set +sys={0.000000}, mono={0.000000}: Submit 2nd RTP packet, seqnum dup +sys={0.020000}, mono={0.020000}: clock_override_add +sys={0.020000}, mono={0.020000}: Submit 3rd RTP packet, triggers osmux batch +sys={0.040000}, mono={0.040000}: clock_override_add +sys={0.040000}, mono={0.040000}: OSMUX message (len=19): OSMUX seq=123 ccid=033 ft=1 rtp_m=0 ctr=0 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=00 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +sys={0.040000}, mono={0.040000}: Closing circuit +===test_rtp_pkt_gap(60)=== +sys={0.000000}, mono={0.000000}: clock_override_set +sys={0.000000}, mono={0.000000}: 1st RTP packet is received +sys={0.000000}, mono={0.000000}: 2nd RTP packet is lost +sys={0.020000}, mono={0.020000}: clock_override_add +sys={0.020000}, mono={0.020000}: 3rd RTP packet is received +sys={0.040000}, mono={0.040000}: clock_override_add +sys={0.040000}, mono={0.040000}: 4th RTP packet is received +sys={0.060000}, mono={0.060000}: clock_override_add +sys={0.060000}, mono={0.060000}: osmux batch transmitted +sys={0.080000}, mono={0.080000}: clock_override_add +sys={0.080000}, mono={0.080000}: OSMUX message (len=64): OSMUX seq=123 ccid=033 ft=1 rtp_m=0 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +sys={0.080000}, mono={0.080000}: Closing circuit +===test_rtp_pkt_gap(65533)=== +sys={0.000000}, mono={0.000000}: clock_override_set +sys={0.000000}, mono={0.000000}: 1st RTP packet is received +sys={0.000000}, mono={0.000000}: 2nd RTP packet is lost +sys={0.020000}, mono={0.020000}: clock_override_add +sys={0.020000}, mono={0.020000}: 3rd RTP packet is received +sys={0.040000}, mono={0.040000}: clock_override_add +sys={0.040000}, mono={0.040000}: 4th RTP packet is received +sys={0.060000}, mono={0.060000}: clock_override_add +sys={0.060000}, mono={0.060000}: osmux batch transmitted +sys={0.080000}, mono={0.080000}: clock_override_add +sys={0.080000}, mono={0.080000}: OSMUX message (len=64): OSMUX seq=123 ccid=033 ft=1 rtp_m=0 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +sys={0.080000}, mono={0.080000}: Closing circuit +===test_rtp_pkt_gap(65534)=== +sys={0.000000}, mono={0.000000}: clock_override_set +sys={0.000000}, mono={0.000000}: 1st RTP packet is received +sys={0.000000}, mono={0.000000}: 2nd RTP packet is lost +sys={0.020000}, mono={0.020000}: clock_override_add +sys={0.020000}, mono={0.020000}: 3rd RTP packet is received +sys={0.040000}, mono={0.040000}: clock_override_add +sys={0.040000}, mono={0.040000}: 4th RTP packet is received +sys={0.060000}, mono={0.060000}: clock_override_add +sys={0.060000}, mono={0.060000}: osmux batch transmitted +sys={0.080000}, mono={0.080000}: clock_override_add +sys={0.080000}, mono={0.080000}: OSMUX message (len=64): OSMUX seq=123 ccid=033 ft=1 rtp_m=0 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +sys={0.080000}, mono={0.080000}: Closing circuit +===test_rtp_pkt_gap(65535)=== +sys={0.000000}, mono={0.000000}: clock_override_set +sys={0.000000}, mono={0.000000}: 1st RTP packet is received +sys={0.000000}, mono={0.000000}: 2nd RTP packet is lost +sys={0.020000}, mono={0.020000}: clock_override_add +sys={0.020000}, mono={0.020000}: 3rd RTP packet is received +sys={0.040000}, mono={0.040000}: clock_override_add +sys={0.040000}, mono={0.040000}: 4th RTP packet is received +sys={0.060000}, mono={0.060000}: clock_override_add +sys={0.060000}, mono={0.060000}: osmux batch transmitted +sys={0.080000}, mono={0.080000}: clock_override_add +sys={0.080000}, mono={0.080000}: OSMUX message (len=64): OSMUX seq=123 ccid=033 ft=1 rtp_m=0 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +sys={0.080000}, mono={0.080000}: Closing circuit +===test_rtp_pkt_gap_bigger_than_batch_factor(60)=== +sys={0.000000}, mono={0.000000}: clock_override_set +sys={0.000000}, mono={0.000000}: 1st RTP packet is received +sys={0.000000}, mono={0.000000}: 10 packets are lost +sys={0.020000}, mono={0.020000}: clock_override_add +sys={0.040000}, mono={0.040000}: clock_override_add +sys={0.060000}, mono={0.060000}: clock_override_add +sys={0.080000}, mono={0.080000}: clock_override_add +sys={0.100000}, mono={0.100000}: clock_override_add +sys={0.120000}, mono={0.120000}: clock_override_add +sys={0.140000}, mono={0.140000}: clock_override_add +sys={0.160000}, mono={0.160000}: clock_override_add +sys={0.180000}, mono={0.180000}: clock_override_add +sys={0.200000}, mono={0.200000}: clock_override_add +sys={0.200000}, mono={0.200000}: 12th RTP packet is received +sys={0.220000}, mono={0.220000}: clock_override_add +sys={0.220000}, mono={0.220000}: OSMUX message 1 (len=64): OSMUX seq=123 ccid=033 ft=1 rtp_m=0 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +sys={0.220000}, mono={0.220000}: 12th+1 RTP packet is received +sys={0.240000}, mono={0.240000}: clock_override_add +sys={0.240000}, mono={0.240000}: 12th+2 RTP packet is received +sys={0.260000}, mono={0.260000}: clock_override_add +sys={0.260000}, mono={0.260000}: 12th+3 RTP packet is received +sys={0.280000}, mono={0.280000}: clock_override_add +sys={0.280000}, mono={0.280000}: osmux batch transmitted +sys={0.300000}, mono={0.300000}: clock_override_add +sys={0.300000}, mono={0.300000}: OSMUX message 2 (len=64): OSMUX seq=124 ccid=033 ft=1 rtp_m=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +sys={0.300000}, mono={0.300000}: Closing circuit +===test_rtp_pkt_gap_bigger_than_batch_factor(65533)=== +sys={0.000000}, mono={0.000000}: clock_override_set +sys={0.000000}, mono={0.000000}: 1st RTP packet is received +sys={0.000000}, mono={0.000000}: 10 packets are lost +sys={0.020000}, mono={0.020000}: clock_override_add +sys={0.040000}, mono={0.040000}: clock_override_add +sys={0.060000}, mono={0.060000}: clock_override_add +sys={0.080000}, mono={0.080000}: clock_override_add +sys={0.100000}, mono={0.100000}: clock_override_add +sys={0.120000}, mono={0.120000}: clock_override_add +sys={0.140000}, mono={0.140000}: clock_override_add +sys={0.160000}, mono={0.160000}: clock_override_add +sys={0.180000}, mono={0.180000}: clock_override_add +sys={0.200000}, mono={0.200000}: clock_override_add +sys={0.200000}, mono={0.200000}: 12th RTP packet is received +sys={0.220000}, mono={0.220000}: clock_override_add +sys={0.220000}, mono={0.220000}: OSMUX message 1 (len=64): OSMUX seq=123 ccid=033 ft=1 rtp_m=0 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +sys={0.220000}, mono={0.220000}: 12th+1 RTP packet is received +sys={0.240000}, mono={0.240000}: clock_override_add +sys={0.240000}, mono={0.240000}: 12th+2 RTP packet is received +sys={0.260000}, mono={0.260000}: clock_override_add +sys={0.260000}, mono={0.260000}: 12th+3 RTP packet is received +sys={0.280000}, mono={0.280000}: clock_override_add +sys={0.280000}, mono={0.280000}: osmux batch transmitted +sys={0.300000}, mono={0.300000}: clock_override_add +sys={0.300000}, mono={0.300000}: OSMUX message 2 (len=64): OSMUX seq=124 ccid=033 ft=1 rtp_m=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +sys={0.300000}, mono={0.300000}: Closing circuit +===test_rtp_pkt_gap_bigger_than_batch_factor(65534)=== +sys={0.000000}, mono={0.000000}: clock_override_set +sys={0.000000}, mono={0.000000}: 1st RTP packet is received +sys={0.000000}, mono={0.000000}: 10 packets are lost +sys={0.020000}, mono={0.020000}: clock_override_add +sys={0.040000}, mono={0.040000}: clock_override_add +sys={0.060000}, mono={0.060000}: clock_override_add +sys={0.080000}, mono={0.080000}: clock_override_add +sys={0.100000}, mono={0.100000}: clock_override_add +sys={0.120000}, mono={0.120000}: clock_override_add +sys={0.140000}, mono={0.140000}: clock_override_add +sys={0.160000}, mono={0.160000}: clock_override_add +sys={0.180000}, mono={0.180000}: clock_override_add +sys={0.200000}, mono={0.200000}: clock_override_add +sys={0.200000}, mono={0.200000}: 12th RTP packet is received +sys={0.220000}, mono={0.220000}: clock_override_add +sys={0.220000}, mono={0.220000}: OSMUX message 1 (len=64): OSMUX seq=123 ccid=033 ft=1 rtp_m=0 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +sys={0.220000}, mono={0.220000}: 12th+1 RTP packet is received +sys={0.240000}, mono={0.240000}: clock_override_add +sys={0.240000}, mono={0.240000}: 12th+2 RTP packet is received +sys={0.260000}, mono={0.260000}: clock_override_add +sys={0.260000}, mono={0.260000}: 12th+3 RTP packet is received +sys={0.280000}, mono={0.280000}: clock_override_add +sys={0.280000}, mono={0.280000}: osmux batch transmitted +sys={0.300000}, mono={0.300000}: clock_override_add +sys={0.300000}, mono={0.300000}: OSMUX message 2 (len=64): OSMUX seq=124 ccid=033 ft=1 rtp_m=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +sys={0.300000}, mono={0.300000}: Closing circuit +===test_rtp_pkt_gap_bigger_than_batch_factor(65535)=== +sys={0.000000}, mono={0.000000}: clock_override_set +sys={0.000000}, mono={0.000000}: 1st RTP packet is received +sys={0.000000}, mono={0.000000}: 10 packets are lost +sys={0.020000}, mono={0.020000}: clock_override_add +sys={0.040000}, mono={0.040000}: clock_override_add +sys={0.060000}, mono={0.060000}: clock_override_add +sys={0.080000}, mono={0.080000}: clock_override_add +sys={0.100000}, mono={0.100000}: clock_override_add +sys={0.120000}, mono={0.120000}: clock_override_add +sys={0.140000}, mono={0.140000}: clock_override_add +sys={0.160000}, mono={0.160000}: clock_override_add +sys={0.180000}, mono={0.180000}: clock_override_add +sys={0.200000}, mono={0.200000}: clock_override_add +sys={0.200000}, mono={0.200000}: 12th RTP packet is received +sys={0.220000}, mono={0.220000}: clock_override_add +sys={0.220000}, mono={0.220000}: OSMUX message 1 (len=64): OSMUX seq=123 ccid=033 ft=1 rtp_m=0 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +sys={0.220000}, mono={0.220000}: 12th+1 RTP packet is received +sys={0.240000}, mono={0.240000}: clock_override_add +sys={0.240000}, mono={0.240000}: 12th+2 RTP packet is received +sys={0.260000}, mono={0.260000}: clock_override_add +sys={0.260000}, mono={0.260000}: 12th+3 RTP packet is received +sys={0.280000}, mono={0.280000}: clock_override_add +sys={0.280000}, mono={0.280000}: osmux batch transmitted +sys={0.300000}, mono={0.300000}: clock_override_add +sys={0.300000}, mono={0.300000}: OSMUX message 2 (len=64): OSMUX seq=124 ccid=033 ft=1 rtp_m=1 ctr=3 amr_f=0 amr_q=1 amr_ft=02 amr_cmr=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +sys={0.300000}, mono={0.300000}: Closing circuit +OK: Test passed
View file
libosmo-netif_1.3.0.tar.xz/tests/osmux/osmux_output_test.c
Added
@@ -0,0 +1,449 @@ +/* (C) 2017 by sysmocom - s.f.m.c. GmbH <info@sysmocom.de> + * + * Author: Pau Espin Pedrol <pespin@sysmocom.de> + * + * 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 <stdio.h> +#include <stdlib.h> +#include <stdbool.h> +#include <unistd.h> +#include <stdint.h> +#include <inttypes.h> +#include <string.h> +#include <signal.h> +#include <arpa/inet.h> +#include <sys/time.h> +#include <getopt.h> + +#include <osmocom/core/select.h> +#include <osmocom/core/application.h> +#include <osmocom/core/logging.h> +#include <osmocom/core/msgb.h> +#include <osmocom/netif/rtp.h> +#include <osmocom/netif/osmux.h> +#include <osmocom/netif/amr.h> + +static uint8_t osmux_next_seq; + +#define TIME_RTP_PKT_MS 20 +#define BATCH_FACTOR 6 +/* ----------------------------- */ + +/* Logging related stuff */ +#define INT2IDX(x) (-1*(x)-1) +struct log_info_cat jibuf_test_cat = { + INT2IDX(DLMUX) = { + .name = "DLMUX", + .description = "Osmocom Osmux", + .enabled = 1, .loglevel = LOGL_DEBUG, + }, +}; +const struct log_info log_info = { + .filter_fn = NULL, + .cat = jibuf_test_cat, + .num_cat = ARRAY_SIZE(jibuf_test_cat), +}; +/* ----------------------------- */ + +static void osmux_init(uint8_t seq) +{ + osmux_next_seq = seq; +} + +static struct msgb *osmux_new(uint8_t cid, uint8_t seq, uint8_t batch_factor) +{ + struct msgb *msg; + struct osmux_hdr *osmuxh; + + msg = msgb_alloc(1500, "test"); + if (!msg) + exit(EXIT_FAILURE); + msgb_put(msg, sizeof(struct osmux_hdr)); + + osmuxh = (struct osmux_hdr *)msg->data; + osmuxh->amr_q = 0; + osmuxh->amr_f = 0; + osmuxh->rtp_m = 0; + osmuxh->ctr = batch_factor - 1; + osmuxh->ft = 1; + osmuxh->seq = osmux_next_seq; + osmuxh->circuit_id = cid; + osmuxh->amr_ft = AMR_FT_2; /* 5.90 */ + osmuxh->amr_cmr = 0; + msgb_put(msg, osmo_amr_bytes(osmuxh->amr_ft)*batch_factor); + return msg; +} + +static struct msgb *osmux_next(void) +{ + osmux_next_seq++; + return osmux_new(0, osmux_next_seq, BATCH_FACTOR); +} + +static void sigalarm_handler(int foo) +{ + printf("FAIL: test did not run successfully\n"); + exit(EXIT_FAILURE); +} + + +static void clock_debug(char* str) +{ + struct timespec ts; + struct timeval tv; + osmo_clock_gettime(CLOCK_MONOTONIC, &ts); + osmo_gettimeofday(&tv, NULL); + printf("sys={%lu.%06lu}, mono={%lu.%06lu}: %s\n", + tv.tv_sec, tv.tv_usec, ts.tv_sec, ts.tv_nsec/1000, str); +} + +static void clock_override_enable(bool enable) +{ + osmo_gettimeofday_override = enable; + osmo_clock_override_enable(CLOCK_MONOTONIC, enable); +} + +static void clock_override_set(long sec, long usec) +{ + struct timespec *mono; + osmo_gettimeofday_override_time.tv_sec = sec; + osmo_gettimeofday_override_time.tv_usec = usec; + mono = osmo_clock_override_gettimespec(CLOCK_MONOTONIC); + mono->tv_sec = sec; + mono->tv_nsec = usec*1000; + + clock_debug("clock_override_set"); +} + +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"); +} +#define clock_override_add(sec, usec) clock_override_add_debug(sec, usec, true) + +static void tx_cb(struct msgb *msg, void *data) +{ + struct osmux_out_handle *h_output = (struct osmux_out_handle *) data; + struct rtp_hdr *rtph; + char buf250; + rtph = osmo_rtp_get_hdr(msg); + snprintf(buf, sizeof(buf), "dequeue: seq=%"PRIu16" ts=%"PRIu32"%s enqueued=%u", + ntohs(rtph->sequence), ntohl(rtph->timestamp), rtph->marker ? " M" : "", + llist_count(&h_output->list)); + clock_debug(buf); + msgb_free(msg); +} + +#define PULL_NEXT(h_output) { \ + struct msgb *_msg; \ + struct osmux_hdr *_osmuxh; \ + int _rc; \ + _msg = osmux_next(); \ + _osmuxh = osmux_xfrm_output_pull(_msg); \ + OSMO_ASSERT(_osmuxh); \ + _rc = osmux_xfrm_output_sched((h_output), _osmuxh); \ + OSMO_ASSERT(_rc == _osmuxh->ctr+1); \ + } + +/* Test some regular scenario where frames arrive at exactly the time they should. */ +static void test_output_consecutive(void) +{ + struct osmux_out_handle *h_output; + + printf("===test_output_consecutive===\n"); + + clock_override_enable(true); + clock_override_set(0, 0); + osmux_init(32); + + h_output = osmux_xfrm_output_alloc(NULL); + osmux_xfrm_output_set_rtp_ssrc(h_output, 0x7000000); + osmux_xfrm_output_set_rtp_pl_type(h_output, 98); + osmux_xfrm_output_set_tx_cb(h_output, tx_cb, h_output); + h_output->rtp_seq = (uint16_t)50; + h_output->rtp_timestamp = (uint32_t)500; + + /* First osmux frame at t=0 */ + PULL_NEXT(h_output); + clock_debug("first dequed before first select"); + osmo_select_main(0); + + clock_override_add(0, TIME_RTP_PKT_MS*1000); + clock_debug("second select, second dequed"); + osmo_select_main(0); + + clock_override_add(0, TIME_RTP_PKT_MS*1000); + clock_debug("third select, third dequed"); + osmo_select_main(0); + + clock_override_add(0, TIME_RTP_PKT_MS*1000); + clock_debug("fourth select, fourth dequed"); + osmo_select_main(0); + + clock_override_add(0, TIME_RTP_PKT_MS*1000); + clock_debug("fifth select, fifth dequed"); + osmo_select_main(0); + + clock_override_add(0, TIME_RTP_PKT_MS*1000); + clock_debug("sixth select, sixth dequed"); + osmo_select_main(0); + OSMO_ASSERT(llist_empty(&h_output->list)); + + /* Second osmux frame at t=80 */ + clock_debug("send second osmux frame"); + PULL_NEXT(h_output); + clock_debug("first dequed before first select"); + osmo_select_main(0); + + clock_override_add(0, TIME_RTP_PKT_MS*1000); + clock_debug("second select, second dequed"); + osmo_select_main(0); + + clock_override_add(0, 4*TIME_RTP_PKT_MS*1000); + clock_debug("third select, four packet should be dequeued"); + osmo_select_main(0); + OSMO_ASSERT(llist_empty(&h_output->list)); + OSMO_ASSERT(!osmo_timer_pending(&h_output->timer)); + + clock_debug("calling flush on empty list, should do nothing"); + osmux_xfrm_output_flush(h_output); + OSMO_ASSERT(llist_empty(&h_output->list)); + OSMO_ASSERT(!osmo_timer_pending(&h_output->timer)); + + talloc_free(h_output); +} + +/* Test that receiving new osmux frame triggers flushing of RTP pakcets + * generated from previous one, to avoid steady growing delay in scheduling due to + * jitter of osmux packets received. Specifically test case where the 2 Osmux + * packets arrive with a small delay of system time in between them, aka the 1st + * Osmux frame has had some of its AMR payloads already forwarded as RTP to the + * upper layers. */ +static void test_output_interleaved(void) +{ + struct osmux_out_handle *h_output; + + printf("===test_output_interleaved===\n"); + + clock_override_enable(true); + clock_override_set(0, 0); + osmux_init(32); + + h_output = osmux_xfrm_output_alloc(NULL); + osmux_xfrm_output_set_rtp_ssrc(h_output, 0x7000000); + osmux_xfrm_output_set_rtp_pl_type(h_output, 98); + osmux_xfrm_output_set_tx_cb(h_output, tx_cb, h_output); + h_output->rtp_seq = (uint16_t)50; + h_output->rtp_timestamp = (uint32_t)500; + + /* First osmux frame at t=0, but it actually arrives late due to jitter, + so 2nd frame is going to arrive before the 1st one is completelly + scheduled */ + PULL_NEXT(h_output); + + clock_override_add(0, 2*TIME_RTP_PKT_MS*1000); + clock_debug("select, 3 dequed, 3 still queued"); + osmo_select_main(0); + + /* Second osmux frame at t=0 */ + clock_debug("next frame arrives, 3 pending rtp packets are dequeued and first of new osmux frame too"); + PULL_NEXT(h_output); + osmo_select_main(0); + OSMO_ASSERT(llist_count(&h_output->list) == 5); + + clock_override_add(0, 5*TIME_RTP_PKT_MS*1000); + clock_debug("calling select, then all should be out"); + osmo_select_main(0); + + OSMO_ASSERT(llist_empty(&h_output->list)); + OSMO_ASSERT(!osmo_timer_pending(&h_output->timer)); + + talloc_free(h_output); +} + +/* Test that receiving new osmux frame triggers flushing of RTP pakcets + * generated from previous one, to avoid steady growing delay in scheduling due to + * jitter of osmux packets received. Specifically test case where the 2 Osmux + * packets arrive (almost) exactly at the same time, so no internal acton is + * triggered between receival of those. */ +static void test_output_2together(void) +{ + struct osmux_out_handle *h_output; + + printf("===test_output_2together===\n"); + + clock_override_enable(true); + clock_override_set(0, 0); + osmux_init(32); + + h_output = osmux_xfrm_output_alloc(NULL); + osmux_xfrm_output_set_rtp_ssrc(h_output, 0x7000000); + osmux_xfrm_output_set_rtp_pl_type(h_output, 98); + osmux_xfrm_output_set_tx_cb(h_output, tx_cb, h_output); + h_output->rtp_seq = (uint16_t)50; + h_output->rtp_timestamp = (uint32_t)500; + + /* First osmux frame at t=0, but it actually arrives late due to jitter, + so we receive both at the same time. */ + PULL_NEXT(h_output); + clock_debug("calling select in between 2 osmux recv"); + osmo_select_main(0); + PULL_NEXT(h_output); + + clock_debug("calling select after receiving 2nd osmux. Dequeue 1st osmux frame and 1st rtp from 2nd osmux frame."); + osmo_select_main(0); + OSMO_ASSERT(llist_count(&h_output->list) == 5); + + clock_override_add(0, 5*TIME_RTP_PKT_MS*1000); + clock_debug("select, all 5 remaining should be out"); + osmo_select_main(0); + + OSMO_ASSERT(llist_empty(&h_output->list)); + OSMO_ASSERT(!osmo_timer_pending(&h_output->timer)); + + talloc_free(h_output); +} + +/* Generated rtp stream gets first RTP pkt marked with M bit after osmux frame + * lost is detected (hence a gap in sequence) */ +static void test_output_frame_lost(void) +{ + struct osmux_out_handle *h_output; + + printf("===test_output_frame_lost===\n"); + + clock_override_enable(true); + clock_override_set(0, 0); + osmux_init(32); + + h_output = osmux_xfrm_output_alloc(NULL); + osmux_xfrm_output_set_rtp_ssrc(h_output, 0x7000000); + osmux_xfrm_output_set_rtp_pl_type(h_output, 98); + osmux_xfrm_output_set_tx_cb(h_output, tx_cb, h_output); + h_output->rtp_seq = (uint16_t)50; + h_output->rtp_timestamp = (uint32_t)500; + + clock_debug("first osmux frame"); + PULL_NEXT(h_output); + clock_override_add(0, 5*TIME_RTP_PKT_MS*1000); + osmo_select_main(0); + + clock_debug("one osmux frame is now lost (seq++)"); + osmux_next(); + clock_override_add(0, 6*TIME_RTP_PKT_MS*1000); + + clock_debug("3rd osmux frame arrives"); + PULL_NEXT(h_output); + clock_override_add(0, 5*TIME_RTP_PKT_MS*1000); + osmo_select_main(0); + + OSMO_ASSERT(llist_empty(&h_output->list)); + OSMO_ASSERT(!osmo_timer_pending(&h_output->timer)); + + talloc_free(h_output); +} + +/* Test all packets are transmitted immediately when osmux_xfrm_output_flush() + * is called. */ +static void test_output_flush(void) +{ + struct osmux_out_handle *h_output; + + printf("===test_output_flush===\n"); + + clock_override_enable(true); + clock_override_set(0, 0); + osmux_init(32); + + h_output = osmux_xfrm_output_alloc(NULL); + osmux_xfrm_output_set_rtp_ssrc(h_output, 0x7000000); + osmux_xfrm_output_set_rtp_pl_type(h_output, 98); + osmux_xfrm_output_set_tx_cb(h_output, tx_cb, h_output); + h_output->rtp_seq = (uint16_t)50; + h_output->rtp_timestamp = (uint32_t)500; + + clock_debug("first osmux frame"); + PULL_NEXT(h_output); + clock_override_add(0, 2*TIME_RTP_PKT_MS*1000); + osmo_select_main(0); + + clock_debug("2nd osmux frame arrives"); + PULL_NEXT(h_output); + + clock_debug("flushing, all packet should be transmitted immediately"); + OSMO_ASSERT(llist_count(&h_output->list) == 9); + OSMO_ASSERT(osmo_timer_pending(&h_output->timer)); + osmux_xfrm_output_flush(h_output); + OSMO_ASSERT(llist_empty(&h_output->list)); + OSMO_ASSERT(!osmo_timer_pending(&h_output->timer)); + + talloc_free(h_output); +} + +/* Test how the osmux_out_handle behaves when seqnum 0xff->0x00 is received */ +static void test_output_seqnum_wraparound(void) +{ + struct osmux_out_handle *h_output; + + printf("===test_output_seqnum_wraparound===\n"); + + clock_override_enable(true); + clock_override_set(0, 0); + osmux_init(0xff); + + h_output = osmux_xfrm_output_alloc(NULL); + osmux_xfrm_output_set_rtp_ssrc(h_output, 0x7000000); + osmux_xfrm_output_set_rtp_pl_type(h_output, 98); + osmux_xfrm_output_set_tx_cb(h_output, tx_cb, h_output); + h_output->rtp_seq = (uint16_t)50; + h_output->rtp_timestamp = (uint32_t)500; + h_output->osmux_seq_ack = 0xff; + + clock_debug("Sending osmux frame with seqnum=0"); + PULL_NEXT(h_output); + clock_override_add(0, 2*TIME_RTP_PKT_MS*1000); + osmo_select_main(0); + + clock_debug("flushing other RTP packets"); + osmux_xfrm_output_flush(h_output); + + talloc_free(h_output); +} + +int main(int argc, char **argv) +{ + + if (signal(SIGALRM, sigalarm_handler) == SIG_ERR) { + perror("signal"); + exit(EXIT_FAILURE); + } + + void *tall_ctx = talloc_named_const(NULL, 1, "Root context"); + msgb_talloc_ctx_init(tall_ctx, 0); + osmo_init_logging2(tall_ctx, &log_info); + log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); + log_set_log_level(osmo_stderr_target, LOGL_DEBUG); + log_set_category_filter(osmo_stderr_target, DLMUX, 1, LOGL_DEBUG); + + alarm(10); + + test_output_consecutive(); + test_output_interleaved(); + test_output_2together(); + test_output_frame_lost(); + test_output_flush(); + test_output_seqnum_wraparound(); + + fprintf(stdout, "OK: Test passed\n"); + return EXIT_SUCCESS; +}
View file
libosmo-netif_1.3.0.tar.xz/tests/osmux/osmux_output_test.ok
Added
@@ -0,0 +1,119 @@ +===test_output_consecutive=== +sys={0.000000}, mono={0.000000}: clock_override_set +sys={0.000000}, mono={0.000000}: dequeue: seq=50 ts=500 M enqueued=5 +sys={0.000000}, mono={0.000000}: first dequed before first select +sys={0.020000}, mono={0.020000}: clock_override_add +sys={0.020000}, mono={0.020000}: second select, second dequed +sys={0.020000}, mono={0.020000}: dequeue: seq=51 ts=660 enqueued=4 +sys={0.040000}, mono={0.040000}: clock_override_add +sys={0.040000}, mono={0.040000}: third select, third dequed +sys={0.040000}, mono={0.040000}: dequeue: seq=52 ts=820 enqueued=3 +sys={0.060000}, mono={0.060000}: clock_override_add +sys={0.060000}, mono={0.060000}: fourth select, fourth dequed +sys={0.060000}, mono={0.060000}: dequeue: seq=53 ts=980 enqueued=2 +sys={0.080000}, mono={0.080000}: clock_override_add +sys={0.080000}, mono={0.080000}: fifth select, fifth dequed +sys={0.080000}, mono={0.080000}: dequeue: seq=54 ts=1140 enqueued=1 +sys={0.100000}, mono={0.100000}: clock_override_add +sys={0.100000}, mono={0.100000}: sixth select, sixth dequed +sys={0.100000}, mono={0.100000}: dequeue: seq=55 ts=1300 enqueued=0 +sys={0.100000}, mono={0.100000}: send second osmux frame +sys={0.100000}, mono={0.100000}: dequeue: seq=56 ts=1460 enqueued=5 +sys={0.100000}, mono={0.100000}: first dequed before first select +sys={0.120000}, mono={0.120000}: clock_override_add +sys={0.120000}, mono={0.120000}: second select, second dequed +sys={0.120000}, mono={0.120000}: dequeue: seq=57 ts=1620 enqueued=4 +sys={0.200000}, mono={0.200000}: clock_override_add +sys={0.200000}, mono={0.200000}: third select, four packet should be dequeued +sys={0.200000}, mono={0.200000}: dequeue: seq=58 ts=1780 enqueued=3 +sys={0.200000}, mono={0.200000}: dequeue: seq=59 ts=1940 enqueued=2 +sys={0.200000}, mono={0.200000}: dequeue: seq=60 ts=2100 enqueued=1 +sys={0.200000}, mono={0.200000}: dequeue: seq=61 ts=2260 enqueued=0 +sys={0.200000}, mono={0.200000}: calling flush on empty list, should do nothing +===test_output_interleaved=== +sys={0.000000}, mono={0.000000}: clock_override_set +sys={0.000000}, mono={0.000000}: dequeue: seq=50 ts=500 M enqueued=5 +sys={0.040000}, mono={0.040000}: clock_override_add +sys={0.040000}, mono={0.040000}: select, 3 dequed, 3 still queued +sys={0.040000}, mono={0.040000}: dequeue: seq=51 ts=660 enqueued=4 +sys={0.040000}, mono={0.040000}: dequeue: seq=52 ts=820 enqueued=3 +sys={0.040000}, mono={0.040000}: next frame arrives, 3 pending rtp packets are dequeued and first of new osmux frame too +sys={0.040000}, mono={0.040000}: dequeue: seq=53 ts=980 enqueued=8 +sys={0.040000}, mono={0.040000}: dequeue: seq=54 ts=1140 enqueued=7 +sys={0.040000}, mono={0.040000}: dequeue: seq=55 ts=1300 enqueued=6 +sys={0.040000}, mono={0.040000}: dequeue: seq=56 ts=1460 enqueued=5 +sys={0.140000}, mono={0.140000}: clock_override_add +sys={0.140000}, mono={0.140000}: calling select, then all should be out +sys={0.140000}, mono={0.140000}: dequeue: seq=57 ts=1620 enqueued=4 +sys={0.140000}, mono={0.140000}: dequeue: seq=58 ts=1780 enqueued=3 +sys={0.140000}, mono={0.140000}: dequeue: seq=59 ts=1940 enqueued=2 +sys={0.140000}, mono={0.140000}: dequeue: seq=60 ts=2100 enqueued=1 +sys={0.140000}, mono={0.140000}: dequeue: seq=61 ts=2260 enqueued=0 +===test_output_2together=== +sys={0.000000}, mono={0.000000}: clock_override_set +sys={0.000000}, mono={0.000000}: dequeue: seq=50 ts=500 M enqueued=5 +sys={0.000000}, mono={0.000000}: calling select in between 2 osmux recv +sys={0.000000}, mono={0.000000}: calling select after receiving 2nd osmux. Dequeue 1st osmux frame and 1st rtp from 2nd osmux frame. +sys={0.000000}, mono={0.000000}: dequeue: seq=51 ts=660 enqueued=10 +sys={0.000000}, mono={0.000000}: dequeue: seq=52 ts=820 enqueued=9 +sys={0.000000}, mono={0.000000}: dequeue: seq=53 ts=980 enqueued=8 +sys={0.000000}, mono={0.000000}: dequeue: seq=54 ts=1140 enqueued=7 +sys={0.000000}, mono={0.000000}: dequeue: seq=55 ts=1300 enqueued=6 +sys={0.000000}, mono={0.000000}: dequeue: seq=56 ts=1460 enqueued=5 +sys={0.100000}, mono={0.100000}: clock_override_add +sys={0.100000}, mono={0.100000}: select, all 5 remaining should be out +sys={0.100000}, mono={0.100000}: dequeue: seq=57 ts=1620 enqueued=4 +sys={0.100000}, mono={0.100000}: dequeue: seq=58 ts=1780 enqueued=3 +sys={0.100000}, mono={0.100000}: dequeue: seq=59 ts=1940 enqueued=2 +sys={0.100000}, mono={0.100000}: dequeue: seq=60 ts=2100 enqueued=1 +sys={0.100000}, mono={0.100000}: dequeue: seq=61 ts=2260 enqueued=0 +===test_output_frame_lost=== +sys={0.000000}, mono={0.000000}: clock_override_set +sys={0.000000}, mono={0.000000}: first osmux frame +sys={0.000000}, mono={0.000000}: dequeue: seq=50 ts=500 M enqueued=5 +sys={0.100000}, mono={0.100000}: clock_override_add +sys={0.100000}, mono={0.100000}: dequeue: seq=51 ts=660 enqueued=4 +sys={0.100000}, mono={0.100000}: dequeue: seq=52 ts=820 enqueued=3 +sys={0.100000}, mono={0.100000}: dequeue: seq=53 ts=980 enqueued=2 +sys={0.100000}, mono={0.100000}: dequeue: seq=54 ts=1140 enqueued=1 +sys={0.100000}, mono={0.100000}: dequeue: seq=55 ts=1300 enqueued=0 +sys={0.100000}, mono={0.100000}: one osmux frame is now lost (seq++) +sys={0.220000}, mono={0.220000}: clock_override_add +sys={0.220000}, mono={0.220000}: 3rd osmux frame arrives +sys={0.220000}, mono={0.220000}: dequeue: seq=56 ts=1460 M enqueued=5 +sys={0.320000}, mono={0.320000}: clock_override_add +sys={0.320000}, mono={0.320000}: dequeue: seq=57 ts=1620 enqueued=4 +sys={0.320000}, mono={0.320000}: dequeue: seq=58 ts=1780 enqueued=3 +sys={0.320000}, mono={0.320000}: dequeue: seq=59 ts=1940 enqueued=2 +sys={0.320000}, mono={0.320000}: dequeue: seq=60 ts=2100 enqueued=1 +sys={0.320000}, mono={0.320000}: dequeue: seq=61 ts=2260 enqueued=0 +===test_output_flush=== +sys={0.000000}, mono={0.000000}: clock_override_set +sys={0.000000}, mono={0.000000}: first osmux frame +sys={0.000000}, mono={0.000000}: dequeue: seq=50 ts=500 M enqueued=5 +sys={0.040000}, mono={0.040000}: clock_override_add +sys={0.040000}, mono={0.040000}: dequeue: seq=51 ts=660 enqueued=4 +sys={0.040000}, mono={0.040000}: dequeue: seq=52 ts=820 enqueued=3 +sys={0.040000}, mono={0.040000}: 2nd osmux frame arrives +sys={0.040000}, mono={0.040000}: flushing, all packet should be transmitted immediately +sys={0.040000}, mono={0.040000}: dequeue: seq=53 ts=980 enqueued=8 +sys={0.040000}, mono={0.040000}: dequeue: seq=54 ts=1140 enqueued=7 +sys={0.040000}, mono={0.040000}: dequeue: seq=55 ts=1300 enqueued=6 +sys={0.040000}, mono={0.040000}: dequeue: seq=56 ts=1460 enqueued=5 +sys={0.040000}, mono={0.040000}: dequeue: seq=57 ts=1620 enqueued=4 +sys={0.040000}, mono={0.040000}: dequeue: seq=58 ts=1780 enqueued=3 +sys={0.040000}, mono={0.040000}: dequeue: seq=59 ts=1940 enqueued=2 +sys={0.040000}, mono={0.040000}: dequeue: seq=60 ts=2100 enqueued=1 +sys={0.040000}, mono={0.040000}: dequeue: seq=61 ts=2260 enqueued=0 +===test_output_seqnum_wraparound=== +sys={0.000000}, mono={0.000000}: clock_override_set +sys={0.000000}, mono={0.000000}: Sending osmux frame with seqnum=0 +sys={0.000000}, mono={0.000000}: dequeue: seq=50 ts=500 enqueued=5 +sys={0.040000}, mono={0.040000}: clock_override_add +sys={0.040000}, mono={0.040000}: dequeue: seq=51 ts=660 enqueued=4 +sys={0.040000}, mono={0.040000}: dequeue: seq=52 ts=820 enqueued=3 +sys={0.040000}, mono={0.040000}: flushing other RTP packets +sys={0.040000}, mono={0.040000}: dequeue: seq=53 ts=980 enqueued=2 +sys={0.040000}, mono={0.040000}: dequeue: seq=54 ts=1140 enqueued=1 +sys={0.040000}, mono={0.040000}: dequeue: seq=55 ts=1300 enqueued=0 +OK: Test passed
View file
libosmo-netif_1.2.0.tar.xz/tests/osmux/osmux_test.c -> libosmo-netif_1.3.0.tar.xz/tests/osmux/osmux_test.c
Changed
@@ -1,6 +1,7 @@ /* * (C) 2013 by Pablo Neira Ayuso <pablo@gnumonks.org> * (C) 2013 by On Waves ehf <http://www.on-waves.com> + * (C) 2022 by sysmocom - s.f.m.c. GmbH <info@sysmocom.de> * * 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 @@ -8,8 +9,6 @@ * (at your option) any later version. */ -#define OSMUX_TEST_USE_TIMING 0 - #include <stdio.h> #include <stdlib.h> #include <unistd.h> @@ -17,9 +16,6 @@ #include <string.h> #include <signal.h> #include <arpa/inet.h> -#if OSMUX_TEST_USE_TIMING -#include <sys/time.h> -#endif #include <osmocom/core/select.h> #include <osmocom/core/application.h> @@ -59,9 +55,6 @@ static int rtp_pkts; static int mark_pkts; -#if OSMUX_TEST_USE_TIMING -static struct timeval last; -#endif #define clock_debug(fmt, args...) \ do { \ @@ -92,20 +85,6 @@ { struct rtp_hdr *rtph = (struct rtp_hdr *)msg->data; char buf4096; -#if OSMUX_TEST_USE_TIMING - struct timeval now, diff; - - osmo_gettimeofday(&now, NULL); - timersub(&now, &last, &diff); - last = now; - - if (diff.tv_usec > 2*17000) { - clock_debug("delivery of reconstructed RTP lagged" - " (diff.tv_usec=%u > 2*17000)\n", - (unsigned int)diff.tv_usec); - exit(EXIT_FAILURE); - } -#endif osmo_rtp_snprintf(buf, sizeof(buf), msg); clock_debug("extracted packet: %s\n", buf); @@ -123,7 +102,7 @@ msgb_free(msg); } -static struct osmux_out_handle h_output; +static struct osmux_out_handle *h_output4; static void osmux_deliver(struct msgb *batch_msg, void *data) { @@ -137,15 +116,11 @@ * in a list. Then, reconstruct transmission timing. */ while((osmuxh = osmux_xfrm_output_pull(batch_msg)) != NULL) - osmux_xfrm_output_sched(&h_output, osmuxh); + osmux_xfrm_output_sched(h_outputosmuxh->circuit_id, osmuxh); msgb_free(batch_msg); } -struct osmux_in_handle h_input = { - .osmux_seq = 0, /* sequence number to start OSmux message from */ - .batch_factor = 4, /* batch up to 4 RTP messages */ - .deliver = osmux_deliver, -}; +struct osmux_in_handle *h_input; static void sigalarm_handler(int foo) { @@ -153,7 +128,8 @@ exit(EXIT_FAILURE); } -static void osmux_test_marker(int ccid) { +static void osmux_test_marker(int num_ccid) +{ struct msgb *msg; struct rtp_hdr *rtph = (struct rtp_hdr *)rtp_pkt; struct rtp_hdr *cpy_rtph; @@ -166,7 +142,7 @@ seq++; rtph->sequence = htons(seq); - for (j=0; j<4; j++) { + for (j = 0; j < num_ccid; j++) { msg = msgb_alloc(1500, "test"); if (!msg) exit(EXIT_FAILURE); @@ -181,19 +157,15 @@ } rtp_pkts++; - while (osmux_xfrm_input(&h_input, msg, j + ccid) > 0) { - osmux_xfrm_input_deliver(&h_input); + while (osmux_xfrm_input(h_input, msg, j) > 0) { + osmux_xfrm_input_deliver(h_input); } } -#if !OSMUX_TEST_USE_TIMING clock_override_add(0, PKT_TIME_USEC); -#endif } while (rtp_pkts) { -#if !OSMUX_TEST_USE_TIMING clock_override_add(1, 0); -#endif osmo_select_main(0); } @@ -239,17 +211,13 @@ * gaps between two messages to test the osmux replaying * feature. */ - osmux_xfrm_input(&h_input, msg, (i % 2) + ccid); + osmux_xfrm_input(h_input, msg, (i % 2) + ccid); if (i % 4 == 0) { -#if OSMUX_TEST_USE_TIMING - osmo_gettimeofday(&last, NULL); -#endif - /* After four RTP messages, squash them into the OSMUX * batch and call the routine to deliver it. */ - osmux_xfrm_input_deliver(&h_input); + osmux_xfrm_input_deliver(h_input); /* The first two RTP message (one per circuit ID batch) * are delivered immediately, wait until the three RTP @@ -258,9 +226,7 @@ */ for (j = 0; j < k-2; j++) { osmo_select_main(0); -#if !OSMUX_TEST_USE_TIMING clock_override_add(0, PKT_TIME_USEC); -#endif } k = 0; @@ -282,11 +248,9 @@ exit(EXIT_FAILURE); } -#if !OSMUX_TEST_USE_TIMING /* This test uses fake time to speedup the run, unless we want to manually * test time specific stuff */ clock_override_enable(true); -#endif /* This test doesn't use it, but osmux requires it internally. */ void *tall_ctx = talloc_named_const(NULL, 1, "Root context"); @@ -298,34 +262,45 @@ log_set_print_category_hex(osmo_stderr_target, 0); log_set_use_color(osmo_stderr_target, 0); - 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; + for (i = 0; i < ARRAY_SIZE(h_output); i++) { + h_outputi = osmux_xfrm_output_alloc(NULL); + osmux_xfrm_output_set_rtp_ssrc(h_outputi, 0x7000000 + i); + osmux_xfrm_output_set_rtp_pl_type(h_outputi, 98); + osmux_xfrm_output_set_tx_cb(h_outputi, tx_cb, NULL); + /* These fields are set using random() */ + h_outputi->rtp_seq = 9158; + h_outputi->rtp_timestamp = 1681692777; + } /* If the test takes longer than 10 seconds, abort it */ alarm(10); -#if !OSMUX_TEST_USE_TIMING /* Check if marker bit features work correctly */ - osmux_xfrm_input_init(&h_input); + h_input = osmux_xfrm_input_alloc(tall_ctx); + osmux_xfrm_input_set_name(h_input, "first"); + osmux_xfrm_input_set_initial_seqnum(h_input, 0); + osmux_xfrm_input_set_batch_factor(h_input, 4); + osmux_xfrm_input_set_deliver_cb(h_input, osmux_deliver, NULL); + for (i = 0; i < 4; i++) - osmux_xfrm_input_open_circuit(&h_input, i, 0); - osmux_test_marker(0); + osmux_xfrm_input_open_circuit(h_input, i, 0); + osmux_test_marker(4); for (i = 0; i < 4; i++) - osmux_xfrm_input_close_circuit(&h_input, i); - osmux_xfrm_input_fini(&h_input); -#endif + osmux_xfrm_input_close_circuit(h_input, i); + TALLOC_FREE(h_input); - osmux_xfrm_input_init(&h_input); + h_input = osmux_xfrm_input_alloc(tall_ctx); + osmux_xfrm_input_set_name(h_input, "second"); + osmux_xfrm_input_set_initial_seqnum(h_input, 0); + osmux_xfrm_input_set_batch_factor(h_input, 4); + osmux_xfrm_input_set_deliver_cb(h_input, osmux_deliver, NULL); for (i = 0; i < 2; i++) - osmux_xfrm_input_open_circuit(&h_input, i, 0); + osmux_xfrm_input_open_circuit(h_input, i, 0); /* Add two circuits with dummy padding */ - osmux_xfrm_input_open_circuit(&h_input, 2, 1); - osmux_xfrm_input_open_circuit(&h_input, 3, 1); + osmux_xfrm_input_open_circuit(h_input, 2, 1); + osmux_xfrm_input_open_circuit(h_input, 3, 1); /* Wait 10 times to make sure dummy padding timer works fine */ for (i = 0; i < 10; i++) @@ -339,16 +314,25 @@ osmux_test_loop(2); for (i = 0; i < 4; i++) - osmux_xfrm_input_close_circuit(&h_input, i); + osmux_xfrm_input_close_circuit(h_input, i); /* Reopen with two circuits and retest */ - osmux_xfrm_input_open_circuit(&h_input, 0, 0); - osmux_xfrm_input_open_circuit(&h_input, 1, 1); + osmux_xfrm_input_open_circuit(h_input, 0, 0); + osmux_xfrm_input_open_circuit(h_input, 1, 1); osmux_test_loop(0); - osmux_xfrm_input_close_circuit(&h_input, 0); - osmux_xfrm_input_close_circuit(&h_input, 1); + osmux_xfrm_input_close_circuit(h_input, 0); + osmux_xfrm_input_close_circuit(h_input, 1); + + TALLOC_FREE(h_input); - osmux_xfrm_input_fini(&h_input); + for (i = 0; i < ARRAY_SIZE(h_output); i++) { + clock_debug("Flushing CID %u\n", i); + osmux_xfrm_output_flush(h_outputi); + } + + for (i = 0; i < ARRAY_SIZE(h_output); i++) { + TALLOC_FREE(h_outputi); + } clock_debug("OK: Test passed\n"); return EXIT_SUCCESS;
View file
libosmo-netif_1.2.0.tar.xz/tests/osmux/osmux_test.ok -> libosmo-netif_1.3.0.tar.xz/tests/osmux/osmux_test.ok
Changed
@@ -1,122 +1,318 @@ -DLMUX initialized osmux input converter +DLMUX input-0,0/1472 Initialized osmux input converter +DLMUX first,0/1472CID=0,batched=0/4 Circuit opened successfully +DLMUX first,0/1472CID=1,batched=0/4 Circuit opened successfully +DLMUX first,0/1472CID=2,batched=0/4 Circuit opened successfully +DLMUX first,0/1472CID=3,batched=0/4 Circuit opened successfully 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 +DLMUX first,256/1472CID=0,batched=4/4 Batch is full for RTP sssrc=1644169479 +sys={23.504242}, mono={0.080000}: OSMUX message (len=256): OSMUX seq=000 ccid=000 ft=1 rtp_m=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=000 ccid=001 ft=1 rtp_m=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=000 ccid=002 ft=1 rtp_m=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=000 ccid=003 ft=1 rtp_m=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.504242}, mono={0.080000}: extracted packet: RTP ver=2 ssrc=117440513 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.504242}, mono={0.080000}: extracted packet: RTP ver=2 ssrc=117440514 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.504242}, mono={0.080000}: extracted packet: RTP ver=2 ssrc=117440515 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.524242}, mono={0.100000}: OSMUX message (len=106): OSMUX seq=001 ccid=000 ft=1 rtp_m=0 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=001 ccid=001 ft=1 rtp_m=0 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=001 ccid=002 ft=1 rtp_m=0 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=001 ccid=003 ft=1 rtp_m=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.564242}, mono={0.140000}: OSMUX message (len=106): OSMUX seq=002 ccid=000 ft=1 rtp_m=0 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=002 ccid=001 ft=1 rtp_m=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=002 ccid=002 ft=1 rtp_m=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=002 ccid=003 ft=1 rtp_m=0 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 +DLMUX first,256/1472CID=0,batched=4/4 Batch is full for RTP sssrc=1644169479 +sys={23.644242}, mono={0.220000}: OSMUX message (len=256): OSMUX seq=003 ccid=000 ft=1 rtp_m=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=001 ft=1 rtp_m=0 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=002 ft=1 rtp_m=0 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 rtp_m=0 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.664242}, mono={0.240000}: OSMUX message (len=106): OSMUX seq=004 ccid=000 ft=1 rtp_m=0 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=004 ccid=001 ft=1 rtp_m=0 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=004 ccid=002 ft=1 rtp_m=0 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=004 ccid=003 ft=1 rtp_m=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.704242}, mono={0.280000}: OSMUX message (len=106): OSMUX seq=005 ccid=000 ft=1 rtp_m=0 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=005 ccid=001 ft=1 rtp_m=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=005 ccid=002 ft=1 rtp_m=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=003 ft=1 rtp_m=0 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 +DLMUX first,256/1472CID=0,batched=4/4 Batch is full for RTP sssrc=1644169479 +sys={23.784242}, mono={0.360000}: OSMUX message (len=256): OSMUX seq=006 ccid=000 ft=1 rtp_m=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=006 ccid=001 ft=1 rtp_m=0 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=006 ccid=002 ft=1 rtp_m=0 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=006 ccid=003 ft=1 rtp_m=0 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.804242}, mono={0.380000}: OSMUX message (len=106): OSMUX seq=007 ccid=000 ft=1 rtp_m=0 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=007 ccid=001 ft=1 rtp_m=0 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=007 ccid=002 ft=1 rtp_m=0 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 rtp_m=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.844242}, mono={0.420000}: OSMUX message (len=106): OSMUX seq=008 ccid=000 ft=1 rtp_m=0 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=008 ccid=001 ft=1 rtp_m=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=008 ccid=002 ft=1 rtp_m=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=008 ccid=003 ft=1 rtp_m=0 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 +DLMUX first,256/1472CID=0,batched=4/4 Batch is full for RTP sssrc=1644169479 +sys={23.924242}, mono={0.500000}: OSMUX message (len=256): OSMUX seq=009 ccid=000 ft=1 rtp_m=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=009 ccid=001 ft=1 rtp_m=0 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=009 ccid=002 ft=1 rtp_m=0 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=009 ccid=003 ft=1 rtp_m=0 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.944242}, mono={0.520000}: OSMUX message (len=106): OSMUX seq=010 ccid=000 ft=1 rtp_m=0 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=010 ccid=001 ft=1 rtp_m=0 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=010 ccid=002 ft=1 rtp_m=0 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=003 ft=1 rtp_m=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={23.984242}, mono={0.560000}: OSMUX message (len=106): OSMUX seq=011 ccid=000 ft=1 rtp_m=0 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=011 ccid=001 ft=1 rtp_m=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=011 ccid=002 ft=1 rtp_m=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 rtp_m=0 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 +DLMUX first,256/1472CID=0,batched=4/4 Batch is full for RTP sssrc=1644169479 +sys={24.064242}, mono={0.640000}: OSMUX message (len=256): OSMUX seq=012 ccid=000 ft=1 rtp_m=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=012 ccid=001 ft=1 rtp_m=0 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=012 ccid=002 ft=1 rtp_m=0 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=012 ccid=003 ft=1 rtp_m=0 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.084242}, mono={0.660000}: OSMUX message (len=106): OSMUX seq=013 ccid=000 ft=1 rtp_m=0 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=013 ccid=001 ft=1 rtp_m=0 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=013 ccid=002 ft=1 rtp_m=0 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=013 ccid=003 ft=1 rtp_m=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.124242}, mono={0.700000}: OSMUX message (len=106): OSMUX seq=014 ccid=000 ft=1 rtp_m=0 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=014 ccid=001 ft=1 rtp_m=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=014 ccid=002 ft=1 rtp_m=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=014 ccid=003 ft=1 rtp_m=0 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 +DLMUX first,256/1472CID=0,batched=4/4 Batch is full for RTP sssrc=1644169479 +sys={24.204242}, mono={0.780000}: OSMUX message (len=256): OSMUX seq=015 ccid=000 ft=1 rtp_m=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=001 ft=1 rtp_m=0 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=002 ft=1 rtp_m=0 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 rtp_m=0 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.224242}, mono={0.800000}: OSMUX message (len=106): OSMUX seq=016 ccid=000 ft=1 rtp_m=0 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=016 ccid=001 ft=1 rtp_m=0 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=016 ccid=002 ft=1 rtp_m=0 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=016 ccid=003 ft=1 rtp_m=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.264242}, mono={0.840000}: OSMUX message (len=106): OSMUX seq=017 ccid=000 ft=1 rtp_m=0 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=017 ccid=001 ft=1 rtp_m=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=017 ccid=002 ft=1 rtp_m=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=003 ft=1 rtp_m=0 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 +DLMUX first,256/1472CID=0,batched=4/4 Batch is full for RTP sssrc=1644169479 +sys={24.344242}, mono={0.920000}: OSMUX message (len=256): OSMUX seq=018 ccid=000 ft=1 rtp_m=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=018 ccid=001 ft=1 rtp_m=0 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=018 ccid=002 ft=1 rtp_m=0 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=018 ccid=003 ft=1 rtp_m=0 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.364242}, mono={0.940000}: OSMUX message (len=106): OSMUX seq=019 ccid=000 ft=1 rtp_m=0 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=019 ccid=001 ft=1 rtp_m=0 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=019 ccid=002 ft=1 rtp_m=0 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 rtp_m=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.404242}, mono={0.980000}: OSMUX message (len=106): OSMUX seq=020 ccid=000 ft=1 rtp_m=0 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=020 ccid=001 ft=1 rtp_m=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=020 ccid=002 ft=1 rtp_m=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=020 ccid=003 ft=1 rtp_m=0 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 +DLMUX first,256/1472CID=0,batched=4/4 Batch is full for RTP sssrc=1644169479 +sys={24.484242}, mono={1.060000}: OSMUX message (len=256): OSMUX seq=021 ccid=000 ft=1 rtp_m=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=021 ccid=001 ft=1 rtp_m=0 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=021 ccid=002 ft=1 rtp_m=0 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=021 ccid=003 ft=1 rtp_m=0 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.504242}, mono={1.080000}: OSMUX message (len=106): OSMUX seq=022 ccid=000 ft=1 rtp_m=0 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=022 ccid=001 ft=1 rtp_m=0 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=022 ccid=002 ft=1 rtp_m=0 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=003 ft=1 rtp_m=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.544242}, mono={1.120000}: OSMUX message (len=106): OSMUX seq=023 ccid=000 ft=1 rtp_m=0 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=023 ccid=001 ft=1 rtp_m=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=023 ccid=002 ft=1 rtp_m=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 rtp_m=0 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 +DLMUX first,256/1472CID=0,batched=4/4 Batch is full for RTP sssrc=1644169479 +sys={24.624242}, mono={1.200000}: OSMUX message (len=256): OSMUX seq=024 ccid=000 ft=1 rtp_m=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=024 ccid=001 ft=1 rtp_m=0 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=024 ccid=002 ft=1 rtp_m=0 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=024 ccid=003 ft=1 rtp_m=0 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.644242}, mono={1.220000}: OSMUX message (len=106): OSMUX seq=025 ccid=000 ft=1 rtp_m=0 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=025 ccid=001 ft=1 rtp_m=0 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=025 ccid=002 ft=1 rtp_m=0 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=025 ccid=003 ft=1 rtp_m=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.684242}, mono={1.260000}: OSMUX message (len=106): OSMUX seq=026 ccid=000 ft=1 rtp_m=0 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=026 ccid=001 ft=1 rtp_m=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=026 ccid=002 ft=1 rtp_m=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=026 ccid=003 ft=1 rtp_m=0 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={25.704242}, mono={2.280000}: OSMUX message (len=76): OSMUX seq=027 ccid=000 ft=1 rtp_m=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=027 ccid=001 ft=1 rtp_m=0 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=027 ccid=002 ft=1 rtp_m=0 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=027 ccid=003 ft=1 rtp_m=0 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=117440515 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=117440515 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=117440515 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=117440515 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=117440515 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=117440515 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=117440515 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=117440515 type=98 marker=0 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=117440515 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=117440515 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=117440515 type=98 marker=1 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=117440515 type=98 marker=0 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=117440515 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=117440515 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=117440515 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=117440515 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=117440515 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=117440515 type=98 marker=1 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=117440515 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=117440515 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=117440515 type=98 marker=0 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=117440515 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=117440515 type=98 marker=0 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=117440515 type=98 marker=0 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=117440515 type=98 marker=1 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=117440515 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=117440515 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=117440515 type=98 marker=0 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=117440515 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=117440515 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=117440515 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=117440515 type=98 marker=1 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=117440515 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=117440515 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=117440515 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=117440515 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=117440515 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=117440515 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=117440515 type=98 marker=1 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=117440515 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=117440515 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=117440515 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=117440515 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=117440515 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=117440515 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=117440515 type=98 marker=1 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=117440515 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=117440515 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=117440515 type=98 marker=0 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=117440515 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=117440515 type=98 marker=0 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=117440515 type=98 marker=0 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=117440515 type=98 marker=1 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=117440515 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=117440515 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=117440515 type=98 marker=0 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=117440515 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=117440515 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=117440515 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=117440515 type=98 marker=1 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=117440515 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=117440515 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=117440515 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=117440514 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=117440514 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=117440514 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=117440514 type=98 marker=0 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=117440514 type=98 marker=1 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=117440514 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=117440514 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=117440514 type=98 marker=0 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=117440514 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=117440514 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=117440514 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=117440514 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=117440514 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=117440514 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=117440514 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=117440514 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=117440514 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=117440514 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=117440514 type=98 marker=1 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=117440514 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=117440514 type=98 marker=0 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=117440514 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=117440514 type=98 marker=0 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=117440514 type=98 marker=0 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=117440514 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=117440514 type=98 marker=1 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=117440514 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=117440514 type=98 marker=0 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=117440514 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=117440514 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=117440514 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=117440514 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=117440514 type=98 marker=1 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=117440514 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=117440514 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=117440514 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=117440514 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=117440514 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=117440514 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=117440514 type=98 marker=1 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=117440514 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=117440514 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=117440514 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=117440514 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=117440514 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=117440514 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=117440514 type=98 marker=1 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=117440514 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=117440514 type=98 marker=0 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=117440514 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=117440514 type=98 marker=0 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=117440514 type=98 marker=0 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=117440514 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=117440514 type=98 marker=1 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=117440514 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=117440514 type=98 marker=0 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=117440514 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=117440514 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=117440514 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=117440514 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=117440514 type=98 marker=1 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=117440514 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=117440514 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=117440513 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=117440513 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=117440513 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=117440513 type=98 marker=0 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=117440513 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=117440513 type=98 marker=1 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=117440513 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=117440513 type=98 marker=0 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=117440513 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=117440513 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=117440513 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=117440513 type=98 marker=0 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=117440513 type=98 marker=1 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=117440513 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=117440513 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=117440513 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=117440513 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=117440513 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=117440513 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=117440513 type=98 marker=1 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=117440513 type=98 marker=0 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=117440513 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=117440513 type=98 marker=0 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=117440513 type=98 marker=0 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=117440513 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=117440513 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=117440513 type=98 marker=1 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=117440513 type=98 marker=0 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=117440513 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=117440513 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=117440513 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=117440513 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=117440513 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=117440513 type=98 marker=1 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=117440513 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=117440513 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=117440513 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=117440513 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=117440513 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=117440513 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=117440513 type=98 marker=1 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=117440513 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=117440513 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=117440513 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=117440513 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=117440513 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=117440513 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=117440513 type=98 marker=1 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=117440513 type=98 marker=0 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=117440513 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=117440513 type=98 marker=0 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=117440513 type=98 marker=0 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=117440513 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=117440513 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=117440513 type=98 marker=1 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=117440513 type=98 marker=0 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=117440513 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=117440513 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=117440513 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=117440513 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=117440513 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=117440513 type=98 marker=1 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=117440513 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=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=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=1 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=0 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=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=1 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 @@ -125,8 +321,8 @@ 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=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=0 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 @@ -137,14 +333,14 @@ 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=1 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=1 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 @@ -153,8 +349,8 @@ 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=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=0 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 @@ -165,917 +361,926 @@ 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}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=1 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 +DLMUX first,0/1472CID=0,batched=0/4 Closing circuit +DLMUX first,0/1472CID=1,batched=0/4 Closing circuit +DLMUX first,0/1472CID=2,batched=0/4 Closing circuit +DLMUX first,0/1472CID=3,batched=0/4 Closing circuit +DLMUX input-1,0/1472 Initialized osmux input converter +DLMUX second,0/1472CID=0,batched=0/4 Circuit opened successfully +DLMUX second,0/1472CID=1,batched=0/4 Circuit opened successfully +DLMUX second,0/1472CID=2,batched=0/4 Circuit opened successfully +DLMUX second,0/1472CID=3,batched=0/4 Circuit opened successfully 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 +DLMUX second,38/1472CID=1,batched=1/4 RTP seq jump detected: 16396 -> 16398 (1 lost packets) 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 +DLMUX second,68/1472CID=0,batched=1/4 RTP seq jump detected: 16397 -> 16399 (1 lost packets) +sys={26.704242}, mono={3.280000}: OSMUX message (len=242): OSMUX seq=000 ccid=000 ft=1 rtp_m=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=001 ft=1 rtp_m=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 rtp_m=0 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 rtp_m=0 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=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=117440513 type=98 marker=1 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.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.724242}, mono={3.300000}: extracted packet: RTP ver=2 ssrc=117440513 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.724242}, mono={3.300000}: 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.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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16398 -> 16400 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16399 -> 16401 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16400 -> 16402 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16401 -> 16403 (1 lost packets) +sys={26.744242}, mono={3.320000}: OSMUX message (len=272): OSMUX seq=001 ccid=000 ft=1 rtp_m=0 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 rtp_m=0 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=000 ccid=002 ft=2 rtp_m=0 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 rtp_m=0 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=117440513 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.744242}, mono={3.320000}: extracted packet: RTP ver=2 ssrc=117440513 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.744242}, mono={3.320000}: 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.744242}, mono={3.320000}: 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.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.764242}, mono={3.340000}: 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.764242}, mono={3.340000}: extracted packet: RTP ver=2 ssrc=117440513 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.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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16402 -> 16404 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16403 -> 16405 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16404 -> 16406 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16405 -> 16407 (1 lost packets) +sys={26.784242}, mono={3.360000}: OSMUX message (len=272): OSMUX seq=002 ccid=000 ft=1 rtp_m=0 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=001 ft=1 rtp_m=0 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=000 ccid=002 ft=2 rtp_m=0 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 rtp_m=0 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=117440513 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.784242}, mono={3.360000}: extracted packet: RTP ver=2 ssrc=117440513 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.784242}, mono={3.360000}: extracted packet: RTP ver=2 ssrc=117440513 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.784242}, mono={3.360000}: 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.784242}, mono={3.360000}: 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.784242}, mono={3.360000}: 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.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.804242}, mono={3.380000}: 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.804242}, mono={3.380000}: extracted packet: RTP ver=2 ssrc=117440513 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.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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16406 -> 16408 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16407 -> 16409 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16408 -> 16410 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16409 -> 16411 (1 lost packets) +sys={26.824242}, mono={3.400000}: OSMUX message (len=272): OSMUX seq=003 ccid=000 ft=1 rtp_m=0 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=001 ft=1 rtp_m=0 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=000 ccid=002 ft=2 rtp_m=0 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 rtp_m=0 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=117440513 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.824242}, mono={3.400000}: extracted packet: RTP ver=2 ssrc=117440513 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.824242}, mono={3.400000}: extracted packet: RTP ver=2 ssrc=117440513 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.824242}, mono={3.400000}: 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.824242}, mono={3.400000}: 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.824242}, mono={3.400000}: 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.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.844242}, mono={3.420000}: 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.844242}, mono={3.420000}: extracted packet: RTP ver=2 ssrc=117440513 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.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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16410 -> 16412 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16411 -> 16413 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16412 -> 16414 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16413 -> 16415 (1 lost packets) +sys={26.864242}, mono={3.440000}: OSMUX message (len=272): OSMUX seq=004 ccid=000 ft=1 rtp_m=0 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=004 ccid=001 ft=1 rtp_m=0 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=000 ccid=002 ft=2 rtp_m=0 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 rtp_m=0 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=117440513 type=98 marker=0 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.864242}, mono={3.440000}: extracted packet: RTP ver=2 ssrc=117440513 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.864242}, mono={3.440000}: extracted packet: RTP ver=2 ssrc=117440513 type=98 marker=0 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.864242}, mono={3.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 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.864242}, mono={3.440000}: 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.864242}, mono={3.440000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 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.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.884242}, mono={3.460000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 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.884242}, mono={3.460000}: extracted packet: RTP ver=2 ssrc=117440513 type=98 marker=0 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.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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16414 -> 16416 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16415 -> 16417 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16416 -> 16418 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16417 -> 16419 (1 lost packets) +sys={26.904242}, mono={3.480000}: OSMUX message (len=272): OSMUX seq=005 ccid=000 ft=1 rtp_m=0 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=005 ccid=001 ft=1 rtp_m=0 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=000 ccid=002 ft=2 rtp_m=0 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 rtp_m=0 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=117440513 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.904242}, mono={3.480000}: extracted packet: RTP ver=2 ssrc=117440513 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.904242}, mono={3.480000}: extracted packet: RTP ver=2 ssrc=117440513 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.904242}, mono={3.480000}: 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.904242}, mono={3.480000}: 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.904242}, mono={3.480000}: 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.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.924242}, mono={3.500000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 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.924242}, mono={3.500000}: extracted packet: RTP ver=2 ssrc=117440513 type=98 marker=0 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.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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16418 -> 16420 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16419 -> 16421 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16420 -> 16422 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16421 -> 16423 (1 lost packets) +sys={26.944242}, mono={3.520000}: OSMUX message (len=272): OSMUX seq=006 ccid=000 ft=1 rtp_m=0 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=006 ccid=001 ft=1 rtp_m=0 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=000 ccid=002 ft=2 rtp_m=0 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 rtp_m=0 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=117440513 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.944242}, mono={3.520000}: extracted packet: RTP ver=2 ssrc=117440513 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.944242}, mono={3.520000}: extracted packet: RTP ver=2 ssrc=117440513 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.944242}, mono={3.520000}: 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.944242}, mono={3.520000}: 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.944242}, mono={3.520000}: 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.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.964242}, mono={3.540000}: 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.964242}, mono={3.540000}: extracted packet: RTP ver=2 ssrc=117440513 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.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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16422 -> 16424 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16423 -> 16425 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16424 -> 16426 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16425 -> 16427 (1 lost packets) +sys={26.984242}, mono={3.560000}: OSMUX message (len=272): OSMUX seq=007 ccid=000 ft=1 rtp_m=0 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=007 ccid=001 ft=1 rtp_m=0 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=000 ccid=002 ft=2 rtp_m=0 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 rtp_m=0 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=117440513 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.984242}, mono={3.560000}: extracted packet: RTP ver=2 ssrc=117440513 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.984242}, mono={3.560000}: extracted packet: RTP ver=2 ssrc=117440513 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.984242}, mono={3.560000}: 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.984242}, mono={3.560000}: 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.984242}, mono={3.560000}: 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={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.004242}, mono={3.580000}: 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={27.004242}, mono={3.580000}: extracted packet: RTP ver=2 ssrc=117440513 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16426 -> 16428 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16427 -> 16429 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16428 -> 16430 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16429 -> 16431 (1 lost packets) +sys={27.024242}, mono={3.600000}: OSMUX message (len=272): OSMUX seq=008 ccid=000 ft=1 rtp_m=0 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=008 ccid=001 ft=1 rtp_m=0 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=000 ccid=002 ft=2 rtp_m=0 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 rtp_m=0 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=117440513 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={27.024242}, mono={3.600000}: extracted packet: RTP ver=2 ssrc=117440513 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={27.024242}, mono={3.600000}: extracted packet: RTP ver=2 ssrc=117440513 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={27.024242}, mono={3.600000}: 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={27.024242}, mono={3.600000}: 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={27.024242}, mono={3.600000}: 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={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.044242}, mono={3.620000}: 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={27.044242}, mono={3.620000}: extracted packet: RTP ver=2 ssrc=117440513 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16430 -> 16432 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16431 -> 16433 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16432 -> 16434 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16433 -> 16435 (1 lost packets) +sys={27.064242}, mono={3.640000}: OSMUX message (len=272): OSMUX seq=009 ccid=000 ft=1 rtp_m=0 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=009 ccid=001 ft=1 rtp_m=0 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=000 ccid=002 ft=2 rtp_m=0 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 rtp_m=0 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=117440513 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={27.064242}, mono={3.640000}: extracted packet: RTP ver=2 ssrc=117440513 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={27.064242}, mono={3.640000}: extracted packet: RTP ver=2 ssrc=117440513 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={27.064242}, mono={3.640000}: 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={27.064242}, mono={3.640000}: 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={27.064242}, mono={3.640000}: 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={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.084242}, mono={3.660000}: 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={27.084242}, mono={3.660000}: extracted packet: RTP ver=2 ssrc=117440513 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16434 -> 16436 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16435 -> 16437 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16436 -> 16438 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16437 -> 16439 (1 lost packets) +sys={27.104242}, mono={3.680000}: OSMUX message (len=272): OSMUX seq=010 ccid=000 ft=1 rtp_m=0 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=010 ccid=001 ft=1 rtp_m=0 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=000 ccid=002 ft=2 rtp_m=0 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 rtp_m=0 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=117440513 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={27.104242}, mono={3.680000}: extracted packet: RTP ver=2 ssrc=117440513 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={27.104242}, mono={3.680000}: extracted packet: RTP ver=2 ssrc=117440513 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={27.104242}, mono={3.680000}: 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={27.104242}, mono={3.680000}: 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={27.104242}, mono={3.680000}: 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={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.124242}, mono={3.700000}: 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={27.124242}, mono={3.700000}: extracted packet: RTP ver=2 ssrc=117440513 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16438 -> 16440 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16439 -> 16441 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16440 -> 16442 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16441 -> 16443 (1 lost packets) +sys={27.144242}, mono={3.720000}: OSMUX message (len=272): OSMUX seq=011 ccid=000 ft=1 rtp_m=0 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=011 ccid=001 ft=1 rtp_m=0 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=000 ccid=002 ft=2 rtp_m=0 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 rtp_m=0 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=117440513 type=98 marker=0 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={27.144242}, mono={3.720000}: extracted packet: RTP ver=2 ssrc=117440513 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={27.144242}, mono={3.720000}: extracted packet: RTP ver=2 ssrc=117440513 type=98 marker=0 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={27.144242}, mono={3.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 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={27.144242}, mono={3.720000}: 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={27.144242}, mono={3.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 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={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.164242}, mono={3.740000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 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={27.164242}, mono={3.740000}: extracted packet: RTP ver=2 ssrc=117440513 type=98 marker=0 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16442 -> 16444 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16443 -> 16445 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16444 -> 16446 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16445 -> 16447 (1 lost packets) +sys={27.184242}, mono={3.760000}: OSMUX message (len=272): OSMUX seq=012 ccid=000 ft=1 rtp_m=0 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=012 ccid=001 ft=1 rtp_m=0 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=000 ccid=002 ft=2 rtp_m=0 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 rtp_m=0 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=117440513 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={27.184242}, mono={3.760000}: extracted packet: RTP ver=2 ssrc=117440513 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={27.184242}, mono={3.760000}: extracted packet: RTP ver=2 ssrc=117440513 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={27.184242}, mono={3.760000}: 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={27.184242}, mono={3.760000}: 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={27.184242}, mono={3.760000}: 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={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.204242}, mono={3.780000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 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={27.204242}, mono={3.780000}: extracted packet: RTP ver=2 ssrc=117440513 type=98 marker=0 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16446 -> 16448 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16447 -> 16449 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16448 -> 16450 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16449 -> 16451 (1 lost packets) +sys={27.224242}, mono={3.800000}: OSMUX message (len=272): OSMUX seq=013 ccid=000 ft=1 rtp_m=0 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 rtp_m=0 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=000 ccid=002 ft=2 rtp_m=0 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 rtp_m=0 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=117440513 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={27.224242}, mono={3.800000}: extracted packet: RTP ver=2 ssrc=117440513 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={27.224242}, mono={3.800000}: extracted packet: RTP ver=2 ssrc=117440513 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={27.224242}, mono={3.800000}: 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={27.224242}, mono={3.800000}: 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={27.224242}, mono={3.800000}: 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={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.244242}, mono={3.820000}: 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={27.244242}, mono={3.820000}: extracted packet: RTP ver=2 ssrc=117440513 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16450 -> 16452 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16451 -> 16453 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16452 -> 16454 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16453 -> 16455 (1 lost packets) +sys={27.264242}, mono={3.840000}: OSMUX message (len=272): OSMUX seq=014 ccid=000 ft=1 rtp_m=0 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=001 ft=1 rtp_m=0 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=000 ccid=002 ft=2 rtp_m=0 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 rtp_m=0 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=117440513 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={27.264242}, mono={3.840000}: extracted packet: RTP ver=2 ssrc=117440513 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={27.264242}, mono={3.840000}: extracted packet: RTP ver=2 ssrc=117440513 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={27.264242}, mono={3.840000}: 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={27.264242}, mono={3.840000}: 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={27.264242}, mono={3.840000}: 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={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.284242}, mono={3.860000}: 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={27.284242}, mono={3.860000}: extracted packet: RTP ver=2 ssrc=117440513 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16454 -> 16456 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16455 -> 16457 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16456 -> 16458 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16457 -> 16459 (1 lost packets) +sys={27.304242}, mono={3.880000}: OSMUX message (len=272): OSMUX seq=015 ccid=000 ft=1 rtp_m=0 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=001 ft=1 rtp_m=0 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=000 ccid=002 ft=2 rtp_m=0 ctr=3 amr_f=0 amr_q=0 amr_ft=03 amr_cmr=00, OSMUX seq=000 ccid=003 ft=2 rtp_m=0 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=117440513 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={27.304242}, mono={3.880000}: extracted packet: RTP ver=2 ssrc=117440513 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={27.304242}, mono={3.880000}: extracted packet: RTP ver=2 ssrc=117440513 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={27.304242}, mono={3.880000}: 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={27.304242}, mono={3.880000}: 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={27.304242}, mono={3.880000}: 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={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.324242}, mono={3.900000}: 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={27.324242}, mono={3.900000}: extracted packet: RTP ver=2 ssrc=117440513 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={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 +DLMUX second,38/1472CID=3,batched=1/4 RTP seq jump detected: 16460 -> 16462 (1 lost packets) 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 +DLMUX second,68/1472CID=2,batched=1/4 RTP seq jump detected: 16461 -> 16463 (1 lost packets) +sys={27.344242}, mono={3.920000}: OSMUX message (len=98): OSMUX seq=000 ccid=002 ft=1 rtp_m=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=003 ft=1 rtp_m=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=117440514 type=98 marker=1 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={27.344242}, mono={3.920000}: extracted packet: RTP ver=2 ssrc=117440515 type=98 marker=1 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={27.344242}, mono={3.920000}: extracted packet: RTP ver=2 ssrc=117440513 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={27.344242}, mono={3.920000}: 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={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.364242}, mono={3.940000}: 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={27.364242}, mono={3.940000}: extracted packet: RTP ver=2 ssrc=117440513 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={27.364242}, mono={3.940000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.364242}, mono={3.940000}: extracted packet: RTP ver=2 ssrc=117440514 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={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 +DLMUX second,0/1472CID=3,batched=0/4 RTP seq jump detected: 16462 -> 16464 (1 lost packets) 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 +DLMUX second,34/1472CID=2,batched=0/4 RTP seq jump detected: 16463 -> 16465 (1 lost packets) 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 +DLMUX second,68/1472CID=3,batched=2/4 RTP seq jump detected: 16464 -> 16466 (1 lost packets) 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 +DLMUX second,98/1472CID=2,batched=2/4 RTP seq jump detected: 16465 -> 16467 (1 lost packets) +sys={27.384242}, mono={3.960000}: OSMUX message (len=128): OSMUX seq=001 ccid=002 ft=1 rtp_m=0 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=003 ft=1 rtp_m=0 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={27.384242}, mono={3.960000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.384242}, mono={3.960000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.384242}, mono={3.960000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.384242}, mono={3.960000}: extracted packet: RTP ver=2 ssrc=117440514 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={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.404242}, mono={3.980000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.404242}, mono={3.980000}: extracted packet: RTP ver=2 ssrc=117440515 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={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 +DLMUX second,0/1472CID=3,batched=0/4 RTP seq jump detected: 16466 -> 16468 (1 lost packets) 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 +DLMUX second,34/1472CID=2,batched=0/4 RTP seq jump detected: 16467 -> 16469 (1 lost packets) 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 +DLMUX second,68/1472CID=3,batched=2/4 RTP seq jump detected: 16468 -> 16470 (1 lost packets) 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 +DLMUX second,98/1472CID=2,batched=2/4 RTP seq jump detected: 16469 -> 16471 (1 lost packets) +sys={27.424242}, mono={4.000000}: OSMUX message (len=128): OSMUX seq=002 ccid=002 ft=1 rtp_m=0 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=003 ft=1 rtp_m=0 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={27.424242}, mono={4.000000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.424242}, mono={4.000000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.424242}, mono={4.000000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.424242}, mono={4.000000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.424242}, mono={4.000000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.424242}, mono={4.000000}: extracted packet: RTP ver=2 ssrc=117440514 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={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.444242}, mono={4.020000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.444242}, mono={4.020000}: extracted packet: RTP ver=2 ssrc=117440515 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={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 +DLMUX second,0/1472CID=3,batched=0/4 RTP seq jump detected: 16470 -> 16472 (1 lost packets) 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 +DLMUX second,34/1472CID=2,batched=0/4 RTP seq jump detected: 16471 -> 16473 (1 lost packets) 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 +DLMUX second,68/1472CID=3,batched=2/4 RTP seq jump detected: 16472 -> 16474 (1 lost packets) 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 +DLMUX second,98/1472CID=2,batched=2/4 RTP seq jump detected: 16473 -> 16475 (1 lost packets) +sys={27.464242}, mono={4.040000}: OSMUX message (len=128): OSMUX seq=003 ccid=002 ft=1 rtp_m=0 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 rtp_m=0 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={27.464242}, mono={4.040000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.464242}, mono={4.040000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.464242}, mono={4.040000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.464242}, mono={4.040000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.464242}, mono={4.040000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.464242}, mono={4.040000}: extracted packet: RTP ver=2 ssrc=117440514 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={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.484242}, mono={4.060000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.484242}, mono={4.060000}: extracted packet: RTP ver=2 ssrc=117440515 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={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 +DLMUX second,0/1472CID=3,batched=0/4 RTP seq jump detected: 16474 -> 16476 (1 lost packets) 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 +DLMUX second,34/1472CID=2,batched=0/4 RTP seq jump detected: 16475 -> 16477 (1 lost packets) 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 +DLMUX second,68/1472CID=3,batched=2/4 RTP seq jump detected: 16476 -> 16478 (1 lost packets) 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 +DLMUX second,98/1472CID=2,batched=2/4 RTP seq jump detected: 16477 -> 16479 (1 lost packets) +sys={27.504242}, mono={4.080000}: OSMUX message (len=128): OSMUX seq=004 ccid=002 ft=1 rtp_m=0 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=004 ccid=003 ft=1 rtp_m=0 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={27.504242}, mono={4.080000}: extracted packet: RTP ver=2 ssrc=117440515 type=98 marker=0 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={27.504242}, mono={4.080000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.504242}, mono={4.080000}: extracted packet: RTP ver=2 ssrc=117440515 type=98 marker=0 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={27.504242}, mono={4.080000}: extracted packet: RTP ver=2 ssrc=117440514 type=98 marker=0 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={27.504242}, mono={4.080000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.504242}, mono={4.080000}: extracted packet: RTP ver=2 ssrc=117440514 type=98 marker=0 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={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.524242}, mono={4.100000}: extracted packet: RTP ver=2 ssrc=117440514 type=98 marker=0 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={27.524242}, mono={4.100000}: extracted packet: RTP ver=2 ssrc=117440515 type=98 marker=0 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={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 +DLMUX second,0/1472CID=3,batched=0/4 RTP seq jump detected: 16478 -> 16480 (1 lost packets) 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 +DLMUX second,34/1472CID=2,batched=0/4 RTP seq jump detected: 16479 -> 16481 (1 lost packets) 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 +DLMUX second,68/1472CID=3,batched=2/4 RTP seq jump detected: 16480 -> 16482 (1 lost packets) 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 +DLMUX second,98/1472CID=2,batched=2/4 RTP seq jump detected: 16481 -> 16483 (1 lost packets) +sys={27.544242}, mono={4.120000}: OSMUX message (len=128): OSMUX seq=005 ccid=002 ft=1 rtp_m=0 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=005 ccid=003 ft=1 rtp_m=0 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={27.544242}, mono={4.120000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.544242}, mono={4.120000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.544242}, mono={4.120000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.544242}, mono={4.120000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.544242}, mono={4.120000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.544242}, mono={4.120000}: extracted packet: RTP ver=2 ssrc=117440514 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={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.564242}, mono={4.140000}: extracted packet: RTP ver=2 ssrc=117440514 type=98 marker=0 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={27.564242}, mono={4.140000}: extracted packet: RTP ver=2 ssrc=117440515 type=98 marker=0 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={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 +DLMUX second,0/1472CID=3,batched=0/4 RTP seq jump detected: 16482 -> 16484 (1 lost packets) 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 +DLMUX second,34/1472CID=2,batched=0/4 RTP seq jump detected: 16483 -> 16485 (1 lost packets) 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 +DLMUX second,68/1472CID=3,batched=2/4 RTP seq jump detected: 16484 -> 16486 (1 lost packets) 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 +DLMUX second,98/1472CID=2,batched=2/4 RTP seq jump detected: 16485 -> 16487 (1 lost packets) +sys={27.584242}, mono={4.160000}: OSMUX message (len=128): OSMUX seq=006 ccid=002 ft=1 rtp_m=0 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=006 ccid=003 ft=1 rtp_m=0 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={27.584242}, mono={4.160000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.584242}, mono={4.160000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.584242}, mono={4.160000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.584242}, mono={4.160000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.584242}, mono={4.160000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.584242}, mono={4.160000}: extracted packet: RTP ver=2 ssrc=117440514 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={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.604242}, mono={4.180000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.604242}, mono={4.180000}: extracted packet: RTP ver=2 ssrc=117440515 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={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 +DLMUX second,0/1472CID=3,batched=0/4 RTP seq jump detected: 16486 -> 16488 (1 lost packets) 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 +DLMUX second,34/1472CID=2,batched=0/4 RTP seq jump detected: 16487 -> 16489 (1 lost packets) 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 +DLMUX second,68/1472CID=3,batched=2/4 RTP seq jump detected: 16488 -> 16490 (1 lost packets) 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 +DLMUX second,98/1472CID=2,batched=2/4 RTP seq jump detected: 16489 -> 16491 (1 lost packets) +sys={27.624242}, mono={4.200000}: OSMUX message (len=128): OSMUX seq=007 ccid=002 ft=1 rtp_m=0 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=007 ccid=003 ft=1 rtp_m=0 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={27.624242}, mono={4.200000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.624242}, mono={4.200000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.624242}, mono={4.200000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.624242}, mono={4.200000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.624242}, mono={4.200000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.624242}, mono={4.200000}: extracted packet: RTP ver=2 ssrc=117440514 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={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.644242}, mono={4.220000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.644242}, mono={4.220000}: extracted packet: RTP ver=2 ssrc=117440515 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={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 +DLMUX second,0/1472CID=3,batched=0/4 RTP seq jump detected: 16490 -> 16492 (1 lost packets) 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 +DLMUX second,34/1472CID=2,batched=0/4 RTP seq jump detected: 16491 -> 16493 (1 lost packets) 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 +DLMUX second,68/1472CID=3,batched=2/4 RTP seq jump detected: 16492 -> 16494 (1 lost packets) 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 +DLMUX second,98/1472CID=2,batched=2/4 RTP seq jump detected: 16493 -> 16495 (1 lost packets) +sys={27.664242}, mono={4.240000}: OSMUX message (len=128): OSMUX seq=008 ccid=002 ft=1 rtp_m=0 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=008 ccid=003 ft=1 rtp_m=0 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={27.664242}, mono={4.240000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.664242}, mono={4.240000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.664242}, mono={4.240000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.664242}, mono={4.240000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.664242}, mono={4.240000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.664242}, mono={4.240000}: extracted packet: RTP ver=2 ssrc=117440514 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={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.684242}, mono={4.260000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.684242}, mono={4.260000}: extracted packet: RTP ver=2 ssrc=117440515 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={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 +DLMUX second,0/1472CID=3,batched=0/4 RTP seq jump detected: 16494 -> 16496 (1 lost packets) 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 +DLMUX second,34/1472CID=2,batched=0/4 RTP seq jump detected: 16495 -> 16497 (1 lost packets) 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 +DLMUX second,68/1472CID=3,batched=2/4 RTP seq jump detected: 16496 -> 16498 (1 lost packets) 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 +DLMUX second,98/1472CID=2,batched=2/4 RTP seq jump detected: 16497 -> 16499 (1 lost packets) +sys={27.704242}, mono={4.280000}: OSMUX message (len=128): OSMUX seq=009 ccid=002 ft=1 rtp_m=0 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=009 ccid=003 ft=1 rtp_m=0 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={27.704242}, mono={4.280000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.704242}, mono={4.280000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.704242}, mono={4.280000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.704242}, mono={4.280000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.704242}, mono={4.280000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.704242}, mono={4.280000}: extracted packet: RTP ver=2 ssrc=117440514 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={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.724242}, mono={4.300000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.724242}, mono={4.300000}: extracted packet: RTP ver=2 ssrc=117440515 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={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 +DLMUX second,0/1472CID=3,batched=0/4 RTP seq jump detected: 16498 -> 16500 (1 lost packets) 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 +DLMUX second,34/1472CID=2,batched=0/4 RTP seq jump detected: 16499 -> 16501 (1 lost packets) 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 +DLMUX second,68/1472CID=3,batched=2/4 RTP seq jump detected: 16500 -> 16502 (1 lost packets) 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 +DLMUX second,98/1472CID=2,batched=2/4 RTP seq jump detected: 16501 -> 16503 (1 lost packets) +sys={27.744242}, mono={4.320000}: OSMUX message (len=128): OSMUX seq=010 ccid=002 ft=1 rtp_m=0 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=010 ccid=003 ft=1 rtp_m=0 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={27.744242}, mono={4.320000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.744242}, mono={4.320000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.744242}, mono={4.320000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.744242}, mono={4.320000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.744242}, mono={4.320000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.744242}, mono={4.320000}: extracted packet: RTP ver=2 ssrc=117440514 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={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.764242}, mono={4.340000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.764242}, mono={4.340000}: extracted packet: RTP ver=2 ssrc=117440515 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={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 +DLMUX second,0/1472CID=3,batched=0/4 RTP seq jump detected: 16502 -> 16504 (1 lost packets) 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 +DLMUX second,34/1472CID=2,batched=0/4 RTP seq jump detected: 16503 -> 16505 (1 lost packets) 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 +DLMUX second,68/1472CID=3,batched=2/4 RTP seq jump detected: 16504 -> 16506 (1 lost packets) 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 +DLMUX second,98/1472CID=2,batched=2/4 RTP seq jump detected: 16505 -> 16507 (1 lost packets) +sys={27.784242}, mono={4.360000}: OSMUX message (len=128): OSMUX seq=011 ccid=002 ft=1 rtp_m=0 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=011 ccid=003 ft=1 rtp_m=0 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={27.784242}, mono={4.360000}: extracted packet: RTP ver=2 ssrc=117440515 type=98 marker=0 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={27.784242}, mono={4.360000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.784242}, mono={4.360000}: extracted packet: RTP ver=2 ssrc=117440515 type=98 marker=0 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={27.784242}, mono={4.360000}: extracted packet: RTP ver=2 ssrc=117440514 type=98 marker=0 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={27.784242}, mono={4.360000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.784242}, mono={4.360000}: extracted packet: RTP ver=2 ssrc=117440514 type=98 marker=0 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={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.804242}, mono={4.380000}: extracted packet: RTP ver=2 ssrc=117440514 type=98 marker=0 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={27.804242}, mono={4.380000}: extracted packet: RTP ver=2 ssrc=117440515 type=98 marker=0 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={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 +DLMUX second,0/1472CID=3,batched=0/4 RTP seq jump detected: 16506 -> 16508 (1 lost packets) 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 +DLMUX second,34/1472CID=2,batched=0/4 RTP seq jump detected: 16507 -> 16509 (1 lost packets) 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 +DLMUX second,68/1472CID=3,batched=2/4 RTP seq jump detected: 16508 -> 16510 (1 lost packets) 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 +DLMUX second,98/1472CID=2,batched=2/4 RTP seq jump detected: 16509 -> 16511 (1 lost packets) +sys={27.824242}, mono={4.400000}: OSMUX message (len=128): OSMUX seq=012 ccid=002 ft=1 rtp_m=0 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=012 ccid=003 ft=1 rtp_m=0 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={27.824242}, mono={4.400000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.824242}, mono={4.400000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.824242}, mono={4.400000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.824242}, mono={4.400000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.824242}, mono={4.400000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.824242}, mono={4.400000}: extracted packet: RTP ver=2 ssrc=117440514 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={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.844242}, mono={4.420000}: extracted packet: RTP ver=2 ssrc=117440514 type=98 marker=0 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={27.844242}, mono={4.420000}: extracted packet: RTP ver=2 ssrc=117440515 type=98 marker=0 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={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 +DLMUX second,0/1472CID=3,batched=0/4 RTP seq jump detected: 16510 -> 16512 (1 lost packets) 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 +DLMUX second,34/1472CID=2,batched=0/4 RTP seq jump detected: 16511 -> 16513 (1 lost packets) 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 +DLMUX second,68/1472CID=3,batched=2/4 RTP seq jump detected: 16512 -> 16514 (1 lost packets) 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 +DLMUX second,98/1472CID=2,batched=2/4 RTP seq jump detected: 16513 -> 16515 (1 lost packets) +sys={27.864242}, mono={4.440000}: OSMUX message (len=128): OSMUX seq=013 ccid=002 ft=1 rtp_m=0 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=003 ft=1 rtp_m=0 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={27.864242}, mono={4.440000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.864242}, mono={4.440000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.864242}, mono={4.440000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.864242}, mono={4.440000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.864242}, mono={4.440000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.864242}, mono={4.440000}: extracted packet: RTP ver=2 ssrc=117440514 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={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.884242}, mono={4.460000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.884242}, mono={4.460000}: extracted packet: RTP ver=2 ssrc=117440515 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={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 +DLMUX second,0/1472CID=3,batched=0/4 RTP seq jump detected: 16514 -> 16516 (1 lost packets) 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 +DLMUX second,34/1472CID=2,batched=0/4 RTP seq jump detected: 16515 -> 16517 (1 lost packets) 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 +DLMUX second,68/1472CID=3,batched=2/4 RTP seq jump detected: 16516 -> 16518 (1 lost packets) 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 +DLMUX second,98/1472CID=2,batched=2/4 RTP seq jump detected: 16517 -> 16519 (1 lost packets) +sys={27.904242}, mono={4.480000}: OSMUX message (len=128): OSMUX seq=014 ccid=002 ft=1 rtp_m=0 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=003 ft=1 rtp_m=0 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={27.904242}, mono={4.480000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.904242}, mono={4.480000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.904242}, mono={4.480000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.904242}, mono={4.480000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.904242}, mono={4.480000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.904242}, mono={4.480000}: extracted packet: RTP ver=2 ssrc=117440514 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={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.924242}, mono={4.500000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.924242}, mono={4.500000}: extracted packet: RTP ver=2 ssrc=117440515 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={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 +DLMUX second,0/1472CID=3,batched=0/4 RTP seq jump detected: 16518 -> 16520 (1 lost packets) 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 +DLMUX second,34/1472CID=2,batched=0/4 RTP seq jump detected: 16519 -> 16521 (1 lost packets) 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 +DLMUX second,68/1472CID=3,batched=2/4 RTP seq jump detected: 16520 -> 16522 (1 lost packets) 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 +DLMUX second,98/1472CID=2,batched=2/4 RTP seq jump detected: 16521 -> 16523 (1 lost packets) +sys={27.944242}, mono={4.520000}: OSMUX message (len=128): OSMUX seq=015 ccid=002 ft=1 rtp_m=0 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 rtp_m=0 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={27.944242}, mono={4.520000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.944242}, mono={4.520000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.944242}, mono={4.520000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.944242}, mono={4.520000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.944242}, mono={4.520000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.944242}, mono={4.520000}: extracted packet: RTP ver=2 ssrc=117440514 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={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.964242}, mono={4.540000}: extracted packet: RTP ver=2 ssrc=117440514 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={27.964242}, mono={4.540000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.984242}, mono={4.560000}: clock_override_add +DLMUX second,0/1472CID=0,batched=0/4 Closing circuit +DLMUX second,0/1472CID=1,batched=0/4 Closing circuit +DLMUX second,0/1472CID=2,batched=0/4 Closing circuit +DLMUX second,0/1472CID=3,batched=0/4 Closing circuit +DLMUX second,0/1472CID=0,batched=0/4 Circuit opened successfully +DLMUX second,0/1472CID=1,batched=0/4 Circuit opened successfully 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 +DLMUX second,38/1472CID=1,batched=1/4 RTP seq jump detected: 16524 -> 16526 (1 lost packets) 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 +DLMUX second,68/1472CID=0,batched=1/4 RTP seq jump detected: 16525 -> 16527 (1 lost packets) +sys={27.984242}, mono={4.560000}: OSMUX message (len=98): OSMUX seq=000 ccid=000 ft=1 rtp_m=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=001 ft=1 rtp_m=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=1 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={27.984242}, mono={4.560000}: extracted packet: RTP ver=2 ssrc=117440513 type=98 marker=1 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={27.984242}, mono={4.560000}: extracted packet: RTP ver=2 ssrc=117440515 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={27.984242}, mono={4.560000}: extracted packet: RTP ver=2 ssrc=117440514 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={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.004242}, mono={4.580000}: extracted packet: RTP ver=2 ssrc=117440514 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={28.004242}, mono={4.580000}: extracted packet: RTP ver=2 ssrc=117440515 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={28.004242}, mono={4.580000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.004242}, mono={4.580000}: 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16526 -> 16528 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16527 -> 16529 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16528 -> 16530 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16529 -> 16531 (1 lost packets) +sys={28.024242}, mono={4.600000}: OSMUX message (len=128): OSMUX seq=001 ccid=000 ft=1 rtp_m=0 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 rtp_m=0 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={28.024242}, mono={4.600000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.024242}, mono={4.600000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.024242}, mono={4.600000}: 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={28.024242}, mono={4.600000}: 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={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.044242}, mono={4.620000}: 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={28.044242}, mono={4.620000}: extracted packet: RTP ver=2 ssrc=117440513 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16530 -> 16532 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16531 -> 16533 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16532 -> 16534 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16533 -> 16535 (1 lost packets) +sys={28.064242}, mono={4.640000}: OSMUX message (len=128): OSMUX seq=002 ccid=000 ft=1 rtp_m=0 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=001 ft=1 rtp_m=0 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={28.064242}, mono={4.640000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.064242}, mono={4.640000}: extracted packet: RTP ver=2 ssrc=117440513 type=98 marker=0 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={28.064242}, mono={4.640000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.064242}, mono={4.640000}: 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={28.064242}, mono={4.640000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 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={28.064242}, mono={4.640000}: 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={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.084242}, mono={4.660000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 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={28.084242}, mono={4.660000}: extracted packet: RTP ver=2 ssrc=117440513 type=98 marker=0 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16534 -> 16536 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16535 -> 16537 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16536 -> 16538 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16537 -> 16539 (1 lost packets) +sys={28.104242}, mono={4.680000}: OSMUX message (len=128): OSMUX seq=003 ccid=000 ft=1 rtp_m=0 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=001 ft=1 rtp_m=0 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={28.104242}, mono={4.680000}: extracted packet: RTP ver=2 ssrc=117440513 type=98 marker=0 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={28.104242}, mono={4.680000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.104242}, mono={4.680000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.104242}, mono={4.680000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 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={28.104242}, mono={4.680000}: 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={28.104242}, mono={4.680000}: 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={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.124242}, mono={4.700000}: 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={28.124242}, mono={4.700000}: extracted packet: RTP ver=2 ssrc=117440513 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16538 -> 16540 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16539 -> 16541 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16540 -> 16542 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16541 -> 16543 (1 lost packets) +sys={28.144242}, mono={4.720000}: OSMUX message (len=128): OSMUX seq=004 ccid=000 ft=1 rtp_m=0 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=004 ccid=001 ft=1 rtp_m=0 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={28.144242}, mono={4.720000}: extracted packet: RTP ver=2 ssrc=117440513 type=98 marker=0 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={28.144242}, mono={4.720000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.144242}, mono={4.720000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.144242}, mono={4.720000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 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={28.144242}, mono={4.720000}: 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={28.144242}, mono={4.720000}: 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={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.164242}, mono={4.740000}: 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={28.164242}, mono={4.740000}: extracted packet: RTP ver=2 ssrc=117440513 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16542 -> 16544 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16543 -> 16545 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16544 -> 16546 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16545 -> 16547 (1 lost packets) +sys={28.184242}, mono={4.760000}: OSMUX message (len=128): OSMUX seq=005 ccid=000 ft=1 rtp_m=0 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=005 ccid=001 ft=1 rtp_m=0 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={28.184242}, mono={4.760000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.184242}, mono={4.760000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.184242}, mono={4.760000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.184242}, mono={4.760000}: 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={28.184242}, mono={4.760000}: 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={28.184242}, mono={4.760000}: 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={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.204242}, mono={4.780000}: 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={28.204242}, mono={4.780000}: extracted packet: RTP ver=2 ssrc=117440513 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16546 -> 16548 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16547 -> 16549 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16548 -> 16550 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16549 -> 16551 (1 lost packets) +sys={28.224242}, mono={4.800000}: OSMUX message (len=128): OSMUX seq=006 ccid=000 ft=1 rtp_m=0 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=006 ccid=001 ft=1 rtp_m=0 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={28.224242}, mono={4.800000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.224242}, mono={4.800000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.224242}, mono={4.800000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.224242}, mono={4.800000}: 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={28.224242}, mono={4.800000}: 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={28.224242}, mono={4.800000}: 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={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.244242}, mono={4.820000}: 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={28.244242}, mono={4.820000}: extracted packet: RTP ver=2 ssrc=117440513 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16550 -> 16552 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16551 -> 16553 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16552 -> 16554 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16553 -> 16555 (1 lost packets) +sys={28.264242}, mono={4.840000}: OSMUX message (len=128): OSMUX seq=007 ccid=000 ft=1 rtp_m=0 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=007 ccid=001 ft=1 rtp_m=0 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={28.264242}, mono={4.840000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.264242}, mono={4.840000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.264242}, mono={4.840000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.264242}, mono={4.840000}: 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={28.264242}, mono={4.840000}: 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={28.264242}, mono={4.840000}: 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={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.284242}, mono={4.860000}: 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={28.284242}, mono={4.860000}: extracted packet: RTP ver=2 ssrc=117440513 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16554 -> 16556 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16555 -> 16557 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16556 -> 16558 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16557 -> 16559 (1 lost packets) +sys={28.304242}, mono={4.880000}: OSMUX message (len=128): OSMUX seq=008 ccid=000 ft=1 rtp_m=0 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=008 ccid=001 ft=1 rtp_m=0 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={28.304242}, mono={4.880000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.304242}, mono={4.880000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.304242}, mono={4.880000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.304242}, mono={4.880000}: 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={28.304242}, mono={4.880000}: 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={28.304242}, mono={4.880000}: 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={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.324242}, mono={4.900000}: 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={28.324242}, mono={4.900000}: extracted packet: RTP ver=2 ssrc=117440513 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16558 -> 16560 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16559 -> 16561 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16560 -> 16562 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16561 -> 16563 (1 lost packets) +sys={28.344242}, mono={4.920000}: OSMUX message (len=128): OSMUX seq=009 ccid=000 ft=1 rtp_m=0 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=009 ccid=001 ft=1 rtp_m=0 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={28.344242}, mono={4.920000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.344242}, mono={4.920000}: extracted packet: RTP ver=2 ssrc=117440513 type=98 marker=0 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={28.344242}, mono={4.920000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.344242}, mono={4.920000}: 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={28.344242}, mono={4.920000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 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={28.344242}, mono={4.920000}: 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={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.364242}, mono={4.940000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 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={28.364242}, mono={4.940000}: extracted packet: RTP ver=2 ssrc=117440513 type=98 marker=0 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16562 -> 16564 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16563 -> 16565 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16564 -> 16566 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16565 -> 16567 (1 lost packets) +sys={28.384242}, mono={4.960000}: OSMUX message (len=128): OSMUX seq=010 ccid=000 ft=1 rtp_m=0 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=010 ccid=001 ft=1 rtp_m=0 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={28.384242}, mono={4.960000}: extracted packet: RTP ver=2 ssrc=117440513 type=98 marker=0 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={28.384242}, mono={4.960000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.384242}, mono={4.960000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.384242}, mono={4.960000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 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={28.384242}, mono={4.960000}: 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={28.384242}, mono={4.960000}: 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={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.404242}, mono={4.980000}: 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={28.404242}, mono={4.980000}: extracted packet: RTP ver=2 ssrc=117440513 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16566 -> 16568 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16567 -> 16569 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16568 -> 16570 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16569 -> 16571 (1 lost packets) +sys={28.424242}, mono={5.000000}: OSMUX message (len=128): OSMUX seq=011 ccid=000 ft=1 rtp_m=0 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=011 ccid=001 ft=1 rtp_m=0 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={28.424242}, mono={5.000000}: extracted packet: RTP ver=2 ssrc=117440513 type=98 marker=0 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={28.424242}, mono={5.000000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.424242}, mono={5.000000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.424242}, mono={5.000000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 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={28.424242}, mono={5.000000}: 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={28.424242}, mono={5.000000}: 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={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.444242}, mono={5.020000}: 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={28.444242}, mono={5.020000}: extracted packet: RTP ver=2 ssrc=117440513 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16570 -> 16572 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16571 -> 16573 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16572 -> 16574 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16573 -> 16575 (1 lost packets) +sys={28.464242}, mono={5.040000}: OSMUX message (len=128): OSMUX seq=012 ccid=000 ft=1 rtp_m=0 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=012 ccid=001 ft=1 rtp_m=0 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={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.464242}, mono={5.040000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.464242}, mono={5.040000}: 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={28.464242}, mono={5.040000}: 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={28.464242}, mono={5.040000}: 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={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.484242}, mono={5.060000}: 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={28.484242}, mono={5.060000}: extracted packet: RTP ver=2 ssrc=117440513 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16574 -> 16576 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16575 -> 16577 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16576 -> 16578 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16577 -> 16579 (1 lost packets) +sys={28.504242}, mono={5.080000}: OSMUX message (len=128): OSMUX seq=013 ccid=000 ft=1 rtp_m=0 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 rtp_m=0 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={28.504242}, mono={5.080000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.504242}, mono={5.080000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.504242}, mono={5.080000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.504242}, mono={5.080000}: 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={28.504242}, mono={5.080000}: 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={28.504242}, mono={5.080000}: 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={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.524242}, mono={5.100000}: 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={28.524242}, mono={5.100000}: extracted packet: RTP ver=2 ssrc=117440513 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16578 -> 16580 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16579 -> 16581 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16580 -> 16582 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16581 -> 16583 (1 lost packets) +sys={28.544242}, mono={5.120000}: OSMUX message (len=128): OSMUX seq=014 ccid=000 ft=1 rtp_m=0 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=001 ft=1 rtp_m=0 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={28.544242}, mono={5.120000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.544242}, mono={5.120000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.544242}, mono={5.120000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.544242}, mono={5.120000}: 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={28.544242}, mono={5.120000}: 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={28.544242}, mono={5.120000}: 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={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.564242}, mono={5.140000}: 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={28.564242}, mono={5.140000}: extracted packet: RTP ver=2 ssrc=117440513 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={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 +DLMUX second,0/1472CID=1,batched=0/4 RTP seq jump detected: 16582 -> 16584 (1 lost packets) 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 +DLMUX second,34/1472CID=0,batched=0/4 RTP seq jump detected: 16583 -> 16585 (1 lost packets) 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 +DLMUX second,68/1472CID=1,batched=2/4 RTP seq jump detected: 16584 -> 16586 (1 lost packets) 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 +DLMUX second,98/1472CID=0,batched=2/4 RTP seq jump detected: 16585 -> 16587 (1 lost packets) +sys={28.584242}, mono={5.160000}: OSMUX message (len=128): OSMUX seq=015 ccid=000 ft=1 rtp_m=0 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=001 ft=1 rtp_m=0 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={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.584242}, mono={5.160000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.584242}, mono={5.160000}: 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={28.584242}, mono={5.160000}: 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={28.584242}, mono={5.160000}: 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={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.604242}, mono={5.180000}: 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={28.604242}, mono={5.180000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.624242}, mono={5.200000}: clock_override_add +DLMUX second,0/1472CID=0,batched=0/4 Closing circuit +DLMUX second,0/1472CID=1,batched=0/4 Closing circuit +sys={28.624242}, mono={5.200000}: Flushing CID 0 +sys={28.624242}, mono={5.200000}: 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={28.624242}, mono={5.200000}: extracted packet: RTP ver=2 ssrc=117440512 type=98 marker=0 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={28.624242}, mono={5.200000}: Flushing CID 1 +sys={28.624242}, mono={5.200000}: extracted packet: RTP ver=2 ssrc=117440513 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={28.624242}, mono={5.200000}: extracted packet: RTP ver=2 ssrc=117440513 type=98 marker=0 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={28.624242}, mono={5.200000}: Flushing CID 2 +sys={28.624242}, mono={5.200000}: Flushing CID 3 sys={28.624242}, mono={5.200000}: OK: Test passed
View file
libosmo-netif_1.2.0.tar.xz/tests/stream/stream_test.err -> libosmo-netif_1.3.0.tar.xz/tests/stream/stream_test.err
Changed
@@ -20,7 +20,7 @@ {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 +connection closed with client {11.000011} autoreconnecting test step 1 client OK, server NA, FD reg 0
View file
libosmo-netif_1.2.0.tar.xz/tests/testsuite.at -> libosmo-netif_1.3.0.tar.xz/tests/testsuite.at
Changed
@@ -14,10 +14,16 @@ AT_CHECK($abs_top_builddir/tests/osmux/osmux_test 2>&1, 0, expout, ignore) AT_CLEANUP -AT_SETUP(osmux_test2) -AT_KEYWORDS(osmux_test2) -cat $abs_srcdir/osmux/osmux_test2.ok > expout -AT_CHECK($abs_top_builddir/tests/osmux/osmux_test2, 0, expout, ignore) +AT_SETUP(osmux_output_test) +AT_KEYWORDS(osmux_output_test) +cat $abs_srcdir/osmux/osmux_output_test.ok > expout +AT_CHECK($abs_top_builddir/tests/osmux/osmux_output_test, 0, expout, ignore) +AT_CLEANUP + +AT_SETUP(osmux_input_test) +AT_KEYWORDS(osmux_input_test) +cat $abs_srcdir/osmux/osmux_input_test.ok > expout +AT_CHECK($abs_top_builddir/tests/osmux/osmux_input_test, 0, expout, ignore) AT_CLEANUP AT_SETUP(jibuf_test)
View file
libosmo-netif_1.3.0.tar.xz/utils
Added
+(directory)
View file
libosmo-netif_1.3.0.tar.xz/utils/Makefile.am
Added
@@ -0,0 +1,19 @@ +AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include +AM_CFLAGS = \ + -Wall \ + $(LIBOSMOCORE_CFLAGS) \ + $(LIBOSMOCODEC_CFLAGS) \ + $(LIBOSMOGSM_CFLAGS) \ + $(TALLOC_CFLAGS) \ + $(NULL) + +LDADD = \ + $(LIBOSMOCORE_LIBS) \ + $(LIBOSMOCODEC_LIBS) \ + $(LIBOSMOGSM_LIBS) \ + $(top_builddir)/src/libosmonetif.la \ + $(NULL) + +noinst_PROGRAMS = osmo-amr-inspect + +osmo_amr_inspect_SOURCES = osmo-amr-inspect.c
View file
libosmo-netif_1.3.0.tar.xz/utils/osmo-amr-inspect.c
Added
@@ -0,0 +1,325 @@ +/*! \file osmo-amr-inspect.c + * Utility program to inspect AMR payloads */ +/* + * (C) 2022 by sysmocom - s.f.m.c. GmbH <info@sysmocom.de> + * Author: Pau espin Pedrol <pespin@sysmocom.de> + * + * All Rights Reserved + * + * 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. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include <stdio.h> +#include <getopt.h> +#include <errno.h> +#include <unistd.h> +#include <stdlib.h> +#include <stdint.h> +#include <stdbool.h> +#include <strings.h> + +#include <osmocom/core/utils.h> +#include <osmocom/core/logging.h> +#include <osmocom/codec/codec.h> +#include <osmocom/netif/amr.h> + +enum force_amr_input_fmt { + FORCE_AMR_INPUT_FMT_AUTO = 0, + FORCE_AMR_INPUT_FMT_OA, + FORCE_AMR_INPUT_FMT_BWE, + FORCE_AMR_INPUT_FMT_ALL, +}; + +static enum force_amr_input_fmt force_fmt = FORCE_AMR_INPUT_FMT_AUTO; +static bool use_color = false; + +static void help(const char *progname) +{ + printf("Usage: %s -h -i filename -F (auto|oa|bwe|all) -C\n", + progname); +} + +#define println_color(color, fmt, args ...) \ + do { \ + if (use_color) \ + printf(color fmt OSMO_LOGCOLOR_END "\n", ## args); \ + else \ + printf(fmt "\n", ## args); \ + } while (0) + +#define println_red(fmt, args ...) \ + println_color(OSMO_LOGCOLOR_RED, fmt OSMO_LOGCOLOR_END, ## args) + +#define println_orange(fmt, args ...) \ + println_color(OSMO_LOGCOLOR_YELLOW, fmt OSMO_LOGCOLOR_END, ## args) + +static void inspect_amr_oa(const uint8_t *buf, size_t buf_len) +{ + const struct amr_hdr *hdr = (const struct amr_hdr *)buf; + size_t payload_len = buf_len - sizeof(*hdr); + const uint8_t *payload = hdr->data; + size_t ft_bytes, ft_bits; + printf(" octet-aligned\n"); + printf(" CMR: %u\n", hdr->cmr); + printf(" F: %u\n", hdr->f); + printf(" FT: %u (%s)\n", hdr->ft, osmo_amr_type_name(hdr->ft)); + printf(" Q: %u\n", hdr->q); + printf(" Payload (%lu bytes): %s\n", + buf_len - sizeof(*hdr), osmo_hexdump_nospc(payload, payload_len)); + + if (hdr->f) + println_orange(" WARN: F=%u not supported!", hdr->f); + if (!osmo_amr_ft_valid(hdr->cmr)) + println_red(" ERROR: CMR=%u not valid!", hdr->cmr); + if (!osmo_amr_ft_valid(hdr->ft)) + println_red(" ERROR: FT=%u not valid!", hdr->ft); + if (hdr->pad1 != 0) + println_orange(" WARN: PAD1=0x%x not zero!", hdr->pad1); + if (hdr->pad2 != 0) + println_orange(" WARN: PAD2=0x%x not zero!", hdr->pad2); + ft_bytes = osmo_amr_bytes(hdr->ft); + if (payload_len != ft_bytes) { + println_red(" ERROR: Wrong payload byte-length %lu != exp %lu!", payload_len, ft_bytes); + } else { + ft_bits = osmo_amr_bits(hdr->ft); + if (ft_bits/8 == ft_bytes) { + printf(" Payload has no padding (%lu bits)\n", ft_bits); + } else { + uint8_t last_byte = payloadpayload_len - 1; + uint8_t padding = last_byte & (0xff >> (ft_bits & 3)); + if (padding) + println_orange(" WARN: Payload last byte = 0x%02x has PAD=0x%02x not zero!", last_byte, padding); + } + } +} + +static void inspect_amr_bwe(const uint8_t *buf, size_t buf_len) +{ + const struct amr_hdr_bwe *hdr = (const struct amr_hdr_bwe *)buf; + size_t payload_len_bits = 6 + (buf_len - sizeof(*hdr))*8; + size_t ft_bits; + int rc; + uint8_t buf_oabuf_len + 1; + uint8_t ft = (hdr->ft_hi << 1) | hdr->ft_lo; + + printf(" bandwith-efficient\n"); + printf(" CMR: %u\n", hdr->cmr); + printf(" F: %u\n", hdr->f); + printf(" FT: %u (%s)\n", ft, osmo_amr_type_name(ft)); + printf(" Q: %u\n", hdr->q); + printf(" Payload first 6 bits: 0x%02x\n", hdr->data_start); + printf(" Payload continuation (%lu bytes): %s\n", buf_len - sizeof(*hdr), + osmo_hexdump_nospc(buf + sizeof(*hdr), buf_len - sizeof(*hdr))); + + if (hdr->f) + println_orange(" WARN: F=%u not supported!", hdr->f); + if (!osmo_amr_ft_valid(hdr->cmr)) + println_red(" ERROR: CMR=%u not valid!", hdr->cmr); + if (!osmo_amr_ft_valid(ft)) { + println_red(" ERROR: FT=%u not valid!", ft); + return; + } + ft_bits = osmo_amr_bits(ft); + if (ft_bits != payload_len_bits) { + println_red(" ERROR: Wrong payload bits-length %lu != exp %lu! (FT=%u)\n", payload_len_bits, ft_bits, ft); + return; + } + + if (!((AMR_HDR_BWE_LEN_BITS + ft_bits) & 0x03)) { + printf(" Payload has no padding (%lu bits with offset 10)\n", ft_bits); + } else { + uint8_t last_byte = bufbuf_len - 1; + uint8_t padding = last_byte & (0xff >> ((AMR_HDR_BWE_LEN_BITS + ft_bits) & 0x03)); + if (padding) + println_orange(" WARN: Payload last byte = 0x%02x has PAD=0x%02x not zero!", last_byte, padding); + } + + memcpy(buf_oa, buf, buf_len); + rc = osmo_amr_bwe_to_oa(buf_oa, buf_len, sizeof(buf_oa)); + if (rc < 0) { + println_red(" ERROR: Unable to convert to octet-aligned!"); + return; + } + printf(" Payload (octet-aligned %d bytes): %s", rc, + osmo_hexdump_nospc(buf_oa + sizeof(struct amr_hdr), rc)); +} + +static void inspect_amr(unsigned int i, const uint8_t *buf, size_t buf_len) +{ + bool is_oa; + printf("%u Buffer (%lu bytes): %s\n", i, buf_len, osmo_hexdump_nospc(buf, buf_len)); + is_oa = osmo_amr_is_oa(buf, buf_len); + switch (force_fmt) { + case FORCE_AMR_INPUT_FMT_AUTO: + if (is_oa) + inspect_amr_oa(buf, buf_len); + else + inspect_amr_bwe(buf, buf_len); + break; + case FORCE_AMR_INPUT_FMT_OA: + if (!is_oa) + println_orange(" WARN: detected as 'bwe' but forced as 'oa'"); + inspect_amr_oa(buf, buf_len); + break; + case FORCE_AMR_INPUT_FMT_BWE: + if (is_oa) + println_orange(" WARN: detected as 'oa' but forced as 'bwe'"); + inspect_amr_bwe(buf, buf_len); + break; + case FORCE_AMR_INPUT_FMT_ALL: + if (!is_oa) + println_orange(" WARN: detected as 'bwe' but forced as 'oa'"); + inspect_amr_oa(buf, buf_len); + if (is_oa) + println_orange(" WARN: detected as 'oa' but forced as 'bwe'"); + inspect_amr_bwe(buf, buf_len); + break; + default: + OSMO_ASSERT(0); + } + printf("\n"); +} + +static int read_file(const char *filename) +{ + FILE *fp; + char *line = NULL; + size_t len = 0; + ssize_t read; + uint8_t buf4096; + int rc = 0; + unsigned int i = 0; + + fp = fopen(filename, "r"); + if (fp == NULL) { + fprintf(stderr, "Failed opening %s: %s\n", filename, strerror(errno)); + return -errno; + } + + while ((read = getline(&line, &len, fp)) != -1) { + if (len & 1) { + fprintf(stderr, "Failed parsing (wrong even length): %s\n", line); + rc = -1; + goto free_ret; + } + if (len > sizeof(buf)*2) { + fprintf(stderr, "Failed parsing (too big): %s\n", line); + rc = -1; + goto free_ret; + } + rc = osmo_hexparse(line, buf, sizeof(buf)); + if (rc < 0) { + fprintf(stderr, "Failed parsing (hexparse error): %s\n", line); + rc = -1; + goto free_ret; + } + if (rc < 2) { + fprintf(stderr, "Too short to be an AMR buffer (%u bytes): %s\n", rc, line); + rc = -1; + goto free_ret; + } + inspect_amr(i, buf, rc); + i++; + } + +free_ret: + fclose(fp); + if (line) + free(line); + return rc; +} + +static int read_stdin(void) +{ + ssize_t rc; + size_t hex_buflen; + char hex_buf4096; + uint8_t buf2048; + rc = read(0, hex_buf, sizeof(hex_buf) - 1); + if (rc < 0) { + fprintf(stderr, "Failed reading stdin: %s\n", strerror(errno)); + return -EIO; + } + hex_buflen = rc; + hex_bufhex_buflen = '\0'; + + if (hex_buflen == sizeof(hex_buf) - 1) { + fprintf(stderr, "Failed parsing (input too long > %lu): %s\n", hex_buflen, hex_buf); + return -ENOMEM; + } + + rc = osmo_hexparse(hex_buf, buf, sizeof(buf)); + if (rc < 0) { + fprintf(stderr, "Failed parsing (hexparse error): %s\n", hex_buf); + return -1; + } + if (rc < 2) { + fprintf(stderr, "Too short to be an AMR buffer (%ld bytes): %s\n", rc, hex_buf); + return -1; + } + + inspect_amr(0, buf, rc); + return 0; +} + +int main(int argc, char **argv) +{ + int opt; + char *filename = NULL; + int rc; + + while ((opt = getopt(argc, argv, "i:F:Ch")) != -1) { + switch (opt) { + case 'i': + filename = optarg; + break; + case 'F': + if (strcasecmp(optarg, "auto") == 0) { + force_fmt = FORCE_AMR_INPUT_FMT_AUTO; + } else if (strcasecmp(optarg, "oa") == 0) { + force_fmt = FORCE_AMR_INPUT_FMT_OA; + } else if (strcasecmp(optarg, "bwe") == 0) { + force_fmt = FORCE_AMR_INPUT_FMT_BWE; + } else if (strcasecmp(optarg, "all") == 0) { + force_fmt = FORCE_AMR_INPUT_FMT_ALL; + } else { + help(argv0); + exit(1); + } + break; + case 'h': + help(argv0); + exit(0); + break; + case 'C': + use_color = true; + break; + default: + break; + } + } + + if (argc > optind) { + fprintf(stderr, "Unsupported positional arguments in command line\n"); + exit(2); + } + + if (filename) { + rc = read_file(filename); + exit(-rc); + } else { + rc = read_stdin(); + exit(-rc); + } + + exit(0); +}
View file
rpmlintrc
Added
@@ -0,0 +1,5 @@ +# Don't abort the build when finding a library that depends on a package with +# a specific version. This is intentional for nightly builds, we don't want +# libraries from different build dates to be mixed as they might have ABI +# incompatibilities. +setBadness('shlib-fixed-dependency', 0)
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.