When a line is created using e1inp_line_create, then the line data
structures are initialized and the line is registered in the line list.
struct e1inp_line also contains driver specific sub structs that,
depending on the driver, might also need some initialization. At the
moment is no way. Let's add a line_create callback that, when
populated by the driver, is executed on line creation.
Related: OS#5983
Change-Id: I404fa23e9b8a952be84e9716889c0dbbbc665d22
Control bits C13 & C14 in TRAU-UL frames indicate SID classification
per section 6.1.1 of GSM 06.31 for FR or GSM 06.81 for EFR.
Previous commit 08d0c09902 implements correct setting of C16 in
TRAU-DL, but the case of generating TRAU-UL was left as a FIXME.
Now that we have osmo_{fr,efr}_sid_classify() functions in
libosmocodec, we can set C13 & C14 in TRAU-UL too. Do it.
Change-Id: Ifcfc28ad7d77e561d456be546689995abfd8a6f5
* VTY command e1_line N connect-timeout T to set the connect() timeout
* use ipa_client_conn_open2 to connect with timeout
Related: SYS#6237
Change-Id: I7379102d19c172bed2aa00377d92bc885f54b640
This adds new members to struct ipa_server_link and ipa_client_conn,
which can be set by the user before ipa_client_conn_open() or
ipa_server_link_open() to ensure DSCP / priority values are applied
from the first outgoing packet onwards.
Change-Id: I5ab22d35d9b11eca47d9ea12208e5589a1a5713c
Depends: libosmocore.git If22988735fe05e51226c6b091a5348dcf1208cdf
osmo_use_count is available since libosmocore 1.1.0 release, so bump
required libosmocore version in autotools and packages.
struct e1inp_line field refcnt is kept in order to keep ABI
compatibility accessing struct fields. The new use_count is added at the
end. Size of struct changing is fine since it is allocated through
an API and a pointer should be used by clients.
e1inp_line_clone API is changed but it's not used by anyone outside
libosmo-abis, so it's fine.
Related: OS#4624
Change-Id: I0658b2e9c452598025cc0f1d0b060076171767cc
Historically, OpenBSC has primarily been used with setups that have
a single E1 based BTS connected. This meant that an error message on
the E1 LAPD implicitly has to be related to that single BTS.
However, in more comprehensive setups, there may be many BTSs on many
E1 lines with many signaling slots. At this point, it's important to
know which line/timeslot/tei/sapi a given log message relates to.
This patch introduces related log context.
Change-Id: Ib81a749ae24013b17caaf5fd64ccd9acbbc3ce08
Requires: libosmocore.git Change-Id Ie6742843fff809edffcac24c4dce4edf66bc71be
Related: OS#1938
This allows the users of libosmotrau to set the content of the SDES
items to something more useful than their compile-time defaults.
Change-Id: Ice794f9e0c6caeea1c67520c12efbfa375d1fb82
Related: OS#2701
While debugging low-level RTP issues it is handy to be able to match
exact RTP packet with the payload available to higher-level
functions. Having Sequence number and Timestamp RTP fields as parameter
to receiving callback is the easiest way to do so.
Change-Id: I0c9b08d247d7342d6139badca77ce64fda0cf274
It is quite useful for the signal receiver to know on which of the many
E1/T1 timeslots a given event (like a 'link down' event) has happened.
The line number, TEI and SAPI are isnuficcient in case there are
multiple signalling TS in the line.
Change-Id: I07f0f79e0cda09766f357032ffb4e7ad643d448a
Previously RTP receive callback ignored Marker bit from RTP
headers. Extend API to include it explicitly.
Change-Id: I3c2b6365d8a51bf98805614e07344d2639875fde
Related: OS#1750
Currently ipa_msg_recv() fails, when messages are received partially.
This patch provides a new function ipa_msg_recv_buffered() that uses
an additional ** to a message buffer to store partial data. When
this happens, -EAGAIN is returned. If NULL is used, the function
behaves similar to ipa_msg_recv() and fails on partial read.
In addition in case of errors the return value is now always -EXXX
and the contents of errno is undefined.
Note that this feature needs support by the calling code insofar that
*tmp_msg must be set to NULL initially and it must be freed and
set to NULL manually when the socket is closed.
Note also that ipa_msg_recv() is then a wrapper around
ipa_msg_recv_buffered() which mimics the old error behaviour by
setting errno explicitely to -rc and returning -1 when an error has
happened.
Ticket: OW#728
Sponsored-by: On-Waves ehf
This patch adds a generic keep alive configuration layer that mainly
consists of additional fields in e1_input structs and VTY commands
and extensions.
Ticket: OW#1060
Sponsored-by: On-Waves ehf