Commit Graph

52 Commits

Author SHA1 Message Date
Harald Welte 72b6989ec9 make sure 'band' will correctly parse the crap that libosmocore generates 2011-09-07 20:49:25 +02:00
Harald Welte 5355ead9d9 use osmo_ortp in POLLING mode instead of select loop integration
This solves a lot of the problems we've been seeing in the context
of large jitter (uRTP) or classic RTP with SID frames
2011-09-07 11:55:08 +02:00
Harald Welte 42f80bc7af add RTP logging 2011-09-07 11:54:23 +02:00
Harald Welte 5fa9d9c18f RSL: get rid of some compiler warnings 2011-09-06 22:20:51 +02:00
Harald Welte 24713348c4 More comprehensive AMR handling
* parse AMR multirate config form 04.08 IE into easier format
* CMR, CMC and CMI on the L1 side are an _index_ into the current
  mode array
* Fix conversion of AMR SID frames from RTP -> L1
2011-09-06 22:19:40 +02:00
Harald Welte 6d7b78bde1 add minimal configuration file support
this config file allows configuration of unit id, oml ip,
and local rtp bind IP.
2011-09-04 22:47:25 +02:00
Harald Welte f41f2a7f92 AMR: double-check CMI/CMR/CMC values
We have to make sure that a phone cannot request codec modes which are
not part of the active set...
2011-09-04 17:21:39 +02:00
Harald Welte 526b0c62cf Add new ORTP based libosmo-trau based voice support
Using osmo-bts-sysmo and this code, it is now possible to do FR and AMR
based voice calls on TCH/F.

A lot of CPU is wasted in the conversion between the RTP formats and the
L1 specific formats for the codec frames.  All data needs to be shifted
by four bits, and the order of bits needs to be reversed in every byte.
2011-09-03 15:41:12 +02:00
Harald Welte b7bec6d488 remove dead code / dead fule common/voice.c 2011-09-03 15:40:50 +02:00
Harald Welte ea844d62fa abis.c: Remove dead code 2011-09-01 11:52:24 +02:00
Harald Welte 13df9c8a72 sysmobts: add a skeleton for codec frame processing 2011-07-24 02:52:20 +02:00
Harald Welte 97d4c44db2 RSL: send CRCX/MDCX related messages as msg discriminator ip.access 2011-07-24 00:01:46 +02:00
Harald Welte 9d4736a5be Use libosmotrau for RTP support
This only implements creating, binding, connecting and free'ing RTP
sockets, not yet anything regarding receiving or transmitting codec
frames on them.

You will need the rtp branch of libosmocore for libosmotrau
2011-07-21 20:36:24 +02:00
Harald Welte 8583c31811 remove old RTP code from osmocom-bb/jolly/bts branch
Instead, I will base on the existing RTP code in openbsc
2011-07-21 16:48:07 +02:00
Harald Welte 6b62748da6 RSL: fix transmission of RR ciphering mode command via LAPDm
We didn't correctly format the RSLms message that went into LAPDm,
causing LAPDm to drop the message.

Also, disable the fake CIPH MODE COMPLETE generation hack for now
2011-07-13 00:52:41 +02:00
Harald Welte 168238f9de update the HACK to delay the fake CIPHERING MODE COMPLETE
When seinding the fake CIPH MOD COMPL, we should wait a bit, as otherwise it
will reach the MSC _before_ we ever get the (still unencrypted) CLASSMARK
update from the MS.
2011-07-12 00:23:32 +02:00
Harald Welte 0285067b63 RSL: include fake IMEISV if we send fake CIPH MODE COMPL
If the MSC requests us to include the IMEISV in the ciph mode complete, we
respond with a fake IMEISV
2011-07-07 23:44:41 +02:00
Harald Welte e4035a86cf RSL: ciphering IE length can be '1' in case of 'no ciphering' 2011-07-07 21:35:46 +02:00
Harald Welte be598e3afd RSL: Send fake CIPHERING MODE COMPLETE
we do this as a hack as long as the MSC assumes the BTS supports
A5, but the L1 really doesn't support it yet.
2011-07-07 18:16:35 +02:00
Harald Welte 540410c123 RSL: implement RSL ENCR CMD, feed L3_INFO to LAPDm
This is not full encrpytion support, the bts-model part still
needs to detect the ENCR CMD when de-queueing from LAPDm and enable
the de-ciphering, detect the arrival of the first encrypted frame,
etc, enable en-ciphering, ...
2011-07-07 11:50:45 +02:00
Harald Welte 017300623b Fix compilation of paging.c
Sometimes I really feel stupid...
2011-07-05 13:38:15 +02:00
Harald Welte f78927a9a8 paging: Fix 'empty paging' message contents
Thanks to Dieter Spaar for spotting this bug
2011-07-05 13:36:26 +02:00
Harald Welte 5df3cf9db2 paging: correct contents of L2 Pseudo-Length
thanks to Dieter Spaar for spotting this one
2011-07-05 13:35:28 +02:00
Harald Welte 260fcfc8d0 logging: Add DSP log subsystem 2011-07-05 00:43:33 +02:00
Harald Welte b17a47e6e1 measurement: fix missing \n at end of log output 2011-07-02 22:44:27 +02:00
Harald Welte 18d0818710 make it clear why we terminate 2011-07-01 19:03:30 +02:00
Harald Welte 288d0c04c8 logging sanitization (use proper log levels, etc.) 2011-07-01 18:54:10 +02:00
Harald Welte f15cef94f7 fix various compiler warnings 2011-07-01 18:22:01 +02:00
Harald Welte 9fa0cce100 fix BTS initialization order
The sequence is as follows:

