aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/gsm_04_08.h
AgeCommit message (Collapse)AuthorFilesLines
2017-03-16comment on mscsplit, indent commentNeels Hofmeyr1-0/+2
2017-03-16Use libvlr in libmsc (large refactoring)Neels Hofmeyr1-1/+0
Original libvlr code is by Harald Welte <laforge@gnumonks.org>, polished and tweaked by Neels Hofmeyr <nhofmeyr@sysmocom.de>. This is a long series of development collapsed in one patch. The original history may still be available as branch neels/vlr_orig. TODO: This commit may be split in several smaller changes before merging to master. Related: OS#1592 Change-Id: I702ba504ce2de93507312c28eca8d11f09f4ee8b
2017-03-08add struct bsc_subscr, separating libbsc from gsm_subscriberNeels Hofmeyr1-1/+3
In a future commit, gsm_subscriber will be replaced by vlr_subscr, and it will not make sense to use vlr_subscr in libbsc. Thus we need a dedicated BSC subscriber: struct bsc_subscr. Add rf_policy arg to bsc_grace_paging_request() because the bsc_subscr will no longer have a backpointer to gsm_network (used to be via subscr->group). Create a separate logging filter for the new BSC subscriber. The implementation of adjusting the filter context is added in libbsc to not introduce bsc_subscr_get/_put() dependencies to libcommon. During Paging Response, fetch a bsc_subscr from the mobile identity, like we do for the gsm_subscriber. It looks like a duplication now, but will make sense for the VLR as well as for future MSC split patches. Naming: it was requested to not name the new struct bsc_sub, because 'sub' is too ambiguous. At the same time it would be fine to have 'bsc_sub_' as function prefix. Instead of struct bsc_subscriber and bsc_sub_ prefix, I decided to match both up as struct bsc_subscr and bsc_subscr_ function prefix. It's fast to type, relatively short, unambiguous, and the naming is consistent. Add bsc_subscr unit test. Related: OS#1592, OS#1594 Change-Id: Ia61cc00e8bb186b976939a4fc8f7cf9ce6aa3d8e
2017-02-03gsm48_tx_mm_auth_req(): support UMTS AUTNNeels Hofmeyr1-1/+2
To be able to do R99 UMTS authentication, we need to send along AUTN bytes in the Authentication Request. Add autn parameter to gsm48_tx_mm_auth_req() and conditionally append the R99 AUTN TLV to the Authentication Request message. Change-Id: I0d644559088706aa06b42b9bfe1f8c21ca6fa4da
2016-01-30gsm0408: Provide unique strings for the gsm 04.08 messageHolger Hans Peter Freyther1-2/+2
At Rhizomatica we see that some GSM 04.08 messages are leaked and have no other indication if that is Call Control, SMS or something else.
2015-10-02amr: Instead of putting ms/bts into the same struct.. use it twiceHolger Hans Peter Freyther1-1/+2
This way a lot of if/else can just be killed by the caller deciding which of the two instances to use. I have copied both branches to new files, replace bts for ms in one of them and ran diff on it. There is no difference.
2015-09-22Add full AMR multirate IE support with VTY config for MS and BTS sideAndreas Eversberg1-0/+3
2015-08-17Add option to set RADIO LINK TIMEOUT value via VTYAndreas Eversberg1-0/+14
2013-11-01bsc: Move gsm48_tx_mm_serv_ack/rej to gsm_04_08_utils.cJacob Erlbeck1-0/+3
These functions are currently located in libmsc/gsm_04_08.c together with other symbols that (transitively) depend on many external symbols (and thus libraries) that aren't otherwise needed by e.g. osmo-bsc. Since gsm48_tx_mm_serv_ack() will be needed by osmo-bsc, these functions are moved to avoid the dependency on gsm_04_08.o. Sponsored-by: On-Waves ehf
2013-10-31Revert "bsc/ussd: Send faked CM Service Accept before sending USSD"Holger Hans Peter Freyther1-3/+0
This reverts commit 61bd965b04e4f00eaf4196eebb4ec6269926d551. No, we should not link to dbi.. and these libraries..
2013-10-31bsc/ussd: Send faked CM Service Accept before sending USSDJacob Erlbeck1-0/+3
The MS do not show the USSD messages yet. This patch modifies the implementation to insert a CM Service Accept before the ussdNotify to finish the establishment of the MM connection according to 3GPP TS 04.10/3.2.1. This fix has been tested with a Blackberry phone that has shown an ussd_grace_txt after rf_locked has been set to '1'. Without this patch, that message wasn't shown. The phone has sent a CC Setup and other messages before processing the channel release message sent by the BSC, but these messages have not been forwarded to the MSC (as expected). Ticket: OW#957 Sponsored-by: On-Waves ehf
2012-01-23Move the bulk of RR processing from MSC into BSCHarald Welte1-0/+3
RR Messages like STATUS, GPRS SUSPEND, HANDOVER COMPLETE/FAIL, ... should be processed on the BSC side of things, not on the MSC side. This is among other things required in preparation of intra-BSC hand-over support in osmo-bsc.
2011-07-23fix some header file related issues preventing lcr from compilingHarald Welte1-4/+6
2011-04-18misc: Move from u_int to uint types of stdint.hHolger Hans Peter Freyther1-13/+13
This was done with sed on the files.
2011-03-23src: use new library libosmogsm and new path to headers in libosmocorePablo Neira Ayuso1-2/+2
libosmogsm is a new library that is distributed in the libosmocore. Now, openbsc depends on it. This patch gets openbsc with this change. This patch also rewrites all include path to the new osmocom/[gsm|core] Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
2011-01-01mncc_sock: Clear all calls if MNCC application (LCR) disconnectsHarald Welte1-0/+1
2011-01-01MNCC: remove 'upqueue'Harald Welte1-2/+0
The MNCC messages now again get directly handled by the net->mncc_recv() callback. If the callee wants to put them in a queue, it' his business to do that.
2011-01-01MNCC: rename mncc_send() to mncc_tx_to_cc()Harald Welte1-1/+1
This name clearly indicates: MNCC api transmits to Call Control, i.e. down from the L4/application into the L3 04.08 code.
2010-12-23GPRS: enhance msgb headroom/tailroom for SGSN (GMM)Harald Welte1-2/+2
In the GPRS NS protocol stack, the amount of NS/BSSGP headers like MS RADIO CAPA INFO can be quite long. In order to fit the full user message and those headers, we have to enlarge the head/tailroom of the msgb allocations.
2010-09-06chan: Store the to be assigned channel type in the GSM Network.Holger Hans Peter Freyther1-2/+3
Store the mapping from request to channel type in the GSM Network struct as there is some policy involved with handling the request. E.g. in a half rate network we don't want emergy calls to be getting a TCH/F, or we want to have a different policy for early/late assignment of phone calls. Update the table when creating the network and when the neci is changed.
2010-07-05msc: Create a dummy operation to keep the channel open for five secondsHolger Hans Peter Freyther1-0/+1
* We should create the transaction for SMS, CC on the CM Service Request but for now we will use a band aid and create a dummy operarion to wait five seconds for the transaction to be opened.
2010-06-21bsc_api: Remove the lchan usage from the Paging Response handling.Holger Hans Peter Freyther1-1/+1
2010-06-20[BSC] Implement per-timeslot ARFCN lists for frequency hoppingHarald Welte1-0/+2
We now compute the Cell Channel Description for SI 1 by bit-wise OR of the ARFCN bitmask of each timeslot on all the TRX of the BTS. Also, support generating a GSM 04.08 Channel Description IE for the hopping case (with HSN/MAIO instead of ARFCN). What's still missing now: Sending the 04.08 Mobile Allocation IE
2010-06-17bsc_api: Move gsm48_rcvmsg into the BSC API and dispatch.Holger Hans Peter Freyther1-0/+1
The next step in the way to the BSC API. We have a clear a new connection was opened signal now... and the MSC could use it...
2010-06-16bsc_api: Use gsm_subscriber_connection in rrlp.cHolger Hans Peter Freyther1-1/+1
2010-06-16bsc_api: Cut back on direct lchan usage.Holger Hans Peter Freyther1-2/+2
2010-06-15gsm48: Split LU Reject sending and generation into two.Holger Hans Peter Freyther1-0/+1
2010-06-15gsm48: Separate CM Service Reject sending and creation.Holger Hans Peter Freyther1-0/+1
Split out the msg generation from the sending, this will be used by the nat to send a refusal message.
2010-06-15bsc_api: Remove the lchan argument from gsm48_tx_mm_info.Holger Hans Peter Freyther1-1/+1
2010-06-15bsc_api: Move most of GSM0408 to the DTAP API...Holger Hans Peter Freyther1-2/+0
* gsm_04_08_utils.c will directly send the message... * gsm_04_08.c will use the DTAP API, add a new method to pull in the data from the transaction...
2010-06-15bsc_api: Switch gsm_04_08.c to use the clear request of the API.Holger Hans Peter Freyther1-0/+2
2010-05-16gsm48: Add a generic MI from classmark+mi extraction.Holger Hans Peter Freyther1-0/+1
This is a generic MI extraction for the MI if it is followed after a classmark. For the Phase1 Phones the classmark2 is not four bytes but it might be different. This code can be used by the CM Service Request handling as well.
2010-05-16gsm48: Add size checks to the paging response mi parsing.Holger Hans Peter Freyther1-1/+1
We go from no size checks to some content checking. We should refactor the whole classmark2 + mi parsing that is used throughout the code into one place with proper size checking. This is the start and requires a new libosmocore as well.
2010-05-04make gsm48_msgb_alloc() a static inline functionHarald Welte1-1/+9
This resolves some dependency problems (i.e. osmo_sgsn not needing to link gsm_04_08_utils.o which has RSL dependencies)
2010-03-28remove gsm48_mi_to_string() as it is now in libosmocore 0.1.3Harald Welte1-1/+0
2010-03-04move some gsm48 utility functions to libosmocoreHarald Welte1-6/+0
* gsm48_generate_lai() gsm48_generate_mid_from_tmsi() gsm48_generate_mid_from_imsi() * gsm48_cc_msg_names[]
2010-03-02remove gsm04.08 utility code that has been moved to libosmocoreHarald Welte1-0/+1
2010-02-20move GSM protocol definitions to include/osmocore/protocol/*Harald Welte1-736/+1
2010-01-28[gsm48] Allow to send the assignment command on a different lchanHolger Hans Peter Freyther1-1/+1
Change the signature to take the lchan were the message is supposed to be sent and the lchan which is supposed to be assigned.
2010-01-03gsm_04_08: Specify key_seq when calling gsm48_tx_mm_auth_reqSylvain Munaut1-1/+1
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2009-12-17make handover reference a function call argumentHarald Welte1-2/+2
2009-12-06location updating reject cause now specified on VTY rather than command line ↵Harald Welte1-1/+0
argument
2009-12-01Replace template-based SYSTEM INFORMATION with real implementationHarald Welte1-5/+18
Before this commit, OpenBSC used templates for the SYSTEM INFO 1, 2, 3, 4, 5 and 6 messages. Those templates were patched in various places to reflect the network config like ARFCN. Now, we actually generate those SI messages ourselves, using values from the configuration file, and even calculating neighbor cell lists. All bts'es that you have configured in OpenBSC will end up in the neighbor cell list - which should be more than sufficient for the current small-single-site networks.
2009-11-29[handover] Implement handover control logicHarald Welte1-0/+2
Code to implement handover control logic. A yet-to-be-implemented handover algorithm will call bsc_handover_start(old_lchan, new_bts) to start the handover process.
2009-11-29[handover] Implement 04.08 HANDOVER COMMANDHarald Welte1-0/+16
This is needed by a yet-to-be-implemented handover algorithm, after it has allocated a new lchan for the MS. Also missing: handling the actual HANDOVER COMPLETE / FAIL messages in response.
2009-11-29New complete measurement result/report handlingHarald Welte1-24/+4
This patch extends struct gsm_meas_rep into a complete structure containing all information from both uplink and downlink measurement results/reports. This is a first step to provide this complete measurement data as a C structure into a to-be-implemented handover decision algorithm.
2009-11-22[chan] Alloc SDCCH for certain reserved typesHolger Hans Peter Freyther1-0/+3
Follow notes: 2.) Allocate a SDCCH for type "LMU" 2a.)Allocate a SDCCH for the three reserved types 2b.)Pick LCHAN type none to "ignore" the request
2009-11-19[lchan] RSL and RR need the multirate config, place it in the lchanHolger Hans Peter Freyther1-2/+2
Both GSM 04.08 RR and GSM 08.58 RSL need the multirate config in the channel modify. Place the config in the lchan, change the gsm48 methods to not take the argument, change the RSL implementation to make use of it with the right IE. The other code should use the t(l)v_put routines as well but were left untouched for now.
2009-11-17[gsm48] When picking AMR we need to supply the multirate configHolger Hans Peter Freyther1-2/+20
On channel mode modify and assignment command when using the a multirate code the multirate configuration must be present in the packet. Add a parameter and add a warning when using it in a broken way.
2009-11-17[neci] Separate handling of chan requested for paging anyHolger Hans Peter Freyther1-1/+2
Allow to handle the channel requested differently based on the NECI value for the "paging any" case. This will allow to open a TCH/H, TCH/F depending on the neci mode.