Commit Graph

503 Commits

Author SHA1 Message Date
Neels Hofmeyr 4c45d2b9fd hnbgw: add copyright to vty_info
Change-Id: I702b606837199ab64c3590546900d4d30357b919
2016-08-18 02:35:57 +02:00
Neels Hofmeyr a1bf4f330f fix compiler warning: osmo_prim_cb() has void* arg
Change-Id: I16741976050b3f36196af1b4f18d795af2b2722a
2016-07-12 00:51:31 +02:00
Neels Hofmeyr 0a43722a48 fix compiler warnings with new libosmo-sccp: rename to osmo_sccp_*
See libosmo-sccp.git 1a3875092f93df3c3054d26eac52bb0ea9bd09c3

Note: at time of commit, osmo-iuh still depends on the libosmo-sccp sysmocom/iu
branch to build.

The same rename has been committed to both sysmocom/iu and master on
libosmo-sccp. Above commit hash is on sysmocom/iu. The master commit is
03ad002c28073b347b92bcde16d5af80a06389e4.

Change-Id: Id9c0065d7398a6205ff24477d47c9663caac669c
2016-07-12 00:51:21 +02:00
Neels Hofmeyr fef2e86003 make regen: fix: use $(MAKE) instead of make
On FreeBSD, we use gmake, so calling 'make -C ...' won't work here.
We need to invoke $(MAKE) so gmake is used again.

Change-Id: If8d09889db2c101eca66675fff8f820d6d1d7a65
2016-07-12 00:44:18 +02:00
Alexander Huemer 156fa393fc attempt to fix parallel build, improve AM logic
The formerly existing make rule caused a race condition in parallel builds and
wrongly stated the .c files as targets, which caused make to execute the
rule twice (once for each target). This was actually only fallout of the
attempt to express the fact that those two files are generated by the rule.

The generated file ranap_ies_defs.h was moved by one make job, another
job then tried to access the file in the old location and failed.

parallel build verified with:
$ for i in $(seq 1 10)
do
	echo "XXXX iteration $i"
	git clean -xfd
	autoreconf -i
	./configure
	make -j${i} || break
done

Coauthored by Andreas Rottmann <mail@rotty.xx.vu>

Change-Id: I439edcb4b7742de861c99ed401114f51061f8088
Reviewed-on: https://gerrit.osmocom.org/65
Tested-by: Jenkins Builder
Reviewed-by: Harald Welte <laforge@gnumonks.org>
2016-05-15 23:28:14 +00:00
Neels Hofmeyr fd666890f7 fix test-ranap, after tmsi endianness fix
a9cf70f665 changed the TMSI byte order, the test expectations need to be
adjusted accordingly.
2016-05-04 14:06:53 +02:00
Daniel Willmann a9cf70f665 ranap_msg_factory: Fix endianess in paging command
the asn1 helper functions already take care of byte ordering, so use these.
2016-05-04 13:50:43 +02:00
Neels Hofmeyr 802acd0da4 fix: test-ranap.c: missing NULL init
The decoding target pointer has to be NULL so that a new structure is allocated
by aper_decode(). Fixes a probable segmentation fault upon decoding at
test-ranap.c:77 or free of unallocated memory in test-ranap.c:81.
2016-05-03 13:14:30 +02:00
Neels Hofmeyr 95d0ba5f40 test-ranap: fix missing free in test_aper_causemisc, fixes expout
After aper_decode(), we still need to free the decoded struct.

This was introduced in 14da5411a4
("test-ranap: Add test case about constrained integer range decode")

Note, in that commit there is another test failure in expout (a reversed byte
order) which is "secretly" fixed in bb289e3b81
("RAB parameters: add Extended Max Bitrate").

This commit fixes:

@@ -213,6 +212,7 @@
 </RANAP_IE>
 00 0a 00 11 00 00 01 00 29 40 0a 00 00 01 00 28 40 03 05 c2 d0
 report
-talloc report on 'asn1_context' (total      0 bytes in   1 blocks)
+talloc report on 'asn1_context' (total     40 bytes in   2 blocks)
+    constr_CHOICE.c:927            contains     40 bytes in   1 blocks (ref 0) 0x187e690
 talloc report on 'msgb' (total      1 bytes in   1 blocks)
 exit
2016-05-02 14:44:56 +02:00
Harald Welte bb289e3b81 RAB parameters: add Extended Max Bitrate
Adjust test expectation in test-ranap.c.

This IE is seen in a "real life" pcap of hNodeB operation. We did not need it
so far, but add it to test the ip.access nano3G.

Comment from the future: the ip.access nano3G rebooted upon RAB Assignment
Request, and after adding/tweaking some IEs it stopped rebooting. This is one
of the changes that fixed the reboot issue. The changes have been tested
incrementally until reboots vanished, but it's not clear/hasn't been tested
whether omitting this change alone will cause reboots to re-appear.
2016-05-01 15:45:26 +02:00
Neels Hofmeyr 0a461568f0 hnbgw: dumb fix of context map hnb_list double delete 2016-05-01 15:45:26 +02:00
Harald Welte 14da5411a4 test-ranap: Add test case about constrained integer range decode
There was a bug in the asn1c/libffasn1c APER patch that caused
constrained integer ranges to be decoded incorrectly.  Add a test
case for that to avoid people falling into that trap...
2016-05-01 15:44:13 +02:00
Harald Welte f764a15c23 Add test case about RANAP MaxBitrate encoding
Our version of asn1c/libasn1c used to have an INTEGER encoding but,
where the encoding of integers of > 2 bytes length was broken.

Add a test case to what we expect with the updated/fixed libasn1c.

If your compilation breaks, please upate to libasn1c with related
fix commited a few minutes ago.
2016-04-30 17:47:16 +02:00
Neels Hofmeyr b248c8c8ca UE Register: fix: free ies when no IMSI is found 2016-04-25 15:34:28 +02:00
Neels Hofmeyr f098c7abda ranap_msg_factory: fix RAB IP addr byte order for use_x213_nsap==false 2016-04-25 15:34:28 +02:00
Neels Hofmeyr edf1367e62 new RAB: add use_x213_nsap parameter / change it to bool
Allow the *caller* of ranap_new_msg_rab_assign_data() to make the decision for
using 32 bit or longer IP addresses in RAB Assignment Request messages.

