aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src
AgeCommit message (Collapse)AuthorFilesLines
2016-03-16Move event callback to gprs_gmmDaniel Willmann2-29/+37
2016-03-16libiu: Replace RAB assignment response callback with a general oneDaniel Willmann3-14/+36
The new iu event callback will now be called for RAB assignment response, IU release and security mode complete
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 transaction id inline functionsNeels Hofmeyr4-7/+7
libosmocore recently added inline functions to relieve callers from applying bitmasks and bit shifts to access the transaction id of a GSM 04.08 header. Apply these functions.
2016-03-1504.08: apply new bitmask functions, fix bitmask useNeels Hofmeyr12-35/+45
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-03-15cosmetic: commentsNeels Hofmeyr2-2/+2
2016-03-14cscn: fix VTY port: don't use SGSN's port numberNeels Hofmeyr1-2/+2
2016-03-14msc: allow only authentication without cipheringNeels Hofmeyr1-4/+14
So far the code did only auth+ciph or none. Add case handling for only authentication without ciphering (basically just fill in the blanks).
2016-03-14HACK: hardcode subscriber auth tuple for IuCSNeels Hofmeyr1-0/+12
2016-03-14cosmeticNeels Hofmeyr2-4/+2
2016-03-14Adjust authentication logic for Iu, move a log noticeNeels Hofmeyr2-6/+27
Depending on conn->via_iface, fail upon missing auth for 3G. Move the log notice saying "skipping auth" to gsm48_secure_channel() where conn->via_iface is actually known.
2016-03-14spread a few debug logs around authenticationNeels Hofmeyr1-7/+43
2016-03-14fix confusing typo in constant (THAN -> THEN)Neels Hofmeyr2-2/+2
2016-03-14Remove unused auth code and add commentNeels Hofmeyr1-4/+13
As commented in the code, the GSM_SECURITY_AUTH_FAILED path is never invoked by the gsm48_secure_channel() function as it is today. Note that the upcoming Iu auth will probably add a GSM_SECURITY_AUTH_FAILED status. In that case, sending a LU Reject immediately may be desirable, but arguably a bit of timeout could make life harder for auth attackers. The code removed by this patch doesn't send out a LU Reject ever, since a call to release_loc_updating_req() only releases the connection. To reject, a call to gsm0408_loc_upd_rej() would be necessary, as seen in loc_upd_rej_cb(). And finally, if _gsm0408_authorize_sec_cb() doesn't do anything about anything, the same loc_upd_rej_cb() will be run by a timeout and send a LU Reject properly (as commented in the code).
2016-03-04fix build: add xsc to osmo-bsc and tests/bsc-natNeels Hofmeyr1-0/+1
2016-03-04move two gsm0480_send_*() to xsc as gsm0480_gen_*()Neels Hofmeyr4-22/+81
Have two separate gsm0480_send_ussdNotify() and gsm0480_send_releaseComplete() for each of libbsc and libmsc. Move their core into libxsc as generator functions returning a msgb. Add src/libbsc/gsm_04_80_utils.c (note, not 04_08) to implement the libbsc side of it. The code is identical, but the linked structs and functions differ in each case. There could be a common source file built for both, but I decided against it, for more clarity I hope.
2016-03-04fix two minor Makefile.am errorsNeels Hofmeyr2-2/+2
2016-03-04move sms_next_rp_msg_ref() to libxsc, for gsm0408testNeels Hofmeyr3-38/+20
Also change the signature to avoid using gsm_subscriber_connection, which has different members in libbsc and libmsc.
2016-03-04rename nitb vty config to cscn, move to cscn_vty.cNeels Hofmeyr5-69/+102
2016-03-04disable code trying to reach across BSC/MSC bounds, make build passNeels Hofmeyr3-0/+21
Disable ipacc_rtp_direct, Osmo SMPP TLVs, Ctrl interface and channel_test. These need to be reimplemented with proper separation of libs. Add some tall_* pointers the linker requires for osmo-cscn.
2016-03-04libmsc: stubify paging (A-/Iu-interfaces need to reimplement this)Neels Hofmeyr2-2/+17
2016-03-04add libmsc/a_iface.c for A-interface stubs (so far only mock)Neels Hofmeyr2-1/+81
2016-03-04gsm_subscriber_connection: further split between BSC and MSCNeels Hofmeyr7-18/+39
Move some Iu/A members into the MSC #ifdef. Have separate allocate and free functions for the two scopes.
2016-03-04create libxsc and move some code, never link libbsc and libmscNeels Hofmeyr13-769/+844
libbsc and libmsc have conflicting definitions of gsm_subscriber_connection and do no longer belong together anyway. Create libxsc, meaning 'lib[bm]sc', to hold all code used by both libmsc and libbsc, and make sure gsm_subscriber_connection isn't used there. In various binaries and tests, do not link libbsc and libmsc. (Note: this commit was reshaped out of a large wip chunk, it may not compile properly without the subsequent commits)
2016-03-03Remove osmo-nitb, cannot link libbsc with libmsc anymoreNeels Hofmeyr3-408/+1
2016-03-03cscn: apply vty bind addr configurationNeels Hofmeyr1-2/+5
2016-03-03debug: set almost everything to LOGL_DEBUG for easier devNeels Hofmeyr1-17/+17
2016-03-03cscn_main.c: fix ctrl initNeels Hofmeyr1-0/+2
Include control_vty.h so that ctrl_vty_get_bind_addr() is properly declared. Add ctrl iface vty commands.
2016-03-03cscn: minor dbg log tweakNeels Hofmeyr1-2/+1
2016-03-03cscn: apply socket path / bind addr changes after rebaseNeels Hofmeyr1-7/+21
After rebasing onto 1b0e5540dba697, some changes need to be applied to cscn_main.c, originally a copy of bsc_hack.c before the rebase. On master, configurable MNCC socket path and Control interface bind address were added.
2016-03-03osmo-bsc: half-fix tz override to allow compilationNeels Hofmeyr3-15/+33
As described in a comment, for MSCSPLIT the tz data has been moved to network level. To allow compiling osmo-bsc on the sysmocom-iu branch, move tz up to network level in osmo-bsc as well. This could be done better for osmo-bsc, rather easily too, still allowing per-BTS timezone settings. But I'm trying to focus on IuCS and would like to come back to this later.
2016-03-03WIP: gprs_gmm: Get mm ctx from RA update in Iu modeDaniel Willmann1-1/+13
Iu mode doesn't have tlli, so look up according to p-tmsi
2016-03-03WIP: Try and activate RABs after service requestDaniel Willmann1-1/+14
2016-03-03gprs_gmm: Log service request if not receieved from Iu modeDaniel Willmann1-1/+3
2016-03-03gprs_gmm: Send gmm_service_accept from gsm48_gmm_authorize()Daniel Willmann1-51/+54
2016-03-03gprs: Update ue ctx from msgDaniel Willmann1-0/+1
In case a Iu connection is reconnected we need to update the ue ctx
2016-03-03gprs_gmm: Fix mmctx tlli member rename after mergeDaniel Willmann1-1/+1
2016-03-03gprs: Handle GMM service request (Iu mode only)Daniel Willmann2-0/+166
Iu mode has a GMM service request message which a UE in PMM-IDLE mode can use to switch back to PMM-CONNECTED mode.
2016-03-03osmo-bsc: Pass gsmnet to bsc_vty_init()Daniel Willmann1-1/+1
2016-03-03libmsc/smpp: disable lchan access for nowNeels Hofmeyr1-0/+2
To make the IuCS build work, disable the BSC-land access from MSC's SMPP code. Some way shall be found to make the Osmocom vendor-specific SMPP TLVs work over the A-interface (after the MSCSPLIT), but we're concentrating on IuCS for now.
2016-03-03libmsc: Don't use bts field of gsm_subscriber_connectionDaniel Willmann1-1/+1
Use gsm_subscriber_connection does not have a bts field if building as libmsc. Use network directly.
2016-03-03sgsn: fix use of opaque RANAP_RAB_SetupOrModifiedItemIEs_s declDaniel Willmann1-1/+1
2016-03-03cscn: fix use of opaque RANAP_RAB_SetupOrModifiedItemIEs_s declNeels Hofmeyr1-1/+2
2016-03-03Revert "iu.c: avoid warning by declaring ↵Daniel Willmann1-2/+0
ranap_free_rab_setupormodifieditemies()" There should be no need to silence this warning, the ranap_free_* functions are declared in libranap headers. In any case this will only obscure any real issue. Maybe osmo-iuh was not rebuilt completely (including generation of the c files from the python script). This reverts commit 05ae5b1245f95bf765b42e49af7b2596e013f0a0.
2016-03-03libiu: Use custom setupormodifieditemies functionDaniel Willmann1-1/+1
The one generated by the python script doesn't really do what we want. Instead of futzing around with the script again just write our own version.
2016-03-03libiu: Indicate in log where we don't handle a specific messageDaniel Willmann1-0/+2
2016-03-03libui: Don't assume gsm_network and gsm_subscriber_conncetion in libiuDaniel Willmann3-21/+11
The sgsn uses other data structs so don't require them inside libiu. Instead keep a private list of ue contexts and iterate through that. This commit reverts the libui changes of commit d03faa4bacd4d2a8b9155faf5219a948b73f481c
2016-03-03iu.c: avoid warning by declaring ranap_free_rab_setupormodifieditemies()Neels Hofmeyr1-0/+2
2016-03-03msc: define extern iu_tx()Neels Hofmeyr2-5/+2
2016-03-03gsm0408_rcvmsg_iucs: remove unused link_id arg.Neels Hofmeyr2-4/+3