Commit Graph

3012 Commits

Author SHA1 Message Date
Holger Hans Peter Freyther fd58d925a8 bts.h: lchan_init_lapdm is listed twice, remove one 2011-12-11 12:57:36 +01:00
Holger Hans Peter Freyther b0985e3fa5 test: Introduce a very simple test for the paging subsystem
Check that adding a paging command works, check that it is expired
after the first call to paging_gen_msg. The test will be extended
to test the scheduling and selection of the various paging messages.
2011-12-01 09:14:32 +01:00
Holger Hans Peter Freyther 467e149763 paging: Provide functions to check the internal state of the paging system 2011-12-01 09:09:18 +01:00
Holger Hans Peter Freyther 127ec05b4e paging: Do not crash if we get called for the wrong frame/t1/t2/t3
If someone wants to have paging for a wrong frame, gracefully return
and do not fill the output buffer. Because we are on the wrong frame
I think it is best to not fill the frame, this is why I did not add a
check to l1_if.c to generate an empty frame.
2011-12-01 08:47:53 +01:00
Holger Hans Peter Freyther 79da6f3283 misc: Move the cmr_index into the #if 0 block as it is only used there 2011-11-29 21:55:12 +01:00
Harald Welte 143bb812dc LAPDm: Use lapdm_channel_exit() and avoid copy+paste bug
We have to either lapdm_exit() both DCCH and ACCH (not 2x ACCH) or
rather call lapdm_channel_exit() which does that for us.

Thanks to Holger Freyther for spotting this bug.
2011-11-29 12:15:16 +01:00
Harald Welte fe4893e625 RSL: Actually check if BSC-requested cipher is supported 2011-11-24 17:46:22 +01:00
Holger Hans Peter Freyther 2660812084 audio: Make bts_model_rtp_rx_cb compatible with the prototype 2011-11-07 14:26:48 +01:00
Holger Hans Peter Freyther 5cdcf8a837 sysmo-bts: Include bts.h for bts_shutdown, remove unused variable 2011-11-07 14:13:29 +01:00
Holger Hans Peter Freyther efdb45d5d0 common: Include bts.h for bts_shutdown 2011-11-07 14:09:53 +01:00
Holger Hans Peter Freyther 477f35e78c sysmo-bts: Use the z modifier to print the result of sizeof 2011-11-07 14:08:46 +01:00
Holger Hans Peter Freyther 187871e2ca sysmobts-vty: Fix compiler warnings about the clock value
The first one just sets the val to 0xffff, the second converted
the value to integer twice.

sysmobts_vty.c: In function ‘cfg_trx_clkcal_def’:
sysmobts_vty.c:109:15: warning: unused variable ‘clkcal’ [-Wunused-variable]
sysmobts_vty.c: In function ‘cfg_trx_clkcal’:
sysmobts_vty.c:122:15: warning: unused variable ‘clkcal’ [-Wunused-variable]
2011-11-07 14:02:02 +01:00
Holger Hans Peter Freyther b10d74d821 config: Rename llapdm -> llapd in the example configuration 2011-11-07 13:48:02 +01:00
Harald Welte 9582883235 add VTY based way to set clock calibration of sysmobts L1 2011-10-12 13:36:22 +02:00
Harald Welte c373448e03 fix various compiler warnings across the code
this deals with unused cocde, unused variables and undeclared symbols in
various places.
2011-09-19 20:46:51 +02:00
Harald Welte 7899dc5fcf sysmobts: fix initial codec mode computation
There is no off-by-one between osmocom and L1 definitions...
2011-09-09 23:55:39 +02:00
Harald Welte 215d9eecdd sysmobts: channel activation changes for v2.4 L1 DSP firmware
We now have to explicitly indicate the tchPlType at channel activation
type, so L1 knows which channel decoder to use (FR, EFR, AMR, ...)

Also, we properly implement the initial codec mode selection as per TS
05.09
2011-09-09 23:30:46 +02:00
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