This requires a follow-up change in openbsc branch sysmocom/iu.
2016-04-25 15:34:28 +02:00
Neels Hofmeyr f168a3b470 compiler warning: hnbgw_ranap.c: include ranap_msg_factory.h
At least ranap_new_msg_reset_ack() needs a function declaration to avoid a
compiler warning.
2016-04-25 15:33:40 +02:00
Neels Hofmeyr 9246cc9e1e cosmetic: comments, log typo, explicit pointer
Fix log typo 'REGSITER' and add some comments on UE Register with TMSI.

The container_pair struct starts with 'list', so passing the container_pair
pointer is equivalent to passing the list; but instead, explicitly mention the
list member to avoid confusion.
2016-04-25 15:25:12 +02:00
Neels Hofmeyr 8f62106d5d hnbgw: remove unused static function 2016-04-25 15:25:12 +02:00
Neels Hofmeyr f6e56058f4 ranap_parse_lai(): properly initialize out-arg, adjust test experr
The test stderr output changes merely because the source code line numbers
of the error logging changed.

Fixes: CID#93770
2016-04-25 13:26:07 +02:00
Neels Hofmeyr 3d12748f5b dummy-cn: add optarg, add --bind argument
To test CSCN, I want dummy-cn to listen on 127.0.0.2 and mock IuPS instead of
the hardcoded 127.0.0.1 to mock IuCS.

Add commandline option parsing and the --bind option to set the local bind
address.
2016-04-20 11:05:22 +02:00
Daniel Willmann f44d12ce27 ranap_msg_factory: Add keystatus parameter for security mode cmd 2016-04-20 10:17:53 +02:00
Neels Hofmeyr 5ad72b91bb hnb-test: receive Paging, add CL rx
Add ability to receive ConnectionLess transfers in order to read the
Paging and (so far only) print the IMSI paged for.
2016-04-19 18:19:31 +02:00
Neels Hofmeyr d045ceb5f0 hnbgw: add debug log about new CN links 2016-04-19 18:19:31 +02:00
Neels Hofmeyr 630483b310 cosmetic: indentation fix 2016-04-19 18:19:31 +02:00
Neels Hofmeyr 2b01f3aca7 hnbgw_cn.c: fix uninitialized hnb_gw pointer
In cn_ranap_rx_paging_cmd(), actually initialize the gw var.

Upon creation of an hnbgw_cnlink, actually set hnbgw_cnlink->gw.
2016-04-19 18:19:31 +02:00
Neels Hofmeyr 6503767e84 hnbgw_cn.c: pass cnlink instead of slink
As soon as possible, clarify that slink is an osmo_sua_link*. Immediately
obtain the priv as hnbgw_cnlink and pass that to all the static functions.
Thus remove code dup and clarify argument typing.
2016-04-19 18:19:30 +02:00
Neels Hofmeyr 525a69ef4e cosmetic: comment typos 2016-04-19 18:19:30 +02:00
Neels Hofmeyr bde4d3b3b7 hnb-test: request Iu Release, handle Iu Release Command 2016-04-19 18:19:30 +02:00
Neels Hofmeyr 39fc8811f9 ranap_common_cn.c: for now add more decoding that doesn't belong here
Allow Iu Release Command decoding and freeing.
Add Paging decoding and freeing.

These are all needed by hnb-test, which still uses the CN parsing functions,
still to be fixed, as commented in the code.
2016-04-19 18:19:30 +02:00
Neels Hofmeyr f6e16b72e6 ranap_msg_factory: add Iu Release Complete msg generator
Needed by hnb-test.
2016-04-19 18:19:30 +02:00
Neels Hofmeyr 7e760acc65 add missing comment in ranap_msg_factory.c 2016-04-19 01:41:27 +02:00
Neels Hofmeyr 4a0a69a88d hnb-test: add Security Mode Command handling 2016-04-19 01:32:25 +02:00
Neels Hofmeyr a9f5566482 ranap_msg_factory: add Security Mode Complete msg generator
Needed by hnb-test to reply to a Security Mode Command message.
2016-04-19 01:32:25 +02:00
Neels Hofmeyr 68b7a47868 RANAP Initiating msg: rx and free Security Mode Command
Add the Security Mode Command procedure code to cn_ranap_rx_initiating_msg_co()
and cn_ranap_free_initiating_msg_co(), for hnb-test (see comments in the code).
2016-04-19 01:32:25 +02:00
Neels Hofmeyr c28ed375b3 hnb-test: cosmetic: rename hnb_test_nas_tx_dt() to hnb_test_tx_dt()
Not all Direct Transfer messages contain a NAS PDU, see Security Mode
Complete.
2016-04-19 01:32:25 +02:00
Neels Hofmeyr 4470f93074 hnb-test: simplify crossing message layers
Adding the Security Mode Control command would break the current scheme of
callbacks across layers. This brought to my attention that the scheme is indeed
unnecessarily complex, so simplify it.

Instead of passing callbacks, call functions directly. Add hnb-test-layers.h to
declare those functions that cross from main to rua, to ranap and back to main
and remove the callback type definitions.

Instead of copying the NAS PDU to a newly allocated msgb, pass the data and len
directly to hnb_test_nas_rx_dtap().

Instead of repeatedly checking the gsm48_hdr length, just pass the struct
gsm48_hdr* and len around and assume the basic header length has been checked.

In some places, rename 'length' to 'len' for cosmetic consistency.
2016-04-19 01:32:25 +02:00
Neels Hofmeyr 26779f8573 hnb-test: generate SRES from hardcoded Ki
Previously the SRES was hardcoded, but the CN changed to generate the SRES.
So now, generate the SRES while still using the hardcoded Ki.

