aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2015-12-26don't double-free msgb's in rua_helper and ranap_common_cnHarald Welte2-10/+3
2015-12-26add 'dummy cn' as a stub core netwrok element to which hnbgw connectsHarald Welte2-3/+270
2015-12-26ranap_common.c: Add ranap_parse_lai()Harald Welte1-0/+26
2015-12-26use libosmocore SCCP_SSN_RANAP definitionHarald Welte2-17/+13
2015-12-25ranap_common: Add value_string for procedure code and presenceHarald Welte2-0/+63
2015-12-25factor out some common shared test init codeHarald Welte6-47/+104
2015-12-25Add new common RANAP parsing code for CN elementsHarald Welte2-0/+320
2015-12-25Fix typo / spelling mistakesHarald Welte1-2/+2
2015-12-25hnbgw_hnbap: Print HNBAP Cause during UE De-RegisterHarald Welte1-2/+2
2015-12-25hnbgw_rua.c: Print RUA cause in error indicationHarald Welte1-1/+2
2015-12-25hnbgw_ranap: Print RANAP Cause in RESET and ERROR INDICATIONHarald Welte1-1/+21
2015-12-25don't return undefined strings from rua_cause_str()Harald Welte1-0/+3
2015-12-25ranap_common: Add ranap_cause_str() to stringify RANAP CauseHarald Welte2-0/+203
2015-12-24fix build if depenedencies are in distinct directoriesAlexander Huemer5-5/+5
2015-12-24add rua_helper.[ch] missing from previous commitHarald Welte2-0/+166
2015-12-24hnb-test: Add VTY to manually issue Iuh messagesHarald Welte3-26/+231
We can now send Iuh messages with commands like 'hnbap hnb register', 'hnbap ue regiter imsi 12345', 'ranap reset cs', 'ranap reset ps', and even establish connection-oriented RUA using 'channel cs lu imsi 12345'
2015-12-24ranap_msg_factory.c: Fix compiler warningsHarald Welte1-6/+6
2015-12-24ranap_msg_factory: use OCTET_STRING_fromBuf() in ranap_new_msg_dt()Harald Welte1-2/+1
When using asn1c, we cannot use buffers allocated elsewhere and/or on the stack as input into encoding.
2015-12-24ranap: New ranap_new_msg_initial_ue() funcitionHarald Welte3-3/+63
for testing, it is useful if we can also generate an InitialUE message - even though a HNB-GW only needs to receive it.
2015-12-24asn1helpers.h: Add missing declarations of functions in asn1helpers.cHarald Welte1-0/+3
2015-12-24hnbgw_rua.c: Incoming context IDs are 24bit wide according to specHarald Welte1-3/+3
so don't try to decode them to u32, which expects 32bit input values.
2015-12-24RANAP: Replace the last remainng TBCD-STRING with OCTET STRINGHarald Welte2-36/+40
in order to work around a bug in asn1c. When we keep the original TBCD-STRING, the APER-encoded PLMNidentity always has an extra leading length byte that the decoder doesn't expect.
2015-12-24improve logging, remove obsolete FIXMEs, return of non-void functionsHarald Welte2-12/+25
2015-12-24Implement forwarding of RANAP PAGING from CN to all HNBsHarald Welte1-9/+19
2015-12-24hnbgw: Bring all parts togetherHarald Welte12-119/+946
We now have the RUA and SUA parts interconnected by the context ID mapper, and should be able to pass messages back and forward between both sides. Unfortunately this touches a bit of everything, but the structures are all still very much in flux. Hopefully they will start to stabilize at some point soon...
2015-12-23hnbgw_rua: Don't use msgb as imput, allow more parametersHarald Welte2-11/+63
2015-12-23Add a context mapper to map RUA ContextIDs <-> SUA Connection IDsHarald Welte5-13/+294
2015-12-23Introduce DRANAP/DRUA log categories to separate loggingHarald Welte7-23/+35
2015-12-23fix copy/paste mistake in src/Makefile.amAlexander Huemer1-1/+1
2015-12-23use msgb_sctp_ppid() from libosmo-netif, remove local declarationHarald Welte4-5/+7
2015-12-23hnbgw: Add SUA client socket towards localhostHarald Welte3-2/+47
This socket doesn't do much yet except to connect to localhost:14001 The host/port needs to be made configurable, and the RUA<->SUA interfacing needs to be implemented. Also, we'll need two SUA sockets, one for MSC and one for SGSN.
2015-12-22hnbgw: Free msgb when connection is closedDaniel Willmann1-2/+4
2015-12-22hnbgw_hnbap.c: Clean up after encoding a UE register acceptDaniel Willmann1-0/+4
Need to free the ASN.1 structs after using them to encode the UE register accept message.
2015-12-22really fix src/Makefile.amNeels Hofmeyr1-1/+3
Add BUILT_SOURCES to src/Makefile.am. (And remove a stray space.)
2015-12-22fix Makefile.amAlexander Huemer1-9/+0
2015-12-21move COPYING file to root directoryHarald Welte1-661/+0
2015-12-21Makefile.am: Try to model the asn1tostruct.py generation dependenciesHarald Welte1-0/+5
2015-12-19ranap ASN.1: Define IMSI as OCTET STRING to work around asn1c bugHarald Welte2-36/+40
When IMSI is a TBCD-STRING type, and TBCD-STRING is defined as OCTET STRING, we end up encoding the IMSI the wrong way. I don't knwo why that is, but changing it fixed the problem, as described below: before this commit: 00 17 PeranentNAS-UE-ID 40 criticality ignore 0a (length) 00 presence = IMSI 08 BUG: why the additional length field? 46 23 91 34 70 77 80 f3 IMSI (643219430777083) after this commit: 00 17 PeranentNAS-UE-ID 40 criticality ignore 09 (length) 50 presence = IMSI 46 23 91 34 70 77 80 f3 IMSI (643219430777083)
2015-12-19ranap: Don' shift the RAB ID by 3 bitsHarald Welte1-1/+1
2015-12-19ranap: No need for htonl() of IP addresses and the likeHarald Welte1-3/+3
2015-12-19ranap: Don't forget ProtocolIE-CointainerPair around ProtocolIE-FieldPairHarald Welte3-5/+10
2015-12-18Makefile.am: Replace .PHONY asn1tostruct.py rulesHarald Welte1-3/+3
asn1tostruct.py generates three files. Try to teach the makefile that all three of them depend on the .asn source file to ensure they're re-built whenever the .asn source file changes.
2015-12-18First compiling (and leak-free) RANAP message generation functionsHarald Welte6-468/+775
encoding correctness still needs to be verified at this point. At least they generate some binary output without failing somewhere earlier in the encoding process - and they don't leave any leaked memory behind, see talloc_report() at the end of test-ranap.c:main().
2015-12-18implement BIT_STRING_fromBuf() similar to OCTET_STRING_fromBuf()Harald Welte2-0/+42
2015-12-18ranap_common: Fix error cleanup path while generating IE PairHarald Welte1-2/+2
2015-12-18{hnbap,rua,ranap}_common: check for encoding errors in new_ie()Harald Welte3-7/+35
2015-12-18{hnbap,ranap,rua}_common: use FREEMEM(), not free() directlyHarald Welte3-5/+5
If we allocate with CALLOC/MALLOC macros, we need to release memory via the same API.
2015-12-18hnbap/rua: Don't usse malloc() directly but use CALLOC() macroHarald Welte2-4/+2
2015-12-18ranap: Use CALLOC() macro of libasn1cHarald Welte1-4/+2
we don't use malloc() directly, as that doesn't mix well with our libasn1c using talloc.
2015-12-18ranap: Ensure we free any intermediate dynamically allocated memoryHarald Welte1-4/+20