aboutsummaryrefslogtreecommitdiffstats
path: root/tests
AgeCommit message (Collapse)AuthorFilesLines
2017-07-13apply removalNeels Hofmeyr1-27/+0
Change-Id: I7929b44d7c1316ea110511cb63dfa609f9635505
2017-07-13undeleteNeels Hofmeyr3-0/+441
Change-Id: I4aa00b66f57248197bafd91569d3ebbf316db8fc
2017-07-13remove files obviously unrelated to gprsNeels Hofmeyr93-25459/+0
Change-Id: I809f69b6a2829bd4391a51bc796baa1aeddee45e
2017-07-12move libiu to osmo-iuh/libosmo-ranapaoipNeels Hofmeyr4-23/+23
Remove libiu here, use the functions from libosmo-ranap instead, by applying the ranap_ / RANAP_ prefix. Corresponding change-id in osmo-iuh.git is I6a3f7ad15be03fb94689b4af6ccfa828c25f45c0 Change-Id: Ib8c4fcdb4766c5e575618b95ce16dce51063206b
2017-07-12msc_vlr: fix linker problem in testcasePhilipp Maier1-1/+1
Swap libmsc.a and libcommon-cs.a to make symbols from libcommon-cs.a available to libmsc.a Change-Id: I16fdd58d0b542aca987865a6bb7ca0f996693e81
2017-07-12cosmetic: more expressive function names in a_ifacePhilipp Maier2-8/+8
The function names if the API function in a_iface.c are not very expressive. Besides of that, the prototypes are in the wrong header file. This commit gives the function more expressive names and moves the prototypes in the right header file. Change-Id: I6af4b7deed9d11ac5fe188eb5625fba50caad7c1
2017-07-12drop libosmo-ranap from sms_queue testNeels Hofmeyr1-2/+0
Change-Id: I93d4a7d54c39cc2c1b4e8e30df7b0b410ac00786
2017-07-12wip iudummy struct osmo_sccp_addr -- drop this?Neels Hofmeyr1-0/+1
Change-Id: Ie1df8502c0b1a504b552cfe24ddc2717b672c300
2017-07-12WIP: Integrate AoIP into MSCPhilipp Maier3-0/+12
Change-Id: Iaf7deff397ec95b744fe287e713bbdd6a1ee73cf
2017-07-12WIP: Port to new libosmo-sigtran API (with proper M3UA for Iuh)Harald Welte2-13/+12
This changes over to the new libosmo-sigtran API with support for proper SCCP/M3UA/SCTP stacking, as mandated by 3GPP specifications for the IuCS and IuPS interfaces. Only the ASP (client) is used, assuming that both the HNB-GWs and RNCs as well as the MSCs and SGSNs are all connecting as ASP to some STP/SGW which offers M3UA server functionality as well as point-code and/or global title based routing. Change-Id: I450e22d46e47eec350a152f7832428f226bf17fc Tweaked-by: nhofmeyr (test expectation)
2017-07-12log protocol discriminators and message types by nameNeels Hofmeyr10-901/+915
Change-Id: Ida205d217e304337d816b14fd15e2ee435e7397d Depends: libosmocore change-id I0fca8e95ed5c2148b1a7440eff3fc9c7583898df
2017-07-12Implement IuCS (large refactoring and addition)Neels Hofmeyr29-1593/+2242
osmo-nitb becomes osmo-msc add DIUCS debug log constant add iucs.[hc] add msc vty, remove nitb vty add libiudummy, to avoid linking Iu deps in tests Use new msc_tx_dtap() instead of gsm0808_submit_dtap() libmgcp: add mgcpgw client API bridge calls via mgcpgw mgcp: hack RAB success from nano3G: patch first RTP payload The ip.access nano3G needs the first RTP payload's first two bytes to read hex 'e400', or it will reject the RAB assignment. Add flag patched_first_rtp_payload to mgcp_rtp_state to detect the first RTP payload on a stream, and overwrite its first bytes with e400. This should probably be configurable, but seems to not harm other femto cells (as long as we patch only the first RTP payload in each stream). Only do this when sending to the BTS side. Change-Id: I5b5b6a9678b458affa86800afb1ec726e66eed88
2017-07-12mscsplit: various preparations to separate MSC from BSCNeels Hofmeyr4-6/+2
Disable large parts of the code that depend on BSC presence. Don't set msg->lchan nor msg->dst. Don't use lchan in libmsc. Decouple lac from bts. Prepare entry/exit point for MSC -> BSC and MSC -> RNC communication: 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 Iu specific fields in gsm_subscriber_connection: 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]"). move to libcommon-cs: gsm48_extract_mi(), gsm48_paging_extract_mi(). libmsc: duplicate gsm0808 / gsm48 functions (towards BSC). 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 related to msc_gsm0808_tx_cipher_mode() in two places. 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 MSC 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. msc_compl_l3(): publish in .h, tweak return value. 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 add gsm_encr to subscr_conn move subscr_request to gsm_subscriber.h subscr_request_channel() -> subscr_request_conn() move to libmsc: osmo_stats_vty_add_cmds() gsm_04_08: remove apply_codec_restrictions() gsm0408_test: use NULL for root ctx move to libbsc: gsm_bts_neighbor() move to libbsc: lchan_next_meas_rep() move vty config for t3212 to network level (periodic lu) remove unneccessary linking from some tests remove handle_abisip_signal() abis_rsl.c: don't use libvlr from libbsc Change-Id: Id3705236350d5f69e447046b0a764bbabc3d493c
2017-07-12Add msc_vlr test suite for MSC+VLR end-to-end testsNeels Hofmeyr32-1/+15295
Change-Id: If0e7cf20b9d1eac12126955b2f5f02bd8f1192cd
2017-07-12Use libvlr in libmsc (large refactoring)Harald Welte16-659/+403
Original libvlr code is by Harald Welte <laforge@gnumonks.org>, polished and tweaked by Neels Hofmeyr <nhofmeyr@sysmocom.de>. This is a long series of trial-and-error development collapsed in one patch. This may be split in smaller commits if reviewers prefer that. If we can keep it as one, we have saved ourselves the additional separation work. SMS: The SQL based lookup of SMS for attached subscribers no longer works since the SQL database no longer has the subscriber data. Replace with a round-robin on the SMS recipient MSISDNs paired with a VLR subscriber RAM lookup whether the subscriber is currently attached. If there are many SMS for not-attached subscribers in the SMS database, this will become inefficient: a DB hit returns a pending SMS, the RAM lookup will reveal that the subscriber is not attached, after which the DB is hit for the next SMS. It would become more efficient e.g. by having an MSISDN based hash list for the VLR subscribers and by marking non-attached SMS recipients in the SMS database so that they can be excluded with the SQL query already. There is a sanity limit to do at most 100 db hits per attempt to find a pending SMS. So if there are more than 100 stored SMS waiting for their recipients to actually attach to the MSC, it may take more than one SMS queue trigger to deliver SMS for subscribers that are actually attached. This is not very beautiful, but is merely intended to carry us over to a time when we have a proper separate SMSC entity. Introduce gsm_subscriber_connection ref-counting in libmsc. Related: OS#1592 Change-Id: I639544a6cdda77a3aafc4e3446a55393f60e4050
2017-07-12Add libvlr implementationHarald Welte2-0/+716
Original libvlr code is by Harald Welte <laforge@gnumonks.org>, polished and tweaked by Neels Hofmeyr <nhofmeyr@sysmocom.de>. This is a long series of trial-and-error development collapsed in one patch. This may be split in smaller commits if reviewers prefer that. If we can keep it as one, we have saved ourselves the additional separation work. Related: OS#1592 Change-Id: Ie303c98f8c18e40c87c1b68474b35de332033622
2017-07-12move openbsc/* to repos rootNeels Hofmeyr86-0/+30207
This is the first step in creating this repository from the legacy openbsc.git. Like all other Osmocom repositories, keep the autoconf and automake files in the repository root. openbsc.git has been the sole exception, which ends now. Change-Id: I9c6f2a448d9cb1cc088cf1cf6918b69d7e69b4e7
2009-06-10move openbsc into its own subdirectoryHarald Welte12-470/+0
2009-06-06Revert "[db] Keep track of the current gsm_network"Holger Freyther1-1/+1
This was a stupid decision. We will have to assign the network at some other place. The problem will be a problem when we have two gsm_networks in one process and the same subscriber is traveling in both networks.
2009-06-06[tests] Do no free objects that are allocated on the stackHolger Freyther1-4/+0
gcc4.4 warns about these kind of objects. Fix that.
2009-05-23An application that has own events and file descriptors, must pollHarald Welte1-1/+1
select function ob libbsc. A "polling" flag is used to enable polling. In this case select() will not sleep until file descriptor events occurr or nearest timer expires. Also a return value will indicate if there was an event that has been handled. If there was an event, the application decides to poll again and don't wait. In case for bsc_hack, the polling flag is not set. select will sleep as usual. (Andreas Eversberg)
2009-05-23* rename the timer functions to avoid name collisions with libmisdn.Harald Welte1-5/+5
* the return value of bsc_update_timers() is required for applications to find out if a timer was fired (Andreas Eversberg)
2009-05-21Fix compilation issues on OS X - mainly #include file changes (Lars Immisch)Harald Welte1-1/+1
2009-04-19[db] Keep track of the current gsm_networkHolger Freyther1-1/+1
2009-04-12[tests] Change the db_test to link to the libopenbsc.aHolger Freyther2-2/+6
This should keep the test compiling in the future. It will link to the libopenbsc.a to get all symbols. We do this in the other tests too.
2009-03-30Store incoming SMS into SQL databaseHarald Welte1-2/+5
* gsm_util now uses caller-allocated data (rather than callee-allocated) * correctly parse destination address * parse (but not transcode) non-default encodings of SMS * reject SMS to unknown destination number * resolve target subscriber id and store incoming SMS (without header) in 'sms' table What we're now missing is the sending part, i.e. a regular task iterating over all pending SMS and trying to deliver them. Also, check for pending SMS once we get a LOCATION UPDATE.
2009-02-23[sms] Add test case for the 7-bit coding/decoding...Holger Freyther1-0/+17
we don't pass it yet.
2009-02-23[sms] Remove hardcoded size and use the SIZE_OF trick..Holger Freyther1-1/+1
2009-02-20[build] Create a libbsc.a as noinst_LIBRARY, link bsc_hack and tests against itHolger Freyther4-29/+7
Link the tests against the libbsc.a to avoid most of the breakage when creating new symbols.
2009-02-11[misc] Another set of build fixes...Holger Freyther2-2/+7
We should compile the src into an archive file and then link to it.
2009-02-10[tests] Fix building... add another stub...Holger Freyther1-0/+1
2009-02-06[tests] Fix the tests... link againHolger Freyther2-1/+3
2009-01-27[tests] build fixHolger Freyther1-0/+1
2009-01-04Add test case that is not registering the timer againHolger Freyther1-0/+8
yesterday's crash with the llist_del instead of using del_timer was due this kind of bug. Add a test case.
2009-01-01Change the subscriber and database backendHolger Freyther2-14/+49
gsm_subscriber is now refcounted, the db backend is leaking a lot less, db_get_subscriber will allocate the subscr record now, subscr_* will look up a subscriber in the list of currently active subscribers and add an ref to this one. The db test cases pass, more testing will be when next to the bts
2009-01-01Do not call rsl_chan_release directly but use the use_count of the lchanHolger Freyther1-0/+1
Call use_lchan early in allocate_loc_updating_req, do not directly call rsl_chan_release but go through channel alloc to take the use_count into account.
2008-12-31Move the db_test.c to a specific test directoryHolger Freyther3-1/+76
2008-12-31Make the test compile againHolger Freyther1-0/+1
2008-12-29Implement sending SMS and send one on network registrationDaniel Willmann2-0/+3
2008-12-29ACK sms-submitDaniel Willmann1-2/+9
2008-12-28Add stubs to test gsm0408 functionality including LAIHolger Freyther3-1/+85
2008-12-28Add second test SMSDaniel Willmann2-23/+77
2008-12-28working state up to location update and classmark inquiryHarald Welte1-0/+2
2008-12-28Add SMS (GSM 04.11) testing programDaniel Willmann3-1/+55
2008-12-28Start implementing GSM 04.11 (short message service)Daniel Willmann1-3/+3
2008-12-27sms.txt: Analyze CP-DATA, RP-DATA, TPDUDaniel Willmann1-0/+32
2008-12-27smsHarald Welte1-0/+1
2008-12-27Prefix debug symbols with debug_ to reduce the namesapce pollutionHolger Freyther1-2/+2
2008-12-27Add code to parse a debug category stringHolger Freyther3-1/+39
Use strdup to be able to use strtok on the category string and add a test case. Also safe some more information to be able to use color in the print statement.
2008-12-27Make the test timer a noinst programHolger Freyther1-1/+1