osmo-msc/include/openbsc
Pablo Neira Ayuso adae859eeb libmsc: add support for SMPP delivery receipts
If the mobile phone requests a status report via SMS, send a DELIVER_SM
with esm_class = Delivery Receipt to ESME to indicate that the SMS has
been already delivered to its destination.

    MS        GSM 03.40           SMSC       SMPP 3.4               ESME
     |                             |                                |
     |       SMS-DELIVER           |                                |
     |<----------------------------|                                |
     |     GSM 04.11 RP-ACK        |                                |
     |---------------------------->|                                |
     |                             |           DELIVER-SM           |
     |                             |  esm_class = Delivery Receipt  |
     |                             |------------------------------->|
     |                             |         DELIVER-SM-RESP        |
     |                             |<-------------------------------|
     |                             |                                |

This patch implements "Appendix B. Delivery Receipt Format" as specified
in the SMPP 3.4 specs. This string is conveyed in the SMS message as
data, and it is only meaningful to the ESME, for logging purposes. The
"submit date" and "done date" are not yet set, and other fields are just
sent with dummy values, so they are left to be finished as future work.

The new SMPP TLV tag TLVID_user_message_reference is added to the SMPP
messages inconditionally now since this information is required by
delivery-reports to associate the status-report with the original SMS.

Change-Id: Ic1a9023074bfa938099377980b6aff9b262fab2a
2017-08-27 02:33:49 +02:00
..
Makefile.am Support for TS 04.14 conformance test commands 2017-08-27 02:33:48 +02:00
abis_nm.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
abis_om2000.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
abis_rsl.h Use libvlr in libmsc (large refactoring) 2017-07-23 04:08:43 +02:00
arfcn_range_encode.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
auth.h Use libvlr in libmsc (large refactoring) 2017-07-23 04:08:43 +02:00
bsc_api.h Use libvlr in libmsc (large refactoring) 2017-07-23 04:08:43 +02:00
bsc_msc.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
bsc_msc_data.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
bsc_msg_filter.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
bsc_nat.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
bsc_nat_callstats.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
bsc_nat_sccp.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
bsc_rll.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
bsc_subscriber.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
bss.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
bts_ipaccess_nanobts_omlattr.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
chan_alloc.h Use libvlr in libmsc (large refactoring) 2017-07-23 04:08:43 +02:00
common.h Implement IuCS (large refactoring and addition) 2017-08-08 19:17:53 +02:00
common_bsc.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
common_cs.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
crc24.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
ctrl.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
db.h Use libvlr in libmsc (large refactoring) 2017-07-23 04:08:43 +02:00
debug.h Implement IuCS (large refactoring and addition) 2017-08-08 19:17:53 +02:00
e1_config.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
gb_proxy.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
gprs_gb_parse.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
gprs_gmm.h Implement IuCS (large refactoring and addition) 2017-08-08 19:17:53 +02:00
gprs_llc.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
gprs_llc_xid.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
gprs_sgsn.h sgsn: Fill the cch_pdp with a value coming from the tlv structure 2017-08-27 02:33:48 +02:00
gprs_sndcp.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
gprs_sndcp_comp.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
gprs_sndcp_dcomp.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
gprs_sndcp_pcomp.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
gprs_sndcp_xid.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
gprs_subscriber.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
gprs_utils.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
gsm_04_08.h mscsplit: various preparations to separate MSC from BSC 2017-08-08 19:17:53 +02:00
gsm_04_11.h Use libvlr in libmsc (large refactoring) 2017-07-23 04:08:43 +02:00
gsm_04_14.h Support for TS 04.14 conformance test commands 2017-08-27 02:33:48 +02:00
gsm_04_80.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
gsm_data.h libmsc: add support for SMPP delivery receipts 2017-08-27 02:33:49 +02:00
gsm_data_shared.h Use libvlr in libmsc (large refactoring) 2017-07-23 04:08:43 +02:00
gsm_subscriber.h Implement IuCS (large refactoring and addition) 2017-08-08 19:17:53 +02:00
gsup_client.h gsup_client: allow passing a unit id to identify with HLR 2017-07-13 02:17:31 +00:00
gtphub.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
handover.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
handover_decision.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
ipaccess.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
iu.h Implement IuCS (large refactoring and addition) 2017-08-08 19:17:53 +02:00
iucs.h Implement IuCS (large refactoring and addition) 2017-08-08 19:17:53 +02:00
iucs_ranap.h Implement IuCS (large refactoring and addition) 2017-08-08 19:17:53 +02:00
meas_feed.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
meas_rep.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
mgcp.h Implement IuCS (large refactoring and addition) 2017-08-08 19:17:53 +02:00
mgcp_internal.h mgcp: hack RAB success from nano3G: patch first RTP payload 2017-08-23 14:34:38 +02:00
mgcp_transcode.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
mgcpgw_client.h Implement IuCS (large refactoring and addition) 2017-08-08 19:17:53 +02:00
misdn.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
mncc.h mscsplit: various preparations to separate MSC from BSC 2017-08-08 19:17:53 +02:00
mncc_int.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
msc_ifaces.h Implement IuCS (large refactoring and addition) 2017-08-08 19:17:53 +02:00
nat_rewrite_trie.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
network_listen.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
oap_client.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
openbscdefines.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
osmo_bsc.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
osmo_bsc_grace.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
osmo_bsc_rf.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
osmo_msc.h Implement IuCS (large refactoring and addition) 2017-08-08 19:17:53 +02:00
osmux.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
paging.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
pcu_if.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
pcuif_proto.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
rest_octets.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
rrlp.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
rs232.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
rtp_proxy.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
sgsn.h Implement IuCS (large refactoring and addition) 2017-08-08 19:17:53 +02:00
signal.h Use libvlr in libmsc (large refactoring) 2017-07-23 04:08:43 +02:00
silent_call.h Use libvlr in libmsc (large refactoring) 2017-07-23 04:08:43 +02:00
slhc.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
smpp.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
sms_queue.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
socket.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
system_information.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
transaction.h Implement IuCS (large refactoring and addition) 2017-08-08 19:17:53 +02:00
trau_mux.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
trau_upqueue.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
ussd.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
v42bis.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
v42bis_private.h move openbsc/* to repos root 2017-07-12 23:17:10 +00:00
vlr.h Implement IuCS (large refactoring and addition) 2017-08-08 19:17:53 +02:00
vty.h Implement IuCS (large refactoring and addition) 2017-08-08 19:17:53 +02:00