Commit Graph

80 Commits

Author SHA1 Message Date
Harald Welte a16bcc2cc6 update screenrc; we no longer have the '-B' command line option 2011-09-04 23:23:49 +02:00
Harald Welte aadb046698 update configure.ac to make sure we have libosmocore-0.3.9 2011-09-04 23:00:20 +02:00
Harald Welte e3e3a19e6c add minimal example config file 2011-09-04 22:49:20 +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 099fb3b17c Sysmobts L1: Implement HR codec support
We don't really know if the HR encoding is compatible with other
equipment, but it _should_ follow Chapter 5.2 of ETSI TS 101 318.

Please note that RFC5993 also specifies a way to encode GSM-HR into RTP,
we do not try to be compatible with that.  The only difference seems to
be one additional TOC octet at the beginning of the payload field.
2011-09-03 18:10:26 +02:00
Harald Welte 716dded773 Fix MODE MODIFY for multirate configuration on TCH/H
using this configuration we can have successful AMR/HR (5.9) calls
2011-09-03 16:01:23 +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 ed607f475f increae the RACH quality threshold to 5dB C/I 2011-07-07 18:17:31 +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 39eadbbb17 sysmbts L1 if: implement 'dead DSP L1 detection'
when we activate the SCH in the DSP, we start a 5-second timer.  If
we ever do not receive any MPH-TIME.ind primitives from L1 within
that time frame, we stop the process (and will be re-spawned)
2011-07-05 16:59:27 +02:00
Harald Welte 547b1d1916 l1_if: send EMPTY-FRAME.req instead of fill frame on TCH/F + FACCH 2011-07-05 16:15:26 +02:00
Harald Welte 1920738840 L1/OML: De-activate L1 SAPIs in opposite order of activation
L1 wants TCH to be activated before FACCH, and it wants FACCH
to be de-activated before TCH.  By iterating the array in iverse
order, we ensure this.
2011-07-05 14:27:30 +02:00
Harald Welte 79cf0bb1e6 increase RACH threshold to 1 dB C/I 2011-07-05 14:13:52 +02:00
Harald Welte 977fcbc2db add some missing #include directives 2011-07-05 13:52:29 +02:00
Harald Welte 7ab9b777c6 add command line option '-p' to specify DSP trace flags as hex mask 2011-07-05 13:47:42 +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 12b647998c add VTY commands for setting and showing DSP trace flags 2011-07-05 12:21:27 +02:00
Harald Welte ead4863de1 sysmobts: add value_string for dsp trace flags 2011-07-05 00:43:50 +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 2b384c3ee1 remove FIXME that has long been fixed 2011-07-02 21:07:05 +02:00
Harald Welte db4455acfa add init script and screenrc for l1fwd 2011-07-02 15:57:37 +02:00
Harald Welte 43b669a9f3 untested code to dynamically set L1 band based on ARFCN number 2011-07-02 00:20:49 +02:00
Harald Welte a5ea80e9b6 start screen in detached/background mode 2011-07-01 23:09:45 +02:00
Harald Welte cc6bf663e7 add init script for screen-based respawn 2011-07-01 19:54:16 +02:00
Harald Welte b10e9781d6 add respawn script and screenrc for respawning the process in screen 2011-07-01 19:51:32 +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 f788d79411 sysmobts-remote: Remove hard-coded BTS IP address
The BTS IP address can now be specified by the L1FWD_BTS_HOST env
variable.

Option parsing would not have been that easy to integrate without
touching the main program...
2011-07-01 18:25:22 +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 0f827275d7 sysmo-bts: Ignore OPSTART on the TRX until we have seen SET ATTR 2011-07-01 16:02:19 +02:00
Harald Welte 4450a1530c sysmo-bts: properly initialize the nominal power, print it at startup 2011-07-01 11:27:41 +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 1eb4d4893c add logging related vty commands 2011-06-29 20:20:11 +02:00