I just came across this compiler warning:
l1sap.c: In function 'gsmtap_ph_rach':
l1sap.c:291:8: warning: assignment from incompatible pointer type [enabled by default]
*data = &l1sap->u.rach_ind.ra;
^
It's a
uint16_t ra
and used like this in common/l1sap.c:
static int gsmtap_ph_rach(struct osmo_phsap_prim *l1sap, uint8_t *chan_type,
uint8_t *tn, uint8_t *ss, uint32_t *fn, uint8_t **data, int *len)
{
[...]
*data = &l1sap->u.rach_ind.ra;
*len = 1;
A cast like this would fix the compiler warning and make sense if data is
interpreted to point at a 16 bit data block, probably in host byte order
though:
*data = (uint8_t*)&l1sap->u.rach_ind.ra;
*len = 1;
But *len = 1 means that **data is an 8bit value?
This is sent to gsmtap.
Is *len = 1 something we should fix?
~Neels
--
- Neels Hofmeyr <nhofmeyr(a)sysmocom.de> http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschäftsführer / Managing Directors: Harald Welte
Hi folks, I'm seeing some unexpected behavior from OsmoNITB. I am running from the Debian 8 nightly builds from July 25 for everything.
My OpenBSC configuration is set as follows:
network
[...]
auth policy accept-all
[...]
nitb
subscriber-create-on-demand
assign-tmsi
[...]
When a new phone tries to camp to the network, it's rejected as follows: https://gist.github.com/shaddi/7674680c329f14c0042fbeca5227962e ("Failed to find subscriber"). My full openbsc.cfg is in that gist as well.
If I create the subscriber by IMSI via the VTY though, it camps fine and everything else works as expected. When I tested this this configuration a few weeks ago with an earlier build (sorry, can't recall which one), adding the subscriber manually wasn't necessary, and with the configuration above seems like it also shouldn't be necessary. Couple questions:
- Is this the expected behavior for this configuration?
- If so, is there currently a way to achieve the prior behavior (subscriber created automatically when a new phone tries to camp, rather than being rejected)?
Thanks,
Shaddi
Today, gerrit has merged four of my changesets twice for some reason (even
though they had the very same Change-Id), meaning that openbsc.git master got
four empty commits.
It could end up being a stupid thing to do, but I thought if at all then right
now and no later: I forced master HEAD back so that we don't have empty commits
in it, back to d1c0e3755f2832270a16bdb2d350463409cad887.
I apologize in advance for any inconvenience caused. If you need help to
recover from a diverged master branch, don't hesitate to ask!
~Neels
--
- Neels Hofmeyr <nhofmeyr(a)sysmocom.de> http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschäftsführer / Managing Directors: Harald Welte
Hi All,
On one of our sites osmo-nitb was hanging a few seconds after startup.
It took me a while to track it down, and I'm sorry I do not have log
output as it has gone to scroll buffer heaven, and I do not want to
break the system again right now to get another output, but I can say
more or less what happens.
If I see it again, I'll be sure to capture full debug log. I also have a
backup of the state of the offending hlr, so I can bring it up locally
and see if I can replicate and send the log.
In fact, there was nothing out of the ordinary in the log anyway before
nitb simply stops responding. (CTRL-C still shuts down cleanly if would
seem)
This 'bad' hlr has some 30,815 subscriber entries, one of them has empty
string for extension.
(We normally never get to anything near 30,000 as we purge inactive
subscribers regularly, but the blank extension had broken our purge job)
On this blank extension issue, i'm not sure it coincides with the hang,
but I noted this error followed by DBI traceback from here:
http://git.osmocom.org/openbsc/tree/openbsc/src/libmsc/db.c#n54
Error was non unique value for column extension, which makes sense of
course, as we don't give it a value.
Also seems we don't recover from this, as |db_subscriber_alloc_exten()
will never be called?
|
I deleted some 28,000 subscriber entries that were not commissioned
users, and the nitb then functions, so I'm at a loss to know where it
might have been actually stuck, or if it might be related to the blank
extension, or to the large amount of subscriber entries, or something else.
Maybe it's obvious to somebody. I have of course deleted the blank
extension entry now from the hlr.
Thanks!
Keith.
Just to let you know, the addition of GSM_PCHAN_TCH_F_TCH_H_PDCH in libosmocore
implicitly broke the ctrl interface tests in openbsc.
FAIL: testBtsChannelLoad (__main__.TestCtrlBSC)
----------------------------------------------------------------------
Traceback (most recent call last):
File "./ctrl_test_runner.py", line 237, in testBtsChannelLoad
self.assertEquals(r['value'], 'CCCH+SDCCH4,0,0 TCH/F,0,0 TCH/H,0,0 SDCCH8,0,0 TCH/F_PDCH,0,0 CCCH+SDCCH4+CBCH,0,0 SDCCH8+CBCH,0,0')
AssertionError: 'CCCH+SDCCH4,0,0 TCH/F,0,0 TCH/H,0,0 SDCCH8,0,0 TCH/F_PDCH,0,0 CCCH+SDCCH4+CBCH,0,0 SDCCH8+CBCH,0,0 unknown 0xb,0,0' != 'CCCH+SDCCH4,0,0 TCH/F,0,0 TCH/H,0,0 SDCCH8,0,0 TCH/F_PDCH,0,0 CCCH+SDCCH4+CBCH,0,0 SDCCH8+CBCH,0,0'
because this is unexpected output: "unknown 0xb,0,0"
So *any* commit submitted to openbsc will currenty fail.
I'll probably fix it shortly with a commit to openbsc...
This also directed my attention towards the pchan_load mechanics. It always
shows a TCH/F_PDCH entry, but in PDCH mode those would not have any load. I
guess it makes sense in the current scheme of things, though it could make even
more sense to record channel load not as separate TCH/F_PDCH but in the TCH/F
slot, depending on current pchan mode? Similarly for upcoming
TCH/F_TCH/H_PDCH: record in the TCH/F or TCH/H slot according to current pchan
mode... (For now I'm focusing on completion of TCH/F_TCH/H_PDCH usability, if
at all pchan_load tweaks would come later)
~Neels
--
- Neels Hofmeyr <nhofmeyr(a)sysmocom.de> http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschäftsführer / Managing Directors: Harald Welte
I've added permission to submit a reviewed patch to the known users group,
re:
On Sun, Jul 24, 2016 at 04:08:35PM +0000, lynxis lazus wrote:
> @Holger: I'm not allowed to do so on gerrit.
On Mon, Jul 25, 2016 at 08:08:00AM +0000, Tom Tsou wrote:
> Holger, Gerrit does not allow me to submit.
~Neels
--
- Neels Hofmeyr <nhofmeyr(a)sysmocom.de> http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschäftsführer / Managing Directors: Harald Welte
Hi Folks,
I am busy with implementing XID / SNDCP-XID parameter negotiation to use
data and header compression with GPRS. It would be very helpful to have
an example at hand that shows me how an SNDCP-XID is performed in real life.
If someone of you has a GB-Interface trace at hand it would be very
helpful for me.
regards.
Philipp
Hello everyone,
i am noob to this field and currently trying to establishing a GSM network
with EDGE support
using this page as guide
http://openbsc.osmocom.org/trac/wiki/Ettus_USRP_B2xx_family#no1
i am stuck at this command
sudo osmo-nitb -C -c openbsc.conf -T -P -m
its giving me following error
There is no such command.
Error occurred during reading below line:
extension-prefix 0
% 'dtx-used' is now deprecated: use dtx * configuration options of BTS instead
Fri Jul 15 05:35:26 2016 <0005> bsc_init.c:492 Failed to parse the
config file: '/home/ryker/openbsc.conf'
any help would be highly appreciated
thanks
I have this problem:
DCC <0001> gsm_04_08.c:1649 Cannot patch through call with different channel types: local = TCH_F, remote = TCH_H
(At first I thought it was a bug in dynamic TCH_F/TCH_H/PDCH, but it's actually
about any situation where both TCH/H and TCH/F are available. Tested with master:)
If I configure the BSC to have both TCH_H and TCH_F slots, my two test phones
try to call each other with mismatching TCH types. The CHANNEL REQUIRED
messages send TCH/H and TCH/F, respectively.
phones: Samsung S4 vs. Sony Ericsson SE K800i.
If the CN is configured with only TCH/H or only TCH/F, the two phones talk to
each other fine.
So is this a missing feature in openbsc? In this sense: If one side started off
in TCH/H, the other side should be urged towards TCH/H as well.
This breaks the dynamic TS feature #1776: with fully dynamic TS, we're
implicitly allowing both TCH/H and TCH/F, so if an MS asks for a TCH/F, it will
get one before even considering a TCH/H, even if that mismatches the MS peer.
So we should fix openbsc to "clamp" the callee to the caller's pchan type.
We could also offer a limited TCH/H_PDCH type (or some other config to disable
TCH/F on dyn TS, for example).
~Neels
--
- Neels Hofmeyr <nhofmeyr(a)sysmocom.de> http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschäftsführer / Managing Directors: Harald Welte
Hi Neels,
[posting to the openbsc mailing list, as this discussion is not GPRS
related]
On Thu, Jul 21, 2016 at 12:25:25PM +0200, Neels Hofmeyr wrote:
> On Wed, Jul 20, 2016 at 06:50:24PM +0200, Max wrote:
> > It's called from lchan_act_compl_cb() via sapi_queue_send() which is
> > also in mph_send_activate_req() - I have hard time understanding how
> > this works at all. Do we have this documented somewhere?
>
> Both the TCH/F_TCH/H_PDCH timeslot feature and the TCH/F_PDCH on osmo-trx
> are stuck on some post-lchan_act_compl SAPI stuff.
can you be more specific about what "stuff"? It's hard to be of
assistance without details.
Also, SAPIs exist completely separately on every SAP, such as the (M)PH-SAP
of the physical layer and the (M)DL-SAP of LAPDm, wich is implemented
via RSL. So it is useful to explicitly state which SAP we are talking
about when mentioning "SAPI stuff".
> So, I would also benefit from better understanding the actions after
> lchan_act.
I actually think the L1 SAPI activation/deactivation is rather simple.
You have the tables that list the SAPI+Direction combinations needed for
every lchan type (what I just quoted for PDCH in my recent mail), and
then the code iterates over the list of SAPI+Direction at time of lchan
activation or deactivation.
> Apparently related: libosmocore/gsm/lapd*.c
How are the SAPIs of the data link layer should be related to SAPIs of
the physical layer?
LAPDm is establishing reliable channels over the already established
physical layer, and LAPDm is not by iself activating/deactivating any
channels, i.e. not talking to the MPH-SAP.
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)