0) start osmo-bts
1) start connection attempts to BTS
2) issue L1-RESET.req
3) receive L1-RESET.conf
4) issue RF-ACTIVATE.req
5) receive RF-ACTIVATE.conf
6) receive attributes for TRX
7) receive opstart for TRX
8) issue MPH-INIT.req
[...]

The important point here is: We don't want the BSC to set TRX attributes or do
TRX opstart before our RF related hardware is initialized.
2011-07-01 18:09:34 +02:00
Harald Welte 062d96e38b measurements: avoid division by zero 2011-06-30 17:31:54 +02:00
Harald Welte b849684181 deactivate RF + exit when the Abis link is gone
The idea is that the BTS process is re-spawned from init/upstart/systemd
2011-06-29 20:42:14 +02:00
Harald Welte 2bc0e10fa1 RSL/LAPDM: make sure we do lapdm_channel_reset()
this will free / flush any of the queued messages and give us a
clean start for the next user of the same lapdm channel.
2011-06-29 19:14:58 +02:00
Harald Welte 3b7480d5c3 RSL: clarify msgb free scheme in rsl 2011-06-29 19:14:44 +02:00
Harald Welte 40e820d882 OML: fix memory leaks by centralized msgb_free() for rx msgs 2011-06-29 18:57:58 +02:00
Harald Welte ae5dfdc416 Fix memory leak in abis code: Free msgb after tx'ing it 2011-06-29 18:55:03 +02:00
Harald Welte b9919bd2a6 Fix support of SDCCH4
In SDCCH4, we use lchan number 0...3 for the SDCCH/SACCH, and
we statically use lchan[4] as the dummy for activating the CCCH
L1 SAPIs.

In order to make combined and non-combined CCCH orthogonal, we simply
also use lchan[4] in that case.  On a 'pure' CCCH, therefore lchan
0..3 are unused and 4 is the actual CCCH.
2011-06-29 18:35:38 +02:00
Harald Welte 45b767c7be RSL: Log all RLL messages from A-bis to LAPDm 2011-06-29 17:49:52 +02:00
Harald Welte 9852328aae don't print ((....)) in RSL debug output 2011-06-29 15:05:49 +02:00
Harald Welte ee3d0fcb77 make sure we forward EXTENDED MEAS REP to the BSC 2011-06-29 14:09:15 +02:00
Harald Welte 24f22dff1e remove debugging printf in sysinfo code 2011-06-29 13:25:26 +02:00
Harald Welte 5830bfe411 rsl / meas rep: properly check if UNIT DATA IND is really a 04.08 meas rep 2011-06-29 12:43:09 +02:00
Harald Welte 6818881d72 implement baseic uplink measurement processing + reporting
* gather measurements from each PH-DATA.ind
* check every TDMA frame about meas period expiration
* compute averages after period expired
* put MS DL MEAS REP into RSL MEAS RES messages, include UL meas

bugs:
* L3 INFO content seems to have some offset
* is_sub is not set anywhere
* measurement periods might have up/downlink offset
2011-06-29 10:36:07 +02:00
Harald Welte c5e01c8bd4 implement RSL DEACTIVATE SACCH 2011-06-28 12:11:51 +02:00
Harald Welte d04d43098d paging: add paging_reset() function 2011-06-27 23:51:02 +02:00
Harald Welte c6b4c87e5d re-work original osmo-bts with support for sysmocom femtobts
This code re-works osmo-bts to add support for the upcoming sysmocom BTS.

It also tries to add some level of abstraction between the generic
part of a BTS (A-bis, RSL, OML, data structures, paging scheduling,
BCCH/AGCH scheduling, etc.) and the actual hardware-specific bits.

The hardware-specific bits are currently only implemented for the sysmocom
femtobts, but should be (re-)added for osmocom-bb, as well as a virtual
BTS for simulation purpose later.

The sysmocom bts specific parts require hardware-specific header files
which are (at least currently) not publicly distributed.
2011-06-27 11:25:35 +02:00
Harald Welte 8e47fb89bf oml: re-use common definitions that are now in libosmocore 2011-05-22 22:46:07 +02:00
Harald Welte cbda62ee76 abis: use ipaccess protocol header from libosmogsm 2011-05-22 22:00:45 +02:00
Harald Welte 8a183fb423 [partial] port to new libosmocore-0.3 APIs 2011-05-22 20:26:58 +02:00
Harald Welte 33e2041b28 Fix include paths and start to make code compile
(still lots of missing references into osmocom-bb code)
2011-03-04 14:18:23 +01:00
Harald Welte 7241d22867 Add autotools skeleton code 2011-03-04 14:18:10 +01:00