Fixes the Authentication Response message when testing IuCS Location Update.
2016-04-19 01:32:24 +02:00
Neels Hofmeyr 37017f5df8 hnbgw_cn.c: add #include for inet_ntoa() 2016-04-15 22:47:42 +02:00
Neels Hofmeyr d7ad0ac238 hnb-test: parse_mm: assert MM pdisc 2016-04-06 18:58:37 +02:00
Neels Hofmeyr 998726054e hnb-test: on auth response, make it seq nr 2 2016-04-06 18:58:37 +02:00
Neels Hofmeyr ad00d2bee5 hnb-test: rx dtap: log message size 2016-04-06 18:58:37 +02:00
Neels Hofmeyr 8c2b4ec6d6 hnb-test: don't segfault when msgb has no l3 2016-04-06 18:58:37 +02:00
Neels Hofmeyr a4540be792 hnbgw: set default RNC ID to 23 (for testing)
This should ultimately be user configurable, but for now 23 is better than 0.
2016-04-06 18:58:36 +02:00
Neels Hofmeyr 02be4e3933 hnbgw: debug-log cn disconnect ind 2016-04-06 18:58:36 +02:00
Neels Hofmeyr 0ff24430a1 hnbgw: add handle_cn_conn_conf() debug logging 2016-04-06 18:58:36 +02:00
Neels Hofmeyr 1befe6b221 cosmetic: add comment to hnbgw_cnlink_init() 2016-04-06 18:58:36 +02:00
Neels Hofmeyr 6341f4d410 hnbgw: set DMAIN loglevel to DEBUG by default 2016-04-06 18:58:36 +02:00
Neels Hofmeyr 7c28f6f438 hnb-test: use gsm48_hdr_pdisc() and gsm48_hdr_msg_type() instead of bitmasks 2016-04-06 18:58:36 +02:00
Neels Hofmeyr d8013d1f8c ranap_parse_lai(): Fix wrong BCD decoding for MNC. Add test.
Fix the ranap_parse_lai() part that decodes the MNC: place the *10 at the
proper MNC digit.

