Age | Commit message (Collapse) | Author | Files | Lines |
|
Patch-by: ewild, osmith
Change-Id: I30e3bd601e55355aaf738ee2f2c44c1ec2c46c6a
Depends: (libosmo-abis) Ie453fdee8bfd7fc1a3f1ed67ef0331f0abb1d59b
|
|
Change-Id: I1cff638664029ef1a592b98cd499e1d8b703ada1
|
|
So far, the e1d input driver only contained code for LAPD signaling
slots, let's extend it with support for all the other slot types, as
well as support for run-time re-configuration.
Change-Id: I53369004145681bf9178543fe407dfc75e4ae63a
|
|
Let's not print an error at program/library start time if osmo-e1d
cannot be reached. This error is confusing to everyone who may
have a libosmo-abis with e1d support compiled in, but who is not
(currently) using any lines via this driver, but others drivers.
Change-Id: If0d033f8a2ab4f0e72549a811ffccc66b91fb0a8
|
|
Change-Id: I88ba83783ae1d8368990ec30cdc7ecff88884e41
|
|
This way we can support more than one E1 line via osmo-e1d. As
neither mISDN nor DAHDI distinguish between mutliple cards of single
ports vs. multi-port cards, we havee to map both interface + line number
into a single uint8_t.
Change-Id: I3b6975624a0155a68d2c67bfdbc1fb751fb50b13
|
|
It's optional for an input driver to provide this function, and e.g.
mISDN doesn't provide it, either.
Change-Id: I56ed4244121f2019ece80d15bd07d5a8ce958273
|
|
The file decscriptor 'except' handling was only added in the DAHDI
input module as the DAHDI kernel side is actually using those. I
don't think we can even use this in any way over unix domain sockets.
Change-Id: I718629179181a1de3b82e23447549f593046d91f
|
|
Change-Id: I98f337f8f517b98f9b78dc173e5761687609abd8
|
|
Change-Id: I0060e2c9772eb5c0293712cb0da7cc0477eb8abd
|
|
The config.h files contains HAVE_E1D.
Change-Id: Ib7d2db6703300b7d537c78ad9285948673d8b1d3
|
|
osmo-e1d is part of the Osmocom 'software defined E1 interface,
which consists of a USB device for the actual E1 hardware interfacing,
and a daemon (osmo-e1d) implementing a libusb-based driver.
This commit adds initial support for talking to osmo-e1d using
the related libosmoe1d library. You need to use '--enable-e1d'
at configure time to enable it.
Change-Id: Ia0431c124e3b5b4108aee7b109d8c4bb0d8b45d4
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
|
|
Change-Id: I447a2360757fed97ed50f9db1e2efbf2f90e46a0
|
|
Change-Id: I287e10ee49a8ac26eef903568b29a3b2abf3b43e
|
|
Change-Id: I09c56f59631828ad219a5edd7d95cac8df462c84
|
|
Change-Id: If7099f91a3610d61d16e769406ac27f54e7363f3
|
|
Change-Id: I36997b31f50fb1e051686a58dac09bc9ed391d17
Fixes: CID#206090
|
|
libosmo-abis was built with DAHDI support, if the related header files
were present at built time, and without if not. This kind of automagic
enabling/disabling of features is wrong. Let's require DAHDI support by
default, and force the user to take a conscious decision by using an
explicit --disable-dahdi if he doesn't want it.
At the same time, update debian/control to list dahdi-source as build
dependency.
Change-Id: Id9f7f063e7ca9e3ab4aa96fc93f243caf50fb66a
Closes: OS#4248
|
|
Change-Id: I1c730d6d146b365712b28e3d37e038344ea850bc
|
|
Change-Id: I83c52c9733852cfebf183819fb36bd634d84bf7d
|
|
Change-Id: Ic190daae31936959de8efb5a6de8744c016d5643
|
|
It appears that opening "/dev/dahdi/channel" and using
ioctl(DAHDI_SPECIFY) is possible at least since dahdi 2.4 (from 2010),
and opening "/dev/dahdi/%u" has been deprecated ever since. One
advantage of the new interface is that you can use channel numbers
larger than 250, which is quite easily possible if you have more than
eight E1 lines on a system. It also makes libosmo-abis work on systems
where there are no udev rules for creating the legacy device nodes.
Change-Id: Id6c8f27d7ae948b50e9cf5a38f039d782ff78e1d
|
|
Change-Id: I3133c6b01647506a5b9c67e4699bcad3ff59f843
|
|
When closing a link which failed on open,
ipa_server_link_close() would crash it when calling osmo_fd_unregister.
Change-Id: I672d4de25464c3829b08aff26b1a6d4ad92e7684
|
|
Change-Id: Ia5ecb2f69ce5436cae8d7a2d300e446ff24e84bc
|
|
The new and improved fsm supports multipe use cases:
1) plain old ipa server/client operation
2) ipa client/server operation with custom send callback (i.e. to bypass
the tx queue)
3) all of the above + custom timeout callback
4) fully generic operation that will pass opaque data to the callbacks
The current code will always kill the fsm and deallocate it upon
timeout, so the timeout callback will now return a value: 1 means the
fsm will be automatically terminated, 0 means no action, which allows
manually stopping/starting the fsm to reuse it.
Change-Id: Ie453fdee8bfd7fc1a3f1ed67ef0331f0abb1d59b
|
|
Change-Id: Idabb9805a4a10c95ba0e01bc3f80ed8db87a9f85
Closes: CID#157118
|
|
===================================================================
Change-Id: I22c98915648760a83abd5f0004af26d426a5e518
|
|
Related: OS#3047
Change-Id: Ib261f25e2c7b48283a6142259991aadfcf40cdec
|
|
The patch sets TCP_USER_TIMEOUT to the same timeout value,
since keepalive only applies to idle connections, but we obviously want
to fail as fast as possible even if there is data to send and it's not
acked.
Change-Id: I5e7425958472aa5d758e09bfbefc7d7d37bf6f5f
|
|
This allows using the e1_line x keepalive y z setting for clients like
osmo-bts.
Change-Id: Iadf22934ca6d3c44adac5573709ba53e75fa07da
|
|
If we receive an OSMO_IPA_KA_E_STOP in INIT state, we are trying to
re-enter INIT, which is not permitted as per the FSM definition.
Adding this permission avoids the below error message from hitting the
logs every time this happens:
<0003> input/ipa_keepalive.c:158 IPA-KEEPALIVE(server)[0x612000000520]{INIT}: transition to state INIT not permitted!
Change-Id: I8db2f2e708fc4fbb81f5019973098a80e8f540d2
|
|
We had the allstate_action function registered, and that function
implemented handling of OSMO_IPA_KA_E_STOP. However, the
allstate_event_mask was not set, rendering this functionality
inaccessible.
Change-Id: I83fd991bdacb7bab794878e47c7797fecf8b9286
|
|
The IPA keep-alive FSM code takes care of periodically transmitting
and IPA CCM PING and expecting an IPA CCM PONG in return.
Change-Id: I2763da49a74de85046ac07d53592c89973314ca6
|
|
The bound RTP socket will wait for incoming RTP packets and as soon as it
sees one, will 'connect' to it, so all replies will go to that sources and
incoming messages from other sources will be discarded. This obviously only
works once.
Change-Id: I5b54ca4296901fcf37794faf29e0b2acca27bd1b
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
|
|
This ensures that the rpath of the generated binaries is set to use only
the just-compiled so-files and not any system-wide installed libraries
while avoiding the ugly shell script wrapper.
Change-Id: Idd458471069ef8912704cc7602c6e8c71c0b62be
|
|
In some situations, the user code called by the closed_cb call-back
might be tempted to call itself ipa_server_conn_destroy(), which would lead
to a double-llist_del during osmo_fd_unregister() and also a subsequent
double talloc_free(). Let's prevent such misuse by existing early in
such situations.
Change-Id: I0fef264ed5b4218906cdbca243ffa11b891025c6
|
|
* log port from which we accept() the connection in addition to address
* use macro helper for logging
Change-Id: I186974dae1819af8c92f9ea9eeb966ec7c9c9f55
|
|
When creating IPA link for server we might be called without explicit
address (which is legit - it means bind to all available
addresses). However in this case we won't have 'addr' field of
ipa_server_link initialized properly.
Fix this by following changes:
* don't copy NULL value as address
* use socket's local IP when no address set explicitly
Change-Id: I33679bb35f426d4cafb223b9200fccbf407e0cf6
|
|
Change-Id: I417065deb06ac7e8b3b8468b88cc803a41098c2d
|
|
Due to apparent copy-paste errors, wrong values were being
logged for IPA tags in ipa_bts_id_resp().
Fixes: 4c57eef663e870247cb7a72130a50750317a44b9
Change-Id: I29a0401db0760219b9b9176709a88d589312261b
Related: OS#3355
|
|
Change-Id: Ib6df0df04cd6ba342753c84398274d04917ace40
|
|
link_type field holds values from link->type as set in
e1inp_int_snd_event().
Change-Id: Iaa33b793f89f2d16c9d949503c5ecc195bbcd2a4
|
|
Handle encoding specifics behind a macro to make code easier to
understand and follow.
Change-Id: Ibf251673bff95b7a0b066b19ef4dc6c0f94fff6b
|
|
dev->trx_id points to a structure used for whole BTS and doesn't point
to related TRX ID, which is encoded in priv_nr.
Change-Id: I00b01790990c8d21fdbe0f5750fa02f13ddb2009
|
|
The unix(7) man page recommends that sun_path is NUL-terminated
when struct sockaddr_un is passed to a bind() or connect() call.
Non-NUL-terminated paths only need to be dealt with at the
receiving end of a UNIX domain socket.
Commit b24efa5 erroneously assumed otherwise.
Change-Id: I9beecfa500db75cb679b1edcc352c893bf098b13
Fixes: b24efa551dc91e177c5cb8da674e9f8432d52dc9
Related: OS#2673
|
|
In previous commit 9540f59b1daeac36d71b20ac9cefe15019d6277c, libosmoabis
packaging was fixed to match its contained major lib version.
However, systems using nightly may run into issues when upgrading since
now libosmoabis6 in repo tries to overwrite libosmoabis5 in their system
and fails. By using Conflicts + Replaces it should do it now without
erroring.
Fixes: OS#3365
Change-Id: If98ae21670f13554da5aa46fe30741d56631fd8c
|
|
When parsing the configuration, reject a socket path which
exceeds the maximum size supported by the operating system.
In unixsocket_line_update() stop copying the line's socket path to a
local buffer. The path will be copied again in osmo_sock_unix_init().
Both changes are portable; we don't assume any particular socket
path length since the size differs between implementations of Unix,
and we rely only on information from the generic sys/un.h header.
Change-Id: I36344805a825f5d0e0c9d218d438d8fd985ed9ca
Related: OS#2673
|
|
LIBVERSION for libosmoabis was increased during v0.4.0 release, but
didn't update the debian package name accordingly to match major.
Change-Id: I7ead154d72e6dadf795414c47fe276edadd08580
Fixes: OS#3365
|
|
Change-Id: Ia83eead3622d86f55c1dc5e91acc78dde73a0367
|