aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/gsm_04_08.h
AgeCommit message (Collapse)AuthorFilesLines
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.
2009-11-17[si] Make it possible to set the NECI value...Holger Hans Peter Freyther1-2/+2
Allow to configure the NECI value... and change code that is relying on the NECI value.
2009-10-27[gsm48] Handle the RR CHAN MODIFY ACK in the gsm04_08_utilsHolger Hans Peter Freyther1-1/+6
Move the handling code to the gsm_04_08_utils.c and add a note that the method value needs to be checked.
2009-10-27[gsm48] Move RR CHANNEL MODIFY to gsm_04_08_utils.cHolger Hans Peter Freyther1-0/+2
Be able to send RR CHANNEL MODIFY from the BSC/MSC code as well. Move the method that knows about the IPAccess RTP and issues the "bind" to the utils tool
2009-10-27[gsm48] Add generation of ASSIGNMENT COMMAND to the 0408 utilsHolger Hans Peter Freyther1-0/+10
Add code to generate an assignment command for a given lchan. It is expected that the lchan is modified already and the mode will be picked up from their. Currently only the mandantory items are supported.
2009-10-22[rrlp] Fix compiler warningsHolger Hans Peter Freyther1-1/+1
The apdu is static const u_int8_t. Change the signature to have a const in there to make the compiler happy, include chan_alloc.h for lchan methods.
2009-10-06[gsm0408] Add parameter to gsm48_send_rr_ciph_mode for controling the responseHolger Hans Peter Freyther1-1/+1
This parameter controls if the response should include the IMEISV or not. This will be set by the MSC and this is why this parameter was added.
2009-10-01[lac] Do not use the reserved LAC 0x0 for two different thingsHolger Hans Peter Freyther1-0/+4
We are using LAC=0 for remembering that a GSM subscriber is detached. I recently added code to gsm_bts_by_lac that will return every BTS in case the lac is 0. Harald highlightes that we would now search for detached subscribers at every BTS of our network which is clearly not what we want. Introduce two defines for the two reserved LAC, add a pointer to the specification, check that our config files do not contain these reserved values, use the define and change gsm_bts_by_lac to use the other define.
2009-09-28[gsm0408] Move paging handling to gsm_04_08_utils.cHolger Hans Peter Freyther1-0/+2
Add one method to extract the MI which will allow to load the gsm_subscriber depending on the MSC/BSC setup and then use gsm48_handle_paging_resp to finish the paging response handling.
2009-09-28[gsm0408] Move send_siemens_mrpci to gsm_04_08_utils.cHolger Hans Peter Freyther1-0/+2
2009-09-28[bsc] Store the cell_identity in gsm_bts and set it on the SI3 and SI6Holger Hans Peter Freyther1-1/+1
Transfering the cell_identity from BSC to MSC is required for the on-waves.com support. Allow to set the cell_identity in the cfg file and patch the system information tables to set it.
2009-09-27Merge branch 'master' into encryptionHarald Welte1-0/+7
2009-09-27[gsm_04_08] Fix gsm48_tx_mm_auth_req implementationSylvain Munaut1-0/+7
It was mainly missing the key_seq field, causing the command to just be rejected by the ME. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2009-08-30A5 support for RSL and 04.08 (not used yet)Harald Welte1-0/+1
This just adds the 04.08 and RSL bits for A5, but not the logic for performing authentication. The caller would first set lchan->encr and then call gsm48_send_rr_ciph_mode(lchan), which encapsulates the 04.08 CIPHERING MODE COMMAND into a RSL ENCRYPTION COMMAND and sends it to the BTS for execution + forwarding.
2009-08-20[gsm48] Introduce a gsm48_generate_mid_from_imsi methodHolger Hans Peter Freyther1-1/+2
Prefix generate_mid_from_tmsi with a gsm48_, create a new method to binary encode the imsi. Add a unit test for parsing and decoding. The implementation can parse the data it generated and the last octet seems to be filled with the end mark.
2009-08-20[gsm48] Move parsing of the MI from to gsm_04_08_utils.cHolger Hans Peter Freyther1-0/+2
The parsing of the IMSI is needed for the MSC part as well. Move it to the gsm_04_08_utils.c so it can be used.
2009-08-17[bsc] Move the GSM 04.08 helper functions to gsm_04_08_utils.cHolger Hans Peter Freyther1-0/+7
The existing gsm_04_08.c implementation is mixing BSC and MSC behavior. Move some simple parsing and generation functions over to gsm_04_08_utils.c to allow a different MSC to define the policy.
2009-08-15add support for APPLICATION INFO RR messagesHarald Welte (local)1-0/+2
2009-08-14respect the link_id, not only the SAPI from SMS codeHarald Welte (local)1-1/+1
SMS related messages are all sent over SAPI=3. But in addition to that, we also need to send it over the correct link identifier, i.e. SACCH or main signalling channel
2009-08-12add functions to send AUTH REQ and REJECTHarald Welte1-0/+2
2009-08-09define data structure for gsm48_cell_sel_par IEI of SI3 / SI4Harald Welte1-2/+11
2009-07-29generalize channel activation / channel mode modifyHarald Welte1-8/+10
* we only need one piece of code to calculate rsl_ie_chan_mode from our run-time data structures (gsm_lchan) * add some more channel modes for TCH/H and data * use enum's to make the compiler warn us about unhandled enum values * make sure the caller determines the (signalling,speech,data) mode
2009-07-29bearer capability definitionsHarald Welte1-0/+28
2009-07-23centralize the code that needs to deal with transaction_idHarald Welte1-1/+2
There were many places in the code where we had to explicitly reference the transaction_id and put it into a packet. By introducing and optional gsm_trans parameter to gsm48_sendmsg(), we can implement this code once rather than dozens of time.
2009-06-11use less magic numbers (04.08 CC cause values)Harald Welte1-0/+53
Introduce a gsm48_cc_cause enum and use it from gsm_04_08 and MNCC, also make sure we use gsm48_cause_loc rather than plain numbers.
2009-06-10reworked MNCC codebaseHarald Welte1-1/+53
This is Harald's reworked MNCC base, slowly heading towards integration into master. The key changes are: * provide much more structure to the data in gsm_mncc * encode_* and decode_* functions now take a structure rather than tons of individual arguments (whose order nobody can remember) * make sure we don't have copies of the same code everywhere by introducing mncc_set_cause() and mncc_release_ind() * save horizontal screen space if possible * make sure we break lines > 80 characters
2009-06-10introduce encoding/decoding functions for 04.08 CCHarald Welte1-4/+8
this patch implements the encoding/decoding of 04.08 call control information elements. It adds new functions to be used for the application interface patch, and is basis for the application patch (currently patch 36). Please ignore warnings about unused static functions for now. (Andreas Eversberg)
2009-06-10move openbsc into its own subdirectoryHarald Welte1-0/+568