Add a comprehensive test for ranap_parse_lai() in test-helpers.c. Because
ranap_parse_lai() logs things, add test_common.c to test-helpers compilation
and an expected stderr output to test-helpers' testsuite.at def.
2016-04-06 18:55:14 +02:00
Neels Hofmeyr 8f4cd86904 ranap_parse_lai(): add LAC size check, and log all parse errors 2016-04-06 18:55:14 +02:00
Neels Hofmeyr e25faa8966 hnb-test: print sent bytes 2016-03-30 14:10:39 +02:00
Neels Hofmeyr 3588810cb7 hnb-test: answer MM Authentication Request
With hardcoded SRES matching the hardcoded auth tuple in openbsc's
sysmocom/iu branch for testing.
2016-03-30 14:10:39 +02:00
Neels Hofmeyr 5dbb7b2c3f hnb-test: print LU Reject 2016-03-30 14:10:39 +02:00
Neels Hofmeyr d4598fa453 hnb-test: factor out MM header parsing 2016-03-30 14:10:39 +02:00
Neels Hofmeyr 576f642eba use of sccp_helpers: apply osmo_ name prefix addition 2016-03-30 14:10:39 +02:00
Neels Hofmeyr 3da8608b6a Move sccp_helpers.[hc] to libosmo-sigtran 2016-03-30 14:10:39 +02:00
Neels Hofmeyr c04eb533e1 hnb-test: send TMSI REALLOC COMPL only when LU ACC sent a TMSI 2016-03-04 12:40:53 +01:00
Neels Hofmeyr f67803684f build: use $top_srcdir instead of ../ 2016-02-29 14:28:00 +01:00
Neels Hofmeyr 92b13bc875 fix build: move local include dir before sys installed one 2016-02-29 14:22:21 +01:00
Neels Hofmeyr 5f9be1ed5e hnb-test: make hnb-gw address configurable 2016-02-29 13:33:44 +01:00
Neels Hofmeyr ae93712977 hnb-test: add messages leading to Location Update Accept
But note, authentication is not there yet; the CSCN should initiate that.
2016-02-29 10:02:10 +01:00
Neels Hofmeyr 5c1cc8cce4 hnb-test: replace some hex vals with GSM48_* constants 2016-02-29 10:02:10 +01:00
Neels Hofmeyr c164a97bc6 hnb-test-ranap.c: fix missing return 2016-02-29 10:02:10 +01:00
Neels Hofmeyr e1f709fa51 hnb-test fix id resp 2016-02-29 10:02:10 +01:00
Neels Hofmeyr 860a12977c hnb-test: attempt to reply to an MM Identity Request 2016-02-29 10:02:10 +01:00
Neels Hofmeyr b984f36f58 hnb-test: decode NAS pdu when receiving RUA from CN 2016-02-29 10:02:10 +01:00
Neels Hofmeyr 32828708b2 hnb-test: tweak comment 2016-02-29 10:02:10 +01:00
Neels Hofmeyr 7b81128d44 hnb-test: comment on gen_initue_lu() IMSI 2016-02-29 10:02:10 +01:00
Neels Hofmeyr 0968a58836 hnb-test: some rua rx printfs 2016-02-24 20:51:04 +01:00
Neels Hofmeyr a0d21479a7 osmo-hnbgw, hnb-test: allow configuring VTY address 2016-02-24 20:51:04 +01:00
Neels Hofmeyr 8f67f8e83c test-ranap.ok: fix expectations after commit 49f99cd26
49f99cd26: 'ranap_msg_factory: Use network byte order for 16 bit mode_versions field'
2016-02-20 15:23:12 +01:00
Daniel Willmann 635fac0c3e ranap: Add custom ranap_decode_rab_setupormodifieditemies() function 2016-02-18 16:02:37 +01:00
Daniel Willmann 4870b995ec ranap_common: Add helper function to get IP from transport layer addr 2016-02-18 13:21:35 +01:00
Daniel Willmann 49f99cd265 ranap_msg_factory: Use network byte order for 16 bit mode_versions field
Instead of 0x0001 the field was 0x0100
2016-02-18 13:21:35 +01:00
Neels Hofmeyr de111bc1f8 hnbgw: fix errmsg typo 2016-02-18 01:31:30 +01:00
Neels Hofmeyr 110bb5c9af hnbgw vty: add logging commands 2016-02-18 01:30:42 +01:00
Neels Hofmeyr 6a62e549cd hnb-test: fix wrong domain indicator in ranap.
ranap_new_msg_initial_ue() called with wrong argument order.
2016-02-18 01:30:42 +01:00
Neels Hofmeyr b9f46a7434 dummy_cn_sua: missing include 2016-02-18 01:30:42 +01:00
Neels Hofmeyr 44beab9c3b hnbgw: hnb_context_alloc(): fix missing free, missing return, wrong error return type
Also move INIT_LLIST_HEAD further up for good measure (cosmetic).
2016-02-18 01:30:42 +01:00
Daniel Willmann 5f8c718786 hnbgw: Print out the hnbgw context map per HNB 2016-01-14 15:42:07 +01:00
Daniel Willmann 8592716116 hnb-test: Increment UE conn_id for each new loc_upd_req 2016-01-14 15:36:49 +01:00
Daniel Willmann b39bad1281 dummy_cn: Respond to initial UE message with empty ranap message 2016-01-14 15:36:12 +01:00
Daniel Willmann 4deab942cc hnbgw: Mark ps_cnlink as ps 2016-01-14 15:35:11 +01:00
Daniel Willmann defd29912c context_map: Have one mapping per UE/cnlink combination 2016-01-14 15:10:05 +01:00
Daniel Willmann 0118839829 Revert "hnbgw_hnbap: Zero IEs_t before decode is called"
This reverts commit a8b6b1e3a1.
Zeroing is now done inside of the decode function
2016-01-12 10:14:11 +01:00
Daniel Willmann a8b6b1e3a1 hnbgw_hnbap: Zero IEs_t before decode is called
This ensures that presenceMask is zero and optional fields will be freed
correctly.
This needs to happen for ranap and rua as well.
2016-01-07 18:01:06 +01:00
Daniel Willmann c858fe9f90 ranap_common_cn: Free structs allocated through ranap_cn_rx_co()
After the callback handled the ranap_message the decoded IEs need to be
freed again.
2016-01-07 14:33:00 +01:00
Daniel Willmann c35b298ce9 ranap_common_cn: Free structs allocated through ranap_cn_rx_cl()
After the callback handled the ranap_message the decoded IEs need to be
freed again.
2016-01-07 14:32:56 +01:00
Daniel Willmann 366dcf24c5 ranap_common_cn: Fix copy/paste bug when decoding outcome message 2016-01-07 14:12:07 +01:00
Daniel Willmann 618f0f5bdb ranap_common_cn: Add missing break in switch statement 2016-01-07 14:11:01 +01:00
Daniel Willmann 11e912aa6e Free ies struct after use in tests and hnbgw_cn/rua 2016-01-07 13:19:30 +01:00
Daniel Willmann b02d77c2c1 tests/dummy_cn_sua.c: Fix ranap_common_cn include 2016-01-07 12:59:21 +01:00
Daniel Willmann d10002cf8d asn1tostruct: Add memory free functions and use them in HNBAP 2016-01-07 12:27:41 +01:00
Daniel Willmann b433b97474 hnbgw_hnbap: Handle hnb deregister message as well 2016-01-07 11:01:15 +01:00
Daniel Willmann 1ee089f37a hnbgw: When a HNB is released release associated UEs as well 2016-01-07 11:01:15 +01:00
Daniel Willmann 6480cadd8e hnbgw: Use libosmo-netif for SCCP connection handling 2016-01-07 11:01:12 +01:00
Daniel Willmann 8fda362dd8 Correct postprocessing of generated files
Rewrite ranap_common.h include path in ranap_ies_defs.h as well
Don't move ranap_ies_defs.h to the install directory, but move it inside
the source tree
2016-01-07 10:52:52 +01:00
Harald Welte f3d2c74250 also 'sed' the include path of the ranap_common.h file 2016-01-06 19:53:48 +01:00
Harald Welte 5c6bd5104e make ranap_common.cn.[ch] part of libosmo-ranap 2016-01-06 19:53:44 +01:00
Harald Welte 8fa5d558fb ranap_common_cn.c: Use call-backs rather than function calls
When we use call-back function pointers with ranap_cn_rx_c{o,l}()
functions, we can (soon) migrate it into libosmo-ranap without an
application having to provide 'magic symbols' that the library expects
to be able to call.
2016-01-06 19:44:36 +01:00
Neels Hofmeyr 96979af054 move ranap_*.h,iu_helpers.h to include/osmocom/ranap/
A bit hacky: the ranap_ies_defs.h is generated together with the
ranap_encoder.c and ranap_decoder.c. See comments in src/Makefile.am and
include/osmocom/ranap/Makefile.am.
2016-01-05 15:37:23 +01:00
Harald Welte bea34f26c2 hnbap_common.c: Fix include path 2016-01-05 14:24:08 +01:00
Neels Hofmeyr 0de6b94d71 rebuild en/decoders when asn1tostruct.py changed
Add asn1tostruct.py as dependency for the targets that use it, so that any
modification to the asn1tostruct.py regenerates everything related
automatically.
2016-01-05 12:59:58 +01:00
Neels Hofmeyr f193c221cf Fix -I in tests/ (broken by include dir changes) 2016-01-05 12:54:25 +01:00
Neels Hofmeyr f1f2d7ca19 Remove osmo-iuh subdir level from include/ (2/2)
Make all changes to #include statements and build files.
2016-01-05 12:00:06 +01:00
Neels Hofmeyr c04a96c476 move asn1 headers to include/ dir (5/5)
Do all remaining changes necessary for a working build.

Add Makefile.am files in include/... subdirs.

