These patches for libosmocore do a trivial update of .gitignore
and correct a function declaration that caused an implicit declaration
in openbsc.
If the patches seem useful, please merge them to master.
These patches for openbsc
* introduce a similar directory structure for the header files as
are used for the source files
* fix some implicit declarations of functions
* fix a non-critical mismatch in fprintf format specifiers
If the patches seem useful, please merge them to master.
Dear openbsc folks,
I am trying to use "auth token" policy for registration of new imsi subscribing
with : src/libmsc/token_auth.c and hrlsync.py (used at har2009)
Missing the "web token" db schema and the web-cgi used at har2009 to fully
understand the "auth token", i am trying to do it from the hlr db by updating
the "authorized" field to 1 but MS can receive calls but not calling.
Does anyone remember the web-db/cgi from har2009 or could head to a hack from
hlrsync.py to do it manually ?
Many thanks. Cheers.
Xavier.
Hello List,
I've noticed that In-Call Handover doesn't work on my Nokia InSites.
OpenBSC attempts the handover but as far as I can tell the device
never moves to the new channel. E.g.
<000d> handover_decision.c:203 (bts=2,trx=0,ts=1): Cell on ARFCN XXX is better:
<000d> handover_logic.c:97 (old_lchan on BTS 2, new BTS 1) Starting handover
<0004> abis_rsl.c:1059 (bts=1,trx=0,ts=1,ss=0) CHANNEL ACTIVATE ACK
<000d> handover_logic.c:206 handover activate ack, send HO Command
<0004> abis_rsl.c:1032 (bts=1,trx=0,ts=1,ss=0) HANDOVER DETECT access delay = 0
<0000> abis_rsl.c:1481 (bts=1,trx=0,ts=1,ss=0) SAPI=0 ESTABLISH INDICATION
<0000> abis_rsl.c:1481 (bts=1,trx=0,ts=1,ss=0) SAPI=0 DATA INDICATION
<0003> gsm_04_08.c:1196 HANDOVER COMPLETE cause = Normal event
<000d> handover_logic.c:263 Subscriber AAABBBC00000ZZZZ HO from BTS
2->1 on ARFCN YYY->XXX
<0000> chan_alloc.c:421 (bts=2,trx=0,ts=1,ss=0) starting release sequence
Here it seems to get measurement results, because the device is still
on BTS2 (never moved?)
<0004> abis_rsl.c:967 (bts=2,trx=0,ts=1,ss=0): MEAS RES for inactive channel
<0004> abis_rsl.c:967 (bts=2,trx=0,ts=1,ss=0): MEAS RES for inactive channel
<0004> abis_rsl.c:967 (bts=2,trx=0,ts=1,ss=0): MEAS RES for inactive channel
After sometime things start to go crazy and the log fills up with messages like:
illegal trau (C1-C5) 00 00 01 01 00
Thanks,
Gus
From: Pablo Neira Ayuso <pablo(a)gnumonks.org>
With multiple BTS attached to a single line, we have to call
->line_update() multiple times. I broke this myself while avoiding
that A-bis over IP drivers bind to the socket several times.
To fix this situation, Harald prefers that this case is internally
handled by the ipaccess and hsl drivers by means of the driver_data
field in the e1inp_line structure.
Reported-by: Gus Bourg <gus(a)bourg.net>
---
src/e1_input.c | 4 ----
src/input/hsl.c | 20 ++++++++++++++++++++
src/input/ipaccess.c | 20 ++++++++++++++++++++
3 files changed, 40 insertions(+), 4 deletions(-)
diff --git a/src/e1_input.c b/src/e1_input.c
index a549ba4..ad0778a 100644
--- a/src/e1_input.c
+++ b/src/e1_input.c
@@ -676,10 +676,6 @@ int e1inp_line_update(struct e1inp_line *line)
e1inp_line_get(line);
- /* This line has been already initialized, skip this. */
- if (line->refcnt > 2)
- return 0;
-
if (line->driver && line->ops && line->driver->line_update) {
rc = line->driver->line_update(line);
} else
diff --git a/src/input/hsl.c b/src/input/hsl.c
index dc7532b..60eea17 100644
--- a/src/input/hsl.c
+++ b/src/input/hsl.c
@@ -456,9 +456,29 @@ static int hsl_bts_connect(struct ipa_client_link *link)
return 0;
}
+struct hsl_line {
+ int line_already_initialized;
+};
+
static int hsl_line_update(struct e1inp_line *line)
{
int ret = -ENOENT;
+ struct hsl_line *hl;
+
+ if (!line->driver_data)
+ line->driver_data = talloc_zero(line, struct hsl_line);
+
+ if (!line->driver_data) {
+ LOGP(DLINP, LOGL_NOTICE, "hsl: OOM in line update\n");
+ return -ENOMEM;
+ }
+ hl = line->driver_data;
+
+ /* We only initialize this line once. */
+ if (hl->line_already_initialized)
+ return 0;
+
+ hl->line_already_initialized = 1;
switch(line->ops->cfg.ipa.role) {
case E1INP_LINE_R_BSC:
diff --git a/src/input/ipaccess.c b/src/input/ipaccess.c
index b7391b3..ea04e8d 100644
--- a/src/input/ipaccess.c
+++ b/src/input/ipaccess.c
@@ -813,9 +813,29 @@ static int ipaccess_bts_cb(struct ipa_client_link *link, struct msgb *msg)
return 0;
}
+struct ipaccess_line {
+ int line_already_initialized;
+};
+
static int ipaccess_line_update(struct e1inp_line *line)
{
int ret = -ENOENT;
+ struct ipaccess_line *il;
+
+ if (!line->driver_data)
+ line->driver_data = talloc_zero(line, struct ipaccess_line);
+
+ if (!line->driver_data) {
+ LOGP(DLINP, LOGL_ERROR, "ipaccess: OOM in line update\n");
+ return -ENOMEM;
+ }
+ il = line->driver_data;
+
+ /* We only initialize this line once. */
+ if (il->line_already_initialized)
+ return 0;
+
+ il->line_already_initialized = 1;
switch(line->ops->cfg.ipa.role) {
case E1INP_LINE_R_BSC: {
--
1.7.2.5
Hi
I just tried to use the newest versions of libosmocore, openbsc and lcr.
But i can't configure openbsc (the master branch). It complains about
missing libosmoabis. Where can i find this library? This happens even if
i use the pablo/libosmo-abis branch from libosmocore.
Best regards
Dennis
I've pulled everything fresh from trunk in my quest to get multiple BTS's
working on one E1 card. :) However, I'm seeing a core dump when I start
osmo-nitb in the box now.
A BT is available here:
http://pastebin.com/KAaxt5d3
This is in a configuration where I only have one BTS configured. Though I
get the same issue if I have more than one configured too.
Thanks,
Gus
Hello all,
I'm attempting to connect multiple BTS's to one E1 card. Each BTS is a
single TRX and I'm using a dahdi card plugged into a DCS. The DCS maps the
channels as follows:
Name Src Dest Speed
Type
--------------------------------------------------------------------------------
bscnok1 01.T1E1-A.02.01 01.T1E1-A.03.01 0256k D
FDX
bscnok2 01.T1E1-A.02.05 01.T1E1-A.04.01 0256k D
FDX
bscnok3 01.T1E1-A.01.09 01.T1E1-B.01.01 0256k D
FDX
So essentially:
TS 1,2,3,4 from OpenBSC (T1E1-A-02) are mapped to nok1 1,2,3,4 (T1E1-A-03)
TS 5,6,7,8 from OpenBSC (T1E1-A-02) are mapped to nok2 1,2,3,4 (T1E1-A-04)
TS 9,10,11,12 from OpenBSC (T1E1-A-02) are mapped to nok3 1,2,3,4
(T1E1-B-01)
This all works fine. The BTS operates on TS1,2,3,4 on any of the ports I
have configured. I just swap timeslots in openbsc.cfg from 1,2,3,4 to
5,6,7,8 or 9,10,11,12 and everything is happy.
Where I run into a problem is when I try to actually run multiple BTS's at
once. So I take everything defined in "bts 0" and duplicate it as "bts 1".
I change the time slots for oml, rsl, and traffic channels to match the
appropriate channels for bts 1/2. But when I go to start osmo-nitb I get an
error that it can't open /dev/dahdi/1 because it's already in use. It
appears for some reason that it's attempting to open /dev/dahdi/1 for both
BTS's even though only bts 0 uses /dev/dahdi/1 for OML - bts 1 should use
/dev/dahdi/5 and bts 2 should use /dev/dahdi/9.
My /etc/dahdi/system.conf is defined as:
span=1,1,0,ccs,hdb3,crc4
bchan=2-4,6-8,10-12
dchan=1,5,9
I'm at a loss. Has anyone tried to run multiple BTS's with dahdi on a
single E1 or T1 span? Is there something special I need to specify so that
OpenBSC doesn't grab the first dchan for each BTS?
Thanks,
Gus