aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/osmo-bsc/osmo_bsc_filter.c
AgeCommit message (Collapse)AuthorFilesLines
2016-12-02Move timezone settings up to network levelNeels Hofmeyr1-7/+8
Time zone used to be configurable per-BTS. In the upcoming MSC-split, no BTS structures will be available on the MSC level. To simplify, drop the ability to manage several time zones in a core network and place the time zone config on the network VTY level, i.e. in gsm_network. If we are going to re-add fine grained time zone settings, it should probably be tied to the LAC. Adjust time zone VTY config code (to be moved to libcommon-cs in subsequent commit). Adjust time zone Ctrl Interface code. Change-Id: I69848887d92990f3d6f969be80f6ef91f6bdbbe8
2016-12-02factor out gen of USSD notify and release complete to libosmocoreNeels Hofmeyr1-2/+2
Both libmsc and libbsc will need distinct gsm0480_send_ussdNotify() and gsm0480_send_releaseComplete() functions, since there will be distinct subscriber connection structs. Rename to msc_send_ussd_notify() and msc_send_ussd_release_complete(), and add the same in libbsc with bsc_ prefix in new file gsm_04_80_utils.c. In preparation of this patch, the message generation part of these functions has been added to libosmocore as gsm0480_create_ussd_notify() and gsm0480_create_ussd_release_complete(). Use these. Adjust all libmsc and libbsc callers according to use the msc_* or bsc_* implementation, respectively. Change-Id: I33a84e3c28576ced91d2ea24103123431f551173
2016-03-15bsc_scan_msc_msg: check protocol discriminatorNeels Hofmeyr1-0/+5
The function assumed an MM protocol discriminator without verifying it.
2016-03-1504.08: apply new bitmask functions, fix bitmask useNeels Hofmeyr1-5/+5
Replace hardcoded protocol discriminator and message type bitmasks with function calls recently introduced in libosmocore. Note that the release 98 bitmasks slightly differ from the release 99 bitmasks. This patch uses the "default" gsm48_hdr_msg_type invocation, thus it depends on libosmocore whether 98 or 99 bitmasks are used. In some places, use of the bitmask was erratic. Fix these implicitly by employing the bitmask functions: * silent_call.c: silent_call_reroute(): add missing bitmask for MM. * bsc_msg_filter.c: bsc_msg_filter_initial(): RR vs. MM messages. * osmo_bsc_filter.c: bsc_find_msc() and bsc_scan_bts_msg(): RR vs. MM messages. * bsc_nat_rewrite.c: bsc_nat_rewrite_msg(): SMS vs. CC messages. * bsc_ussd.c: no bitmask is applicable for the message types used here. * gb_proxy.c: gbproxy_imsi_acquisition(): missing bit mask for pdisc. In gprs_gb_parse.c: gprs_gb_parse_dtap(), add a log notice for unexpected message types.
2016-02-29minor commentNeels Hofmeyr1-0/+1
2016-02-29osmo_bsc_filter.c: add fixme noteNeels Hofmeyr1-0/+3
2015-08-18GSM/GPRS 04.08: Don't print numeric mobile identity typesHarald Welte1-2/+2
I guess none of our users knows what a mi_type=0x02 is, but most would know what an IMSI or a TMSI is. So let's use the newly introduced gsm48_mi_type_name() function to fix this.
2015-07-13bsc: Rename core_ncc to core_mncHolger Hans Peter Freyther1-1/+1
Struct osmo_msc_data contains int core_ncc, which is actually the MNC part of the PLMN, not to be confused with the Network Colour Code. The following patch renames this field for clarity and consistency with the standards.
2015-04-01bsc: Allow to use different LAC/CI for the core-networkHolger Hans Peter Freyther1-1/+14
We need to use different LAC/CI towards the core network. It is a bit problematic as LAC/CI is a per BTS attribute so this feature only works if a BSC manages everything in the same LAC. Related: SYS#1398
2014-12-05msc: Add and use gsm_subscriber_groupJacob Erlbeck1-2/+3
Currently every subcriber object directly refers to the gsm_network which contains a flag shared by every related subscriber (keep_subscr). This adds a dependency on gsm_network even if only the function defined in gsm_subscriber_base.c are used. This patch adds a new struct gsm_subscriber_group which contains the keep_subscr flag and a back reference to the network object. The latter is not dereferenced in gsm_subscriber_base.c, so it can safely be set to NULL when only that part of the gsm_subscriber API is being used. It also changes that API to use gsm_subscriber_group instead of gsm_network parameters. Since there are some places where a pointer to the gsm_network is needed but where only a gsm_subscriber is available, a 'net' back pointer is added to the group struct, too. Nevertheless subscr group and network could be separated completely, but this is not the topic of this commit. Sponsored-by: On-Waves ehf
2013-09-19bsc/mminfo: Patch timezone and DST in MM Info messagesJacob Erlbeck1-1/+65
This adds in-place patching of the time information in the MM INFORMATION message. The timezone in the 'Local time zone' and the 'Universal time and local time zone' information elements and the offset in the 'Network Daylight Saving Time' information element are optionally set. The new values are determined by the 'timezone' vty command in the config_net_bts node. That command is extended by an optional DST offset parameter. Tests are provided for the vty part and for the plain bsc_scan_msc_msg() function. Sponsored-by: On-Waves ehf Ticket: OW#978
2012-12-03bsc: Send the USSD message after the location updating accept.Holger Hans Peter Freyther1-5/+13
Make sure to accept the phone first before sending the USSD message.
2012-12-03msc: Add debug messages when not sending a USSD welcome messageHolger Hans Peter Freyther1-1/+8
2012-12-03bsc: Fix a brown paper bug and most likely fix the USSD welcome issueHolger Hans Peter Freyther1-1/+1
2012-12-03bsc: Call the variable with a more appropriate name.Holger Hans Peter Freyther1-4/+4
2012-09-11bsc: Look for CM Service Requests with emergency causeHolger Hans Peter Freyther1-2/+23
Look for emergency calls and send them to a MSC that can handle them properly.
2012-09-11bsc: Introduce a local MSC type and forbid it from being selectedHolger Hans Peter Freyther1-0/+2
2012-09-11bsc: Attempt to respond to paging to the MSC that pagedHolger Hans Peter Freyther1-4/+67
Inspect the message and see if it is a paging response, then try to find the MSC that has paged this subscriber and select this as the target MSC, also move the MSC to the back of the list for 'load balancing'.
2012-09-11bsc: Move the finding of a MSC into the filter codeHolger Hans Peter Freyther1-0/+19
For responding to paging on the right link we will need to figure out if the msg is a paging response.
2012-03-16bsc: Move the bsc_filter to use the osmo_bsc_sccp_conHolger Hans Peter Freyther1-6/+7
2012-03-16bsc: Create a osmo_bsc_data and embed osmo_msc_dataHolger Hans Peter Freyther1-6/+6
We want to have multiple MSCs but we also have some data that is only present on a per BSC basis. Right now the MSC data is not allocated with talloc, so we have some change in the talloc contexts.
2011-03-03re-structure the OpenBSC directory layoutHarald Welte1-0/+170
The new structure divides the code into a number of libraries for the BSC core functionality, MSC core functionality, Abis transport, TRAU and other bits. This doesn't introduce any functional code change but simply moves around files and alters Makefile.am accordingly. Next step would be to disentangle a lot of the inter-library dependencies and make the individual bits of code more independent.