aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/osmo-cscn
AgeCommit message (Collapse)AuthorFilesLines
2016-05-09Merge branch 'master' into sysmocom/iu, with tweakssysmocom/iu_orig_historyNeels Hofmeyr1-0/+2
Numerous manual adjustments are included to make sense on the sysmocom/iu branch: * gsm_04_08_gprs.h has moved to libosmocore on the master branch, but sysmocom/iu has added some entries. Until it is clear whether to move the additions to libosmocore as well, keep gsm_04_08_gprs.h on sysmocom/iu with merely the additions. * Thus, keep using the old gsm_04_08_gprs.[hc] from openbsc in the Makefiles, but only where the sysmocom/iu additions are needed. * In openbsc's gsm_04_08_gprs.h, * include the libosmocore gsm_04_08_gprs.h, * use '#pragma once' instead of #ifndef and * add a TODO comment about moving the rest to libosmocore. * Apply the addition of an osmo_auth_vector to gsm_auth_tuple: in the Iu auth vector hacks, use the gsm_auth_tuple.vec instead of a local struct. See iu_hack__get_hardcoded_auth_tuple() and gsm48_rx_gmm_att_req(). * In the si2q tests, pass NULL as ctx to gsm_network_init(). * In cscn_main.c, add a debug log that was originally added to osmo-nitb. * openbsc/.gitignore: keep only one addition of 'writtenconfig' Conflicts: openbsc/include/openbsc/gprs_sgsn.h openbsc/include/openbsc/gsm_04_08_gprs.h openbsc/src/gprs/gsm_04_08_gprs.c openbsc/src/libmsc/gsm_04_08.c openbsc/src/osmo-cscn/cscn_main.c openbsc/tests/gsm0408/Makefile.am
2016-05-04IuCS: upon sec mode compl, check that a sec op is pendingNeels Hofmeyr1-0/+8
Safety check: discard Security Mode Complete messages when there is no security operation pending.
2016-05-04msc: fix: two missing security operation releasesNeels Hofmeyr1-0/+1
When receiving authentication response or security mode complete messages, actually release the security operation stored with the subscriber conn.
2016-05-04msc: ignore cb retval on auth/sec mode rxNeels Hofmeyr1-4/+4
Just return 0 regardless of the security callback's return value when receiving authentication response or security mode complete messages.
2016-05-04IuCS: properly clean up conn on releaseNeels Hofmeyr1-1/+1
Don't call msc_subscr_con_free() directly, instead use gsm0408_clear_request(), which properly cleans up all pending operations before freeing the connection.
2016-05-02cosmetic: IuCS loggingNeels Hofmeyr2-2/+3
2016-05-02cscn: (re-)add SMPP initializationNeels Hofmeyr1-7/+9
Remove legacy code from the original NITB version -- the SMPP init functions have since been refactored in 1b0e5540dba697c9cf213e4f0aebc4baaf1618cb. Add SMPP initialization in the refactored version: call the alloc_init before reading config file, and call start with the global network struct after config is read.
2016-05-01Fix parsing of auto-generated config fileHarald Welte1-1/+1
When starting with empty config file, saving it by 'write file', and then re-starting osmo-cscn, it would complain: Error occurred during reading below line: long name Osmocom Circuit-Switched Core Network The problem is that the vty parser is configured to expect a single token and not a list of tokens here, but we initialize the default value with multiple words (which are treated as separate token).
2016-04-20cscn: enable SMS queue (by removing an '#if 0')Neels Hofmeyr1-2/+0
2016-04-20cscn: enable 'subscriber' vty commands for libmscNeels Hofmeyr1-0/+1
This involves removing the openbsc_vty_print_statistics() from vty_interface_layer3.c, as this would link across the MSC/BSC border.
2016-04-20cosmetic: debug and error logging, comment tweaksNeels Hofmeyr1-2/+2
2016-04-20cscn: don't redefine talloc_asn1_ctx from iu.cNeels Hofmeyr1-2/+0
2016-04-20IuCS: more detailed debug log upon IuCS rxNeels Hofmeyr1-2/+9
2016-04-19Iu RANAP event: add IU_EVENT_LINK_INVALIDATEDNeels Hofmeyr1-0/+1
See in-code comment...
2016-04-11cscn: record and use LAC on incoming InitialUE msgNeels Hofmeyr1-1/+1
Add lac argument to gsm0408_rcvmsg_iucs(), to record the LAC in newly allocated gsm_subscriber_connections. In effect, fix the LAC sent to UE during Location Updating Accept message. Before, 0 was stored as LAC and sent to the UE, regardless of the actual LAC in use.
2016-03-22cscn: implement integrity protectionNeels Hofmeyr4-5/+125
Upon authentication response, initiate integrity protection for Iu by sending a Security Mode Command (IK), with hardcoded auth tuple so far. Implement RANAP event handling to receive Security Mode Complete message, adding stubs for the other events; in new files osmo-cscn/iucs_ranap.[hc] to keep RANAP dependencies separate, and particularly out of libmsc. Upon receiving Security Mode Complete, call the security operation callback (conn->sec_operation->cb) to complete the Location Update. Introduce enum integrity_protection_state constants to indicate integrity protection, record in gsm_subscriber_conn.iu.integrity_protection. Make subscr_conn_lookup_iu() non-static and declare in iu_cs.h to be able to call from iucs_ranap.c's Security Mode Complete event. Implement dummy iu_tx_sec_mode_cmd() to allow tests to build without RANAP dependencies. In cscn_main.c, call iucs_rx_ranap_event(), to populate the struct gsm_network struct with cscn_network explicitly (don't share cscn_network across compilation scopes because it's ugly).
2016-03-22cosmetic: whitespace, comment, rename static func rx_iu_event()Neels Hofmeyr1-3/+3
2016-03-22fix build: match Iu event cb enum argument type from declarationNeels Hofmeyr1-1/+1
2016-03-18cscn: Follow libiu move to generic event handlerDaniel Willmann1-4/+4
2016-03-14cscn: fix VTY port: don't use SGSN's port numberNeels Hofmeyr1-2/+2
2016-03-04rename nitb vty config to cscn, move to cscn_vty.cNeels Hofmeyr1-0/+1
2016-03-04disable code trying to reach across BSC/MSC bounds, make build passNeels Hofmeyr1-0/+17
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-04create libxsc and move some code, never link libbsc and libmscNeels Hofmeyr2-3/+3
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-03cscn: apply vty bind addr configurationNeels Hofmeyr1-2/+5
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-03cscn: fix use of opaque RANAP_RAB_SetupOrModifiedItemIEs_s declNeels Hofmeyr1-1/+2
2016-03-03libui: Don't assume gsm_network and gsm_subscriber_conncetion in libiuDaniel Willmann1-1/+1
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-03msc: define extern iu_tx()Neels Hofmeyr1-3/+0
2016-03-03gsm0408_rcvmsg_iucs: remove unused link_id arg.Neels Hofmeyr1-2/+1
2016-03-03osmo-cscn: Add dummy function for RAB assignment responseDaniel Willmann1-1/+9
2016-03-03cscn: use iu_tx for msc_ifaces.iu_cs. some #include cosmetics.Neels Hofmeyr1-3/+8
2016-03-03cscn: some file moves/renamesNeels Hofmeyr3-124/+2
2016-03-03cscn wip: direct dtap responses to IuCSNeels Hofmeyr2-5/+9
2016-03-03cscn: fix missing network backpointerNeels Hofmeyr1-0/+1
2016-03-03cscn: own talloc root and gsm_network instance; misc.Neels Hofmeyr1-70/+127
Heading towards a sovereign CSCN.
2016-03-03mscsplit: remove bts and lchan pointers from libmscNeels Hofmeyr2-20/+24
The diff between this and master will probably need a lot of review and fixes. The current state does compile, but I expect pretty much everything to be broken now. Future development will reinstate proper functionality piecemeal. The first goal is to get basic signalling to work, then SMS. The voice control (RTP) is completely disabled now (see "#if BEFORE_MSCSPLIT") and will be fixed last AFAICT.
2016-03-03cosmetics: link_id=42, s/Iu-CS/IuCS, debug logs.Neels Hofmeyr2-4/+16
Until I get the proper link id from the SUA SAP, make sure we recognise it as hardcoded by setting it to 42.
2016-03-03cscn: allocate IuCS conn, properly return rc.Neels Hofmeyr1-18/+10
2016-03-03cscn: call msc_compl_l3() from subscr_conn_allocate_iu()Neels Hofmeyr1-15/+23
Pubish msc_compl_l3() decl in new file libmsc/msc_api.h (but see comment). Call msc_compl_l3() when establishing a subscriber connection for IuCS. Remove bts from subscr_conn_allocate_iu() signature, use network, link_id and conn_id instead. Move subscr_conn_allocate_iu() to the top of the file, because it semantically belongs before subscr_conn_lookup_iu().
2016-03-03cscn: default to osmo-cscn.cfg, not opencscn.cfgNeels Hofmeyr1-1/+1
2016-03-03cscn: move gsm0408_rcvmsg_iucs() decl to proper place.Neels Hofmeyr3-0/+9
Add noinst-header iu_cs.h and move the gsm0408_rcvmsg_iucs() declaration there.
2016-03-03put Iu-common and Iu-CS stuff in proper placesNeels Hofmeyr2-1/+96
Add libiu to contain the parts used by both Iu-CS (in osmo-cscn) and Iu-PS (in gprs) into libiu. It's rather thin and may make sense to move to osmo-iuh altogether, eventually. iu.c is half moved to libiu/, and half to osmo-cscn/iu_cs.c.
2016-03-03minor fixesNeels Hofmeyr1-3/+2
2016-03-03wipNeels Hofmeyr1-0/+1
2016-03-03wip (reminders to self, whitespace)Neels Hofmeyr1-1/+1
2016-03-03make osmo-cscn compile and receive first Iu-CS buf (and log it only)Neels Hofmeyr2-26/+17
2016-03-03iu_init: add addr and port argsNeels Hofmeyr1-1/+1
2016-03-03cscnNeels Hofmeyr1-10/+35