aboutsummaryrefslogtreecommitdiffstats
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2017-12-09Remove 'msc' counter group from BSCHarald Welte1-53/+0
This is left over from the OsmoNITB days. We're defining and allocating these MSC counters, but never actually using them. This also means that the automatic counter export will list them, raising the expectation at users that such counters could be used in OsmoBSC. Let's remove them. They are in OsmoMSC, but not OsmoBSC. Change-Id: I5bd9e6e333b1c396beae46630986b17e7f8b82ef
2017-12-09rate_ctr: Use ':' as separator, not '.'Harald Welte1-18/+18
In more recent versions of libosmocore, we are converting any '.' in [rate] counter names to ':' to avoid clashes with the special meaning of '.' in the CTRL interface. Let's avoid any conversion and use the proper name already here. This also changes the codec_foo counters to codec:foo to follow the notation of other counters. Change-Id: I18916abbfc706b86bd211e7cca1a0ca3099826e9
2017-12-09Move many counters from BSC-global to per-BTS granularityHarald Welte2-22/+37
We used to have a lot of counters only globlly per BSC, but they're much more useful on a per-BTS level. Change-Id: I954b9dda72b83b91d46a934c221a8b3375743599
2017-12-06use _NUM_CHREQ_T to define the size of ctype_by_chreqAlexander Couzens1-1/+1
Make it future compatible for changes. Otherwise it will break when additional enums are adding to chreq in libosmocore. Depends on libosmocore Id67ba8de89dd6288e449197438e9e1c5d7f5a134 Change-Id: I2acab2af8d67bccb2bc495512c1f259ae649a832
2017-12-01mgcp: use mgw assigned connection identifiersPhilipp Maier1-0/+6
osmo-mgw assigns connection identifiers which are returned with the response to the CRCX. store the assigned connection identifiers and use them to identify the connections. Depends: osmo-mgw Iab6a6038e7610c62f34e642cd49c93d11151252c Closes: OS#2648 Change-Id: Ib379a6f40875bb8f2cf29038a5b5b7a40a21adab
2017-11-30auth: remove obsolete VTY commandsPhilipp Maier1-1/+0
authentication (optional|required) is no longer needed, the related decisions are now made in the HLR. Change-Id: Ib6c6331cc86004c4862067031e4fcb12a6975b63
2017-11-30auth: remove unused structsPhilipp Maier1-35/+0
The following structs are no longer used/needed: - gsm_auth_algo - gsm_auth_info - gsm_auth_tuple - gsm_security_operation Change-Id: I93873a6cb980a54e03e719170e27a7e397236b77
2017-11-30sccp-lite: remove obsolete VTY commandsPhilipp Maier1-4/+0
remove obsolete vty commands: - token - auth-key - no auth-key Change-Id: I9101d750a424b8af46d603bc7c877229bbae8727
2017-11-29HO prep: pass gsm_network to gsm_bts_alloc() alreadyNeels Hofmeyr1-1/+1
Prepare for a future change that accesses bts->network during gsm_bts_alloc(). Currently, gsm_bts_alloc() takes a ctx parameter, and gsm_bts_alloc_register() then gets the gsm_network pointer and sets bts->network to it. All callers anyway pass gsm_network as ctx to gsm_bts_alloc(), and anything else would not make sense anyway. So enforce passing exactly gsm_network to gsm_bts_alloc() and already set the bts->network pointer from there. Prepares-for: I00870a5828703cf397776668d3301c0c3a4e033a Change-Id: Ie590c14aa08df4c4f345596b23e5226c5577057a
2017-11-29cosmetic: handover.h: use "#pragma once", declare structs, commentsNeels Hofmeyr1-8/+3
Use new #pragma style instead of #ifndef dance. Forward-declare all structs we're using pointers of. Move function comments to their definitions in the .c file. Change-Id: I3d43ec01897c0ef9eaf506e68d5a1ec1977f70ea
2017-11-29compiler warnings: add includes in abis_rsl.h, gsm_data_shared.hNeels Hofmeyr2-0/+2
Change-Id: Ic0b1410a352c7be399d16d5db7cfe7a62192df6f
2017-11-29cleanup: drop unused gsm_bts.roleNeels Hofmeyr1-2/+0
While this header was still shared among several code trees, we had this ROLE construct in place to exclude some parts in some trees. Since we're having one copy per code base now, the ROLE #ifdefs were dropped, also drop void *role. Change-Id: I4f0c337779d8e7266b6e02815d886728c4826bb9
2017-11-29cosmetic: mark gsm_objclass2mo as staticMax1-4/+0
It's only used once in the same file so there's no need to put it into global header. Change-Id: Id9674cad54bab6cc04475719678efc2c25d058a9
2017-11-29cosmetic: drop unused includeMax2-192/+0
Change-Id: I46a2af19358c0eb5d2f1644b10afd58c424a51e8
2017-11-29cosmetic: tighten function type signaturesMax2-2/+2
* change return type to bool * constify parameters The nm_is_running(), trx_is_usable() and ts_is_usable() always return boolean value and are always used as such anyway. The also do not change their parameters. Change-Id: I6a572fc78371c69f5308edbad0ebe15e143d0505
2017-11-29auth: remove obsolete VTY commandsPhilipp Maier1-3/+0
Authentication is no longer done in the BSC, the variables that set the authentication policy and the IMSI regex have no longer any effect. Remove auth policy and authorized-regexp Change-Id: Ie31b921b5fd0af5501ec0c77c0f08089c10075e2
2017-11-29cosmetic: remove obsolete ROLE_BSCMax2-104/+0
It's leftover from the time when gsm_data_shared.* was actually shared with OsmoBTS. Nowadays ROLE_BSC is always defined so we can just drop it entirely and make working with gsm_data_shared.h slightly easier. Change-Id: I34fc9ee5955c14bbbde68d5499cf2acfd329afbc
2017-11-29OML: consider administrative state when reportingMax1-1/+1
Report state as degraded if BTS or any of its TRX are administratively locked. Change-Id: Ic9ee998d972ca870ce5d039c3ed95edb6ba8b36f Related: OS#2486
2017-11-24vty: Add cmd to configure 3g Early Classmark SendingPau Espin Pedrol2-0/+2
In state prior to this patch, "3G Early Classmark Sending Restriction" bit in SI3 rest octets was always set to H, which is a sane default as the policy to send the information is then controlled by "Early Classmark Sending Control" bit in the same octet. However, it seems Quortus SoftCore can have some issues decoding the option, so let's add a vty cmd to be able to disable it for those having any issues. Related: SYS#4021 Change-Id: Ic1afe071038a3bb5871d7ff40f665c8644f801ec
2017-11-24Use type bool for boolean fields in gsm48_si_ro_infoPau Espin Pedrol1-3/+3
Change-Id: Ic0981fca96f4927717ca335be1dab00a5d17fd6c
2017-11-20reset: remove name variable from reset contextPhilipp Maier1-3/+0
The reset context contains a string buffer to allow for setting a human readable name, that is then displayed in the logs. Since OSMO-FSMs already have such a feature there is no need for an extra name variable. Use LOGPFSML and the name parameter of osmo_fsm_inst_alloc() to display the name of the FSM Fixes: Coverity CID#178664 Change-Id: I34511698923abec7545a6f3defd595f97b4bbeb1
2017-11-12cosmetic: remove distracting newlinePhilipp Maier1-1/+0
Change-Id: Iedc883b0f5760f004c51d7cf15328eb8c4d472db
2017-11-07mgcp: use osmo-mgw to switch RTP streamsPhilipp Maier4-0/+70
osmo-bsc currently negotiates the RTP stream directly with the BTS and reports back the RTP IP/Port on the BTS. This works fine for a single BTS, but for Handover the port/ip pointing to the MSC side must not change, so an entity in between the BTSs and the MSC is required. Integrate the mgcp-client and use osmo-mgw to switch the RTP streams. Depends: osmo-mgw Ib5fcc72775bf72b489ff79ade36fb345d8d20736 Depends: osmo-mgw I44b338b09de45e1675cedf9737fa72dde72e979a Depends: osmo-mgw I29c5e2fb972896faeb771ba040f015592487fcbe Change-Id: Ia2882b7ca31a3219c676986e85045fa08a425d7a
2017-11-02Check OML state per-BTSMax2-1/+1
To properly decide if a given OML link is degraded we have to use BTS-specific information about MO state. * move check function into BTS-specific part * add generic wrapper Related: OS#2486 Change-Id: Iddc7a4d20fbb95a6566eed1487a12733e5adb9e2
2017-10-11ctrl: add oml-uptime commandMax1-0/+2
Expose OML link uptime available via vts's "sh bts 0" command with the new "bts.0.oml-uptime" ctrl command. To avoid code duplication, move uptime computation into separate function and use it for both. Change-Id: Iec405aa949d6a38a9c8e64cd7ee4b49fd416835d Related: OS#2486
2017-10-09OML: consider RSL link stateMax2-0/+4
OML link state is available via vty ("sh bts 0" command) and ctrl ("oml-connection-state" RO variable). When showing OML link state, take into consideration RSL link state as well: if OML is up but RSL is missing show it as degraded. That's implemented via BTS model-specific functions (currently Sysmo- and Nano- BTS only) Change-Id: I5952fc59e4d82e0aa627ad91d20f964d9559a4c4 Related: OS#2486
2017-10-04Remove any references to RANAP and IuHarald Welte2-65/+0
This is a BSC, it has norelation to RANAP or Iu(h). Let's remove an references to it, and also the build dependency to libosmo-ranap-dev Change-Id: I517b9f69309b2ed0540dd6c186b3d4a2a03aed44
2017-09-27Show OML link uptime in vtyMax1-0/+2
Save the time when OML link to BTS was established and show it in vty. That's useful when troubleshooting issues like periodic/sporadic BTS restart. Related: SYS#3889 Change-Id: I9e4e8504afe8ca467b68d41826f61654e24d9600
2017-09-25Further cleanup leftovers from BSC/MSC splitMax3-101/+0
* drop unused header * fix name of jenkins test * remove dead code Change-Id: I986904864741995910b6ba92173b9f7b1b03e2f1
2017-09-23Wrap channel state assignment in macroMax1-1/+4
Previously we've used function so debug print always pointed to the same place which is not very useful. Wrap it with macro so proper file:line is printed. Also, make sure that we always change state only through this wrapper and log only when the state has changed. Change-Id: I21789f8021290965b61a54a2b23177ccbbfe8321
2017-09-14SI13: drop PBCCH-related bitsMax1-25/+4
According to 3GPP TS 44.018 ยง1.8 the "network shall never enable PBCCH and PCCCH". Change-Id: I319e71a4b0c682361529e9c21377398a826b934b Related: OS#2400
2017-09-08Make TRX rf locking more visibleMax1-1/+1
* log administrative state transitions * log what's caused it * while at it, mark boolean variable as such Change-Id: I3e25a19fac4d0b4886d825c9876771b1f66efe58 Related: SYS#3864
2017-09-06drop MGCP client from osmo-bscNeels Hofmeyr1-6/+0
After osmo-mgw change I8e0b2d2a399b77086a36606f5e427271c6242df1, there now is a separated libosmo-mgcp-client, and osmo-bsc needs adjusting. But besides having an unused struct in gsm_network, osmo-bsc does not yet use its MGCP client; these are merely plans for the future. Until we do, let's just drop the dependency entirely. Change-Id: I6402c7cbe58dacae7630f7f03819f8102e54c699
2017-09-06move include/openbsc to include/osmocom/bscNeels Hofmeyr72-35/+38
Change-Id: I39e7b882caa98334636d19ccd104fd83d07d5055
2017-09-06drop files unrelated to osmo-bscNeels Hofmeyr1-15/+0
These either remain from openbsc.git or slipped in while applying recent patches from openbsc.git and do not belong in osmo-bsc. Empty out contrib: remove things that are either obviously unrelated to osmo-bsc, or seem old and/or esoteric. osmoappdesc.py: drop nitb_e1_configs (and some ws) Change-Id: Ib20064f35e623d99c7d59496a3156e84b8a0d07a
2017-08-30split off osmo-bsc: remove files, apply buildNeels Hofmeyr35-3674/+46
Change-Id: I64d84c52f6e38e98144eb9be8f0ab82e0e1f6cca
2017-08-30move to osmo-mgw.git: osmo-bsc_mgcp and libmgcp as libosmo-legacy-mgcpNeels Hofmeyr7-845/+3
Rewire build and includes to libosmo-legacy-mgcp. Drop osmo-bsc_mgcp and related python tests, now found in osmo-mgw.git. libosmo-legacy-mgcp is installed from osmo-mgw, hence add the dependency to jenkins.sh (so far using the pre_release branch). Change-Id: Ic99d681759edce11564da62500c2aac5cf5fffe2
2017-08-30move libiu to osmo-iuh/libosmo-ranapNeels Hofmeyr8-87/+61
Remove libiu here, use the functions from libosmo-ranap instead, by applying the ranap_ / RANAP_ prefix. Corresponding change-id in osmo-iuh.git is I6a3f7ad15be03fb94689b4af6ccfa828c25f45c0 To be able to run the msc_vlr tests for RAN_UTRAN_IU without Iu client headers available, add iu_dummy.h, containing mere function signatures that match iu_dummy.c and a mostly empty struct ranap_ue_conn_ctx. Make sure we can build with and without --enable-iu: include osmo-iuh headers only with --enable-iu. Change-Id: Ib8c4fcdb4766c5e575618b95ce16dce51063206b
2017-08-30Implement AoIP, port to M3UA SIGTRAN (large addition and refactoring)Philipp Maier18-29/+417
This was originally a long series of commits converging to the final result seen in this patch. It does not make much sense to review the smaller steps' trial and error, we need to review this entire change as a whole. Implement AoIP in osmo-msc and osmo-bsc. Change over to the new libosmo-sigtran API with support for proper SCCP/M3UA/SCTP stacking, as mandated by 3GPP specifications for the IuCS and IuPS interfaces. From here on, a separate osmo-stp process is required for SCCP routing between OsmoBSC / OsmoHNBGW <-> OsmoMSC / OsmoSGSN jenkins.sh: build from libosmo-sccp and osmo-iuh master branches now for new M3UA SIGTRAN. Patch-by: pmaier, nhofmeyr, laforge Change-Id: I5ae4e05ee7c57cad341ea5e86af37c1f6b0ffa77
2017-08-27libmsc: Use actual delivery time in delivery reports.Keith1-0/+1
Set the time on the status report to the time the message was delivered, as this may not be the same as the time when we are delivering the report to the originating MS. Change-Id: I9056429d40bf02731f004b7833f1de45a0d1add8
2017-08-27Migrate from gprs_apn_to_str() to libosmocore osmo_apn_to_str()Harald Welte1-1/+0
In 2015, Jacob moved/copied related functions to libosmocore, but for some reason didn't remove the copies here. Let's follow-up on that and remove duplicated code. The libosmocore commit introducing osmo_apn_to_str() was 8114294bf29ac6e44822c0ae43d4b0819f11b022 Change-Id: I7315ffcbed8a54cca2056f313bb7783ad82d0ee9
2017-08-27mgcp_osmux: Remove unused parameterPau Espin Pedrol1-2/+1
Change-Id: Icb1e7cb15fe04642578f5292124ebc1eac9c9aa3
2017-08-27libcommon: Fix log output for bts>0.Alexander Chemeris1-1/+1
Fixes regression probably introduced in c696cc28. For bts>0 logging doesn't show bts number correctly when printing lchan identification string - it will always show it as "bts=0". The reason for this is that the identification string is cached before bts->nr value is set to a proper value. This patch sets bts->nr as part of the first step of the bts structure initialization, before caching happens thus making sure the cached identification string is cached with the correct values. Change-Id: I61c18a7f021fcb1ec00d34a745f4e3ab03416c2d
2017-08-27libmsc: add support for SMPP delivery receiptsPablo Neira Ayuso1-0/+1
If the mobile phone requests a status report via SMS, send a DELIVER_SM with esm_class = Delivery Receipt to ESME to indicate that the SMS has been already delivered to its destination. MS GSM 03.40 SMSC SMPP 3.4 ESME | | | | SMS-DELIVER | | |<----------------------------| | | GSM 04.11 RP-ACK | | |---------------------------->| | | | DELIVER-SM | | | esm_class = Delivery Receipt | | |------------------------------->| | | DELIVER-SM-RESP | | |<-------------------------------| | | | This patch implements "Appendix B. Delivery Receipt Format" as specified in the SMPP 3.4 specs. This string is conveyed in the SMS message as data, and it is only meaningful to the ESME, for logging purposes. The "submit date" and "done date" are not yet set, and other fields are just sent with dummy values, so they are left to be finished as future work. The new SMPP TLV tag TLVID_user_message_reference is added to the SMPP messages inconditionally now since this information is required by delivery-reports to associate the status-report with the original SMS. Change-Id: Ic1a9023074bfa938099377980b6aff9b262fab2a
2017-08-27GSM timers: User reasonable defaults; don't save if equal defaultHarald Welte1-2/+10
A number of the GSM timers (including T3109) had no reasonable default values if not specified in the VTY / config file. Together with unconditional writing to the config file, this created config files with a persistent setting for important timers as '0'. To make things worse, many of our example cofig files suffered from the same problem. Let's avoid this from happening by * having reasonable defaults if nothing specified in the config file * conditionally savingg timers only if they differ from default * reject any timer values that state zero during start-up (see previous commit) Change-Id: Iaac0bfca423852b61d8b9eb1438157ef00d0d8c8 Closes: OS#2380
2017-08-27Support for TS 04.14 conformance test commandsHarald Welte2-0/+16
Change-Id: Ib27edbfc8ccdedf00589ec715ced7bed435fa94c
2017-08-27sgsn: Fill the cch_pdp with a value coming from the tlv structureHolger Hans Peter Freyther1-0/+5
For some GGSNs we need to insert the PDP Charging Characteristics that were returned. We receive these values from GSUP and will fill them into the tlv structure when finding the ggsn context. Change-Id: I1725bfd2403d29ce3550bfcd6fcc1498426ef906
2017-08-27mgcp: hack RAB success from nano3G: patch first RTP payloadNeels Hofmeyr1-0/+1
The ip.access nano3G needs the first RTP payload's first two bytes to read hex 'e400', or it will reject the RAB assignment. Add flag patched_first_rtp_payload to mgcp_rtp_state to detect the first RTP payload on a stream, and overwrite its first bytes with e400. This should probably be configurable, but seems to not harm other femto cells (as long as we patch only the first RTP payload in each stream). Only do this when sending to the BTS side. Related: OS#2459 Change-Id: I5eff04dcb0936e21690e427ae5e49228cd459bd4
2017-08-27Implement IuCS (large refactoring and addition)Neels Hofmeyr18-20/+229
osmo-nitb becomes osmo-msc add DIUCS debug log constant add iucs.[hc] add msc vty, remove nitb vty add libiudummy, to avoid linking Iu deps in tests Use new msc_tx_dtap() instead of gsm0808_submit_dtap() libmgcp: add mgcpgw client API bridge calls via mgcpgw Enable MSC specific CTRL commands, bsc_base_ctrl_cmds_install() still needs to be split up. Change-Id: I5b5b6a9678b458affa86800afb1ec726e66eed88
2017-08-27sgsn init: pass sgsn_config pointer to sgsn_vty_init(), not sgsn_parse_configNeels Hofmeyr1-2/+2
In an upcoming commit, sgsn_vty_init() will require access to the global sgsn config struct to initialize a generic VTY command with the proper config destination address, see Change-Id I5b5b6a9678b458affa86800afb1ec726e66eed88. Change-Id: Ie6b6e5422987586531a898e0c5b867623dbecb0f