Hello,
since some days I'm using an old version of OpenBSC and LCR (as suggested by
University of Freiburg) to interconnect our GSM and PSTN. We are using
Debian squeeze and a nanoBTS.
However, I would like to upgrade to a newer version of OpenBSC.
Unfortunately, no current LCR version compiles without errors such as
missing declarations etc., for example:
g++ -DHAVE_CONFIG_H -I. -DWITH_GSM_BS -I./openbsc/include
-I./libosmocore/include -I./openbsc -Wall
-DCONFIG_DATA="\"/usr/local/lcr\"" -DSHARE_DATA="\"/usr/local/lcr\""
-DLOG_DIR="\"/usr/local/lcr\""
-DEXTENSION_DATA="\"/usr/local/lcr/extensions\"" -g -O2 -MT gsm.o -MD -MP
-MF .deps/gsm.Tpo -c -o gsm.o gsm.cpp
In file included from ./openbsc/include/openbsc/rest_octets.h:4,
from ./openbsc/include/openbsc/gsm_data.h:9,
from gsm_bs.h:2,
from main.h:157,
from gsm.cpp:12:
./openbsc/include/openbsc/gsm_04_08.h:33: error: use of enum ‘gsm_chan_t’
without previous declaration
./openbsc/include/openbsc/gsm_04_08.h:33: error: invalid type in declaration
before ‘;’ token
./openbsc/include/openbsc/gsm_04_08.h:34: error: use of enum
‘gsm_chreq_reason_t’ without previous declaration
./openbsc/include/openbsc/gsm_04_08.h:34: error: invalid type in declaration
before ‘;’ token
In file included from ./openbsc/include/openbsc/gsm_data_shared.h:11,
from ./openbsc/include/openbsc/gsm_data.h:154,
from gsm_bs.h:2,
from main.h:157,
from gsm.cpp:12:
./libosmocore/include/osmocom/gsm/gsm_utils.h:62: error: expected identifier
before ‘)’ token
./libosmocore/include/osmocom/gsm/gsm_utils.h:62: error: two or more data
types in declaration of ‘parameter’
gsm.cpp: In function ‘gsm_mncc* create_mncc(int, unsigned int)’:
gsm.cpp:195: error: invalid application of ‘sizeof’ to incomplete type
‘gsm_mncc’
etc. etc.
If I manually include some header files from libosmocore and OpenBSC to LCR
and declare missing ENUMs (dirty hacks), LCR starts without a problem.
Starting osmo-nitb with -P and -m parameters, LCR can connect to MNCC
socket. But any try to start voice traffic either from or to a mobile
station results into these continuous messages:
<0006> gsm_04_08.c:2954 receive message GSM_TCH_FRAME
<0006> gsm_04_08.c:2986 TCH frame to lchan without RTP connection
<0006> gsm_04_08.c:2954 receive message GSM_TCH_FRAME
<0006> gsm_04_08.c:2986 TCH frame to lchan without RTP connection
<0006> gsm_04_08.c:2954 receive message GSM_TCH_FRAME
<0006> gsm_04_08.c:2986 TCH frame to lchan without RTP connection
.....
Furthermore, either OpenBSC ignores LCR messages or LCR does not send
messages to OpenBSC, because calls from mobile stations are signalled
through LCR to asterisk; calls from asterisk to a mobile station are
indicated by LCR but not by OpenBSC.
All configuration files of the running setup (openbsc.cfg, LCR files) are
used.
Commits...
- LCR: 39a36cb99a6dba1441a7a4b51914e0dadf3a7ae8
- libosmocore: 95f7eb288c4b8b69d61fa8d68957fb21f09e11e5
- OpenBSC: fe2d9b2fab2ae36a12411435f910efc9697d7b18 (debian branch, but same
problem with master)
Is there really no possibility at the moment to run LCR with a current
OpenBSC?
Many thanks in advance,
Lennart
This is a Mailman mailing list bounce action notice:
List: OpenBSC
Member: christoph_schueler(a)web.de
Action: Subscription disabled.
Reason: Excessive or fatal bounces.
The triggering bounce notice is attached below.
Questions? Contact the Mailman site administrator at
mailman(a)lists.osmocom.org.
Hi,
this series of patches makes sure that the logs generated by
osmo_pcap_server are cleaned up. I wasn't able to use logrotate since we
wanted to keep the timestamped filenames and logrotate would treat every
log as independent.
The script now sorts the pcap logs per-client and deletes all but the
newest N files. The oldest M remaining files will be compressed with
gzip.
Some small fixes for problems I encountered are included. I hope the
requirement for libosmocore 0.3.2 is okay.
Regards,
Daniel Willmann (4):
server: Fix memory leak and error handling in restart_pcap
server: Register signal handler to reopen logfiles on SIGHUP
Catch up with API change in osmo_sock_init
contrib: Add a script to clean up in regular intervals
Makefile.am | 2 +-
configure.ac | 3 +-
contrib/Makefile.am | 1 +
contrib/clean_old | 46 ++++++++++++++++++++++++++++++++++
include/osmo-pcap/osmo_pcap_server.h | 2 +
src/osmo_client_network.c | 2 +-
src/osmo_server_main.c | 4 +++
src/osmo_server_network.c | 31 +++++++++++++++++++++-
8 files changed, 86 insertions(+), 5 deletions(-)
create mode 100644 contrib/Makefile.am
create mode 100755 contrib/clean_old
--
1.7.5.3
Hello,
here an updated version of the script that handles whitespace in filennames
properly. Thanks Holger for pointing out that such things do exist. :-)
Regards,
Daniel Willmann (1):
contrib: Add a script to clean up in regular intervals
Makefile.am | 2 +-
configure.ac | 1 +
contrib/Makefile.am | 1 +
contrib/osmo_pcap_clean_old | 47 +++++++++++++++++++++++++++++++++++++++++++
4 files changed, 50 insertions(+), 1 deletions(-)
create mode 100644 contrib/Makefile.am
create mode 100755 contrib/osmo_pcap_clean_old
--
1.7.5.3
Hi all,
I wonder what is the easiest way to make our database code async. Looking at
our tables and code we do not seem to have a very complicated use.
Problem:
libdbi makes queries to SQLite that kills performance (e.g. every
SELECT sends out pragma queries for every column to be queried). We
have a hacked up libdbi from the last congress.
We have some issues inserting new data into the database (e.g. the db
being locked). In one way or another we have some issues there
(either nitb will block, or the external process will...)
When moving to postgres and a database on a different system we will
have to deal with latencies and round trip time, but our code is sync.
Goal:
Most of our setting is 'set and forget'. We don't have complicate
transactions (e.g. we don't have two nitb's setting the LAC of a
subscriber, or wouldn't really care).
When updating the in-memory representation, we don't mind how long it
will take until it hits the disk on the remote system.
Proposal:
Also setting/storing will can remain like they are, the return value
does only mean that a request has been sent.
Only loading the subscriber, SMS, need to be asynchronous.
M1:
Change the gsm_subscriber code to load a subscriber asynchronously,
this will mostly touch the gsm48 code and the VTY area. On load one
can specify a callback.
M2:
Change the SMS code to load a SMS asynchronously, this will mostly
change the SMS queue, some parts of the SMS submit (e.g. to check if
there are still SMS to be sent) and the submit in the VTY
M3:
Probably create our own DB abstraction and provide a SQLite3 and
Postgres backend using the native API of both of them (and getting rid
of the libdbi and gdb issue)
biggest problem:
What do we do with the DB queries done from VTY that are
asynchronous, e.g to confirm a SMS has been stored? Do we care about
it? Do we turn this to a 'notification'?
comments
holger
Hi List,
i just tried to build openbsc latest checkout.
libosmocore compiles fine (checkout is also from today)
i got this error:
make[3]: Betrete Verzeichnis '/home/demo/openbsc/openbsc/src/libcommon'
CC common_vty.o
In file included from common_vty.c:26:
../../include/openbsc/vty.h:32: error: redeclaration of enumerator
‘E1INP_NODE’
/usr/local/include/osmocom/vty/command.h:77: note: previous definition
of ‘E1INP_NODE’ was here
In file included from common_vty.c:28:
../../include/openbsc/debug.h:16: error: expected identifier before ‘-’
token
In file included from ../../include/openbsc/bsc_nat.h:24,
from common_vty.c:30:
../../include/openbsc/mgcp.h: In function ‘mgcp_timeslot_to_endpoint’:
../../include/openbsc/mgcp.h:180: error: ‘DMGCP’ undeclared (first use
in this function)
../../include/openbsc/mgcp.h:180: error: (Each undeclared identifier is
reported only once
../../include/openbsc/mgcp.h:180: error: for each function it appears in.)
make[3]: *** [common_vty.o] Fehler 1
make[3]: Verlasse Verzeichnis '/home/demo/openbsc/openbsc/src/libcommon'
make[2]: *** [all-recursive] Fehler 1
make[2]: Verlasse Verzeichnis '/home/demo/openbsc/openbsc/src'
make[1]: *** [all-recursive] Fehler 1
make[1]: Verlasse Verzeichnis '/home/demo/openbsc/openbsc'
so libcommon failes.
is there a fix available or it is a unknown problem
thanks.
Regards axel
Hi all,
I have seen a strange OML NACK loop in OpenBSC with the ipaccess BTS. When I
restart the osmo-nitb it is working again, so I suspect somehow our state of
the BTS is corrupted.
any ideas
holger
Reset the BTS MO State on BTS bootstrap. This way we will always
test the BTS disconnect/reconnect case of the BTS.
Do not reset the administrative state of objects. The BSC might
have set these and wants to maintain them across disconnect/
reconnect. Right now this is true for the TRX state.
---
openbsc/src/libbsc/bsc_init.c | 3 +++
openbsc/src/libcommon/gsm_data_shared.c | 1 -
2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/openbsc/src/libbsc/bsc_init.c b/openbsc/src/libbsc/bsc_init.c
index 1be8cb7..02a3adf 100644
--- a/openbsc/src/libbsc/bsc_init.c
+++ b/openbsc/src/libbsc/bsc_init.c
@@ -406,6 +406,9 @@ static int bootstrap_bts(struct gsm_bts *bts)
bts->si_common.ncc_permitted = 0xff;
+ /* Initialize the BTS state */
+ gsm_bts_mo_reset(bts);
+
return 0;
}
diff --git a/openbsc/src/libcommon/gsm_data_shared.c b/openbsc/src/libcommon/gsm_data_shared.c
index 58e3bed..b52d58a 100644
--- a/openbsc/src/libcommon/gsm_data_shared.c
+++ b/openbsc/src/libcommon/gsm_data_shared.c
@@ -36,7 +36,6 @@
void gsm_abis_mo_reset(struct gsm_abis_mo *mo)
{
- mo->nm_state.administrative = NM_STATE_NULL;
mo->nm_state.operational = NM_OPSTATE_NULL;
mo->nm_state.availability = NM_AVSTATE_POWER_OFF;
}
--
1.7.4.1
--------------050709080504010702000704--
I see that pretty much every vendor in GSM industry uses their own dialect in their core network products, I wonder why. What do they achieve from it while killing compatibility with other products from other companies?