Age | Commit message (Collapse) | Author | Files | Lines |
|
So far, when the first connection attempt failed in
osmo_stream_cli_open(), we returned a terminal errro without any
re-connection attempts. While this may be useful in some cases, our
general idea of the stream client logic is to handle the reconnection
attempts insid the library. We introduce a new osmo_stream_cli_open2()
function while keping the old behavior for backwards compatibility.
|
|
Wih this change, osmo_stream_ client and server API can be used not only
for TCP but also for SCTP. The latter is needed in SIGTRAN ad Iuh
applications, for example.
|
|
Never used, so let's get rid of this function. We can recover it later on in
case we need it.
|
|
This new function allows you to create a circuit on an existing input handle.
We don't create the circuit anymore from the first packet seen, instead the
client application is in full control of opening and closing the circuit.
This change includes a new feature to pad a circuit until we see the first
packet that contains voice data. This is useful to preallocate bandwidth on
satellite links such as Iridium/OpenPort.
|
|
Add this new function to explicitly remove an existing circuit. Thus, the
client application (openbsc) is in full control to release circuits.
Before this patch, the circuit object was added when the first RTP messages was
seen, and it was removed when transforming the list of pending RTP messages to
the Osmux message (once the timer expired).
Moreover, check circuit->nmsgs to account bytes that are consumed by the osmux
header, given that !circuit doesn't mean "this is the first packet" anymore.
|
|
Fixes:
/usr/include/osmocom/netif/rtp.h:63:41: warning: ‘struct msgb’ declared inside parameter list
struct rtp_hdr *osmo_rtp_get_hdr(struct msgb *msg);
|
|
This is needed for mgcp_transcode.c of OpenBSC to access the
data after the header. Use a zero sized array for it.
|
|
Use the new macros to deal with little/big endian. Im a bit
worried to make this change due the little test coverage in
this module but in case of a typo the elements would not be
defined.
|
|
This allows you to set the default batch size when initializing the
osmux input handle.
|
|
Add statistics to the osmux input handle, which translates the RTP
messages to osmux batch.
|
|
This patch adds a new field to the struct osmux_in_handle that allows
you to specify the osmux frame size. If not specified, the default
size assumes your nic uses a mtu of 1500 bytes.
|
|
To clean up the osmux input handle.
|
|
This tells us the maximum osmux circuit ID.
|
|
|
|
It was not matching with the current code.
|
|
According to RFC3267, AMR FT upper 9 should be discarded. This patch
adds extra validation to make sure that input RTP traffic encapsulating
AMR payload and OSMUX amr_ft field are OK with regards to that
restriction.
|
|
According to RFC3267, AMR FT 8 is reserved to SID and its size is
8 bytes.
|
|
|
|
Instead of using the osmuxh->circuit_id.
|
|
Useful for debugging purposes. Modify also examples to use it.
|
|
The cmr is the requested codec for the other peer, the ft actually
contains the current codec mode. cmr may contain 15 which means
"don't care".
|
|
there will be one osmux_out_handle per endpoint.
|
|
|
|
|
|
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.
|
|
Code extracted from ipa_stream_server.c.
|
|
This functions were before located in channel/abis/ipa_stream_client.c,
but they are generic for IPA units.
|
|
This patch removes osmo_ipa_recv_msg, it performs two syscall invocations
and it's stream generic. Now we use the specific receival function
we want to use (no matter if stream or datagram based) and then we
call osmo_ipa_process_msg to check that the IPA message correct.
|
|
Provide unified infrastructure for handling IPA units and modify
existing code to use it.
|
|
To obtain the information of the server data that this connection
belongs to.
|
|
This adds the possibility to specify the variant of the channel.
This was discussed during the osmocom workshop. Harald wanted a way
to say if the channel is using TCP, UDP, DADHDI and so on.
|
|
Also remove this parameter from osmo_chan_create
|
|
Just to avoid unlikely possible problems while using this library
with any other that decided to define the CHAN_* constants.
|
|
This also adds osmo_chan_init() that needs to initialize the
channel infrastructure.
|
|
These definitionsare not relevant for external client applications
using the library.
|
|
They are not used anywhere in the code.
|
|
This will be useful to display some human-readable type in logs
and the VTY.
|
|
I forgot to commit this file:
osmocom/netif/channel/abis_ipa_client.h
|
|
If we're acting as client, we don't have to reply ID_ACK to
one received ID_ACK (otherwise, we enter a loop).
|
|
|
|
This adds the generic ipa_unit object that is allocated and set
by the BTS while initializing the channels.
|
|
%s/_server_/_srv_/g
%s/osmo_chan_abis/osmo_abis/g
%s/SERVER/SRV/g
|
|
%s/_client_conn_/_cli_/g
%s/_server_conn_/_srv_/g
%s/_client_/cli/g
%s/server/srv/g
%s/RECONFIG/RECONF/g
%s/SERVER/SRV/g
%s/CLIENT/CLI/g
|
|
%s/_conn_/_/g
%s/_conn//g
%s/_server_/_tx_/g
%s/_client_/_rx_/g
%s/_SERVER_/_TX_/g
%s/_CLIENT_/_RX_/g
%s/_RECONFIG/_RECONF/g
|
|
Instead of harcoding the number all around the code.
|
|
|
|
|
|
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.
|
|
To print the RTP header and payload.
|