AgeCommit message (Collapse)AuthorFilesLines
2019-03-21OC-2G: Properly handle initial TA for data transfer initiated from networkdaniel/oc2gMinh-Quang Nguyen1-1/+1
Problem: 1. The network can not initiate data transfer when the MS is in idle mode (after T3314 in MS expired and ms-idle-timer in PCU expired). This is because the PCU does not know valid location of the MS in servicing cell, i.e. valid TA at the initiation of downlink data transfer. Fixes: 1. We use CONTROL_ACK_TYPE of 4 access bursts specified in SI13 in order to extract valid TA when the MS sends UPLINK PACKET CONTROL ACK message to the PCU. At the begining of data transfer initiated by network, the PCU sends a first PACKET DOWNLINK ASSIGNMENT message with an invalid TA and polling flag is set. After that PCU sends a second PACKET DOWNLINK ASSIGNMENT message with valid TA extracted from responsed UPLINK PACKET CONTROL ACK as 4 access bursts from MS to continue data transfer procedure. This fix works only for CONTROL_ACK_TYPE is configured as 4 access bursts in GPRS CELL OPTION of SI13. Change-Id: I3c76e5e1b8339ddb20da23b85ba267026a0ebf34
2019-03-21oc2g: Change log type (Litecell15->Oc2g)Daniel Willmann1-1/+1
Change-Id: I95ced5da1c89dae5a16963b10b005747277f320b
2019-03-21Add missing includeDaniel Willmann1-0/+1
Change-Id: Ib39e4424f73c677b34f921917440f211e400e14f
2019-03-21Remove custom alarmsDaniel Willmann1-7/+0
Change-Id: I51de826aa732a3875d75396b46b7d2821ef7417c
2019-03-21OC-2G: Always use positive TA information provided in PH-RA-INDMinh-Quang Nguyen1-2/+3
Change-Id: Ia526f712b95eb7bba99252f2a348d9fb5d2f3838
2019-03-21OC-2G: Fix TA adjustmentMinh-Quang Nguyen1-2/+2
Problem: TA provided from L1 PH-DATA-IND is a relative amount of TA adjustment to actual TA being used for given TBF. The current TA update algorithm in PCU simply applies the relative amount of TA to given TBF but does not take into account of current TA. As a result, the PCU will request wrong TA jump for given TBF if the MS is moving away from BTS more than 2 km. Related issue: http://osmocom.org/issues/2611 Fixes: - The PCU needs increase or decrease current TA of given TBF on receiving of relative amount of TA adjustment provided by PH-DATA-IND from L1. - The PCU needs to set absolute TA of given TBF on receiving absolute TA provided by PH-RA-IND from L1. Change-Id: I7665586dd5722bbe04632ee5673d3033bc082324
2019-03-21OC-2G: Fix missing headerMinh-Quang Nguyen1-0/+2
Change-Id: Ida0592c9da74588a57d9d2d5be40fcf79edcb596
2019-03-21Initial commit for OC-2G support.Jean-Francois Dionne7-0/+1145
Change-Id: I7cd89a549c9463e81893ca7dd925299f728e4453
2019-03-19Explicitly clean up BTS singletonMax3-3/+22
Add method to explicitly cleanup BTS singleton similar to GprsMsStorage class and use it from main(). The destructor becomes trivial wrapper around cleanup() method. This prevents annoying SIGABRT on exit of OsmoPCU caused by rate_ctr_group_free() being called after talloc_free() which removes the context in which counter group is allocated. Change-Id: I796d56a7de3f3a1f9d59708995c8e3e9b05a2747
2019-03-19MS store: move test helper to unit testMax3-20/+18
It's confusing to have test-specific helper with the same name as tested function directly inside the GprsMsStorage class. Let's convert it into static function and move to the unit test. Change-Id: Ia2a5b90779051af894fe15d957c1d26f0a142f33
2019-03-19tests: use -no-install libtool flag to avoid ./lt-* scriptsOliver Smith1-1/+1
This ensures that the rpath of the generated binaries is set to use only the just-compiled so-files and not any system-wide installed libraries while avoiding the ugly shell script wrapper. Change-Id: I2915f0de87598f9f23efc2b9a8f4a6bdf4966efb
2019-03-14Use unique NSEI/BVCI/NSVCI in TBF testsMax2-14/+5
This works around the issue with colliding rate counter group index highlighted by 86e35e488740889f8ad03d09a78918839b883240 by using different NSEI/BVCI/NSVCI parameters for different TBF tests. Change-Id: Id7d2d1a48308a6b1fb17768aee0e79adbdee56ee Related: OS#3827
2019-03-13Debian: bump copyright yearMax1-2/+2
Change-Id: If61a510fbbcd549dc7bdf6e38643a00d242be875
2019-03-13MCS: remove unused functionMax2-6/+0
Change-Id: I32ab5ac36a0db90f2bea670b7684784b83a90b6b
2019-03-12Make get_retx_mcs() into regular functionMax2-18/+14
Moving from header-defined inline function allows us to hide egprs_mcs_retx_tbl definition and simplify further changes. Change-Id: I95258d1558a3b918ae83f1a69e7c3de2b97e5627
2019-03-12MCS: move Coding Scheme enum outside of class definitionMax12-230/+248
Move generic MCS enum to C header file to simplify further modifications to GprsCodingScheme class in follow-up patches. This also allows us to use standard libosmocore value_sting functions in upcoming patches for IA Rest Octet encoding/decoding. Related: OS#3014 Change-Id: I993b49d9a82b8c7ad677d52d11003794aeabe117
2019-03-11encoding: Fixes TMSI vs MI bit selection in repeated page infoJF Dionne1-1/+15
Change-Id: Iddb00b9133f523f4ba09c8f1fc5694e62dc46fbf
2019-03-07Log (M)CS UL update errorsMax2-2/+30
Previously some of the errors in update_cs_ul() call were silently ignored. Let's log all those as errors with appropriate message. Note: test output needs updating because we do not (yet) set proper meas struct in TBF tests. That's likely wrong but it's better to update tests in a separate commit. Change-Id: I4084fb281dd9dad04a2a3a68cac2a8f7b462548e
2019-03-07Enable LGLOBAL logging for TBF testsMax2-1/+5
This exposes the bug in BSSGP rate counter group allocation in the current tests version which should be fixed in a separate commit. Change-Id: I6317eccfb1408c5c9d07110a8b059f5ceb5d2afc
2019-03-06Tighten lqual table limits checkMax3-9/+13
Previously MAX_GPRS_CS was used for both EDGE and GPRS which means that we waste extra memory in GPRS case. It also leads to misleading name. Let's fix this by introducing separate definitions for GPRS and EDGE cases and use them as appropriate in limit checks. Change-Id: I3ae1ee64ec8e80247b8fe669cc79505b4dadf58f
2019-03-06Use msgb_eq_data_print() in testsMax3-18/+44
This allows to see exact byte which differs with expected output in case of test failure. Change-Id: If1285649b27843d68dfaa6f6dd3b80deee9aa148
2019-03-05EDGE tests: remove no-op checkMax2-8/+0
The headerTypeControl() function always return constant and is only used inside OSMO_ASSERT() which compares it to the very same constant which makes it no-op. Let's remove this clutter. Change-Id: Ie0f81fe05a2b3f432de7d1f3446e8115d7524ff4
2019-03-04MCS: remove dead codeMax1-14/+0
As a preparation for (M)CS fixes in follow-up patches, remove unused operators from GprsCodingScheme class. Change-Id: Ieef3b095a6732300e5efa395b989843112b9ca78
2019-02-26EDGE tests: reduce code duplicationMax1-8/+15
* move duplicated code into helper function * use proper parameter types Change-Id: I8a9528032629e5df629996da5cd8b808efede017
2019-02-26MCS: internalize 'family' parameterMax2-30/+24
There's no need to expose it in header file as it's only used internally for consistency checks. Change-Id: Ic705615cd2a8ca077efef9ea62a2a676f70b4aed
2019-02-26Optionally Use the NS Sub-Network-Service (SNS) on GbHarald Welte3-7/+50
This change add support for the recently-introduced GPRS Gb interface auto-configuration using the NS IP Sub-Network Service (SNS) procedures. It requires a Change-Id I84786c3b43a8ae34ef3b3ba84b33c90042d234ea of libosmocore. Related: OS#3372 Depends: I84786c3b43a8ae34ef3b3ba84b33c90042d234ea (libosmcore) Change-Id: I256b40ac592d3b6e75dd581bf7b9512f69b11e83
2019-02-26Rewrite EGPRS Packet Uplink IA Rest Octets for SBAMax1-26/+58
Use bitvec_set_*() directly without external write pointer tracking to simplify the code. This is part of IA Rest Octets (3GPP TS 44.018 § which is the last part of the message so it should not interfere with the rest of encoding functions. That's partially based on reverted commit 529ce885450946d85d1920fb3d1a994c3efe5849. Change-Id: I143b3dd02aa54b9ce206d9e780a5554f6d9fd118 Related: OS#3014
2019-02-26Mark gprs_ns_reconnect() as static (not used outside of C file)Harald Welte2-2/+2
Change-Id: I95138adedacdc2d953284cff57f79ecb33616f0f
2019-02-19Rewrite EGPRS Packet Uplink IA Rest Octets for MBAMax1-15/+11
Use bitvec_set_*() directly without external write pointer tracking to simplify the code. This is part of IA Rest Octets (3GPP TS 44.018 § which is the last part of the message so it should not interfere with the rest of encoding functions. That's partially based on reverted commit 529ce885450946d85d1920fb3d1a994c3efe5849. Change-Id: I19cc4226e7e831e7d7f70212b2078f5589a87ff0 Related: OS#3014
2019-02-19Rewrite Packet Downlink AssignmentMax1-33/+112
Use bitvec_set_*() directly without external write pointer tracking to simplify the code. This is part of IA Rest Octets (3GPP TS 44.018 § which is the last part of the message so it should not interfere with the rest of encoding functions. That's updated version of commit with the same topic reverted earlier. Change-Id: Ie180733d2584ebb16fb80b84526d0dbc70e3d441 Related: OS#3014
2019-02-19Restructure IA Rest Octets encodersMax1-123/+132
In preparation for upcoming patches with 11 bit RACH and TA support, let's restructure existing encoders to simplify further modifications: * move consistency checks to top-level Imm. Ass. encoder * use consistent formatting * constify pointers where appropriate * split SBA and MBA encoders into separate functions Those changes also make it obvious which parameters are necessary for Rest Octets in each specific case (DL, UL-SBA, UL-MBA, UL-SBA-EGPRS, UL-MBA-EGPRS). There're no functional code changes so there's no need to adjust tests. Change-Id: I0ad1bc786c3a8055ea9666f64ae82c512bd01603 Related: OS#1548
2019-02-19Clarify write_immediate_assignment() signatureMax6-22/+20
* remove unused variable * use bool for boolean types * add clarification comments Change-Id: I363445063e2d873d9194b2a5924b9e59b8b7ea53
2019-02-19Add encoding tests for Immediate AssignmentMax3-0/+152
Change-Id: I63f4654b23c7c4f063f6b3254d77157fac798586
2019-02-19Add define for dummy burst stringMax6-17/+15
Change-Id: I464920b3d6d47bb1c797a4ce06230f005a2e06a0
2019-02-19Move C include to proper placeMax1-2/+1
Change-Id: Id58d1820b94d54ce73ed40edb7747ef975890a7b
2019-02-14Don't install pcuif_proto.h headerMax6-20/+1
Both OsmoBTS and OsmoBSC use their own copies of this header nowadays so we can simplify our installation slightly by making it local only. Change-Id: I4a87395d4ab7212fe2fc055dae0a737e10d20c69
2019-01-29Added support for daemonize to osmo-pcu.Rafael Diniz1-1/+16
Change-Id: Ia889544e0a350b6bab55da4e4201a617e0241ea2
2019-01-21Bump version: → Welte1-0/+61
Change-Id: Ibd7ac106f1e08319a592cf3246fc9fb6e298d226
2018-12-06contrib: fix makedistcheck with disabled systemdOliver Smith1-1/+2
EXTRA_DIST files need to be distributed, no matter if the systemd option is configured or not. Change-Id: I356aa59ab152ace89b247823a2c0517814a69ecb
2018-12-05contrib/jenkins.sh: build and publish manualsOliver Smith1-0/+17
Add new environment variables WITH_MANUALS and PUBLISH to control if the manuals should be built and uploaded. Describe all environment vars on top of the file. When WITH_MANUALS is set, install osmo-gsm-manuals like any other dependency and add --enable-manuals to the configure flags (for "make" and "make distcheck"). Add the bin subdir of the installed files to PATH, so osmo-gsm-manuals-check-depends can be used by ./configure. Related: OS#3385 Change-Id: Ia5b112fc1663b78800d3c2c4ff2a0771cf5af11b
2018-12-04Fix DISTCHECK_CONFIGURE_FLAGS overrideOliver Smith2-2/+2
Set AM_DISTCHECK_CONFIGURE_FLAGS in Makefile.am instead of DISTCHECK_CONFIGURE_FLAGS. This is the recommended way from the automake manual, as otherwise the flag can't be changed by the user anymore. Related: OS#3718 Change-Id: I10d1eef9838c0b843a3a4103b7b03e8e9457b69e
2018-11-27build manuals moved here from osmo-gsm-manuals.gitOliver Smith8-31/+97
Moved to doc/manuals/, with full commit history, in preceding merge commit. Now incorporate in the build system. Build with: $ autoreconf -fi $ ./configure --enable-manuals $ make Shared files from osmo-gsm-manuals.git are found automatically if - the repository is checked out in ../osmo-gsm-manuals; or - if it osmo-gsm-manuals was installed with "make install"; or - OSMO_GSM_MANUALS_DIR is set. Related: OS#3385 Change-Id: I7270652de393a98748c0cdc51e626c17ab8f44c2
2018-11-27Merge history from osmo-gsm-manuals.gitNeels Hofmeyr16-0/+2469
Change-Id: I33ce528bb58a8a730a15cc8a7a74852a14f42921
2018-11-27Change OpenBSC mentions to OsmoBSC where applicableDaniel Willmann1-1/+1
Change-Id: I4cc6874302b6089a54d44b09f08660a25e46d4dc
2018-11-27vty-ref: Update URI of docbook 5.0 schemaHarald Welte1-2/+2
... to match the /etc/xml/catalog file on debian (no "www" in hostname) Change-Id: Id9f3579c7f2bc3af13fe30b5268f249b6f59ed0d
2018-11-27OsmoPCU: add rate counter documentationAlexander Couzens3-0/+184
Change-Id: Ieb4e1dab415a70ded5c65c21752dca497856e96f
2018-11-27refactor Makefile build rules, don't use the FORCENeels Hofmeyr1-39/+5
The initial goal was to make sure we don't have overall FORCE rules causing unnecessary rebuilds -- annoying while writing documentation. As I looked through possible dependencies, I finally understood what's going on here. Remove code dup and nicely sort which belongs where in build/Makefile.*.inc. In each, describe in a top comment how to use it, and also unify how they are used: - Rename Makefile.inc to Makefile.docbook.inc and refactor - Add Makefile.vty-reference.inc - Add Makefile.common.inc Make sure that we accurately pick up all dependencies. Drop use of the macro called 'command', that silenced the actual command lines invoked and replaced them with short strings: it obscures what is actually going on and makes the Makefiles hard to read and understand. Each manual's makefile is greatly reduced to few definitions and a Makefile include, e.g. one for asciidoc, one for VTY reference. Move common/bsc_vty_additions.xml to OsmoBSC/vty/libbsc_vty_additions.xml, link from OsmoNITB. It applies only to OsmoBSC and OsmoNITB. Add a script that combines a VTY reference file with *all* additions files found in a manual's vty/ dir. Call this from Makefile.vty-reference.inc. Change-Id: I9758e04162a480e28c7dc83475b514cf7fd25ec0
2018-11-27Allow easily disabling GFDL referencesPau Espin Pedrol2-0/+4
All parts referencing GFDL can be easily disabled by removing the 'gfdl-enabled' attribute from the document. Change-Id: I2489726ad2e90301bceadfada926e31ae0f85986
2018-11-27configuration: fixing typosPhilipp1-2/+2
configuration.adoc has some minor typos in it, this commit fixes that. Change-Id: Id84238b89e5deeac99c043b79b26c7e7b8b8534b
2018-11-27fix 'make clean': shell glob, ignore failureNeels Hofmeyr1-3/+5
Unfortunately a glob like osmo-x__*.{svg,png} doesn't work, so have the suffixes in separate globs. Add dashes to indicate that failure should be ignored. Change-Id: I6bc4d9ea72b43a573acbc860c23397f748de2c7b