Age | Commit message (Collapse) | Author | Files | Lines |
|
Instead of 63, this resolves major "definitely lost" remaining leak that
valgrind reports regarding msgb.
|
|
Useful when debuggin via valgrind/gdb.
|
|
|
|
Make sure circuit routines works correctly.
|
|
Make sure that early dummy bandwitch preallocation works fine in the absence of
any kind of voice traffic.
|
|
Add RTP packets to circuit with dummy padding enabled to test automatic
deactivation once when start seeing real voice traffic.
|
|
Move main test loop routine to the new osmux_test_loop() function.
|
|
This also introduces a spare circuit that contains no voice data to test
bandwidth preallocation through the new osmux dummy frame type.
|
|
This variable is never set and could therefore be removed.
|
|
Libs must be in _LDADD/_LIBADD and not in _LDFLAGS.
|
|
|
|
With the fan-out approach to test multi-batch added int (078d532 tests:
osmux: test multi-batch support), this doesn't need the explicit
skip as there are already gaps to be filled.
|
|
Extend this to test multi-batch in one packet support, eg.
OSMUX message (len=158) OSMUX seq=016 ccid=000 ft=1 ctr=6 amr_f=0 amr_q=1
amr_ft=02 amr_cmr=02 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff
fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54
ff d4 f9 ff fb e7 eb f9 9f f8 f2 26 33 65 54 ff d4 f9 ff fb e7 eb f9 9f f8 f2
26 33 65 54 ff d4 f9 ff fb e7 eb f9 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 ]
|
|
Double timing validation to avoid hitting errors easily.
|
|
Emulate RTP message loss to test osmux_replay_lost_packets code
in src/osmux.c.
After this test, lcov reports 90.3% line coverage of osmux.c
|
|
If the test takes longer than 10 seconds (it barely takes less than
a second according to `time'), bail out and report an error.
|
|
Use the library we just built instead for one already installed
in the system.
|
|
This patch adds the testsuite infrastructure and it populates it
with one test for osmux.
The osmux tests makes sure that:
* We get the same number of RTP messages in the input and the output path.
* The payload of the RTP message is reconstructed correctly.
* The reconstructed timing is correct.
|
|
|
|
Remove these functions:
- osmux_xfrm_input_get_ccid
- osmux_xfrm_input_register_ccid
The ccid will be managed by the BSC and it will be stored in the
mgcp_endpoint structure.
Also adjust all tests and examples using the API.
|
|
Instead of internally released. This is required if we use the
osmo_dgram infrastructure, to avoid a double release.
Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
|
|
|
|
|
|
Not hardcoded in osmux.c code anymore.
|
|
The layout is not provided, as it is internal.
Thus, we don't allocate the internal batching information in BSS
anymore.
|
|
We can internal allocate this in the stack, no need to expose it to
the caller.
|
|
This patch cleans up the transmission path for osmux, this involves
the functions that extract the messages from the batch and the one
that reconstruct the timing.
They now take a list that contains the reconstructed RTP messages:
osmux_xfrm_output(osmuxh, &h_output, &list);
osmux_tx_sched(&list, &tv, tx_cb, NULL);
|
|
it should 20 ms, not 160 ms. Thanks for Holger for spotting this.
|
|
This patch adds the counter field to the osmux header, so we can
reduce the size of the batch even further, eg.
osmuxhdr (ctr=3)
speech
speech
speech
osmuxhdr (ctr=2)
speech
speech
...
The new header is the following:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| FT | CTR |F|Q| SeqNR | Circuit ID |AMR-FT |AMR-CMR|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The counter field is 3 bits long, thus, we can batch up to 8
RTP speech frames into one single batch per circuit ID.
I have also removed the RTP marker, since it can be reconstructed
from the AMR information.
Moreover, the entire workflow has been also reworked. Whenever a
packet arrives, we introduce it into the batch list. This batch
list contains a list of RTP messages ordered by RTP SSRC. Then,
once the batch timer expires or the it gets full, we build the
batch from the list of RTP messages.
Note that this allows us to put several speech frame into one
single osmux header without actually worrying about the amount
of messages that we'll receive.
The functions that reconstruct the RTP messages has been also
adjusted. Now, it returns a list of RTP messages per RTP SSRC
that has been extracted from the batch.
|
|
Make sure we don't segfault due to uninitiliazed handler.
|
|
The callback is now in charge of releasing the packet.
|
|
|
|
so far, it was missing and printf was used instead of the generic
logging infrastructure that osmocom provides.
|
|
This patch splits in two files the code that contains the packet replay
based on PCAP from the osmux test.
|
|
Adapt the test to use the function that allows reconstructing the
RTP timing sequence.
|
|
|
|
|
|
Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
|
|
This patch adds the osmo-pcap-test infrastructure that allows you
to take packets stored in one pcap file, convert them to msgb and
pass it to some function.
The infrastructure also provides timing reconstruction based on
the pcap file information.
This is useful for easy protocol development, automated testing and
fuzzying of the existing code to validate the code.
Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
|