I tried to install CalypsoBTS have libosmocore installed, osmo-bts osmobsc,
libosmo-netif, libosmo-abis, ortp, trx, libosmo-dsp everything went without
errors, following the instructions I created: touch ~/.osmocom/open-bsc.cfg
, then when you run : osmo-nitb -c ~/.osmocom/open-bsc.cfg-l
~/.osmocom/hlr.sqlite3-P-C --debug=DRLL:CC:MM:RR:RSL:NM shows me:<0005>
bsc_init.c:498 Failed to parse the config file:
'/root/.osmocom/open-bsc.cfg' file tried to create as administrator but
without success , pleas help me
--
View this message in context: http://baseband-devel.722152.n3.nabble.com/Calypso-BTS-tp4026753.html
Sent from the baseband-devel mailing list archive at Nabble.com.
Hi,
We have been working on the handover feature in OsmocomBB and have
managed to make some progress including SB/BSIC detection in dedicated mode
which was not previously being successfully done in firmware. I wanted to
share it and seek guidance on the last bit of handover implementation on
which we are stuck. I hope someone would be able to help us or make use of
our work.
We took code related to handover from the osmocom-bb jolly branch by
manually adding/deleting stuff in the master branch as updating to the
latest copy was giving us issues. We added code from the “Safely change TPU
offset on TS change or sync change” commit till the “Use only sel_si for
information about the current cell” commit. Using the handover code in the
jolly branch and after making the changes explained below we were able to
obtain the handover command from the BTS. The synchronized handover case
works sometimes though still not every time, however the non-synchronized
case doesn't work at all as we are not able to get the physical information
command from the new cell. I'll explain the changes/additions we made to
achieve this.
Firstly, we noted that in dedicated mode SB burst was not being detected.
Changes were required at three main places in order to correctly perform
FB/SB detection:
- It was seen that the results for SB were being read from DSP API location
dsp_api.db_r->a_sch which is for the idle mode. The results had to be read
from the dsp_api.ndb->a_sch26 location for the dedicated case if
TCH_SB_DSP_TASK is used.
- After reading the FB we needed to update the quarter-bit offset of the
TPU using the TOA of the FB to sync it with the start of frame of the
neighbour cell in order to catch the SB (by changing the vaule of
l1s.tpu_offset using the TOA of the FB).
- Frequency compensation needed to be performed using the afc_correct
function before reading the SB.
* We actually kind of cheated a bit by adding 3 frames to the original idle
frame in order to give us more time to perform FB/SB detection including
the synchronizations mentioned above. This was because we weren't that
proficient with the code and someone with more understanding could do this
better. The call did not get dropped. We used the initial added “idle”
frame to perform the quarter-bit and frequency compensation which was
reversed in the idle frame with the response function to tune back to the
serving cell.
These things, when added to the code did the trick and BSIC of the
neighbours was obtained.
Once the BSICs were decoded the measurement report sent to the BTS became
meaningful and the handover command was received. Upon receiving handover
command, access bursts needed to be sent on the new channel which again was
not currently being implemented properly as in order to tune to the new
cell we needed to know its quarter-bit offset for start of frame, frequency
compensation and absolute frame number which were not previously being
obtained. Now that we were able to detect FB and SB these values were
stored for the neighbours following detection of these bursts and were used
to tune to a neighbour cell in case of a handover to it before the sending
of access bursts. However, here is where we are stuck. We were expecting a
physical information message following the access bursts but were not able
to receive it due to which the handover failed. If only that could be
achieved we believe handover should be successful.
Either we are not syncing properly to the new cell or we might not be
following GSM protocol properly. We also might not be reading the FACCH
properly for physical information message after tuning to the new cell as
we couldn't really understand that bit very well. We wanted someone
expertise on this matter and were hoping our work could be of use. We were
more interested in getting the work done first up.
Best Regards,
M. Awais Aslam
Hello Andreas,
sorry for late response.
> I set up a network with Virtual Um and multiple OsmocomBB
> phones. They register, they can send and receive SMS
> and I wanted to try voice calls.
First of all, it should be noted that voice support in OsmocomBB
is experimental and undocumented. I have been working on GAPK
back-end integration, and it seems you've already found some
branch, but I would recommend to use 'fixeria/audio' instead of
'fixeria/mncc'.
> calls can be established, but GAPK is never initialized and
> again, I never see voice data appearing as an MNCC message.
Please check out the configuration examples [1] for mobile app.
There you should find the new 'audio' section, where:
io-target hardware
means that audio I/O (by default) should be handled by the
hardware (i.e. by Calypso phone). GAPK is not enabled by default.
In order to use GAPK based back-end, use 'gapk':
io-target gapk
It probably makes sense to rename 'gapk' to 'alsa', because
at the moment 'gapk' enables both voice playback and capture
using the audio system of the host that running mobile.
> I never seem to receive a GSM_TCHF_FRAME-message on
> the MNCC socket.
This can also be configured:
io-target socket
In this case GAPK is not used, and all TCH frames are being
forwarded to the MNCC handler 'as-is'.
See [2] commit description for details.
Please also note that audio I/O target != MNCC handler, that
actually implements the Call Control logic. See [3] for details.
[1] https://git.osmocom.org/osmocom-bb/tree/doc/examples/mobile/default.cfg?h=f…
[2] https://git.osmocom.org/osmocom-bb/commit/?h=fixeria/audio&id=bdb2854503afd…
[3] https://git.osmocom.org/osmocom-bb/commit/?h=fixeria/audio&id=22edbf3f846b1…
With best regards,
Vadim Yanitskiy.
Hi,
I set up a network with Virtual Um and multiple OsmocomBB phones. They
register, they can send and receive SMS and I wanted to try voice calls.
I looked around and found a repository [1] with an MNCC example
application which sends voice samples. Calls are established and can be
picked up, but on the other end, but I never seem to receive a
GSM_TCHF_FRAME-message on the MNCC socket.
I then checked out the fixeria/mncc branch [2] which includes GAPK
integration which can use ALSA devices for audio, because that's what I
need anyway at some point for my project I'm working on.
Again, calls can be established, but GAPK is never initialized and
again, I never see voice data appearing as an MNCC message.
The GAPK audio backend is supposed to be initialized [3] when a CHANNEL
MODE MODIFY message is received from the network. I never see the
network request a channel mode modify though. I don't know enough about
GSM to find out if that message is always supposed to be sent when a
call is established or not.
Did anybody ever transport audio with two OsmocomBB instances over the
Virtual Um interface?
Thanks,
- Andy
[1]: https://github.com/GerardPinto/call-control-mncc-sap
[2]: https://git.osmocom.org/osmocom-bb/log/?h=fixeria/mncc
[3]:
https://git.osmocom.org/osmocom-bb/tree/src/host/layer23/src/mobile/gsm48_r…