libosmocore/src
Vadim Yanitskiy c2628317cc GSUP/SMS: introduce MO-/MT-FORWARD-SM messages
According to 3GPP TS 29.002, there are two services:

  - MAP-MO-FORWARD-SHORT-MESSAGE (see 12.2),
  - MAP-MT-FORWARD-SHORT-MESSAGE (see 12.9),

which are used to forward MO/MT short messages.

This change replicates both services as GSUP messages:

  - OSMO_GSUP_MSGT_MO_FORWARD_SM_*,
  - OSMO_GSUP_MSGT_MT_FORWARD_SM_*.

Please note, that only the 'must-have' IEs are introduced
by this change, in particular the following:

  - OSMO_GSUP_SM_RP_MR_IE (see note below),
  - OSMO_GSUP_SM_RP_DA_IE (see 7.6.8.1),
  - OSMO_GSUP_SM_RP_OA_IE (see 7.6.8.2),
  - OSMO_GSUP_SM_RP_UI_IE (see 7.6.8.4),
  - OSMO_GSUP_SM_RP_MMS_IE (see 7.6.8.7),
  - OSMO_GSUP_SM_RP_CAUSE_IE (see GSM TS 04.11, 8.2.5.4),

where both SM_RP_DA and SM_RP_OA IEs basically contain
a single nested TV of the following format:

  - T: identity type (see 'osmo_gsup_sms_sm_rp_oda_t'),
  - V: encoded identity itself (optional).

According to GSM TS 04.11, every single message on the SM-RL has
an unique message reference (see 8.2.3), that is used to link
an RP-ACK or RP-ERROR message to the associated (preceding)
RP-DATA or RP-SMMA message transfer attempt.

In case of TCAP/MAP, this message reference is being mapped to the
Invoke ID. But since GSUP has no 'Invoke ID' IE, and it is not
required for other applications (other than SMS), this change
introduces a special 'SM_RP_MR' IE that doesn't exist in MAP.

Change-Id: Ibe325c64ae2d6c626b232533bb4cbc65fc2b5d71
Related Change-Id: (docs) Ie0150756c33c1352bc4eb49421824542c711175c
Related Change-Id: (TTCN) Ibf49474a81235096c032ea21f217170f523bd94e
Related: OS#3587
2018-12-18 21:52:01 +07:00
..
codec Bump version: 0.11.0.91-9d4a3-dirty → 0.12.0 2018-07-27 17:31:47 +02:00
coding coding: Always initialize bit counters in gsm0503_pdtch_egprs_decode(). 2018-09-05 16:08:34 +03:00
ctrl ctrl: use #define for TRAP id 2018-12-03 21:42:51 +00:00
gb document unblock-ack vs. signalling in gprs_ns_process_msg() 2018-11-20 11:06:05 +01:00
gsm GSUP/SMS: introduce MO-/MT-FORWARD-SM messages 2018-12-18 21:52:01 +07:00
pseudotalloc Fix embedded (arm-none-eabi) builds 2018-06-28 10:30:34 +02:00
sim Bump version: 0.10.2.284-bc47-dirty → 0.11.0 2018-05-03 15:47:11 +02:00
vty make 'show rate-counters' show group index 2018-10-29 17:50:30 +01:00
Makefile.am configure.ac: check clock_gettime for glib < 2.17 2018-12-03 13:52:29 +00:00
application.c fix logging talloc ctx: add osmo_init_logging2() 2018-03-28 19:06:16 +02:00
backtrace.c Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
bitcomp.c Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
bits.c Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
bitvec.c Don't call abort() directly, always use osmo_panic() 2018-06-28 10:57:42 +02:00
conv.c Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
conv_acc.c conv_acc: Our code requires SSSE3, not just SSE3 2017-11-17 11:44:22 +01:00
conv_acc_generic.c Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
conv_acc_sse.c conv_acc: Our code requires SSSE3, not just SSE3 2017-11-17 11:44:22 +01:00
conv_acc_sse_avx.c conv_acc: Our code requires SSSE3, not just SSE3 2017-11-17 11:44:22 +01:00
conv_acc_sse_impl.h Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
counter.c counters: add osmo_counters_count() returns the amount of counters 2017-12-05 16:06:27 +01:00
crc16.c Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
crcXXgen.c.tpl Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
fsm.c fsm: fix apidoc of osmo_fsm_state_name() 2018-11-16 17:45:40 +01:00
gsmtap_util.c gsmtap_util: make sure SO_REUSEADDR is applied for GSMTAP 2018-08-24 10:31:18 +00:00
isdnhdlc.c isdnhdlc: Port from kernel to userspace 2018-05-11 21:57:46 +02:00
logging.c Allow log_init() with NULL log_info 2018-12-06 15:52:28 +01:00
logging_gsmtap.c memleak: _gsmtap_raw_output(): free msg in case of vsnprintf failure 2018-02-16 01:35:08 +01:00
logging_syslog.c Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
loggingrb.c Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
macaddr.c osmo_get_macaddr: Fix buffer read out of bounds 2018-04-18 08:57:56 +00:00
msgb.c msgb: add test helpers 2018-12-12 09:34:12 +00:00
msgfile.c memleak: osmo_config_list_parse: getline() needs free also on error 2017-11-18 10:30:57 +00:00
panic.c osmo_panic(): Annotate as __attribute__ ((noreturn)) 2018-06-29 20:32:57 +02:00
plugin.c Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
prbs.c Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
prim.c Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
rate_ctr.c rate_ctr: Improve logging 2018-07-21 08:22:57 +00:00
rbtree.c Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
select.c timerfd_create(): Fix error handling of osmo_fd_register() 2018-10-21 13:46:07 +02:00
sercomm.c Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
serial.c Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
signal.c signal: Introduce API osmo_signal_talloc_ctx_init 2018-08-16 21:03:32 +02:00
socket.c Add osmo_sockaddr_in_to_str_and_uint() 2018-12-07 10:33:29 +00:00
stat_item.c Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
stats.c Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
stats_statsd.c stats_statsd: Send all stat_items as gauges 2018-10-24 16:37:05 +02:00
strrb.c Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00
timer.c timer: fixup whitespace issues 2017-12-22 16:48:14 +01:00
timer_clockgettime.c Fix embedded (arm-none-eabi) builds 2018-06-28 10:30:34 +02:00
timer_gettimeofday.c timer: Document osmo_gettimeofday API 2018-03-01 12:33:03 +00:00
utils.c fix api doc for osmo_bcd2str() 2018-12-11 02:14:20 +01:00
write_queue.c Fix/Update copyright notices; Add SPDX annotation 2017-11-13 01:35:12 +09:00