Remove noinst_HEADERS directives from src/*/Makefile.am, but keep the headers
list to feed to move-asn1-header-files.sh.

Adjust all #includes in src/*_common.h and elsewhere. In hnbap_common.h,
separate the ASN.1 "primitive" headers from the others, and include them
without a subdir path, as before.
2016-01-04 18:11:19 +01:00
Neels Hofmeyr 16c97669bd move asn1 headers to include/ dir (4/5)
Move headers.
2016-01-04 18:11:19 +01:00
Neels Hofmeyr b0429374e2 move asn1 headers to include/ dir (2/5)
Show effects of the new sed step on asn1-generated files, without moving the
files.
2016-01-04 18:11:18 +01:00
Neels Hofmeyr 5aabad1380 move asn1 headers to include/ dir (1/5)
Add move-asn1-header-files.sh to do header file moving and sed'ding the include
statements. The file moving part is disabled until a later commit, to make
reading the diffs easier.

Call shell script from src/{hnbap,ranap,rua}/Makefile.am regen targets.

Add convenience regen target to src/Makefile.am, calling regen in the three subdirs.

This change is split over several commits to ease diff reading. Subsequent
commits show, in steps:
- the "unmoved" effect of sed,
- header moves,
- adjust build system and include statements.
2016-01-04 18:09:37 +01:00
Harald Welte b66c5d0e62 move tests/rua_helper.[ch] to src directory
The RUA Helper is not test-specific.
2016-01-03 18:04:28 +01:00
Harald Welte 1f6bd7b51c add test-ranap to testsuite 2016-01-03 18:01:05 +01:00
Harald Welte 06bc548cee steps towards making 'make distcheck' work
'make distcheck' checks for out-of-source-tree builds and whether
the distribution tarball includes all source files.  This commit
fixes many problems, except some remaining with src/test still
to-be-fixd.
2016-01-03 17:54:24 +01:00
Harald Welte e8a4dc6b70 move asn1helpers.[ch] to libasn1c
Those helper functions are not specific to osmo-iuh, so I moved
them to libasn1c, which also resolves the problem that libosmo-ranap
is depending on those helpers (and subsequently external programs
linking libosmo-ranap will need to have access to the helpers)
2016-01-03 17:25:57 +01:00
Harald Welte bdf3fd1dc4 don't include hnbgw.h from ranap header files
To use libosmo-ranap from outside of this repository, we need to
eliminated all dependencies to local header files
2016-01-03 17:25:51 +01:00
Harald Welte 056984fab1 merge (+rename) iu_helpers.c into libosmo-ranap 2016-01-03 16:31:31 +01:00
Harald Welte a95d5a5f51 Makefile restructuring; install ranap header files 2016-01-03 16:22:16 +01:00
Harald Welte 0322feb68c Introduce libosmo-ranap.so as shared RANAP lib
This shared RANAP library will be used not only by hnbgw, but also by
OsmoCSCN, OsmoSGSN.
2016-01-03 15:39:11 +01:00
Harald Welte a575ebfd0f test-ranap: Call new RANAP encoder functions from ranap_msg_factory.c 2016-01-01 16:47:13 +01:00
Harald Welte 74157f6120 ranap_msg_factory: Fix memory leaks in OCTET_STRING
the 'ies' types do not have a free() function, and thus we have to avoid using
any functions that dynamically allocate memory, such as OCTET_STRING_fromBuf.
2016-01-01 16:47:13 +01:00
Harald Welte 962da50e08 asn1helpers: Add new OCTET_STRING_noalloc
This assings the buffer + size of an OCTET_STRING without allocating a new
buffer and copying the data.
2016-01-01 16:47:13 +01:00
Harald Welte 1cdb81dd98 ranap_msg_factory: Mark 'RANAP_Cause_t *' as const 2016-01-01 16:47:13 +01:00
Harald Welte 37223d8218 ranap_msg_factory: functions for RAB and IU Release Request 2016-01-01 16:47:13 +01:00
Harald Welte 01de8d716a fix copy+paste mistakes when encoding GTP TEI in RAB Parameters 2015-12-29 19:10:48 +01:00
Harald Welte 05ac677840 make bitrates configurable in new_rab_par_data() 2015-12-29 19:10:11 +01:00
Harald Welte 4928797807 more verbose logging in various places 2015-12-29 19:00:35 +01:00
Harald Welte 7bccc98cf8 ranap_common_cn: Handle non-terminal 'outcome' for RAB-ASS.resp 2015-12-28 14:44:49 +01:00
Harald Welte a31e63ab39 ranap_common_cn: Fix typo 2015-12-28 13:19:35 +01:00
Harald Welte bfe49a2293 ranap_msg_factory.c: Use X.213 NSAP encoding for TransportLayerAddr 2015-12-28 13:14:52 +01:00
Harald Welte 2cf0d8f1eb ranap_msg_factory: CipheringInformation is optional in SecurityModeCommand 2015-12-28 13:13:47 +01:00
Harald Welte 4e2783fc0f Dummy CN: Handle RANAP payload of DISCONNET.ind
In case of RANAP Release Complete, the DISCONNECT contains RANAP payload that
we'd like to parse and handle.
2015-12-26 23:49:52 +01:00
Harald Welte 0744d6f63e dummy CN: Handle Iu Release Request (respond with Release Command) 2015-12-26 23:45:18 +01:00
Harald Welte 1be24f1b0a dummy_cn_sua.c: Fix syntax errors 2015-12-26 23:44:28 +01:00
Harald Welte 2bc20f85c1 Dummy CN: Create a per-UE connection context and resolve it. 2015-12-26 23:43:48 +01:00
Harald Welte e311ae078a ranap: Allocate msgb's with headroom for SCCP User primitive pushing 2015-12-26 23:41:14 +01:00
Harald Welte 96e36eb675 remove ranap_parse_lai() from hnbgw_ranap.c 2015-12-26 23:40:54 +01:00
Harald Welte 5bea800fa7 More verbose logging (CS/PS domain) 2015-12-26 23:40:31 +01:00
Harald Welte 552fdf144a Start to use SUA local referencs from 1000 upwards
... which allows us to detect sequence 0 as something that's wrong
(i.e. uninitalized)
2015-12-26 23:39:30 +01:00
Harald Welte 4009b36d74 context_map: Don't forget to store the SCU connection ID 2015-12-26 23:39:05 +01:00
Harald Welte 2ebe42fed7 properly resolve the cnlink from SUA signalling link 2015-12-26 23:38:38 +01:00
Harald Welte cee5a2878b don't double-free msgb's in rua_helper and ranap_common_cn 2015-12-26 08:43:31 +01:00
Harald Welte 3aad6af6a4 add 'dummy cn' as a stub core netwrok element to which hnbgw connects 2015-12-26 08:43:04 +01:00
Harald Welte 37704d907d ranap_common.c: Add ranap_parse_lai() 2015-12-26 08:42:31 +01:00
Harald Welte 8c572fee2a use libosmocore SCCP_SSN_RANAP definition 2015-12-26 08:42:07 +01:00
Harald Welte efef6fb4de ranap_common: Add value_string for procedure code and presence 2015-12-25 15:35:01 +01:00
Harald Welte 87ffeb91dc factor out some common shared test init code 2015-12-25 15:34:22 +01:00
Harald Welte 3cfa450fdc Add new common RANAP parsing code for CN elements 2015-12-25 15:33:41 +01:00
Harald Welte 706213ac4b Fix typo / spelling mistakes 2015-12-25 10:33:09 +01:00
Harald Welte 2963ee2505 hnbgw_hnbap: Print HNBAP Cause during UE De-Register 2015-12-25 10:32:37 +01:00
Harald Welte 831e1ee8f4 hnbgw_rua.c: Print RUA cause in error indication 2015-12-25 10:28:55 +01:00
Harald Welte 23058e1144 hnbgw_ranap: Print RANAP Cause in RESET and ERROR INDICATION 2015-12-25 10:25:01 +01:00
Harald Welte c3ca7eba18 don't return undefined strings from rua_cause_str() 2015-12-25 10:17:17 +01:00
Harald Welte 3d39f84233 ranap_common: Add ranap_cause_str() to stringify RANAP Cause 2015-12-25 09:40:07 +01:00
Alexander Huemer ef8934612c fix build if depenedencies are in distinct directories 2015-12-24 16:15:17 +01:00
Harald Welte 7ac7e048b4 add rua_helper.[ch] missing from previous commit 2015-12-24 15:53:30 +01:00
Harald Welte c3851220db hnb-test: Add VTY to manually issue Iuh messages
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-24 15:41:21 +01:00
Harald Welte f9c9aa5f20 ranap_msg_factory.c: Fix compiler warnings 2015-12-24 15:39:00 +01:00
Harald Welte 57d873392c ranap_msg_factory: use OCTET_STRING_fromBuf() in ranap_new_msg_dt()
When using asn1c, we cannot use buffers allocated elsewhere and/or on
the stack as input into encoding.
2015-12-24 15:33:21 +01:00
Harald Welte ea98b6f6d6 ranap: New ranap_new_msg_initial_ue() funcition
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-24 15:09:06 +01:00
Harald Welte afcaac08ee asn1helpers.h: Add missing declarations of functions in asn1helpers.c 2015-12-24 15:03:11 +01:00
Harald Welte b0de90639b hnbgw_rua.c: Incoming context IDs are 24bit wide according to spec
so don't try to decode them to u32, which expects 32bit input values.
2015-12-24 14:10:17 +01:00
Harald Welte c89c2a6e6a RANAP: Replace the last remainng TBCD-STRING with OCTET STRING
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-24 14:07:05 +01:00
Harald Welte 37166a27ca improve logging, remove obsolete FIXMEs, return of non-void functions 2015-12-24 10:12:09 +01:00
Harald Welte bc4560cf18 Implement forwarding of RANAP PAGING from CN to all HNBs 2015-12-24 08:46:58 +01:00
Harald Welte c4338deee9 hnbgw: Bring all parts together
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-24 00:41:45 +01:00
Harald Welte cd5e981490 hnbgw_rua: Don't use msgb as imput, allow more parameters 2015-12-23 22:14:16 +01:00
Harald Welte 90256bad58 Add a context mapper to map RUA ContextIDs <-> SUA Connection IDs 2015-12-23 22:13:53 +01:00
Harald Welte f42317ba9c Introduce DRANAP/DRUA log categories to separate logging 2015-12-23 15:37:17 +01:00
Alexander Huemer f6d0138d76 fix copy/paste mistake in src/Makefile.am 2015-12-23 13:56:23 +01:00
Harald Welte ffa7c0ad39 use msgb_sctp_ppid() from libosmo-netif, remove local declaration 2015-12-23 00:04:05 +01:00
Harald Welte 75a4e65f52 hnbgw: Add SUA client socket towards localhost
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-23 00:04:05 +01:00
Daniel Willmann 269b8ac7ee hnbgw: Free msgb when connection is closed 2015-12-22 16:40:46 +01:00
Daniel Willmann 541e429a39 hnbgw_hnbap.c: Clean up after encoding a UE register accept
Need to free the ASN.1 structs after using them to encode the UE
register accept message.
2015-12-22 16:40:46 +01:00
Neels Hofmeyr c51f735b35 really fix src/Makefile.am
Add BUILT_SOURCES to src/Makefile.am.

(And remove a stray space.)
2015-12-22 12:27:02 +01:00
Alexander Huemer fec171d8b4 fix Makefile.am 2015-12-22 12:24:27 +01:00
Harald Welte 71f73a2919 move COPYING file to root directory 2015-12-21 21:01:00 +01:00
Harald Welte ef5055c275 Makefile.am: Try to model the asn1tostruct.py generation dependencies 2015-12-21 17:50:11 +01:00
Harald Welte b2daa0d803 ranap ASN.1: Define IMSI as OCTET STRING to work around asn1c bug
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-19 13:05:19 +01:00
Harald Welte 0a3eafee45 ranap: Don' shift the RAB ID by 3 bits 2015-12-19 02:38:09 +01:00
Harald Welte 94a62d591d ranap: No need for htonl() of IP addresses and the like 2015-12-19 02:37:48 +01:00
Harald Welte b7f67c4b14 ranap: Don't forget ProtocolIE-CointainerPair around ProtocolIE-FieldPair 2015-12-19 02:37:35 +01:00
Harald Welte de9055f142 Makefile.am: Replace .PHONY asn1tostruct.py rules
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-18 20:20:51 +01:00
Harald Welte f8db61b554 First compiling (and leak-free) RANAP message generation functions
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-18 20:20:47 +01:00
Harald Welte fcabec3665 implement BIT_STRING_fromBuf() similar to OCTET_STRING_fromBuf() 2015-12-18 17:51:50 +01:00
Harald Welte 16232780d8 ranap_common: Fix error cleanup path while generating IE Pair 2015-12-18 17:22:04 +01:00
Harald Welte 04329dcbdc {hnbap,rua,ranap}_common: check for encoding errors in new_ie() 2015-12-18 15:18:13 +01:00
Harald Welte 629391321f {hnbap,ranap,rua}_common: use FREEMEM(), not free() directly
If we allocate with CALLOC/MALLOC macros, we need to release memory via the
same API.
2015-12-18 14:58:34 +01:00
Harald Welte 8526d158f8 hnbap/rua: Don't usse malloc() directly but use CALLOC() macro 2015-12-18 13:41:39 +01:00
Harald Welte 9c397d4969 ranap: Use CALLOC() macro of libasn1c
we don't use malloc() directly, as that doesn't mix well with
our libasn1c using talloc.
2015-12-18 13:35:58 +01:00
Harald Welte 2676554c92 ranap: Ensure we free any intermediate dynamically allocated memory 2015-12-18 13:35:58 +01:00
Harald Welte d062df5307 test-ranap.c: Further WIP, it now actually compiles 2015-12-18 13:35:58 +01:00
Harald Welte 93690184b0 RANAP: Split FormatInformationParameter / SDUParameterItem
The definition of the above data types as per 3GPP specs results in a
SEQUENCE_OF() an anonymous structure, which is slightly inconvenient to
use.  So let's split the SEQUENCE OF part and the actual definition of
the item in separate types.
2015-12-18 13:35:58 +01:00
Harald Welte 091039d47e test-ranap.c: More WIP code for convoluted RANAP message encoding 2015-12-18 13:35:58 +01:00
Daniel Willmann 141a0baac9 hnb-test: Add an option to transmit multiple UE register/deregister msgs 2015-12-17 18:03:52 +01:00
Daniel Willmann 28b9ec1473 Enable vty command to output talloc report
I don't think I can print this into a string and thus output it via VTY.
In that case it might be smarte to do in a signal handler
2015-12-17 18:02:37 +01:00
Daniel Willmann 5f810f4222 hnbgw_hnbap: Initialize return value and always return something 2015-12-17 17:57:51 +01:00
Daniel Willmann 59d17d8961 hnbap: Free ASN.1 components after they are no longer needed 2015-12-17 17:56:56 +01:00
Daniel Willmann 6637a289da hnb-test: Handle closed connections correctly 2015-12-17 14:47:51 +01:00
Daniel Willmann 19dedbb6b1 hnb-test: Send UE de-register after receiving the UE registration accept 2015-12-17 13:09:37 +01:00
Daniel Willmann 92856e6ef2 hnb-test.c: Remove pdus.h include as it is not used
The messages are constructed so no need to include the binary asn1 data.
2015-12-17 13:09:37 +01:00
Daniel Willmann 3279780557 hnb-test: Add HNBAP category and reduce MAIN loglevel to INFO 2015-12-17 13:09:18 +01:00
Daniel Willmann bded9841b5 hnbgw: Change logging priorities and add HNBAP category
Log hnbap messages to the HNBAP category. Change MAIN category to only
log INFO and above and change SCTP notification message to debug.
2015-12-17 13:09:18 +01:00
Daniel Willmann efceb187aa hnbgw_hnbap: Process UEDeRegister and try to free correct UE 2015-12-17 13:09:18 +01:00
Daniel Willmann 4267a29ee0 hnbgw: Handle closed connections correctly
We still need to clean up the HNB data structures after the connection
is closed
2015-12-17 13:09:18 +01:00
Daniel Willmann 7c27f7b792 hnbgw: Lower level of SCTP notif. msg to debug and set default log level to info 2015-12-17 13:08:32 +01:00
Harald Welte ace1d24d34 ranap_common: Add function to wrap IEs into a RANAP_ProtocolIE_FieldPair_t
The FieldPair is a strange construct of RANAP Radio Access Bearer
assignment, where certain IEs appear in pairs.
2015-12-16 23:07:19 +01:00
Harald Welte 462db35426 hnbap_common: Fix copy+paste mistake (use hnbap msgb allocator) 2015-12-16 23:06:59 +01:00
Harald Welte d328c1a3ac WIP: add some early code for generating required RANAP messages 2015-12-16 23:04:21 +01:00
Harald Welte c16117a22c Add ranap_generate_outcome() function
Ranap has not only successsful and unsuccessful outcome, but also
an unqualified general 'outcome'.
2015-12-16 20:30:11 +01:00
Harald Welte 8dacb07baf {hnbap,rua,ranap}_common.c: Reduce code duplicatioon
There used to be a lot of code duplication between the code to generate
initiating, successfulOutcome and unsuccessfulOutcome messages.  Try to
reduce that by callign a generic function.
2015-12-16 20:27:14 +01:00
Harald Welte cbaaeefe00 {rua,hnbap,ranap}_common: Add missing encoding functions
We used to only have those generator functions that we needed for
the existing hnbgw code; Implement the missing encoders
2015-12-16 20:17:26 +01:00
Harald Welte 08d5da6647 hnbgw: Use the now-compiling RANAP encoder+decoder code
So far, we copy-pasted/cherry-picked individual encoder/decoder
functions as the overall ranap_{encode,decode} didn't compile yet.

As the latter is now finally compiling, we can remove those copies and
link in ranap_{encode,decode}.o
2015-12-16 17:31:43 +01:00
Harald Welte 49695572ba One further RANAP hacking session
This is not development, it is random trial and error hacking.  I really
hate the fact that we have no useful asn.1 code generator and need to
work with hacks like asn1tostruct.py and asn1c without information
object classes :/

This commit is a one-day-long iteration of trial+error, manually editing
and adding the .asn source of RANAP until we get something that in the
end at least compiles and links.  Do I trust the resulting code? No.
But we have no alternative :(
2015-12-16 17:26:05 +01:00
Harald Welte 1989913ba2 RANAP: Add more types/IEs to RANAP-PDU.asn and re-generate C
As asn1c cannot understand information object classes, we cannot compile
RANAP-PDU-Contents.asn but instead need to manually add the respective
infrmation elements to RANAP-PDU.asn.
2015-12-16 13:15:02 +01:00
Harald Welte fd5db064cb Re-add the 'regen' targets lost in the automake transition
This might need a lot of cleanup for out-of-source-tree builds and the
like, but let's not spend time on this now.  The old Makefile also
didn't support that.  But loosing the ability to regenerate the C source
is not an option either.
2015-12-16 13:14:10 +01:00
Harald Welte 3297dbaaa7 rename ASN_MODULE_FILES to ASN_MODULE_SOURCES
... brings us closer to the Makefile.am.sampl generated by asn1c,
facilitating copy+paste.
2015-12-16 13:13:30 +01:00
Daniel Willmann 29b9e00355 Autotoolize the build
Use Autoconf/make for building and autotest for tests
2015-12-15 15:10:31 +01:00
Daniel Willmann a7b02405be hnb-test: Parse UE register accept 2015-12-14 10:37:26 +01:00
Daniel Willmann 9224731379 asn1helpers: Fix 24 bit conversion function and use it in hnbgw_hnbap
The 32 bit int needs to be shifted left one byte so the correct bytes
end up at the beginning of the bit string buffer.
2015-12-14 10:36:36 +01:00
Daniel Willmann 4e31250367 hnb-test: Send UE register request 2015-12-14 10:36:36 +01:00
Daniel Willmann 479cb300ce hnb-test: Send HNB register request and parse the accept 2015-12-14 10:36:36 +01:00
Daniel Willmann 4abdee0803 hnb-test: setsockopt SCTP_EVENTS is needed to get the sctp_sndrcvinfo 2015-12-14 10:36:36 +01:00
Daniel Willmann d6a45b402c asn1helpers: Add 28 bit conversion function and use it for Cell ID
The padding bits in the bit string are at the end and the byte-order is
MSB-first. This means the number needs to be shifted left so the padding
bits are the least significant.
2015-12-14 10:21:51 +01:00
Daniel Willmann a1e202e15e tests/hnb-test: Generate the HNBAP registration request from ASN.1 2015-12-07 17:21:07 +01:00
Daniel Willmann 0e8ef67b7a hnbap_common: Add function to HNBAP generate initiating message
An earlier version was commented out, this function now works like
hnbap_generate_successful_outcome()
2015-12-07 17:19:40 +01:00
Daniel Willmann f3685c2a13 asn1helpers: Add helper to convert u8/u16 to OCTET_STRING 2015-12-07 17:18:56 +01:00
Daniel Willmann 4aeef6c3c4 hnb-test: Send hard-coded HNB register request for now 2015-12-03 17:02:13 +01:00
Daniel Willmann 97374c039b tests: Add hnb-test to connect to hnbgw and tests its functions
Only connects currently
2015-12-03 09:37:58 +01:00
Daniel Willmann 56f6273430 hnbgw: Add VTY commands to show info about connected HNBs and UEs 2015-12-02 12:58:42 +01:00
Daniel Willmann 9a12a4b992 test-helpers: Also print out hexdump of encoded bit string 2015-11-30 16:27:11 +01:00
Daniel Willmann b2548fb1e8 asn1helpers, test-helpers: Use ntoh/hton* to convert integers
Since the asn1_u32/24_to_bitstring functions need to change the source
variable change the signature to clarify that the uint32_t * will be
modified.
2015-11-30 16:24:57 +01:00
Daniel Willmann e2956431e8 test-hnbap: Check CID and Identity Info as well 2015-11-30 16:05:51 +01:00
Daniel Willmann 23c86e38bc test-hnbap: Use different types for UE request and accept IEs 2015-11-30 16:03:36 +01:00
Daniel Willmann e3adf0edc3 asn1helpers: Fix asn1str_to_uX functions
The values are stored big-endian so convert them
2015-11-27 17:53:19 +01:00
Daniel Willmann ea4c088e78 test-hnbap: Test decoding of the hnbap registration request
The 16-bit values are not decoded correctly
2015-11-27 16:14:09 +01:00
Daniel Willmann 1a86955288 tests/test-hnbap: Decode HNBAP UE Register accept as well 2015-11-24 18:11:03 +01:00
Daniel Willmann 39e643a62d tests: Add test-hnbap to test en-/decoding of HNBAP messages
Decode a HNBAP UE register request and check the result.
2015-11-24 18:03:29 +01:00
Daniel Willmann 8ea918d772 tests: Test cropping of string still is NULL-terminated 2015-11-23 15:59:02 +01:00
Daniel Willmann 53018e937c asn1helpers: Ensure that string is NULL-terminated
The buf in an OCTET_STRING_t is not (necessarily) NULL-terminated, so
make sure there is a terminating NULL byte at the end in the resulting
string.
2015-11-23 15:55:46 +01:00
Daniel Willmann ec0e50e148 tests: Test asn1_strncpy function 2015-11-23 15:48:59 +01:00
Daniel Willmann 6e59d413a2 asn1helpers.c: Fix asn1bitstr_to_u32 function
The value in buf is kept in host byte order so no need to swap it
around.
2015-11-23 14:03:04 +01:00
Daniel Willmann 54a9a143f0 tests: Test asn1_u32_to_bitstring and asn1bitstr_to_u32 2015-11-23 14:02:38 +01:00
Daniel Willmann cc5f7cafa2 src/Makefile: Change order of dependencies so a clean checkout builds
There still seem to be some issues with the _decode.o dependencies, but
this will eventually build through.
2015-11-20 19:52:00 +01:00
Harald Welte 0bb1261239 add asn1_u24_to_bitstring()
Sometimes we have a native uint32_t, but we don't want to encode
it to a 4-byte long ASN1 BITSTRING, but rather to one that is only
24 bits.
2015-10-06 22:08:54 +02:00
Harald Welte 4dd16b9643 make asn1bitstr_to_u32() work for sub-32bit bit-strings
IF the ASN1 Bit-string is only 24 bits or even less long,
we might still want to retrieve it as an uint32_t.
2015-10-06 22:08:10 +02:00
Harald Welte 77847ad020 add copyright statement and AGPLv3 headers to source code files 2015-10-06 22:07:04 +02:00
Harald Welte 6286880caa the Context ID is a 24bit number, we cannot use len = 4 bytes! 2015-09-18 01:23:55 +02:00
Harald Welte 1c2ada0e7f ranap: receive/parse DirectTransfer 2015-09-11 20:10:17 +02:00
Harald Welte 80401adcb0 ranap: Parse InitialUE message and hex-print NAS PDU 2015-09-11 19:48:06 +02:00
Harald Welte 0f0ea8112f RUA: hand off RANAP from all PDU types, not just UnitDataTransfer
Also, we now offer a ranap_tx_dt() message for connection-oriented
RANAP transfers.  A far as I understand the RUA spec, on RUA layer,
all operations are Class 2, i.e. without any response/confirmation.
2015-09-11 18:58:28 +02:00