summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2012-02-03 12:03:36 +0100
committerHarald Welte <laforge@gnumonks.org>2012-02-03 12:04:09 +0100
commitd9d3eb186bb82baac1c81f076b7638c209c1d47c (patch)
tree9dc6bec82656b3f2db79fa4d265b32aed1c07df4
parent2ee60e96bc1073d2a043543d2af1d14ea0779dc7 (diff)
Add MAP-SM-DataTypes.asn to list of asn.1 input files
-rw-r--r--include/Additional-Number.h47
-rw-r--r--include/AlertReason.h43
-rw-r--r--include/AlertServiceCentreArg.h42
-rw-r--r--include/DispatcherList.h37
-rw-r--r--include/InformServiceCentreArg.h52
-rw-r--r--include/LocationInfoWithLMSI.h54
-rw-r--r--include/MO-ForwardSM-Arg.h53
-rw-r--r--include/MO-ForwardSM-Res.h47
-rw-r--r--include/MT-ForwardSM-Arg.h53
-rw-r--r--include/MT-ForwardSM-Res.h47
-rw-r--r--include/MT-ForwardSM-VGCS-Arg.h51
-rw-r--r--include/MT-ForwardSM-VGCS-Res.h52
-rw-r--r--include/MW-Status.h45
-rw-r--r--include/ReadyForSM-Arg.h52
-rw-r--r--include/ReadyForSM-Res.h45
-rw-r--r--include/ReportSM-DeliveryStatusArg.h61
-rw-r--r--include/ReportSM-DeliveryStatusRes.h47
-rw-r--r--include/RoutingInfoForSM-Arg.h59
-rw-r--r--include/RoutingInfoForSM-Res.h49
-rw-r--r--include/SM-DeliveryNotIntended.h46
-rw-r--r--include/SM-DeliveryOutcome.h44
-rw-r--r--include/SM-RP-DA.h54
-rw-r--r--include/SM-RP-MTI.h37
-rw-r--r--include/SM-RP-OA.h51
-rw-r--r--include/SM-RP-SMEA.h37
-rw-r--r--src/Additional-Number.c66
-rw-r--r--src/AlertReason.c124
-rw-r--r--src/AlertServiceCentreArg.c70
-rw-r--r--src/DispatcherList.c53
-rw-r--r--src/InformServiceCentreArg.c100
-rw-r--r--src/LocationInfoWithLMSI.c100
-rw-r--r--src/MO-ForwardSM-Arg.c105
-rw-r--r--src/MO-ForwardSM-Res.c70
-rw-r--r--src/MT-ForwardSM-Arg.c105
-rw-r--r--src/MT-ForwardSM-Res.c70
-rw-r--r--src/MT-ForwardSM-VGCS-Arg.c92
-rw-r--r--src/MT-ForwardSM-VGCS-Res.c90
-rw-r--r--src/MW-Status.c132
-rw-r--r--src/Makefile.am.sample56
-rw-r--r--src/ReadyForSM-Arg.c100
-rw-r--r--src/ReadyForSM-Res.c60
-rw-r--r--src/ReportSM-DeliveryStatusArg.c170
-rw-r--r--src/ReportSM-DeliveryStatusRes.c70
-rw-r--r--src/RoutingInfoForSM-Arg.c130
-rw-r--r--src/RoutingInfoForSM-Res.c80
-rw-r--r--src/SM-DeliveryNotIntended.c126
-rw-r--r--src/SM-DeliveryOutcome.c126
-rw-r--r--src/SM-RP-DA.c86
-rw-r--r--src/SM-RP-MTI.c126
-rw-r--r--src/SM-RP-OA.c76
-rw-r--r--src/SM-RP-SMEA.c127
-rw-r--r--src/pdu_collection.c29
-rwxr-xr-xsrc/rebuild-from-asn.sh2
53 files changed, 3742 insertions, 4 deletions
diff --git a/include/Additional-Number.h b/include/Additional-Number.h
new file mode 100644
index 0000000..c648c40
--- /dev/null
+++ b/include/Additional-Number.h
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _Additional_Number_H_
+#define _Additional_Number_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ISDN-AddressString.h"
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum Additional_Number_PR {
+ Additional_Number_PR_NOTHING, /* No components present */
+ Additional_Number_PR_msc_Number,
+ Additional_Number_PR_sgsn_Number
+} Additional_Number_PR;
+
+/* Additional-Number */
+typedef struct Additional_Number {
+ Additional_Number_PR present;
+ union Additional_Number_u {
+ ISDN_AddressString_t msc_Number;
+ ISDN_AddressString_t sgsn_Number;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} Additional_Number_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Additional_Number;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _Additional_Number_H_ */
diff --git a/include/AlertReason.h b/include/AlertReason.h
new file mode 100644
index 0000000..45ce006
--- /dev/null
+++ b/include/AlertReason.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _AlertReason_H_
+#define _AlertReason_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <ENUMERATED.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum AlertReason {
+ AlertReason_ms_Present = 0,
+ AlertReason_memoryAvailable = 1
+} e_AlertReason;
+
+/* AlertReason */
+typedef ENUMERATED_t AlertReason_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AlertReason;
+asn_struct_free_f AlertReason_free;
+asn_struct_print_f AlertReason_print;
+asn_constr_check_f AlertReason_constraint;
+ber_type_decoder_f AlertReason_decode_ber;
+der_type_encoder_f AlertReason_encode_der;
+xer_type_decoder_f AlertReason_decode_xer;
+xer_type_encoder_f AlertReason_encode_xer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AlertReason_H_ */
diff --git a/include/AlertServiceCentreArg.h b/include/AlertServiceCentreArg.h
new file mode 100644
index 0000000..30e3a00
--- /dev/null
+++ b/include/AlertServiceCentreArg.h
@@ -0,0 +1,42 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _AlertServiceCentreArg_H_
+#define _AlertServiceCentreArg_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ISDN-AddressString.h"
+#include "AddressString.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* AlertServiceCentreArg */
+typedef struct AlertServiceCentreArg {
+ ISDN_AddressString_t msisdn;
+ AddressString_t serviceCentreAddress;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} AlertServiceCentreArg_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AlertServiceCentreArg;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AlertServiceCentreArg_H_ */
diff --git a/include/DispatcherList.h b/include/DispatcherList.h
new file mode 100644
index 0000000..ec42e49
--- /dev/null
+++ b/include/DispatcherList.h
@@ -0,0 +1,37 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _DispatcherList_H_
+#define _DispatcherList_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ISDN-AddressString.h"
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* DispatcherList */
+typedef struct DispatcherList {
+ A_SEQUENCE_OF(ISDN_AddressString_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} DispatcherList_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_DispatcherList;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _DispatcherList_H_ */
diff --git a/include/InformServiceCentreArg.h b/include/InformServiceCentreArg.h
new file mode 100644
index 0000000..cd33bbe
--- /dev/null
+++ b/include/InformServiceCentreArg.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _InformServiceCentreArg_H_
+#define _InformServiceCentreArg_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ISDN-AddressString.h"
+#include "MW-Status.h"
+#include "AbsentSubscriberDiagnosticSM.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ExtensionContainer;
+
+/* InformServiceCentreArg */
+typedef struct InformServiceCentreArg {
+ ISDN_AddressString_t *storedMSISDN /* OPTIONAL */;
+ MW_Status_t *mw_Status /* OPTIONAL */;
+ struct ExtensionContainer *extensionContainer /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ AbsentSubscriberDiagnosticSM_t *absentSubscriberDiagnosticSM /* OPTIONAL */;
+ AbsentSubscriberDiagnosticSM_t *additionalAbsentSubscriberDiagnosticSM /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} InformServiceCentreArg_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_InformServiceCentreArg;
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Referred external types */
+#include "ExtensionContainer.h"
+
+#endif /* _InformServiceCentreArg_H_ */
diff --git a/include/LocationInfoWithLMSI.h b/include/LocationInfoWithLMSI.h
new file mode 100644
index 0000000..5dc35ce
--- /dev/null
+++ b/include/LocationInfoWithLMSI.h
@@ -0,0 +1,54 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _LocationInfoWithLMSI_H_
+#define _LocationInfoWithLMSI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ISDN-AddressString.h"
+#include "LMSI.h"
+#include <NULL.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ExtensionContainer;
+struct Additional_Number;
+
+/* LocationInfoWithLMSI */
+typedef struct LocationInfoWithLMSI {
+ ISDN_AddressString_t networkNode_Number;
+ LMSI_t *lmsi /* OPTIONAL */;
+ struct ExtensionContainer *extensionContainer /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ NULL_t *gprsNodeIndicator /* OPTIONAL */;
+ struct Additional_Number *additional_Number /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} LocationInfoWithLMSI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_LocationInfoWithLMSI;
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Referred external types */
+#include "ExtensionContainer.h"
+#include "Additional-Number.h"
+
+#endif /* _LocationInfoWithLMSI_H_ */
diff --git a/include/MO-ForwardSM-Arg.h b/include/MO-ForwardSM-Arg.h
new file mode 100644
index 0000000..a98b2cd
--- /dev/null
+++ b/include/MO-ForwardSM-Arg.h
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _MO_ForwardSM_Arg_H_
+#define _MO_ForwardSM_Arg_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "SM-RP-DA.h"
+#include "SM-RP-OA.h"
+#include "SignalInfo.h"
+#include "IMSI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ExtensionContainer;
+
+/* MO-ForwardSM-Arg */
+typedef struct MO_ForwardSM_Arg {
+ SM_RP_DA_t sm_RP_DA;
+ SM_RP_OA_t sm_RP_OA;
+ SignalInfo_t sm_RP_UI;
+ struct ExtensionContainer *extensionContainer /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ IMSI_t *imsi /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MO_ForwardSM_Arg_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MO_ForwardSM_Arg;
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Referred external types */
+#include "ExtensionContainer.h"
+
+#endif /* _MO_ForwardSM_Arg_H_ */
diff --git a/include/MO-ForwardSM-Res.h b/include/MO-ForwardSM-Res.h
new file mode 100644
index 0000000..93a9be7
--- /dev/null
+++ b/include/MO-ForwardSM-Res.h
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _MO_ForwardSM_Res_H_
+#define _MO_ForwardSM_Res_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "SignalInfo.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ExtensionContainer;
+
+/* MO-ForwardSM-Res */
+typedef struct MO_ForwardSM_Res {
+ SignalInfo_t *sm_RP_UI /* OPTIONAL */;
+ struct ExtensionContainer *extensionContainer /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MO_ForwardSM_Res_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MO_ForwardSM_Res;
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Referred external types */
+#include "ExtensionContainer.h"
+
+#endif /* _MO_ForwardSM_Res_H_ */
diff --git a/include/MT-ForwardSM-Arg.h b/include/MT-ForwardSM-Arg.h
new file mode 100644
index 0000000..d12c1c9
--- /dev/null
+++ b/include/MT-ForwardSM-Arg.h
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _MT_ForwardSM_Arg_H_
+#define _MT_ForwardSM_Arg_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "SM-RP-DA.h"
+#include "SM-RP-OA.h"
+#include "SignalInfo.h"
+#include <NULL.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ExtensionContainer;
+
+/* MT-ForwardSM-Arg */
+typedef struct MT_ForwardSM_Arg {
+ SM_RP_DA_t sm_RP_DA;
+ SM_RP_OA_t sm_RP_OA;
+ SignalInfo_t sm_RP_UI;
+ NULL_t *moreMessagesToSend /* OPTIONAL */;
+ struct ExtensionContainer *extensionContainer /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MT_ForwardSM_Arg_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MT_ForwardSM_Arg;
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Referred external types */
+#include "ExtensionContainer.h"
+
+#endif /* _MT_ForwardSM_Arg_H_ */
diff --git a/include/MT-ForwardSM-Res.h b/include/MT-ForwardSM-Res.h
new file mode 100644
index 0000000..ea142f4
--- /dev/null
+++ b/include/MT-ForwardSM-Res.h
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _MT_ForwardSM_Res_H_
+#define _MT_ForwardSM_Res_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "SignalInfo.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ExtensionContainer;
+
+/* MT-ForwardSM-Res */
+typedef struct MT_ForwardSM_Res {
+ SignalInfo_t *sm_RP_UI /* OPTIONAL */;
+ struct ExtensionContainer *extensionContainer /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MT_ForwardSM_Res_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MT_ForwardSM_Res;
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Referred external types */
+#include "ExtensionContainer.h"
+
+#endif /* _MT_ForwardSM_Res_H_ */
diff --git a/include/MT-ForwardSM-VGCS-Arg.h b/include/MT-ForwardSM-VGCS-Arg.h
new file mode 100644
index 0000000..9d9af42
--- /dev/null
+++ b/include/MT-ForwardSM-VGCS-Arg.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _MT_ForwardSM_VGCS_Arg_H_
+#define _MT_ForwardSM_VGCS_Arg_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ASCI-CallReference.h"
+#include "SM-RP-OA.h"
+#include "SignalInfo.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ExtensionContainer;
+
+/* MT-ForwardSM-VGCS-Arg */
+typedef struct MT_ForwardSM_VGCS_Arg {
+ ASCI_CallReference_t asciCallReference;
+ SM_RP_OA_t sm_RP_OA;
+ SignalInfo_t sm_RP_UI;
+ struct ExtensionContainer *extensionContainer /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MT_ForwardSM_VGCS_Arg_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MT_ForwardSM_VGCS_Arg;
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Referred external types */
+#include "ExtensionContainer.h"
+
+#endif /* _MT_ForwardSM_VGCS_Arg_H_ */
diff --git a/include/MT-ForwardSM-VGCS-Res.h b/include/MT-ForwardSM-VGCS-Res.h
new file mode 100644
index 0000000..e79d3a2
--- /dev/null
+++ b/include/MT-ForwardSM-VGCS-Res.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _MT_ForwardSM_VGCS_Res_H_
+#define _MT_ForwardSM_VGCS_Res_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "SignalInfo.h"
+#include <NULL.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct DispatcherList;
+struct ExtensionContainer;
+
+/* MT-ForwardSM-VGCS-Res */
+typedef struct MT_ForwardSM_VGCS_Res {
+ SignalInfo_t *sm_RP_UI /* OPTIONAL */;
+ struct DispatcherList *dispatcherList /* OPTIONAL */;
+ NULL_t *ongoingCall /* OPTIONAL */;
+ struct ExtensionContainer *extensionContainer /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} MT_ForwardSM_VGCS_Res_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MT_ForwardSM_VGCS_Res;
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Referred external types */
+#include "DispatcherList.h"
+#include "ExtensionContainer.h"
+
+#endif /* _MT_ForwardSM_VGCS_Res_H_ */
diff --git a/include/MW-Status.h b/include/MW-Status.h
new file mode 100644
index 0000000..3452dbe
--- /dev/null
+++ b/include/MW-Status.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _MW_Status_H_
+#define _MW_Status_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <BIT_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum MW_Status {
+ MW_Status_sc_AddressNotIncluded = 0,
+ MW_Status_mnrf_Set = 1,
+ MW_Status_mcef_Set = 2,
+ MW_Status_mnrg_Set = 3
+} e_MW_Status;
+
+/* MW-Status */
+typedef BIT_STRING_t MW_Status_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MW_Status;
+asn_struct_free_f MW_Status_free;
+asn_struct_print_f MW_Status_print;
+asn_constr_check_f MW_Status_constraint;
+ber_type_decoder_f MW_Status_decode_ber;
+der_type_encoder_f MW_Status_encode_der;
+xer_type_decoder_f MW_Status_decode_xer;
+xer_type_encoder_f MW_Status_encode_xer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MW_Status_H_ */
diff --git a/include/ReadyForSM-Arg.h b/include/ReadyForSM-Arg.h
new file mode 100644
index 0000000..b989b99
--- /dev/null
+++ b/include/ReadyForSM-Arg.h
@@ -0,0 +1,52 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _ReadyForSM_Arg_H_
+#define _ReadyForSM_Arg_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "IMSI.h"
+#include "AlertReason.h"
+#include <NULL.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ExtensionContainer;
+
+/* ReadyForSM-Arg */
+typedef struct ReadyForSM_Arg {
+ IMSI_t imsi;
+ AlertReason_t alertReason;
+ NULL_t *alertReasonIndicator /* OPTIONAL */;
+ struct ExtensionContainer *extensionContainer /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ NULL_t *additionalAlertReasonIndicator /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} ReadyForSM_Arg_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ReadyForSM_Arg;
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Referred external types */
+#include "ExtensionContainer.h"
+
+#endif /* _ReadyForSM_Arg_H_ */
diff --git a/include/ReadyForSM-Res.h b/include/ReadyForSM-Res.h
new file mode 100644
index 0000000..e75ed15
--- /dev/null
+++ b/include/ReadyForSM-Res.h
@@ -0,0 +1,45 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _ReadyForSM_Res_H_
+#define _ReadyForSM_Res_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ExtensionContainer;
+
+/* ReadyForSM-Res */
+typedef struct ReadyForSM_Res {
+ struct ExtensionContainer *extensionContainer /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} ReadyForSM_Res_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ReadyForSM_Res;
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Referred external types */
+#include "ExtensionContainer.h"
+
+#endif /* _ReadyForSM_Res_H_ */
diff --git a/include/ReportSM-DeliveryStatusArg.h b/include/ReportSM-DeliveryStatusArg.h
new file mode 100644
index 0000000..3f4d296
--- /dev/null
+++ b/include/ReportSM-DeliveryStatusArg.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _ReportSM_DeliveryStatusArg_H_
+#define _ReportSM_DeliveryStatusArg_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ISDN-AddressString.h"
+#include "AddressString.h"
+#include "SM-DeliveryOutcome.h"
+#include "AbsentSubscriberDiagnosticSM.h"
+#include <NULL.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ExtensionContainer;
+
+/* ReportSM-DeliveryStatusArg */
+typedef struct ReportSM_DeliveryStatusArg {
+ ISDN_AddressString_t msisdn;
+ AddressString_t serviceCentreAddress;
+ SM_DeliveryOutcome_t sm_DeliveryOutcome;
+ AbsentSubscriberDiagnosticSM_t *absentSubscriberDiagnosticSM /* OPTIONAL */;
+ struct ExtensionContainer *extensionContainer /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ NULL_t *gprsSupportIndicator /* OPTIONAL */;
+ NULL_t *deliveryOutcomeIndicator /* OPTIONAL */;
+ SM_DeliveryOutcome_t *additionalSM_DeliveryOutcome /* OPTIONAL */;
+ AbsentSubscriberDiagnosticSM_t *additionalAbsentSubscriberDiagnosticSM /* OPTIONAL */;
+ NULL_t *ip_sm_gw_Indicator /* OPTIONAL */;
+ SM_DeliveryOutcome_t *ip_sm_gw_sm_deliveryOutcome /* OPTIONAL */;
+ AbsentSubscriberDiagnosticSM_t *ip_sm_gw_absentSubscriberDiagnosticSM /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} ReportSM_DeliveryStatusArg_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ReportSM_DeliveryStatusArg;
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Referred external types */
+#include "ExtensionContainer.h"
+
+#endif /* _ReportSM_DeliveryStatusArg_H_ */
diff --git a/include/ReportSM-DeliveryStatusRes.h b/include/ReportSM-DeliveryStatusRes.h
new file mode 100644
index 0000000..a773372
--- /dev/null
+++ b/include/ReportSM-DeliveryStatusRes.h
@@ -0,0 +1,47 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _ReportSM_DeliveryStatusRes_H_
+#define _ReportSM_DeliveryStatusRes_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ISDN-AddressString.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ExtensionContainer;
+
+/* ReportSM-DeliveryStatusRes */
+typedef struct ReportSM_DeliveryStatusRes {
+ ISDN_AddressString_t *storedMSISDN /* OPTIONAL */;
+ struct ExtensionContainer *extensionContainer /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} ReportSM_DeliveryStatusRes_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ReportSM_DeliveryStatusRes;
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Referred external types */
+#include "ExtensionContainer.h"
+
+#endif /* _ReportSM_DeliveryStatusRes_H_ */
diff --git a/include/RoutingInfoForSM-Arg.h b/include/RoutingInfoForSM-Arg.h
new file mode 100644
index 0000000..fb55bd2
--- /dev/null
+++ b/include/RoutingInfoForSM-Arg.h
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _RoutingInfoForSM_Arg_H_
+#define _RoutingInfoForSM_Arg_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ISDN-AddressString.h"
+#include <BOOLEAN.h>
+#include "AddressString.h"
+#include <NULL.h>
+#include "SM-RP-MTI.h"
+#include "SM-RP-SMEA.h"
+#include "SM-DeliveryNotIntended.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ExtensionContainer;
+
+/* RoutingInfoForSM-Arg */
+typedef struct RoutingInfoForSM_Arg {
+ ISDN_AddressString_t msisdn;
+ BOOLEAN_t sm_RP_PRI;
+ AddressString_t serviceCentreAddress;
+ struct ExtensionContainer *extensionContainer /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ NULL_t *gprsSupportIndicator /* OPTIONAL */;
+ SM_RP_MTI_t *sm_RP_MTI /* OPTIONAL */;
+ SM_RP_SMEA_t *sm_RP_SMEA /* OPTIONAL */;
+ SM_DeliveryNotIntended_t *sm_deliveryNotIntended /* OPTIONAL */;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RoutingInfoForSM_Arg_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RoutingInfoForSM_Arg;
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Referred external types */
+#include "ExtensionContainer.h"
+
+#endif /* _RoutingInfoForSM_Arg_H_ */
diff --git a/include/RoutingInfoForSM-Res.h b/include/RoutingInfoForSM-Res.h
new file mode 100644
index 0000000..34f7f84
--- /dev/null
+++ b/include/RoutingInfoForSM-Res.h
@@ -0,0 +1,49 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _RoutingInfoForSM_Res_H_
+#define _RoutingInfoForSM_Res_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "IMSI.h"
+#include "LocationInfoWithLMSI.h"
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct ExtensionContainer;
+
+/* RoutingInfoForSM-Res */
+typedef struct RoutingInfoForSM_Res {
+ IMSI_t imsi;
+ LocationInfoWithLMSI_t locationInfoWithLMSI;
+ struct ExtensionContainer *extensionContainer /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} RoutingInfoForSM_Res_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_RoutingInfoForSM_Res;
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Referred external types */
+#include "ExtensionContainer.h"
+
+#endif /* _RoutingInfoForSM_Res_H_ */
diff --git a/include/SM-DeliveryNotIntended.h b/include/SM-DeliveryNotIntended.h
new file mode 100644
index 0000000..f7ce55b
--- /dev/null
+++ b/include/SM-DeliveryNotIntended.h
@@ -0,0 +1,46 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _SM_DeliveryNotIntended_H_
+#define _SM_DeliveryNotIntended_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <ENUMERATED.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum SM_DeliveryNotIntended {
+ SM_DeliveryNotIntended_onlyIMSI_requested = 0,
+ SM_DeliveryNotIntended_onlyMCC_MNC_requested = 1
+ /*
+ * Enumeration is extensible
+ */
+} e_SM_DeliveryNotIntended;
+
+/* SM-DeliveryNotIntended */
+typedef ENUMERATED_t SM_DeliveryNotIntended_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SM_DeliveryNotIntended;
+asn_struct_free_f SM_DeliveryNotIntended_free;
+asn_struct_print_f SM_DeliveryNotIntended_print;
+asn_constr_check_f SM_DeliveryNotIntended_constraint;
+ber_type_decoder_f SM_DeliveryNotIntended_decode_ber;
+der_type_encoder_f SM_DeliveryNotIntended_encode_der;
+xer_type_decoder_f SM_DeliveryNotIntended_decode_xer;
+xer_type_encoder_f SM_DeliveryNotIntended_encode_xer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SM_DeliveryNotIntended_H_ */
diff --git a/include/SM-DeliveryOutcome.h b/include/SM-DeliveryOutcome.h
new file mode 100644
index 0000000..516710f
--- /dev/null
+++ b/include/SM-DeliveryOutcome.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _SM_DeliveryOutcome_H_
+#define _SM_DeliveryOutcome_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <ENUMERATED.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum SM_DeliveryOutcome {
+ SM_DeliveryOutcome_memoryCapacityExceeded = 0,
+ SM_DeliveryOutcome_absentSubscriber = 1,
+ SM_DeliveryOutcome_successfulTransfer = 2
+} e_SM_DeliveryOutcome;
+
+/* SM-DeliveryOutcome */
+typedef ENUMERATED_t SM_DeliveryOutcome_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SM_DeliveryOutcome;
+asn_struct_free_f SM_DeliveryOutcome_free;
+asn_struct_print_f SM_DeliveryOutcome_print;
+asn_constr_check_f SM_DeliveryOutcome_constraint;
+ber_type_decoder_f SM_DeliveryOutcome_decode_ber;
+der_type_encoder_f SM_DeliveryOutcome_encode_der;
+xer_type_decoder_f SM_DeliveryOutcome_decode_xer;
+xer_type_encoder_f SM_DeliveryOutcome_encode_xer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SM_DeliveryOutcome_H_ */
diff --git a/include/SM-RP-DA.h b/include/SM-RP-DA.h
new file mode 100644
index 0000000..b915b7e
--- /dev/null
+++ b/include/SM-RP-DA.h
@@ -0,0 +1,54 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _SM_RP_DA_H_
+#define _SM_RP_DA_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "IMSI.h"
+#include "LMSI.h"
+#include "AddressString.h"
+#include <NULL.h>
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum SM_RP_DA_PR {
+ SM_RP_DA_PR_NOTHING, /* No components present */
+ SM_RP_DA_PR_imsi,
+ SM_RP_DA_PR_lmsi,
+ SM_RP_DA_PR_serviceCentreAddressDA,
+ SM_RP_DA_PR_noSM_RP_DA
+} SM_RP_DA_PR;
+
+/* SM-RP-DA */
+typedef struct SM_RP_DA {
+ SM_RP_DA_PR present;
+ union SM_RP_DA_u {
+ IMSI_t imsi;
+ LMSI_t lmsi;
+ AddressString_t serviceCentreAddressDA;
+ NULL_t noSM_RP_DA;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} SM_RP_DA_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SM_RP_DA;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SM_RP_DA_H_ */
diff --git a/include/SM-RP-MTI.h b/include/SM-RP-MTI.h
new file mode 100644
index 0000000..e588b30
--- /dev/null
+++ b/include/SM-RP-MTI.h
@@ -0,0 +1,37 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _SM_RP_MTI_H_
+#define _SM_RP_MTI_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <NativeInteger.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* SM-RP-MTI */
+typedef long SM_RP_MTI_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SM_RP_MTI;
+asn_struct_free_f SM_RP_MTI_free;
+asn_struct_print_f SM_RP_MTI_print;
+asn_constr_check_f SM_RP_MTI_constraint;
+ber_type_decoder_f SM_RP_MTI_decode_ber;
+der_type_encoder_f SM_RP_MTI_encode_der;
+xer_type_decoder_f SM_RP_MTI_decode_xer;
+xer_type_encoder_f SM_RP_MTI_encode_xer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SM_RP_MTI_H_ */
diff --git a/include/SM-RP-OA.h b/include/SM-RP-OA.h
new file mode 100644
index 0000000..ec47d39
--- /dev/null
+++ b/include/SM-RP-OA.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _SM_RP_OA_H_
+#define _SM_RP_OA_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "ISDN-AddressString.h"
+#include "AddressString.h"
+#include <NULL.h>
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum SM_RP_OA_PR {
+ SM_RP_OA_PR_NOTHING, /* No components present */
+ SM_RP_OA_PR_msisdn,
+ SM_RP_OA_PR_serviceCentreAddressOA,
+ SM_RP_OA_PR_noSM_RP_OA
+} SM_RP_OA_PR;
+
+/* SM-RP-OA */
+typedef struct SM_RP_OA {
+ SM_RP_OA_PR present;
+ union SM_RP_OA_u {
+ ISDN_AddressString_t msisdn;
+ AddressString_t serviceCentreAddressOA;
+ NULL_t noSM_RP_OA;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} SM_RP_OA_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SM_RP_OA;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SM_RP_OA_H_ */
diff --git a/include/SM-RP-SMEA.h b/include/SM-RP-SMEA.h
new file mode 100644
index 0000000..8065c40
--- /dev/null
+++ b/include/SM-RP-SMEA.h
@@ -0,0 +1,37 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#ifndef _SM_RP_SMEA_H_
+#define _SM_RP_SMEA_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <OCTET_STRING.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* SM-RP-SMEA */
+typedef OCTET_STRING_t SM_RP_SMEA_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SM_RP_SMEA;
+asn_struct_free_f SM_RP_SMEA_free;
+asn_struct_print_f SM_RP_SMEA_print;
+asn_constr_check_f SM_RP_SMEA_constraint;
+ber_type_decoder_f SM_RP_SMEA_decode_ber;
+der_type_encoder_f SM_RP_SMEA_encode_der;
+xer_type_decoder_f SM_RP_SMEA_decode_xer;
+xer_type_encoder_f SM_RP_SMEA_encode_xer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _SM_RP_SMEA_H_ */
diff --git a/src/Additional-Number.c b/src/Additional-Number.c
new file mode 100644
index 0000000..9ee2d4e
--- /dev/null
+++ b/src/Additional-Number.c
@@ -0,0 +1,66 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "Additional-Number.h"
+
+static asn_TYPE_member_t asn_MBR_Additional_Number_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct Additional_Number, choice.msc_Number),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ISDN_AddressString,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "msc-Number"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct Additional_Number, choice.sgsn_Number),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ISDN_AddressString,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "sgsn-Number"
+ },
+};
+static asn_TYPE_tag2member_t asn_MAP_Additional_Number_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* msc-Number at 112 */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sgsn-Number at 113 */
+};
+static asn_CHOICE_specifics_t asn_SPC_Additional_Number_specs_1 = {
+ sizeof(struct Additional_Number),
+ offsetof(struct Additional_Number, _asn_ctx),
+ offsetof(struct Additional_Number, present),
+ sizeof(((struct Additional_Number *)0)->present),
+ asn_MAP_Additional_Number_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0,
+ -1 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_Additional_Number = {
+ "Additional-Number",
+ "Additional-Number",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ 0, /* No PER visible constraints */
+ asn_MBR_Additional_Number_1,
+ 2, /* Elements count */
+ &asn_SPC_Additional_Number_specs_1 /* Additional specs */
+};
+
diff --git a/src/AlertReason.c b/src/AlertReason.c
new file mode 100644
index 0000000..2a2e59e
--- /dev/null
+++ b/src/AlertReason.c
@@ -0,0 +1,124 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "AlertReason.h"
+
+int
+AlertReason_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using ENUMERATED,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+AlertReason_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_ENUMERATED.free_struct;
+ td->print_struct = asn_DEF_ENUMERATED.print_struct;
+ td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
+ td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
+ td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
+ td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
+ td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
+ td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
+ td->elements = asn_DEF_ENUMERATED.elements;
+ td->elements_count = asn_DEF_ENUMERATED.elements_count;
+ /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
+}
+
+void
+AlertReason_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ AlertReason_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+AlertReason_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ AlertReason_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+AlertReason_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ AlertReason_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+AlertReason_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ AlertReason_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+AlertReason_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ AlertReason_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+AlertReason_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ AlertReason_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+static asn_INTEGER_enum_map_t asn_MAP_AlertReason_value2enum_1[] = {
+ { 0, 10, "ms-Present" },
+ { 1, 15, "memoryAvailable" }
+};
+static unsigned int asn_MAP_AlertReason_enum2value_1[] = {
+ 1, /* memoryAvailable(1) */
+ 0 /* ms-Present(0) */
+};
+static asn_INTEGER_specifics_t asn_SPC_AlertReason_specs_1 = {
+ asn_MAP_AlertReason_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_AlertReason_enum2value_1, /* N => "tag"; sorted by N */
+ 2, /* Number of elements in the maps */
+ 0, /* Enumeration is not extensible */
+ 1 /* Strict enumeration */
+};
+static ber_tlv_tag_t asn_DEF_AlertReason_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_AlertReason = {
+ "AlertReason",
+ "AlertReason",
+ AlertReason_free,
+ AlertReason_print,
+ AlertReason_constraint,
+ AlertReason_decode_ber,
+ AlertReason_encode_der,
+ AlertReason_decode_xer,
+ AlertReason_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_AlertReason_tags_1,
+ sizeof(asn_DEF_AlertReason_tags_1)
+ /sizeof(asn_DEF_AlertReason_tags_1[0]), /* 1 */
+ asn_DEF_AlertReason_tags_1, /* Same as above */
+ sizeof(asn_DEF_AlertReason_tags_1)
+ /sizeof(asn_DEF_AlertReason_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_AlertReason_specs_1 /* Additional specs */
+};
+
diff --git a/src/AlertServiceCentreArg.c b/src/AlertServiceCentreArg.c
new file mode 100644
index 0000000..9cb2d68
--- /dev/null
+++ b/src/AlertServiceCentreArg.c
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "AlertServiceCentreArg.h"
+
+static asn_TYPE_member_t asn_MBR_AlertServiceCentreArg_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct AlertServiceCentreArg, msisdn),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_ISDN_AddressString,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "msisdn"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AlertServiceCentreArg, serviceCentreAddress),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_AddressString,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "serviceCentreAddress"
+ },
+};
+static ber_tlv_tag_t asn_DEF_AlertServiceCentreArg_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_TYPE_tag2member_t asn_MAP_AlertServiceCentreArg_tag2el_1[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 0, 0, 1 }, /* msisdn at 202 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 1, -1, 0 } /* serviceCentreAddress at 203 */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_AlertServiceCentreArg_specs_1 = {
+ sizeof(struct AlertServiceCentreArg),
+ offsetof(struct AlertServiceCentreArg, _asn_ctx),
+ asn_MAP_AlertServiceCentreArg_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_AlertServiceCentreArg = {
+ "AlertServiceCentreArg",
+ "AlertServiceCentreArg",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_AlertServiceCentreArg_tags_1,
+ sizeof(asn_DEF_AlertServiceCentreArg_tags_1)
+ /sizeof(asn_DEF_AlertServiceCentreArg_tags_1[0]), /* 1 */
+ asn_DEF_AlertServiceCentreArg_tags_1, /* Same as above */
+ sizeof(asn_DEF_AlertServiceCentreArg_tags_1)
+ /sizeof(asn_DEF_AlertServiceCentreArg_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_AlertServiceCentreArg_1,
+ 2, /* Elements count */
+ &asn_SPC_AlertServiceCentreArg_specs_1 /* Additional specs */
+};
+
diff --git a/src/DispatcherList.c b/src/DispatcherList.c
new file mode 100644
index 0000000..2643ab3
--- /dev/null
+++ b/src/DispatcherList.c
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "DispatcherList.h"
+
+static asn_TYPE_member_t asn_MBR_DispatcherList_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_ISDN_AddressString,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ ""
+ },
+};
+static ber_tlv_tag_t asn_DEF_DispatcherList_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_DispatcherList_specs_1 = {
+ sizeof(struct DispatcherList),
+ offsetof(struct DispatcherList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_DispatcherList = {
+ "DispatcherList",
+ "DispatcherList",
+ SEQUENCE_OF_free,
+ SEQUENCE_OF_print,
+ SEQUENCE_OF_constraint,
+ SEQUENCE_OF_decode_ber,
+ SEQUENCE_OF_encode_der,
+ SEQUENCE_OF_decode_xer,
+ SEQUENCE_OF_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_DispatcherList_tags_1,
+ sizeof(asn_DEF_DispatcherList_tags_1)
+ /sizeof(asn_DEF_DispatcherList_tags_1[0]), /* 1 */
+ asn_DEF_DispatcherList_tags_1, /* Same as above */
+ sizeof(asn_DEF_DispatcherList_tags_1)
+ /sizeof(asn_DEF_DispatcherList_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_DispatcherList_1,
+ 1, /* Single element */
+ &asn_SPC_DispatcherList_specs_1 /* Additional specs */
+};
+
diff --git a/src/InformServiceCentreArg.c b/src/InformServiceCentreArg.c
new file mode 100644
index 0000000..b017298
--- /dev/null
+++ b/src/InformServiceCentreArg.c
@@ -0,0 +1,100 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "InformServiceCentreArg.h"
+
+static asn_TYPE_member_t asn_MBR_InformServiceCentreArg_1[] = {
+ { ATF_POINTER, 5, offsetof(struct InformServiceCentreArg, storedMSISDN),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_ISDN_AddressString,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "storedMSISDN"
+ },
+ { ATF_POINTER, 4, offsetof(struct InformServiceCentreArg, mw_Status),
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)),
+ 0,
+ &asn_DEF_MW_Status,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "mw-Status"
+ },
+ { ATF_POINTER, 3, offsetof(struct InformServiceCentreArg, extensionContainer),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ExtensionContainer,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "extensionContainer"
+ },
+ { ATF_POINTER, 2, offsetof(struct InformServiceCentreArg, absentSubscriberDiagnosticSM),
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
+ 0,
+ &asn_DEF_AbsentSubscriberDiagnosticSM,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "absentSubscriberDiagnosticSM"
+ },
+ { ATF_POINTER, 1, offsetof(struct InformServiceCentreArg, additionalAbsentSubscriberDiagnosticSM),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_AbsentSubscriberDiagnosticSM,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "additionalAbsentSubscriberDiagnosticSM"
+ },
+};
+static ber_tlv_tag_t asn_DEF_InformServiceCentreArg_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_TYPE_tag2member_t asn_MAP_InformServiceCentreArg_tag2el_1[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 3, 0, 0 }, /* absentSubscriberDiagnosticSM at 211 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)), 1, 0, 0 }, /* mw-Status at 208 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 0, 0, 0 }, /* storedMSISDN at 207 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 }, /* extensionContainer at 209 */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 4, 0, 0 } /* additionalAbsentSubscriberDiagnosticSM at 212 */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_InformServiceCentreArg_specs_1 = {
+ sizeof(struct InformServiceCentreArg),
+ offsetof(struct InformServiceCentreArg, _asn_ctx),
+ asn_MAP_InformServiceCentreArg_tag2el_1,
+ 5, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* Start extensions */
+ 6 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_InformServiceCentreArg = {
+ "InformServiceCentreArg",
+ "InformServiceCentreArg",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_InformServiceCentreArg_tags_1,
+ sizeof(asn_DEF_InformServiceCentreArg_tags_1)
+ /sizeof(asn_DEF_InformServiceCentreArg_tags_1[0]), /* 1 */
+ asn_DEF_InformServiceCentreArg_tags_1, /* Same as above */
+ sizeof(asn_DEF_InformServiceCentreArg_tags_1)
+ /sizeof(asn_DEF_InformServiceCentreArg_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_InformServiceCentreArg_1,
+ 5, /* Elements count */
+ &asn_SPC_InformServiceCentreArg_specs_1 /* Additional specs */
+};
+
diff --git a/src/LocationInfoWithLMSI.c b/src/LocationInfoWithLMSI.c
new file mode 100644
index 0000000..bda0f12
--- /dev/null
+++ b/src/LocationInfoWithLMSI.c
@@ -0,0 +1,100 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "LocationInfoWithLMSI.h"
+
+static asn_TYPE_member_t asn_MBR_LocationInfoWithLMSI_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct LocationInfoWithLMSI, networkNode_Number),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ISDN_AddressString,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "networkNode-Number"
+ },
+ { ATF_POINTER, 4, offsetof(struct LocationInfoWithLMSI, lmsi),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_LMSI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "lmsi"
+ },
+ { ATF_POINTER, 3, offsetof(struct LocationInfoWithLMSI, extensionContainer),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ExtensionContainer,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "extensionContainer"
+ },
+ { ATF_POINTER, 2, offsetof(struct LocationInfoWithLMSI, gprsNodeIndicator),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NULL,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "gprsNodeIndicator"
+ },
+ { ATF_POINTER, 1, offsetof(struct LocationInfoWithLMSI, additional_Number),
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_Additional_Number,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "additional-Number"
+ },
+};
+static ber_tlv_tag_t asn_DEF_LocationInfoWithLMSI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_TYPE_tag2member_t asn_MAP_LocationInfoWithLMSI_tag2el_1[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 1, 0, 0 }, /* lmsi at 100 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, 0, 0 }, /* extensionContainer at 101 */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* networkNode-Number at 99 */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 3, 0, 0 }, /* gprsNodeIndicator at 103 */
+ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 4, 0, 0 } /* additional-Number at 106 */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_LocationInfoWithLMSI_specs_1 = {
+ sizeof(struct LocationInfoWithLMSI),
+ offsetof(struct LocationInfoWithLMSI, _asn_ctx),
+ asn_MAP_LocationInfoWithLMSI_tag2el_1,
+ 5, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* Start extensions */
+ 6 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_LocationInfoWithLMSI = {
+ "LocationInfoWithLMSI",
+ "LocationInfoWithLMSI",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_LocationInfoWithLMSI_tags_1,
+ sizeof(asn_DEF_LocationInfoWithLMSI_tags_1)
+ /sizeof(asn_DEF_LocationInfoWithLMSI_tags_1[0]), /* 1 */
+ asn_DEF_LocationInfoWithLMSI_tags_1, /* Same as above */
+ sizeof(asn_DEF_LocationInfoWithLMSI_tags_1)
+ /sizeof(asn_DEF_LocationInfoWithLMSI_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_LocationInfoWithLMSI_1,
+ 5, /* Elements count */
+ &asn_SPC_LocationInfoWithLMSI_specs_1 /* Additional specs */
+};
+
diff --git a/src/MO-ForwardSM-Arg.c b/src/MO-ForwardSM-Arg.c
new file mode 100644
index 0000000..8f254d6
--- /dev/null
+++ b/src/MO-ForwardSM-Arg.c
@@ -0,0 +1,105 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "MO-ForwardSM-Arg.h"
+
+static asn_TYPE_member_t asn_MBR_MO_ForwardSM_Arg_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct MO_ForwardSM_Arg, sm_RP_DA),
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_SM_RP_DA,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "sm-RP-DA"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct MO_ForwardSM_Arg, sm_RP_OA),
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_SM_RP_OA,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "sm-RP-OA"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct MO_ForwardSM_Arg, sm_RP_UI),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_SignalInfo,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "sm-RP-UI"
+ },
+ { ATF_POINTER, 2, offsetof(struct MO_ForwardSM_Arg, extensionContainer),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ExtensionContainer,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "extensionContainer"
+ },
+ { ATF_POINTER, 1, offsetof(struct MO_ForwardSM_Arg, imsi),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_IMSI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "imsi"
+ },
+};
+static ber_tlv_tag_t asn_DEF_MO_ForwardSM_Arg_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_TYPE_tag2member_t asn_MAP_MO_ForwardSM_Arg_tag2el_1[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 2, 0, 1 }, /* sm-RP-UI at 123 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 4, -1, 0 }, /* imsi at 126 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, 0, 0 }, /* extensionContainer at 124 */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* imsi at 147 */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* lmsi at 148 */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* msisdn at 153 */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 0, 0, 1 }, /* serviceCentreAddressDA at 149 */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 1, -1, 0 }, /* serviceCentreAddressOA at 154 */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 0, 0, 1 }, /* noSM-RP-DA at 150 */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 1, -1, 0 } /* noSM-RP-OA at 155 */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_MO_ForwardSM_Arg_specs_1 = {
+ sizeof(struct MO_ForwardSM_Arg),
+ offsetof(struct MO_ForwardSM_Arg, _asn_ctx),
+ asn_MAP_MO_ForwardSM_Arg_tag2el_1,
+ 10, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 3, /* Start extensions */
+ 6 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_MO_ForwardSM_Arg = {
+ "MO-ForwardSM-Arg",
+ "MO-ForwardSM-Arg",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_MO_ForwardSM_Arg_tags_1,
+ sizeof(asn_DEF_MO_ForwardSM_Arg_tags_1)
+ /sizeof(asn_DEF_MO_ForwardSM_Arg_tags_1[0]), /* 1 */
+ asn_DEF_MO_ForwardSM_Arg_tags_1, /* Same as above */
+ sizeof(asn_DEF_MO_ForwardSM_Arg_tags_1)
+ /sizeof(asn_DEF_MO_ForwardSM_Arg_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_MO_ForwardSM_Arg_1,
+ 5, /* Elements count */
+ &asn_SPC_MO_ForwardSM_Arg_specs_1 /* Additional specs */
+};
+
diff --git a/src/MO-ForwardSM-Res.c b/src/MO-ForwardSM-Res.c
new file mode 100644
index 0000000..157995e
--- /dev/null
+++ b/src/MO-ForwardSM-Res.c
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "MO-ForwardSM-Res.h"
+
+static asn_TYPE_member_t asn_MBR_MO_ForwardSM_Res_1[] = {
+ { ATF_POINTER, 2, offsetof(struct MO_ForwardSM_Res, sm_RP_UI),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_SignalInfo,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "sm-RP-UI"
+ },
+ { ATF_POINTER, 1, offsetof(struct MO_ForwardSM_Res, extensionContainer),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ExtensionContainer,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "extensionContainer"
+ },
+};
+static ber_tlv_tag_t asn_DEF_MO_ForwardSM_Res_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_TYPE_tag2member_t asn_MAP_MO_ForwardSM_Res_tag2el_1[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 0, 0, 0 }, /* sm-RP-UI at 129 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* extensionContainer at 130 */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_MO_ForwardSM_Res_specs_1 = {
+ sizeof(struct MO_ForwardSM_Res),
+ offsetof(struct MO_ForwardSM_Res, _asn_ctx),
+ asn_MAP_MO_ForwardSM_Res_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_MO_ForwardSM_Res = {
+ "MO-ForwardSM-Res",
+ "MO-ForwardSM-Res",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_MO_ForwardSM_Res_tags_1,
+ sizeof(asn_DEF_MO_ForwardSM_Res_tags_1)
+ /sizeof(asn_DEF_MO_ForwardSM_Res_tags_1[0]), /* 1 */
+ asn_DEF_MO_ForwardSM_Res_tags_1, /* Same as above */
+ sizeof(asn_DEF_MO_ForwardSM_Res_tags_1)
+ /sizeof(asn_DEF_MO_ForwardSM_Res_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_MO_ForwardSM_Res_1,
+ 2, /* Elements count */
+ &asn_SPC_MO_ForwardSM_Res_specs_1 /* Additional specs */
+};
+
diff --git a/src/MT-ForwardSM-Arg.c b/src/MT-ForwardSM-Arg.c
new file mode 100644
index 0000000..5293296
--- /dev/null
+++ b/src/MT-ForwardSM-Arg.c
@@ -0,0 +1,105 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "MT-ForwardSM-Arg.h"
+
+static asn_TYPE_member_t asn_MBR_MT_ForwardSM_Arg_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct MT_ForwardSM_Arg, sm_RP_DA),
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_SM_RP_DA,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "sm-RP-DA"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct MT_ForwardSM_Arg, sm_RP_OA),
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_SM_RP_OA,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "sm-RP-OA"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct MT_ForwardSM_Arg, sm_RP_UI),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_SignalInfo,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "sm-RP-UI"
+ },
+ { ATF_POINTER, 2, offsetof(struct MT_ForwardSM_Arg, moreMessagesToSend),
+ (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
+ 0,
+ &asn_DEF_NULL,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "moreMessagesToSend"
+ },
+ { ATF_POINTER, 1, offsetof(struct MT_ForwardSM_Arg, extensionContainer),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ExtensionContainer,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "extensionContainer"
+ },
+};
+static ber_tlv_tag_t asn_DEF_MT_ForwardSM_Arg_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_TYPE_tag2member_t asn_MAP_MT_ForwardSM_Arg_tag2el_1[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 2, 0, 0 }, /* sm-RP-UI at 136 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), 3, 0, 0 }, /* moreMessagesToSend at 137 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, 0, 0 }, /* extensionContainer at 138 */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* imsi at 147 */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 }, /* lmsi at 148 */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* msisdn at 153 */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 0, 0, 1 }, /* serviceCentreAddressDA at 149 */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 1, -1, 0 }, /* serviceCentreAddressOA at 154 */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 0, 0, 1 }, /* noSM-RP-DA at 150 */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 1, -1, 0 } /* noSM-RP-OA at 155 */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_MT_ForwardSM_Arg_specs_1 = {
+ sizeof(struct MT_ForwardSM_Arg),
+ offsetof(struct MT_ForwardSM_Arg, _asn_ctx),
+ asn_MAP_MT_ForwardSM_Arg_tag2el_1,
+ 10, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 4, /* Start extensions */
+ 6 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_MT_ForwardSM_Arg = {
+ "MT-ForwardSM-Arg",
+ "MT-ForwardSM-Arg",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_MT_ForwardSM_Arg_tags_1,
+ sizeof(asn_DEF_MT_ForwardSM_Arg_tags_1)
+ /sizeof(asn_DEF_MT_ForwardSM_Arg_tags_1[0]), /* 1 */
+ asn_DEF_MT_ForwardSM_Arg_tags_1, /* Same as above */
+ sizeof(asn_DEF_MT_ForwardSM_Arg_tags_1)
+ /sizeof(asn_DEF_MT_ForwardSM_Arg_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_MT_ForwardSM_Arg_1,
+ 5, /* Elements count */
+ &asn_SPC_MT_ForwardSM_Arg_specs_1 /* Additional specs */
+};
+
diff --git a/src/MT-ForwardSM-Res.c b/src/MT-ForwardSM-Res.c
new file mode 100644
index 0000000..30c82ed
--- /dev/null
+++ b/src/MT-ForwardSM-Res.c
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "MT-ForwardSM-Res.h"
+
+static asn_TYPE_member_t asn_MBR_MT_ForwardSM_Res_1[] = {
+ { ATF_POINTER, 2, offsetof(struct MT_ForwardSM_Res, sm_RP_UI),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_SignalInfo,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "sm-RP-UI"
+ },
+ { ATF_POINTER, 1, offsetof(struct MT_ForwardSM_Res, extensionContainer),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ExtensionContainer,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "extensionContainer"
+ },
+};
+static ber_tlv_tag_t asn_DEF_MT_ForwardSM_Res_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_TYPE_tag2member_t asn_MAP_MT_ForwardSM_Res_tag2el_1[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 0, 0, 0 }, /* sm-RP-UI at 142 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* extensionContainer at 143 */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_MT_ForwardSM_Res_specs_1 = {
+ sizeof(struct MT_ForwardSM_Res),
+ offsetof(struct MT_ForwardSM_Res, _asn_ctx),
+ asn_MAP_MT_ForwardSM_Res_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_MT_ForwardSM_Res = {
+ "MT-ForwardSM-Res",
+ "MT-ForwardSM-Res",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_MT_ForwardSM_Res_tags_1,
+ sizeof(asn_DEF_MT_ForwardSM_Res_tags_1)
+ /sizeof(asn_DEF_MT_ForwardSM_Res_tags_1[0]), /* 1 */
+ asn_DEF_MT_ForwardSM_Res_tags_1, /* Same as above */
+ sizeof(asn_DEF_MT_ForwardSM_Res_tags_1)
+ /sizeof(asn_DEF_MT_ForwardSM_Res_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_MT_ForwardSM_Res_1,
+ 2, /* Elements count */
+ &asn_SPC_MT_ForwardSM_Res_specs_1 /* Additional specs */
+};
+
diff --git a/src/MT-ForwardSM-VGCS-Arg.c b/src/MT-ForwardSM-VGCS-Arg.c
new file mode 100644
index 0000000..7f66884
--- /dev/null
+++ b/src/MT-ForwardSM-VGCS-Arg.c
@@ -0,0 +1,92 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "MT-ForwardSM-VGCS-Arg.h"
+
+static asn_TYPE_member_t asn_MBR_MT_ForwardSM_VGCS_Arg_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct MT_ForwardSM_VGCS_Arg, asciCallReference),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_ASCI_CallReference,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "asciCallReference"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct MT_ForwardSM_VGCS_Arg, sm_RP_OA),
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_SM_RP_OA,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "sm-RP-OA"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct MT_ForwardSM_VGCS_Arg, sm_RP_UI),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_SignalInfo,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "sm-RP-UI"
+ },
+ { ATF_POINTER, 1, offsetof(struct MT_ForwardSM_VGCS_Arg, extensionContainer),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ExtensionContainer,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "extensionContainer"
+ },
+};
+static ber_tlv_tag_t asn_DEF_MT_ForwardSM_VGCS_Arg_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_TYPE_tag2member_t asn_MAP_MT_ForwardSM_VGCS_Arg_tag2el_1[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 0, 0, 1 }, /* asciCallReference at 248 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 2, -1, 0 }, /* sm-RP-UI at 250 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, 0, 0 }, /* extensionContainer at 251 */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 }, /* msisdn at 153 */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 1, 0, 0 }, /* serviceCentreAddressOA at 154 */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 1, 0, 0 } /* noSM-RP-OA at 155 */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_MT_ForwardSM_VGCS_Arg_specs_1 = {
+ sizeof(struct MT_ForwardSM_VGCS_Arg),
+ offsetof(struct MT_ForwardSM_VGCS_Arg, _asn_ctx),
+ asn_MAP_MT_ForwardSM_VGCS_Arg_tag2el_1,
+ 6, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 3, /* Start extensions */
+ 5 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_MT_ForwardSM_VGCS_Arg = {
+ "MT-ForwardSM-VGCS-Arg",
+ "MT-ForwardSM-VGCS-Arg",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_MT_ForwardSM_VGCS_Arg_tags_1,
+ sizeof(asn_DEF_MT_ForwardSM_VGCS_Arg_tags_1)
+ /sizeof(asn_DEF_MT_ForwardSM_VGCS_Arg_tags_1[0]), /* 1 */
+ asn_DEF_MT_ForwardSM_VGCS_Arg_tags_1, /* Same as above */
+ sizeof(asn_DEF_MT_ForwardSM_VGCS_Arg_tags_1)
+ /sizeof(asn_DEF_MT_ForwardSM_VGCS_Arg_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_MT_ForwardSM_VGCS_Arg_1,
+ 4, /* Elements count */
+ &asn_SPC_MT_ForwardSM_VGCS_Arg_specs_1 /* Additional specs */
+};
+
diff --git a/src/MT-ForwardSM-VGCS-Res.c b/src/MT-ForwardSM-VGCS-Res.c
new file mode 100644
index 0000000..6ae7c50
--- /dev/null
+++ b/src/MT-ForwardSM-VGCS-Res.c
@@ -0,0 +1,90 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "MT-ForwardSM-VGCS-Res.h"
+
+static asn_TYPE_member_t asn_MBR_MT_ForwardSM_VGCS_Res_1[] = {
+ { ATF_POINTER, 4, offsetof(struct MT_ForwardSM_VGCS_Res, sm_RP_UI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_SignalInfo,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "sm-RP-UI"
+ },
+ { ATF_POINTER, 3, offsetof(struct MT_ForwardSM_VGCS_Res, dispatcherList),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_DispatcherList,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "dispatcherList"
+ },
+ { ATF_POINTER, 2, offsetof(struct MT_ForwardSM_VGCS_Res, ongoingCall),
+ (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
+ 0,
+ &asn_DEF_NULL,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "ongoingCall"
+ },
+ { ATF_POINTER, 1, offsetof(struct MT_ForwardSM_VGCS_Res, extensionContainer),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ExtensionContainer,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "extensionContainer"
+ },
+};
+static ber_tlv_tag_t asn_DEF_MT_ForwardSM_VGCS_Res_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_TYPE_tag2member_t asn_MAP_MT_ForwardSM_VGCS_Res_tag2el_1[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), 2, 0, 0 }, /* ongoingCall at 257 */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sm-RP-UI at 255 */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dispatcherList at 256 */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 3, 0, 0 } /* extensionContainer at 258 */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_MT_ForwardSM_VGCS_Res_specs_1 = {
+ sizeof(struct MT_ForwardSM_VGCS_Res),
+ offsetof(struct MT_ForwardSM_VGCS_Res, _asn_ctx),
+ asn_MAP_MT_ForwardSM_VGCS_Res_tag2el_1,
+ 4, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 3, /* Start extensions */
+ 5 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_MT_ForwardSM_VGCS_Res = {
+ "MT-ForwardSM-VGCS-Res",
+ "MT-ForwardSM-VGCS-Res",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_MT_ForwardSM_VGCS_Res_tags_1,
+ sizeof(asn_DEF_MT_ForwardSM_VGCS_Res_tags_1)
+ /sizeof(asn_DEF_MT_ForwardSM_VGCS_Res_tags_1[0]), /* 1 */
+ asn_DEF_MT_ForwardSM_VGCS_Res_tags_1, /* Same as above */
+ sizeof(asn_DEF_MT_ForwardSM_VGCS_Res_tags_1)
+ /sizeof(asn_DEF_MT_ForwardSM_VGCS_Res_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_MT_ForwardSM_VGCS_Res_1,
+ 4, /* Elements count */
+ &asn_SPC_MT_ForwardSM_VGCS_Res_specs_1 /* Additional specs */
+};
+
diff --git a/src/MW-Status.c b/src/MW-Status.c
new file mode 100644
index 0000000..e2b2794
--- /dev/null
+++ b/src/MW-Status.c
@@ -0,0 +1,132 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "MW-Status.h"
+
+int
+MW_Status_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ if(st->size > 0) {
+ /* Size in bits */
+ size = 8 * st->size - (st->bits_unused & 0x07);
+ } else {
+ size = 0;
+ }
+
+ if((size >= 6 && size <= 16)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using BIT_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+MW_Status_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_BIT_STRING.free_struct;
+ td->print_struct = asn_DEF_BIT_STRING.print_struct;
+ td->ber_decoder = asn_DEF_BIT_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_BIT_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_BIT_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_BIT_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_BIT_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_BIT_STRING.uper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_BIT_STRING.per_constraints;
+ td->elements = asn_DEF_BIT_STRING.elements;
+ td->elements_count = asn_DEF_BIT_STRING.elements_count;
+ td->specifics = asn_DEF_BIT_STRING.specifics;
+}
+
+void
+MW_Status_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ MW_Status_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+MW_Status_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ MW_Status_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+MW_Status_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ MW_Status_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+MW_Status_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ MW_Status_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+MW_Status_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ MW_Status_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+MW_Status_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ MW_Status_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+static ber_tlv_tag_t asn_DEF_MW_Status_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_MW_Status = {
+ "MW-Status",
+ "MW-Status",
+ MW_Status_free,
+ MW_Status_print,
+ MW_Status_constraint,
+ MW_Status_decode_ber,
+ MW_Status_encode_der,
+ MW_Status_decode_xer,
+ MW_Status_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_MW_Status_tags_1,
+ sizeof(asn_DEF_MW_Status_tags_1)
+ /sizeof(asn_DEF_MW_Status_tags_1[0]), /* 1 */
+ asn_DEF_MW_Status_tags_1, /* Same as above */
+ sizeof(asn_DEF_MW_Status_tags_1)
+ /sizeof(asn_DEF_MW_Status_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* Defined elsewhere */
+ 0 /* No specifics */
+};
+
diff --git a/src/Makefile.am.sample b/src/Makefile.am.sample
index bcf4c4e..9c1bff1 100644
--- a/src/Makefile.am.sample
+++ b/src/Makefile.am.sample
@@ -643,7 +643,32 @@ ASN_MODULE_SOURCES= \
ResourceUnavailableReason.c \
ProcedureCancellationReason.c \
MAP-ProviderAbortInfo.c \
- MAP-ProviderAbortReason.c
+ MAP-ProviderAbortReason.c \
+ RoutingInfoForSM-Arg.c \
+ SM-DeliveryNotIntended.c \
+ SM-RP-MTI.c \
+ SM-RP-SMEA.c \
+ RoutingInfoForSM-Res.c \
+ LocationInfoWithLMSI.c \
+ Additional-Number.c \
+ MO-ForwardSM-Arg.c \
+ MO-ForwardSM-Res.c \
+ MT-ForwardSM-Arg.c \
+ MT-ForwardSM-Res.c \
+ SM-RP-DA.c \
+ SM-RP-OA.c \
+ ReportSM-DeliveryStatusArg.c \
+ SM-DeliveryOutcome.c \
+ ReportSM-DeliveryStatusRes.c \
+ AlertServiceCentreArg.c \
+ InformServiceCentreArg.c \
+ MW-Status.c \
+ ReadyForSM-Arg.c \
+ ReadyForSM-Res.c \
+ AlertReason.c \
+ MT-ForwardSM-VGCS-Arg.c \
+ MT-ForwardSM-VGCS-Res.c \
+ DispatcherList.c
ASN_MODULE_HEADERS= \
Component.h \
@@ -1290,7 +1315,32 @@ ASN_MODULE_HEADERS= \
ResourceUnavailableReason.h \
ProcedureCancellationReason.h \
MAP-ProviderAbortInfo.h \
- MAP-ProviderAbortReason.h
+ MAP-ProviderAbortReason.h \
+ RoutingInfoForSM-Arg.h \
+ SM-DeliveryNotIntended.h \
+ SM-RP-MTI.h \
+ SM-RP-SMEA.h \
+ RoutingInfoForSM-Res.h \
+ LocationInfoWithLMSI.h \
+ Additional-Number.h \
+ MO-ForwardSM-Arg.h \
+ MO-ForwardSM-Res.h \
+ MT-ForwardSM-Arg.h \
+ MT-ForwardSM-Res.h \
+ SM-RP-DA.h \
+ SM-RP-OA.h \
+ ReportSM-DeliveryStatusArg.h \
+ SM-DeliveryOutcome.h \
+ ReportSM-DeliveryStatusRes.h \
+ AlertServiceCentreArg.h \
+ InformServiceCentreArg.h \
+ MW-Status.h \
+ ReadyForSM-Arg.h \
+ ReadyForSM-Res.h \
+ AlertReason.h \
+ MT-ForwardSM-VGCS-Arg.h \
+ MT-ForwardSM-VGCS-Res.h \
+ DispatcherList.h
ASN_MODULE_HEADERS+=ANY.h
ASN_MODULE_SOURCES+=ANY.c
@@ -1387,5 +1437,5 @@ clean:
regen: regenerate-from-asn1-source
regenerate-from-asn1-source:
- asn1c -pdu=auto ../asn//GSMMAP.asn ../asn//MAP-MS-DataTypes.asn ../asn//MAP-SS-DataTypes.asn ../asn//MAP-CommonDataTypes.asn ../asn//MAP-ExtensionDataTypes.asn ../asn//MAP-SS-Code.asn ../asn//MAP-BS-Code.asn ../asn//MAP-TS-Code.asn ../asn//MAP-ER-DataTypes.asn ../asn//MAP-OM-DataTypes.asn ../asn//MAP-CH-DataTypes.asn ../asn//MAP-DialogueInformation.asn
+ asn1c -pdu=auto ../asn//GSMMAP.asn ../asn//MAP-MS-DataTypes.asn ../asn//MAP-SS-DataTypes.asn ../asn//MAP-CommonDataTypes.asn ../asn//MAP-ExtensionDataTypes.asn ../asn//MAP-SS-Code.asn ../asn//MAP-BS-Code.asn ../asn//MAP-TS-Code.asn ../asn//MAP-ER-DataTypes.asn ../asn//MAP-OM-DataTypes.asn ../asn//MAP-CH-DataTypes.asn ../asn//MAP-DialogueInformation.asn ../asn//MAP-SM-DataTypes.asn
diff --git a/src/ReadyForSM-Arg.c b/src/ReadyForSM-Arg.c
new file mode 100644
index 0000000..29f653c
--- /dev/null
+++ b/src/ReadyForSM-Arg.c
@@ -0,0 +1,100 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "ReadyForSM-Arg.h"
+
+static asn_TYPE_member_t asn_MBR_ReadyForSM_Arg_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct ReadyForSM_Arg, imsi),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_IMSI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "imsi"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct ReadyForSM_Arg, alertReason),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
+ 0,
+ &asn_DEF_AlertReason,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "alertReason"
+ },
+ { ATF_POINTER, 3, offsetof(struct ReadyForSM_Arg, alertReasonIndicator),
+ (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
+ 0,
+ &asn_DEF_NULL,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "alertReasonIndicator"
+ },
+ { ATF_POINTER, 2, offsetof(struct ReadyForSM_Arg, extensionContainer),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ExtensionContainer,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "extensionContainer"
+ },
+ { ATF_POINTER, 1, offsetof(struct ReadyForSM_Arg, additionalAlertReasonIndicator),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NULL,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "additionalAlertReasonIndicator"
+ },
+};
+static ber_tlv_tag_t asn_DEF_ReadyForSM_Arg_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_TYPE_tag2member_t asn_MAP_ReadyForSM_Arg_tag2el_1[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), 2, 0, 0 }, /* alertReasonIndicator at 229 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 1, 0, 0 }, /* alertReason at 228 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, 0, 0 }, /* extensionContainer at 232 */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* imsi at 227 */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 4, 0, 0 } /* additionalAlertReasonIndicator at 234 */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_ReadyForSM_Arg_specs_1 = {
+ sizeof(struct ReadyForSM_Arg),
+ offsetof(struct ReadyForSM_Arg, _asn_ctx),
+ asn_MAP_ReadyForSM_Arg_tag2el_1,
+ 5, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 3, /* Start extensions */
+ 6 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_ReadyForSM_Arg = {
+ "ReadyForSM-Arg",
+ "ReadyForSM-Arg",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_ReadyForSM_Arg_tags_1,
+ sizeof(asn_DEF_ReadyForSM_Arg_tags_1)
+ /sizeof(asn_DEF_ReadyForSM_Arg_tags_1[0]), /* 1 */
+ asn_DEF_ReadyForSM_Arg_tags_1, /* Same as above */
+ sizeof(asn_DEF_ReadyForSM_Arg_tags_1)
+ /sizeof(asn_DEF_ReadyForSM_Arg_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_ReadyForSM_Arg_1,
+ 5, /* Elements count */
+ &asn_SPC_ReadyForSM_Arg_specs_1 /* Additional specs */
+};
+
diff --git a/src/ReadyForSM-Res.c b/src/ReadyForSM-Res.c
new file mode 100644
index 0000000..d0ad11d
--- /dev/null
+++ b/src/ReadyForSM-Res.c
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "ReadyForSM-Res.h"
+
+static asn_TYPE_member_t asn_MBR_ReadyForSM_Res_1[] = {
+ { ATF_POINTER, 1, offsetof(struct ReadyForSM_Res, extensionContainer),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ExtensionContainer,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "extensionContainer"
+ },
+};
+static ber_tlv_tag_t asn_DEF_ReadyForSM_Res_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_TYPE_tag2member_t asn_MAP_ReadyForSM_Res_tag2el_1[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* extensionContainer at 240 */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_ReadyForSM_Res_specs_1 = {
+ sizeof(struct ReadyForSM_Res),
+ offsetof(struct ReadyForSM_Res, _asn_ctx),
+ asn_MAP_ReadyForSM_Res_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 0, /* Start extensions */
+ 2 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_ReadyForSM_Res = {
+ "ReadyForSM-Res",
+ "ReadyForSM-Res",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_ReadyForSM_Res_tags_1,
+ sizeof(asn_DEF_ReadyForSM_Res_tags_1)
+ /sizeof(asn_DEF_ReadyForSM_Res_tags_1[0]), /* 1 */
+ asn_DEF_ReadyForSM_Res_tags_1, /* Same as above */
+ sizeof(asn_DEF_ReadyForSM_Res_tags_1)
+ /sizeof(asn_DEF_ReadyForSM_Res_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_ReadyForSM_Res_1,
+ 1, /* Elements count */
+ &asn_SPC_ReadyForSM_Res_specs_1 /* Additional specs */
+};
+
diff --git a/src/ReportSM-DeliveryStatusArg.c b/src/ReportSM-DeliveryStatusArg.c
new file mode 100644
index 0000000..12ac49a
--- /dev/null
+++ b/src/ReportSM-DeliveryStatusArg.c
@@ -0,0 +1,170 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "ReportSM-DeliveryStatusArg.h"
+
+static asn_TYPE_member_t asn_MBR_ReportSM_DeliveryStatusArg_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct ReportSM_DeliveryStatusArg, msisdn),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_ISDN_AddressString,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "msisdn"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct ReportSM_DeliveryStatusArg, serviceCentreAddress),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_AddressString,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "serviceCentreAddress"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct ReportSM_DeliveryStatusArg, sm_DeliveryOutcome),
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
+ 0,
+ &asn_DEF_SM_DeliveryOutcome,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "sm-DeliveryOutcome"
+ },
+ { ATF_POINTER, 9, offsetof(struct ReportSM_DeliveryStatusArg, absentSubscriberDiagnosticSM),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_AbsentSubscriberDiagnosticSM,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "absentSubscriberDiagnosticSM"
+ },
+ { ATF_POINTER, 8, offsetof(struct ReportSM_DeliveryStatusArg, extensionContainer),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ExtensionContainer,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "extensionContainer"
+ },
+ { ATF_POINTER, 7, offsetof(struct ReportSM_DeliveryStatusArg, gprsSupportIndicator),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NULL,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "gprsSupportIndicator"
+ },
+ { ATF_POINTER, 6, offsetof(struct ReportSM_DeliveryStatusArg, deliveryOutcomeIndicator),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NULL,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "deliveryOutcomeIndicator"
+ },
+ { ATF_POINTER, 5, offsetof(struct ReportSM_DeliveryStatusArg, additionalSM_DeliveryOutcome),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_SM_DeliveryOutcome,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "additionalSM-DeliveryOutcome"
+ },
+ { ATF_POINTER, 4, offsetof(struct ReportSM_DeliveryStatusArg, additionalAbsentSubscriberDiagnosticSM),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_AbsentSubscriberDiagnosticSM,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "additionalAbsentSubscriberDiagnosticSM"
+ },
+ { ATF_POINTER, 3, offsetof(struct ReportSM_DeliveryStatusArg, ip_sm_gw_Indicator),
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NULL,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "ip-sm-gw-Indicator"
+ },
+ { ATF_POINTER, 2, offsetof(struct ReportSM_DeliveryStatusArg, ip_sm_gw_sm_deliveryOutcome),
+ (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_SM_DeliveryOutcome,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "ip-sm-gw-sm-deliveryOutcome"
+ },
+ { ATF_POINTER, 1, offsetof(struct ReportSM_DeliveryStatusArg, ip_sm_gw_absentSubscriberDiagnosticSM),
+ (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_AbsentSubscriberDiagnosticSM,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "ip-sm-gw-absentSubscriberDiagnosticSM"
+ },
+};
+static ber_tlv_tag_t asn_DEF_ReportSM_DeliveryStatusArg_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_TYPE_tag2member_t asn_MAP_ReportSM_DeliveryStatusArg_tag2el_1[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 0, 0, 1 }, /* msisdn at 158 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 1, -1, 0 }, /* serviceCentreAddress at 159 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 2, 0, 0 }, /* sm-DeliveryOutcome at 160 */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 3, 0, 0 }, /* absentSubscriberDiagnosticSM at 162 */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 4, 0, 0 }, /* extensionContainer at 163 */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 5, 0, 0 }, /* gprsSupportIndicator at 165 */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 6, 0, 0 }, /* deliveryOutcomeIndicator at 168 */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 7, 0, 0 }, /* additionalSM-DeliveryOutcome at 171 */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 8, 0, 0 }, /* additionalAbsentSubscriberDiagnosticSM at 174 */
+ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 9, 0, 0 }, /* ip-sm-gw-Indicator at 178 */
+ { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 10, 0, 0 }, /* ip-sm-gw-sm-deliveryOutcome at 182 */
+ { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 11, 0, 0 } /* ip-sm-gw-absentSubscriberDiagnosticSM at 185 */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_ReportSM_DeliveryStatusArg_specs_1 = {
+ sizeof(struct ReportSM_DeliveryStatusArg),
+ offsetof(struct ReportSM_DeliveryStatusArg, _asn_ctx),
+ asn_MAP_ReportSM_DeliveryStatusArg_tag2el_1,
+ 12, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 4, /* Start extensions */
+ 13 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_ReportSM_DeliveryStatusArg = {
+ "ReportSM-DeliveryStatusArg",
+ "ReportSM-DeliveryStatusArg",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_ReportSM_DeliveryStatusArg_tags_1,
+ sizeof(asn_DEF_ReportSM_DeliveryStatusArg_tags_1)
+ /sizeof(asn_DEF_ReportSM_DeliveryStatusArg_tags_1[0]), /* 1 */
+ asn_DEF_ReportSM_DeliveryStatusArg_tags_1, /* Same as above */
+ sizeof(asn_DEF_ReportSM_DeliveryStatusArg_tags_1)
+ /sizeof(asn_DEF_ReportSM_DeliveryStatusArg_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_ReportSM_DeliveryStatusArg_1,
+ 12, /* Elements count */
+ &asn_SPC_ReportSM_DeliveryStatusArg_specs_1 /* Additional specs */
+};
+
diff --git a/src/ReportSM-DeliveryStatusRes.c b/src/ReportSM-DeliveryStatusRes.c
new file mode 100644
index 0000000..1143eae
--- /dev/null
+++ b/src/ReportSM-DeliveryStatusRes.c
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "ReportSM-DeliveryStatusRes.h"
+
+static asn_TYPE_member_t asn_MBR_ReportSM_DeliveryStatusRes_1[] = {
+ { ATF_POINTER, 2, offsetof(struct ReportSM_DeliveryStatusRes, storedMSISDN),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_ISDN_AddressString,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "storedMSISDN"
+ },
+ { ATF_POINTER, 1, offsetof(struct ReportSM_DeliveryStatusRes, extensionContainer),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_ExtensionContainer,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "extensionContainer"
+ },
+};
+static ber_tlv_tag_t asn_DEF_ReportSM_DeliveryStatusRes_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_TYPE_tag2member_t asn_MAP_ReportSM_DeliveryStatusRes_tag2el_1[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 0, 0, 0 }, /* storedMSISDN at 197 */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* extensionContainer at 198 */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_ReportSM_DeliveryStatusRes_specs_1 = {
+ sizeof(struct ReportSM_DeliveryStatusRes),
+ offsetof(struct ReportSM_DeliveryStatusRes, _asn_ctx),
+ asn_MAP_ReportSM_DeliveryStatusRes_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* Start extensions */
+ 3 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_ReportSM_DeliveryStatusRes = {
+ "ReportSM-DeliveryStatusRes",
+ "ReportSM-DeliveryStatusRes",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_ReportSM_DeliveryStatusRes_tags_1,
+ sizeof(asn_DEF_ReportSM_DeliveryStatusRes_tags_1)
+ /sizeof(asn_DEF_ReportSM_DeliveryStatusRes_tags_1[0]), /* 1 */
+ asn_DEF_ReportSM_DeliveryStatusRes_tags_1, /* Same as above */
+ sizeof(asn_DEF_ReportSM_DeliveryStatusRes_tags_1)
+ /sizeof(asn_DEF_ReportSM_DeliveryStatusRes_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_ReportSM_DeliveryStatusRes_1,
+ 2, /* Elements count */
+ &asn_SPC_ReportSM_DeliveryStatusRes_specs_1 /* Additional specs */
+};
+
diff --git a/src/RoutingInfoForSM-Arg.c b/src/RoutingInfoForSM-Arg.c
new file mode 100644
index 0000000..a7f775c
--- /dev/null
+++ b/src/RoutingInfoForSM-Arg.c
@@ -0,0 +1,130 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "RoutingInfoForSM-Arg.h"
+
+static asn_TYPE_member_t asn_MBR_RoutingInfoForSM_Arg_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RoutingInfoForSM_Arg, msisdn),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ISDN_AddressString,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "msisdn"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RoutingInfoForSM_Arg, sm_RP_PRI),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BOOLEAN,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "sm-RP-PRI"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RoutingInfoForSM_Arg, serviceCentreAddress),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_AddressString,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "serviceCentreAddress"
+ },
+ { ATF_POINTER, 5, offsetof(struct RoutingInfoForSM_Arg, extensionContainer),
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ExtensionContainer,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "extensionContainer"
+ },
+ { ATF_POINTER, 4, offsetof(struct RoutingInfoForSM_Arg, gprsSupportIndicator),
+ (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NULL,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "gprsSupportIndicator"
+ },
+ { ATF_POINTER, 3, offsetof(struct RoutingInfoForSM_Arg, sm_RP_MTI),
+ (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_SM_RP_MTI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "sm-RP-MTI"
+ },
+ { ATF_POINTER, 2, offsetof(struct RoutingInfoForSM_Arg, sm_RP_SMEA),
+ (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_SM_RP_SMEA,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "sm-RP-SMEA"
+ },
+ { ATF_POINTER, 1, offsetof(struct RoutingInfoForSM_Arg, sm_deliveryNotIntended),
+ (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_SM_DeliveryNotIntended,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "sm-deliveryNotIntended"
+ },
+};
+static ber_tlv_tag_t asn_DEF_RoutingInfoForSM_Arg_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_TYPE_tag2member_t asn_MAP_RoutingInfoForSM_Arg_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* msisdn at 62 */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sm-RP-PRI at 63 */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* serviceCentreAddress at 64 */
+ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 3, 0, 0 }, /* extensionContainer at 65 */
+ { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 4, 0, 0 }, /* gprsSupportIndicator at 67 */
+ { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 5, 0, 0 }, /* sm-RP-MTI at 70 */
+ { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 6, 0, 0 }, /* sm-RP-SMEA at 71 */
+ { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 7, 0, 0 } /* sm-deliveryNotIntended at 72 */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RoutingInfoForSM_Arg_specs_1 = {
+ sizeof(struct RoutingInfoForSM_Arg),
+ offsetof(struct RoutingInfoForSM_Arg, _asn_ctx),
+ asn_MAP_RoutingInfoForSM_Arg_tag2el_1,
+ 8, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 3, /* Start extensions */
+ 9 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RoutingInfoForSM_Arg = {
+ "RoutingInfoForSM-Arg",
+ "RoutingInfoForSM-Arg",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RoutingInfoForSM_Arg_tags_1,
+ sizeof(asn_DEF_RoutingInfoForSM_Arg_tags_1)
+ /sizeof(asn_DEF_RoutingInfoForSM_Arg_tags_1[0]), /* 1 */
+ asn_DEF_RoutingInfoForSM_Arg_tags_1, /* Same as above */
+ sizeof(asn_DEF_RoutingInfoForSM_Arg_tags_1)
+ /sizeof(asn_DEF_RoutingInfoForSM_Arg_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RoutingInfoForSM_Arg_1,
+ 8, /* Elements count */
+ &asn_SPC_RoutingInfoForSM_Arg_specs_1 /* Additional specs */
+};
+
diff --git a/src/RoutingInfoForSM-Res.c b/src/RoutingInfoForSM-Res.c
new file mode 100644
index 0000000..f04a832
--- /dev/null
+++ b/src/RoutingInfoForSM-Res.c
@@ -0,0 +1,80 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "RoutingInfoForSM-Res.h"
+
+static asn_TYPE_member_t asn_MBR_RoutingInfoForSM_Res_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct RoutingInfoForSM_Res, imsi),
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_IMSI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "imsi"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct RoutingInfoForSM_Res, locationInfoWithLMSI),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_LocationInfoWithLMSI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "locationInfoWithLMSI"
+ },
+ { ATF_POINTER, 1, offsetof(struct RoutingInfoForSM_Res, extensionContainer),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ExtensionContainer,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "extensionContainer"
+ },
+};
+static ber_tlv_tag_t asn_DEF_RoutingInfoForSM_Res_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_TYPE_tag2member_t asn_MAP_RoutingInfoForSM_Res_tag2el_1[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 0, 0, 0 }, /* imsi at 93 */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 1, 0, 0 }, /* locationInfoWithLMSI at 94 */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 2, 0, 0 } /* extensionContainer at 95 */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_RoutingInfoForSM_Res_specs_1 = {
+ sizeof(struct RoutingInfoForSM_Res),
+ offsetof(struct RoutingInfoForSM_Res, _asn_ctx),
+ asn_MAP_RoutingInfoForSM_Res_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* Start extensions */
+ 4 /* Stop extensions */
+};
+asn_TYPE_descriptor_t asn_DEF_RoutingInfoForSM_Res = {
+ "RoutingInfoForSM-Res",
+ "RoutingInfoForSM-Res",
+ SEQUENCE_free,
+ SEQUENCE_print,
+ SEQUENCE_constraint,
+ SEQUENCE_decode_ber,
+ SEQUENCE_encode_der,
+ SEQUENCE_decode_xer,
+ SEQUENCE_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_RoutingInfoForSM_Res_tags_1,
+ sizeof(asn_DEF_RoutingInfoForSM_Res_tags_1)
+ /sizeof(asn_DEF_RoutingInfoForSM_Res_tags_1[0]), /* 1 */
+ asn_DEF_RoutingInfoForSM_Res_tags_1, /* Same as above */
+ sizeof(asn_DEF_RoutingInfoForSM_Res_tags_1)
+ /sizeof(asn_DEF_RoutingInfoForSM_Res_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ asn_MBR_RoutingInfoForSM_Res_1,
+ 3, /* Elements count */
+ &asn_SPC_RoutingInfoForSM_Res_specs_1 /* Additional specs */
+};
+
diff --git a/src/SM-DeliveryNotIntended.c b/src/SM-DeliveryNotIntended.c
new file mode 100644
index 0000000..aa3cc71
--- /dev/null
+++ b/src/SM-DeliveryNotIntended.c
@@ -0,0 +1,126 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "SM-DeliveryNotIntended.h"
+
+int
+SM_DeliveryNotIntended_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using ENUMERATED,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+SM_DeliveryNotIntended_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_ENUMERATED.free_struct;
+ td->print_struct = asn_DEF_ENUMERATED.print_struct;
+ td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
+ td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
+ td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
+ td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
+ td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
+ td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
+ td->elements = asn_DEF_ENUMERATED.elements;
+ td->elements_count = asn_DEF_ENUMERATED.elements_count;
+ /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
+}
+
+void
+SM_DeliveryNotIntended_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ SM_DeliveryNotIntended_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+SM_DeliveryNotIntended_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ SM_DeliveryNotIntended_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+SM_DeliveryNotIntended_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ SM_DeliveryNotIntended_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+SM_DeliveryNotIntended_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ SM_DeliveryNotIntended_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+SM_DeliveryNotIntended_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ SM_DeliveryNotIntended_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+SM_DeliveryNotIntended_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ SM_DeliveryNotIntended_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+static asn_INTEGER_enum_map_t asn_MAP_SM_DeliveryNotIntended_value2enum_1[] = {
+ { 0, 18, "onlyIMSI-requested" },
+ { 1, 21, "onlyMCC-MNC-requested" }
+ /* This list is extensible */
+};
+static unsigned int asn_MAP_SM_DeliveryNotIntended_enum2value_1[] = {
+ 0, /* onlyIMSI-requested(0) */
+ 1 /* onlyMCC-MNC-requested(1) */
+ /* This list is extensible */
+};
+static asn_INTEGER_specifics_t asn_SPC_SM_DeliveryNotIntended_specs_1 = {
+ asn_MAP_SM_DeliveryNotIntended_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_SM_DeliveryNotIntended_enum2value_1, /* N => "tag"; sorted by N */
+ 2, /* Number of elements in the maps */
+ 3, /* Extensions before this member */
+ 1 /* Strict enumeration */
+};
+static ber_tlv_tag_t asn_DEF_SM_DeliveryNotIntended_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_SM_DeliveryNotIntended = {
+ "SM-DeliveryNotIntended",
+ "SM-DeliveryNotIntended",
+ SM_DeliveryNotIntended_free,
+ SM_DeliveryNotIntended_print,
+ SM_DeliveryNotIntended_constraint,
+ SM_DeliveryNotIntended_decode_ber,
+ SM_DeliveryNotIntended_encode_der,
+ SM_DeliveryNotIntended_decode_xer,
+ SM_DeliveryNotIntended_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_SM_DeliveryNotIntended_tags_1,
+ sizeof(asn_DEF_SM_DeliveryNotIntended_tags_1)
+ /sizeof(asn_DEF_SM_DeliveryNotIntended_tags_1[0]), /* 1 */
+ asn_DEF_SM_DeliveryNotIntended_tags_1, /* Same as above */
+ sizeof(asn_DEF_SM_DeliveryNotIntended_tags_1)
+ /sizeof(asn_DEF_SM_DeliveryNotIntended_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_SM_DeliveryNotIntended_specs_1 /* Additional specs */
+};
+
diff --git a/src/SM-DeliveryOutcome.c b/src/SM-DeliveryOutcome.c
new file mode 100644
index 0000000..cf8fcc1
--- /dev/null
+++ b/src/SM-DeliveryOutcome.c
@@ -0,0 +1,126 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "SM-DeliveryOutcome.h"
+
+int
+SM_DeliveryOutcome_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ /* Replace with underlying type checker */
+ td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
+ return td->check_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using ENUMERATED,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+SM_DeliveryOutcome_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_ENUMERATED.free_struct;
+ td->print_struct = asn_DEF_ENUMERATED.print_struct;
+ td->ber_decoder = asn_DEF_ENUMERATED.ber_decoder;
+ td->der_encoder = asn_DEF_ENUMERATED.der_encoder;
+ td->xer_decoder = asn_DEF_ENUMERATED.xer_decoder;
+ td->xer_encoder = asn_DEF_ENUMERATED.xer_encoder;
+ td->uper_decoder = asn_DEF_ENUMERATED.uper_decoder;
+ td->uper_encoder = asn_DEF_ENUMERATED.uper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_ENUMERATED.per_constraints;
+ td->elements = asn_DEF_ENUMERATED.elements;
+ td->elements_count = asn_DEF_ENUMERATED.elements_count;
+ /* td->specifics = asn_DEF_ENUMERATED.specifics; // Defined explicitly */
+}
+
+void
+SM_DeliveryOutcome_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ SM_DeliveryOutcome_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+SM_DeliveryOutcome_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ SM_DeliveryOutcome_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+SM_DeliveryOutcome_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ SM_DeliveryOutcome_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+SM_DeliveryOutcome_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ SM_DeliveryOutcome_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+SM_DeliveryOutcome_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ SM_DeliveryOutcome_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+SM_DeliveryOutcome_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ SM_DeliveryOutcome_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+static asn_INTEGER_enum_map_t asn_MAP_SM_DeliveryOutcome_value2enum_1[] = {
+ { 0, 22, "memoryCapacityExceeded" },
+ { 1, 16, "absentSubscriber" },
+ { 2, 18, "successfulTransfer" }
+};
+static unsigned int asn_MAP_SM_DeliveryOutcome_enum2value_1[] = {
+ 1, /* absentSubscriber(1) */
+ 0, /* memoryCapacityExceeded(0) */
+ 2 /* successfulTransfer(2) */
+};
+static asn_INTEGER_specifics_t asn_SPC_SM_DeliveryOutcome_specs_1 = {
+ asn_MAP_SM_DeliveryOutcome_value2enum_1, /* "tag" => N; sorted by tag */
+ asn_MAP_SM_DeliveryOutcome_enum2value_1, /* N => "tag"; sorted by N */
+ 3, /* Number of elements in the maps */
+ 0, /* Enumeration is not extensible */
+ 1 /* Strict enumeration */
+};
+static ber_tlv_tag_t asn_DEF_SM_DeliveryOutcome_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_SM_DeliveryOutcome = {
+ "SM-DeliveryOutcome",
+ "SM-DeliveryOutcome",
+ SM_DeliveryOutcome_free,
+ SM_DeliveryOutcome_print,
+ SM_DeliveryOutcome_constraint,
+ SM_DeliveryOutcome_decode_ber,
+ SM_DeliveryOutcome_encode_der,
+ SM_DeliveryOutcome_decode_xer,
+ SM_DeliveryOutcome_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_SM_DeliveryOutcome_tags_1,
+ sizeof(asn_DEF_SM_DeliveryOutcome_tags_1)
+ /sizeof(asn_DEF_SM_DeliveryOutcome_tags_1[0]), /* 1 */
+ asn_DEF_SM_DeliveryOutcome_tags_1, /* Same as above */
+ sizeof(asn_DEF_SM_DeliveryOutcome_tags_1)
+ /sizeof(asn_DEF_SM_DeliveryOutcome_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* Defined elsewhere */
+ &asn_SPC_SM_DeliveryOutcome_specs_1 /* Additional specs */
+};
+
diff --git a/src/SM-RP-DA.c b/src/SM-RP-DA.c
new file mode 100644
index 0000000..1f76c41
--- /dev/null
+++ b/src/SM-RP-DA.c
@@ -0,0 +1,86 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "SM-RP-DA.h"
+
+static asn_TYPE_member_t asn_MBR_SM_RP_DA_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct SM_RP_DA, choice.imsi),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_IMSI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "imsi"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct SM_RP_DA, choice.lmsi),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_LMSI,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "lmsi"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct SM_RP_DA, choice.serviceCentreAddressDA),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_AddressString,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "serviceCentreAddressDA"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct SM_RP_DA, choice.noSM_RP_DA),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NULL,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "noSM-RP-DA"
+ },
+};
+static asn_TYPE_tag2member_t asn_MAP_SM_RP_DA_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* imsi at 147 */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* lmsi at 148 */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 2, 0, 0 }, /* serviceCentreAddressDA at 149 */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 3, 0, 0 } /* noSM-RP-DA at 150 */
+};
+static asn_CHOICE_specifics_t asn_SPC_SM_RP_DA_specs_1 = {
+ sizeof(struct SM_RP_DA),
+ offsetof(struct SM_RP_DA, _asn_ctx),
+ offsetof(struct SM_RP_DA, present),
+ sizeof(((struct SM_RP_DA *)0)->present),
+ asn_MAP_SM_RP_DA_tag2el_1,
+ 4, /* Count of tags in the map */
+ 0,
+ -1 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_SM_RP_DA = {
+ "SM-RP-DA",
+ "SM-RP-DA",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ 0, /* No PER visible constraints */
+ asn_MBR_SM_RP_DA_1,
+ 4, /* Elements count */
+ &asn_SPC_SM_RP_DA_specs_1 /* Additional specs */
+};
+
diff --git a/src/SM-RP-MTI.c b/src/SM-RP-MTI.c
new file mode 100644
index 0000000..60b0f2e
--- /dev/null
+++ b/src/SM-RP-MTI.c
@@ -0,0 +1,126 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "SM-RP-MTI.h"
+
+int
+SM_RP_MTI_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0 && value <= 10)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using NativeInteger,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+SM_RP_MTI_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_NativeInteger.free_struct;
+ td->print_struct = asn_DEF_NativeInteger.print_struct;
+ td->ber_decoder = asn_DEF_NativeInteger.ber_decoder;
+ td->der_encoder = asn_DEF_NativeInteger.der_encoder;
+ td->xer_decoder = asn_DEF_NativeInteger.xer_decoder;
+ td->xer_encoder = asn_DEF_NativeInteger.xer_encoder;
+ td->uper_decoder = asn_DEF_NativeInteger.uper_decoder;
+ td->uper_encoder = asn_DEF_NativeInteger.uper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_NativeInteger.per_constraints;
+ td->elements = asn_DEF_NativeInteger.elements;
+ td->elements_count = asn_DEF_NativeInteger.elements_count;
+ td->specifics = asn_DEF_NativeInteger.specifics;
+}
+
+void
+SM_RP_MTI_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ SM_RP_MTI_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+SM_RP_MTI_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ SM_RP_MTI_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+SM_RP_MTI_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ SM_RP_MTI_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+SM_RP_MTI_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ SM_RP_MTI_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+SM_RP_MTI_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ SM_RP_MTI_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+SM_RP_MTI_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ SM_RP_MTI_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+static ber_tlv_tag_t asn_DEF_SM_RP_MTI_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_SM_RP_MTI = {
+ "SM-RP-MTI",
+ "SM-RP-MTI",
+ SM_RP_MTI_free,
+ SM_RP_MTI_print,
+ SM_RP_MTI_constraint,
+ SM_RP_MTI_decode_ber,
+ SM_RP_MTI_encode_der,
+ SM_RP_MTI_decode_xer,
+ SM_RP_MTI_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_SM_RP_MTI_tags_1,
+ sizeof(asn_DEF_SM_RP_MTI_tags_1)
+ /sizeof(asn_DEF_SM_RP_MTI_tags_1[0]), /* 1 */
+ asn_DEF_SM_RP_MTI_tags_1, /* Same as above */
+ sizeof(asn_DEF_SM_RP_MTI_tags_1)
+ /sizeof(asn_DEF_SM_RP_MTI_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/SM-RP-OA.c b/src/SM-RP-OA.c
new file mode 100644
index 0000000..f4dc336
--- /dev/null
+++ b/src/SM-RP-OA.c
@@ -0,0 +1,76 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "SM-RP-OA.h"
+
+static asn_TYPE_member_t asn_MBR_SM_RP_OA_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct SM_RP_OA, choice.msisdn),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ISDN_AddressString,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "msisdn"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct SM_RP_OA, choice.serviceCentreAddressOA),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_AddressString,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "serviceCentreAddressOA"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct SM_RP_OA, choice.noSM_RP_OA),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NULL,
+ 0, /* Defer constraints checking to the member type */
+ 0, /* PER is not compiled, use -gen-PER */
+ 0,
+ "noSM-RP-OA"
+ },
+};
+static asn_TYPE_tag2member_t asn_MAP_SM_RP_OA_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 0, 0, 0 }, /* msisdn at 153 */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 1, 0, 0 }, /* serviceCentreAddressOA at 154 */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 2, 0, 0 } /* noSM-RP-OA at 155 */
+};
+static asn_CHOICE_specifics_t asn_SPC_SM_RP_OA_specs_1 = {
+ sizeof(struct SM_RP_OA),
+ offsetof(struct SM_RP_OA, _asn_ctx),
+ offsetof(struct SM_RP_OA, present),
+ sizeof(((struct SM_RP_OA *)0)->present),
+ asn_MAP_SM_RP_OA_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0,
+ -1 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_SM_RP_OA = {
+ "SM-RP-OA",
+ "SM-RP-OA",
+ CHOICE_free,
+ CHOICE_print,
+ CHOICE_constraint,
+ CHOICE_decode_ber,
+ CHOICE_encode_der,
+ CHOICE_decode_xer,
+ CHOICE_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ CHOICE_outmost_tag,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ 0, /* No PER visible constraints */
+ asn_MBR_SM_RP_OA_1,
+ 3, /* Elements count */
+ &asn_SPC_SM_RP_OA_specs_1 /* Additional specs */
+};
+
diff --git a/src/SM-RP-SMEA.c b/src/SM-RP-SMEA.c
new file mode 100644
index 0000000..4da7046
--- /dev/null
+++ b/src/SM-RP-SMEA.c
@@ -0,0 +1,127 @@
+/*
+ * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * From ASN.1 module "MAP-SM-DataTypes"
+ * found in "../asn//MAP-SM-DataTypes.asn"
+ */
+
+#include <asn_internal.h>
+
+#include "SM-RP-SMEA.h"
+
+int
+SM_RP_SMEA_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ size = st->size;
+
+ if((size >= 1 && size <= 12)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ _ASN_CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+static void
+SM_RP_SMEA_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
+ td->free_struct = asn_DEF_OCTET_STRING.free_struct;
+ td->print_struct = asn_DEF_OCTET_STRING.print_struct;
+ td->ber_decoder = asn_DEF_OCTET_STRING.ber_decoder;
+ td->der_encoder = asn_DEF_OCTET_STRING.der_encoder;
+ td->xer_decoder = asn_DEF_OCTET_STRING.xer_decoder;
+ td->xer_encoder = asn_DEF_OCTET_STRING.xer_encoder;
+ td->uper_decoder = asn_DEF_OCTET_STRING.uper_decoder;
+ td->uper_encoder = asn_DEF_OCTET_STRING.uper_encoder;
+ if(!td->per_constraints)
+ td->per_constraints = asn_DEF_OCTET_STRING.per_constraints;
+ td->elements = asn_DEF_OCTET_STRING.elements;
+ td->elements_count = asn_DEF_OCTET_STRING.elements_count;
+ td->specifics = asn_DEF_OCTET_STRING.specifics;
+}
+
+void
+SM_RP_SMEA_free(asn_TYPE_descriptor_t *td,
+ void *struct_ptr, int contents_only) {
+ SM_RP_SMEA_1_inherit_TYPE_descriptor(td);
+ td->free_struct(td, struct_ptr, contents_only);
+}
+
+int
+SM_RP_SMEA_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
+ int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
+ SM_RP_SMEA_1_inherit_TYPE_descriptor(td);
+ return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
+}
+
+asn_dec_rval_t
+SM_RP_SMEA_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const void *bufptr, size_t size, int tag_mode) {
+ SM_RP_SMEA_1_inherit_TYPE_descriptor(td);
+ return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
+}
+
+asn_enc_rval_t
+SM_RP_SMEA_encode_der(asn_TYPE_descriptor_t *td,
+ void *structure, int tag_mode, ber_tlv_tag_t tag,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ SM_RP_SMEA_1_inherit_TYPE_descriptor(td);
+ return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
+}
+
+asn_dec_rval_t
+SM_RP_SMEA_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
+ void **structure, const char *opt_mname, const void *bufptr, size_t size) {
+ SM_RP_SMEA_1_inherit_TYPE_descriptor(td);
+ return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
+}
+
+asn_enc_rval_t
+SM_RP_SMEA_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ SM_RP_SMEA_1_inherit_TYPE_descriptor(td);
+ return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
+}
+
+static ber_tlv_tag_t asn_DEF_SM_RP_SMEA_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_SM_RP_SMEA = {
+ "SM-RP-SMEA",
+ "SM-RP-SMEA",
+ SM_RP_SMEA_free,
+ SM_RP_SMEA_print,
+ SM_RP_SMEA_constraint,
+ SM_RP_SMEA_decode_ber,
+ SM_RP_SMEA_encode_der,
+ SM_RP_SMEA_decode_xer,
+ SM_RP_SMEA_encode_xer,
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ asn_DEF_SM_RP_SMEA_tags_1,
+ sizeof(asn_DEF_SM_RP_SMEA_tags_1)
+ /sizeof(asn_DEF_SM_RP_SMEA_tags_1[0]), /* 1 */
+ asn_DEF_SM_RP_SMEA_tags_1, /* Same as above */
+ sizeof(asn_DEF_SM_RP_SMEA_tags_1)
+ /sizeof(asn_DEF_SM_RP_SMEA_tags_1[0]), /* 1 */
+ 0, /* No PER visible constraints */
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/src/pdu_collection.c b/src/pdu_collection.c
index f06cd2c..e3fb11f 100644
--- a/src/pdu_collection.c
+++ b/src/pdu_collection.c
@@ -158,6 +158,20 @@ extern struct asn_TYPE_descriptor_s asn_DEF_IST_CommandRes;
extern struct asn_TYPE_descriptor_s asn_DEF_ReleaseResourcesArg;
extern struct asn_TYPE_descriptor_s asn_DEF_ReleaseResourcesRes;
extern struct asn_TYPE_descriptor_s asn_DEF_MAP_DialoguePDU;
+extern struct asn_TYPE_descriptor_s asn_DEF_RoutingInfoForSM_Arg;
+extern struct asn_TYPE_descriptor_s asn_DEF_RoutingInfoForSM_Res;
+extern struct asn_TYPE_descriptor_s asn_DEF_MO_ForwardSM_Arg;
+extern struct asn_TYPE_descriptor_s asn_DEF_MO_ForwardSM_Res;
+extern struct asn_TYPE_descriptor_s asn_DEF_MT_ForwardSM_Arg;
+extern struct asn_TYPE_descriptor_s asn_DEF_MT_ForwardSM_Res;
+extern struct asn_TYPE_descriptor_s asn_DEF_ReportSM_DeliveryStatusArg;
+extern struct asn_TYPE_descriptor_s asn_DEF_ReportSM_DeliveryStatusRes;
+extern struct asn_TYPE_descriptor_s asn_DEF_AlertServiceCentreArg;
+extern struct asn_TYPE_descriptor_s asn_DEF_InformServiceCentreArg;
+extern struct asn_TYPE_descriptor_s asn_DEF_ReadyForSM_Arg;
+extern struct asn_TYPE_descriptor_s asn_DEF_ReadyForSM_Res;
+extern struct asn_TYPE_descriptor_s asn_DEF_MT_ForwardSM_VGCS_Arg;
+extern struct asn_TYPE_descriptor_s asn_DEF_MT_ForwardSM_VGCS_Res;
struct asn_TYPE_descriptor_s *asn_pdu_collection[] = {
@@ -324,6 +338,21 @@ struct asn_TYPE_descriptor_s *asn_pdu_collection[] = {
&asn_DEF_ReleaseResourcesRes,
/* From module MAP-DialogueInformation in ../asn//MAP-DialogueInformation.asn */
&asn_DEF_MAP_DialoguePDU,
+ /* From module MAP-SM-DataTypes in ../asn//MAP-SM-DataTypes.asn */
+ &asn_DEF_RoutingInfoForSM_Arg,
+ &asn_DEF_RoutingInfoForSM_Res,
+ &asn_DEF_MO_ForwardSM_Arg,
+ &asn_DEF_MO_ForwardSM_Res,
+ &asn_DEF_MT_ForwardSM_Arg,
+ &asn_DEF_MT_ForwardSM_Res,
+ &asn_DEF_ReportSM_DeliveryStatusArg,
+ &asn_DEF_ReportSM_DeliveryStatusRes,
+ &asn_DEF_AlertServiceCentreArg,
+ &asn_DEF_InformServiceCentreArg,
+ &asn_DEF_ReadyForSM_Arg,
+ &asn_DEF_ReadyForSM_Res,
+ &asn_DEF_MT_ForwardSM_VGCS_Arg,
+ &asn_DEF_MT_ForwardSM_VGCS_Res,
0
};
diff --git a/src/rebuild-from-asn.sh b/src/rebuild-from-asn.sh
index fdc05f0..55b1835 100755
--- a/src/rebuild-from-asn.sh
+++ b/src/rebuild-from-asn.sh
@@ -1,5 +1,5 @@
#!/bin/bash
ASN=../asn/
-asn1c -pdu=auto $ASN/GSMMAP.asn $ASN/MAP-MS-DataTypes.asn $ASN/MAP-SS-DataTypes.asn $ASN/MAP-CommonDataTypes.asn $ASN/MAP-ExtensionDataTypes.asn $ASN/MAP-SS-Code.asn $ASN/MAP-BS-Code.asn $ASN/MAP-TS-Code.asn $ASN/MAP-ER-DataTypes.asn $ASN/MAP-OM-DataTypes.asn $ASN/MAP-CH-DataTypes.asn $ASN/MAP-DialogueInformation.asn
+asn1c -pdu=auto $ASN/GSMMAP.asn $ASN/MAP-MS-DataTypes.asn $ASN/MAP-SS-DataTypes.asn $ASN/MAP-CommonDataTypes.asn $ASN/MAP-ExtensionDataTypes.asn $ASN/MAP-SS-Code.asn $ASN/MAP-BS-Code.asn $ASN/MAP-TS-Code.asn $ASN/MAP-ER-DataTypes.asn $ASN/MAP-OM-DataTypes.asn $ASN/MAP-CH-DataTypes.asn $ASN/MAP-DialogueInformation.asn $ASN/MAP-SM-DataTypes.asn
find . -type l -exec rm \{\} \;
mv *.h ../include