aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
AgeCommit message (Collapse)AuthorFilesLines
2016-11-12SGSN: Don't indicate GERAN in Iu mode PDP CTX ACT REQ to GGSNHarald Welte1-10/+20
2016-11-12cosmetic: remove legacy comment from gsm0408_loc_upd_rej()Neels Hofmeyr1-1/+1
2016-11-12cosmetic: make gsm0408_loc_upd_rej() staticNeels Hofmeyr1-1/+1
2016-11-12LU counters: count completion and failure, not messages sentNeels Hofmeyr3-19/+37
From a human admin viewpoint it doesn't make sense to count the messages sent: When we use TMSIs, we first send a LU Accept with a new TMSI, and then expect the MS to respond with a TMSI Realloc Complete message. When that fails to come through, the LU actually ends in failure, even though a LU Accept was sent. In 3G, if a UE sends an Iu Release during LU (e.g. user enables flight mode), we cancel the LU without sending any reply at all, so nothing would be counted. Instead, count Location Updating results, i.e. completion and failures.
2016-11-12remove handle_abisip_signal()Neels Hofmeyr1-71/+0
Change-Id: I9cf80f9c2c8a53a29e42f000029e680a9922cb41
2016-11-12gsm0408_clear_request(): actually free the released connNeels Hofmeyr1-0/+2
By having conn->in_release == 1, calling msc_release_connection() has no effect and thus never frees the conn. So, after all pending requests have been discarded, also discard and free the unused connection.
2016-11-12add iu.h to gsm_subscriber.cNeels Hofmeyr1-0/+1
Change-Id: I398aaa4a7328a58fb0d563725f3bea26482929ef
2016-11-12gsm_04_08.c: iu.hNeels Hofmeyr1-0/+1
Change-Id: I624612b5d5cd70770326347634aee2a42ba88945
2016-11-12temporary dev: set debug log level almost everywhereNeels Hofmeyr1-17/+17
Change-Id: I0d5a36560e7edde27497de57e579f5b1d00eb525
2016-11-12comment on mscsplit, indent commentNeels Hofmeyr3-1/+9
2016-11-12move to libbsc: lchan_next_meas_rep() -- TODO really?Neels Hofmeyr3-14/+13
Change-Id: I4ea799c5fa61f81c404e6ef1b9ac86a8faa1fb49
2016-11-12move to libbsc: gsm_bts_neighbor() -- TODO really?Neels Hofmeyr3-23/+21
Change-Id: I63d4835dc7aabdf176e0ca634a6a4ca527612693
2016-11-12gsm0408_test: use NULL for root ctx -- TODO really?Neels Hofmeyr1-2/+2
2016-11-12gsm_04_08: remove apply_codec_restrictions() -- TODO really?Neels Hofmeyr1-28/+0
This function is wrongly placed on the MSC level. Unfortunately I cannot remember the very plausible details that hwelte had back in the days to argue for this change. (Refactoring an old commit that fails to explain in more detail.) Change-Id: I82623847e652a59a921d2fb142b77cf22420a746
2016-11-12move to libmsc: osmo_stats_vty_add_cmds() -- todo MSCSPLITNeels Hofmeyr2-1/+2
2016-11-12include msc_ifaces.h in gsm_04_08.cNeels Hofmeyr1-0/+2
Change-Id: I11be1bdfe6993f89b34319e7d1526c729d6e0cde
2016-11-12complete IuCS paging implementationNeels Hofmeyr3-35/+115
Add paging timeout to struct gsm_subscriber. Previously, paging timeout was implemented only on BSC level, where each request has its own timeout value. The MSC will still send individual requests to BSC or RNC level, where they timeout individually. However, the MSC must also have an own timeout to be sure to discard stale pagings that the BSC or RNC never replied for. Add handle_paging_resp(), copying the few libmsc relevant parts of gsm48_handle_paging_resp().
2016-11-12paging: add todo comments for paging and mscsplitNeels Hofmeyr2-0/+7
Change-Id: I7e72c9db2837ea5edf45f6037cb0288a264d492c
2016-11-12paging: actually verify subscriber authorizationNeels Hofmeyr1-1/+8
Before this, any paging response would be accepted by the CN, without checking the database whether the subscriber is in fact authorized. The probability that a subscriber would be able to take unauthorized action is slim, nevertheless checking authorization status with the database should happen before we accept a connection.
2016-11-12paging: change subscr_paging_cb() into subscr_rx_paging_response()Neels Hofmeyr2-23/+7
Remove one layer of callback indirection in paging. When a paging response arrives, we always want to first secure the connection, thus a fixed subscr_rx_paging_response() function is more appropriate and avoids having to store a cbfn. The actual actions to be taken upon successful paging are of course still in callback functions stored with each subscriber. Remove paging_request_stop() call from subscr_paging_dispatch(), which stops paging on all BTSs, which is not the responsibility of libmsc. Change-Id: Ic2c785c9cc48b2c2c6557cbe1060d25afa89e38d
2016-11-12move subscr auth check to gsm_subscriber.cNeels Hofmeyr3-34/+56
add subscr_authorized(), subscr_authorized_imsi() Change-Id: If2ef06b1229351127c61477ca14653d6ae4cb6bb
2016-11-12auth logNeels Hofmeyr1-1/+3
Change-Id: Icd9f8505388a06ee768d2176cb2b9187953098ef
2016-11-12iu auth wipNeels Hofmeyr1-18/+64
Change-Id: Icc2522252cf15c54f1a1ea5255314a0de8bfba03
2016-11-12Iu auth wipNeels Hofmeyr2-10/+73
Change-Id: I44effcca80dc6850178174dc957bcd5608b0ae14
2016-11-12cosmetic prep: change int -> bool authorize_subscriber()Neels Hofmeyr1-6/+6
Upcoming function subscr_authorized() will flip this to bool, so separate this change cosmetically. Change-Id: Iba0184a71afa01141ef06c474cb554e79ad8f5d5
2016-11-12subscr_request_channel() -> subscr_request_conn()Neels Hofmeyr3-5/+7
Change-Id: Ife8e10b240693a8d369139881774f1892044aa65
2016-11-12move subscr_request to gsm_subscriber.hNeels Hofmeyr2-14/+14
Change-Id: Idbbd39b0e068da17aafa97e315143509c69c50ea
2016-11-12add gsm_encr to subscr_connNeels Hofmeyr1-0/+1
Change-Id: Id5797cd1f1bfa2cca2d3fbabc1981aa75546421b
2016-11-12osmo-nitb becomes osmo-cscnNeels Hofmeyr8-100/+377
Change-Id: I3787050b524954d8a4dd13495c458f3ee293807b
2016-11-12remove unneccessary linking from some testsNeels Hofmeyr3-4/+0
The recent shifts and cuts have made some library linking for bsc, channel and db tests unnecessary.
2016-11-12msc_release_connection(): don't call gsm0808_clear()Neels Hofmeyr1-1/+0
gsm0808_clear() is all about clearing lchans. To be able to link libmsc without libbsc, don't call it directly. Change-Id: I149146fc3cb99ef4a21ee2a798231bb070f398cd
2016-11-12cut off libbsc paging, pending paging in libmscNeels Hofmeyr5-2/+24
Temporarily disable all paging to be able to link libmsc without libbsc. Skip the paging part of channel_test because the paging is now disabled. In osmo-nitb, paging is done on BSC level and MSC level "at the same time". When the new CSCN is fully operational, paging will be controlled separately on the MSC level, and the BSC (RNC) level will be instructed over an IuCS or A-interface to negotiate paging with the MS (UE). This MSC level paging does not yet exist and will be added in subsequent commits. Change-Id: I8b6920ddc54fc3f2876a59664e6722666d8a8a4a
2016-11-12libmsc: duplicate gsm0808 / gsm48 functions (towards BSC)Neels Hofmeyr4-13/+69
In osmo-nitb, libmsc would directly call the functions on the BSC level, not always via the bsc_api. When separating libmsc from libbsc, some functions are missing from the linkage. Hence duplicate these functions to libmsc, add an msc_ prefix for clarity, also add a _tx to gsm0808_cipher_mode(): * add msc_gsm0808_tx_cipher_mode() (dummy/stub) * add msc_gsm48_tx_mm_serv_ack() * add msc_gsm48_tx_mm_serv_rej() Call these from libmsc instead of * gsm0808_cipher_mode() * gsm48_tx_mm_serv_ack() * gsm48_tx_mm_serv_rej() Also add a comment relatd to msc_gsm0808_tx_cipher_mode() in two places. Change-Id: I5b276853d3af71f5e3f0a031fd17b4fff0580020
2016-11-12Use new msc_tx_dtap() instead of gsm0808_submit_dtap()Neels Hofmeyr4-8/+10
Aim: msc_tx_dtap() shall redirect to IuCS or A interfaces depending on subscr conn. Change-Id: I30d961f16eb7b9c0ab9cc3f43198098d3f1a909f
2016-11-12add libiudummy, to avoid linking Iu deps in testsNeels Hofmeyr6-0/+56
Change-Id: I4a66c4122011dbc87c6fcb336ab0461b86522c98
2016-11-12move to libxsc: gsm48_extract_mi(), gsm48_paging_extract_mi() -- TODO move ↵Neels Hofmeyr2-24/+24
to libfilter instead? Change-Id: I00ca0caf8224de029f53f4dedb1146e3cf7650ec
2016-11-12msc_compl_l3(): publish in .h, tweak return valueNeels Hofmeyr2-6/+17
Use new libmsc enum values for return val, to avoid dependency on libbsc headers. Make callable from other scopes: publish in osmo_msc.h and remove 'static' in osmo_msc.c Change-Id: If24007445899e9c75553a0dbf843ada3566b3380
2016-11-12add cscn vty, remove nitb vtyNeels Hofmeyr5-104/+179
Change-Id: I8f8980d6cfbf26f1b0e0197939833e55dbe521fb
2016-11-12add iucs.[hc]Neels Hofmeyr4-0/+182
Change-Id: I88e981f4c31393a98ae8d61176c65c9251a6f28b
2016-11-12add DIUCS debug log constantNeels Hofmeyr2-0/+6
Change-Id: Id347a3024fa495a1ab680db7320648d933a4018b
2016-11-12gsm0408_loc_upd_rej(): remove bts use (used only for debug log)Neels Hofmeyr1-5/+3
Change-Id: I3ac38f4b701ad8308470573260fa91a4b04c2f18
2016-11-12gsm_04_08, gsm_subscriber: decouple lac from btsNeels Hofmeyr3-11/+10
The idea is to not have a direct pointer to a bts struct (into BSC land), but a LAC to resolve the BSC or RNC depending on the appropriate A or IuCS interface. subscr_update(): remove bts arg, add lac arg. Pass conn->lac to gsm48_generate_lai() instead of bts->location_area_code. Change-Id: I9f2b298a785bf4b2a1b3fcdd91b8256106b2d9de
2016-11-12subscr_update_expire_lu(): remove bts argNeels Hofmeyr3-5/+5
Change-Id: I26cafd9389aac65e53dc4280a1687c6b8bce3106
2016-11-12move t3212 to network level (periodic lu)Neels Hofmeyr5-11/+15
Set the T3212 default value in struct gsm_network and take that value when creating a BTS. Adjust VTY accordingly. Change-Id: Ifb730f9d0106fe195adc30459a39290a07313b50
2016-11-12libmsc: iucs dev: disable large parts of the codeNeels Hofmeyr5-1/+91
Change-Id: I3ef6ca26150b6102a0fa22a88a60d9a442d640b4
2016-11-12Prepare entry/exit point for MSC -> BSC and MSC -> RNC communication.Neels Hofmeyr6-0/+149
Add msc_ifaces.[hc], a_iface.c, with a general msc_tx_dtap() to redirect to different interfaces depending on the actual subscriber connection. While iu_tx() is going to be functional fairly soon, the a_tx() is going to be just a dummy for some time (see comment). Add via_iface marker to gsm_subscriber_connection with enum values IFACE_A and IFACE_IU so far. Add Iu specific fields in a sub-struct: the UE connection pointer and an indicator for the Integrity Protection status on Iu (to be fully implemented in later commits). Add lac member to gsm_subscriber_connection, to allow decoupling from bts->location_area_code. The conn->lac will actually be set in iu.c in an upcoming commit ("add iucs.[hc]"). Change-Id: Idf8020a30562426e8f939706bf5c2188d5a09798
2016-11-12don't use lchan in libmscNeels Hofmeyr3-14/+12
Change-Id: Ic7ed7faa2bcc7aae799f41ed4abc2c001bfb61b7
2016-11-12gsm_04_08.c: Don't set msg->lchan nor msg->dstHarald Welte1-34/+0
the BSC-side of the API behind gsm0808_submit_dtap() is doing this resolving again anyway. So let's avoid doing it twice, and avoid having more dependency of the MSC down into the lchan details. Conflicts: openbsc/src/libmsc/gsm_04_08.c Change-Id: I14254be68ee1a48e9f1ce968233414d86c6ba9d5
2016-11-12gsm_subscriber_connection: mark BSC specific itemsNeels Hofmeyr1-6/+6
The struct shall be split in two later. Change-Id: Ib9666225fb9bfec2cf1e364343560571869fe6a7
2016-11-12osmo-nitb: exit when MNCC socket init failedNeels Hofmeyr1-3/+7
Change-Id: Icef97bb5da9840b810fe6f4b4da6abd4baa66915