Harald Welte
06636b6155
AMR: change definition of amr_get_initial_mode() return value
...
AMR: return AMR_CODEC_MODE (0..3) instead of full range
2011-09-09 23:29:27 +02:00
Harald Welte
9508fb80a4
Introduce new amr.[ch] for AMR related functions
2011-09-09 22:32:45 +02:00
Harald Welte
4ccca1ce36
OML: make sure max_power_red is scaled by 2 to convert from 12.21 to dBm
2011-09-09 22:04:09 +02:00
Harald Welte
a4a3574b1d
update osmo-bts to conform to L1 v2.4 API changes
2011-09-09 15:12:52 +02:00
Harald Welte
2c40d02f27
Inquire DSP/FPGA version at BTS boot and check band compatibility
2011-09-09 14:10:57 +02:00
Harald Welte
16c0ab92c1
add commands to configure RTP jitter buffer
...
there's one global setting for the BTS default value, plus an
interactive command to change the buffer of an active lchan on the fly
2011-09-08 15:21:39 +02:00
Harald Welte
111b8e673b
auto-generate a version
2011-09-07 21:28:27 +02:00
Harald Welte
72b6989ec9
make sure 'band' will correctly parse the crap that libosmocore generates
2011-09-07 20:49:25 +02:00
Harald Welte
f49e3dd3af
store the last SID frame of a given LCHAN so we can repeat it
...
repeating the last SID frame is required during 20ms intervals where we
don't get a new SID update (SID RTP frames are valid up to 160ms)
2011-09-07 12:42:15 +02:00
Harald Welte
e5d082f356
depend on more recent libosmo-trau for polling support
2011-09-07 12:40:50 +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
82c4d8685c
user DRTP where appropriate, not DL1C
2011-09-06 22:24:31 +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
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