MME2 changes - Propped commits from openmme/paging branch. Added scripts
for code gen

Change-Id: Ie55032217232214ac8544ca76ea34335205329e4
diff --git a/scripts/SMCodeGen/dataModels/ctxtManagerAppModel.json b/scripts/SMCodeGen/dataModels/ctxtManagerAppModel.json
new file mode 100644
index 0000000..0d6c83e
--- /dev/null
+++ b/scripts/SMCodeGen/dataModels/ctxtManagerAppModel.json
@@ -0,0 +1,309 @@
+{
+"DataStore":
+	{
+     "DataGroups":[
+        {
+		"DgName":"SubscriberData",
+		"PoolSize":"8000",
+         "DataBlocks":[
+            {
+			"BlockName":"UEContext",
+            "BlockType":"Permanent",
+            "Parent":"None",
+            "Children":["MmContext", "SessionContext"],
+            "PoolSize":"8000",
+            "Cardinality":"1",
+            "Data":[
+                {
+				"Name": "enbFd",
+                "Type": "int",
+				"Key":"No"
+				},
+                {
+				"Name": "s1apEnbUeId",
+                "Type": "int",
+				"Key":"No"
+				},
+                {
+				"Name": "subscriptionStatus",
+                "Type": "int",
+				"Key":"No"
+				},
+                {
+				"Name": "netAccessMode",
+                "Type": "int",
+				"Key":"No"
+				},
+                {
+				"Name": "contextID",
+                "Type": "uint32_t",
+				"Key":"No"
+				},
+                {
+				"Name": "rauTauTimer",
+                "Type": "unsigned int",
+				"Key":"No"
+				},
+                {
+				"Name": "accessRestrictionData",
+                "Type": "unsigned int",
+				"Key":"No"
+				},
+                {
+				"Name": "imsi",
+                "Type": "DigitRegister15",
+				"Key":"Yes"
+				},
+                {
+				"Name": "mTmsi",
+                "Type": "uint32_t",
+				"Key":"Yes"
+				},
+                {
+				"Name": "msisdn",
+                "Type": "DigitRegister15",
+				"Key":"No"
+				},
+                {
+				"Name": "dwnLnkSeqNo",
+                "Type": "unsigned short",
+				"Key":"No"
+				},
+                {
+				"Name": "upLnkSeqNo",
+                "Type": "unsigned short",
+				"Key":"No"
+				},
+                {
+				"Name": "ueState",
+                "Type": "UE_State_e",
+				"Key":"No"
+				},
+                {
+				"Name": "tai",
+                "Type": "Tai",
+				"Key":"No"
+				},
+                {
+				"Name": "utranCgi",
+                "Type": "Cgi",
+				"Key":"No"
+				},
+                {
+				"Name": "msNetCapab",
+                "Type": "Ms_net_capab",
+				"Key":"No"
+				},
+                {
+				"Name": "ueNetCapab",
+                "Type": "Ue_net_capab",
+				"Key":"No"
+				},
+                {
+				"Name": "ueSecInfo",
+                "Type": "Secinfo",
+				"Key":"No"
+				},
+                {
+				"Name": "ambr",
+                "Type": "Ambr",
+				"Key":"No"
+				},
+                {
+				"Name": "aiaSecInfo",
+                "Type": "E_utran_sec_vector",
+				"Key":"No"
+				}
+                ]
+            },
+			{
+			"BlockName":"MmContext",
+            "BlockType":"Permanent",
+            "Parent":"UEContext",
+            "Children":[],
+            "PoolSize":"8000",
+            "Cardinality":"1",
+            "Data":[
+                {
+				"Name": "mmState",
+                "Type": "EmmState",
+				"Key":"No"
+				}
+				]
+            },
+            {
+			"BlockName":"SessionContext",
+            "BlockType":"Permanent",
+            "Parent":"UEContext",
+            "Children":["BearerContext"],
+            "PoolSize":"8000",
+            "Cardinality":"3",
+            "Data":[
+                {
+				"Name": "sessionId",
+                "Type": "uint8_t",
+				"Key" : "No"
+				},
+				{
+				"Name": "s11SgwCtrlFteid",
+                "Type": "Fteid",
+				"Key":"No"
+				},
+				{
+				"Name": "s5S8PgwCtrlFteid",
+                "Type": "Fteid",
+				"Key":"No"
+				},
+				{
+				"Name": "pdnAddr",
+                "Type": "Paa",
+				"Key":"No"
+				},
+				{
+				"Name": "accessPtName",
+                "Type": "Apn_name",
+				"Key":"No"
+				},
+				{
+				"Name": "apnConfigProfileCtxId",
+                "Type": "unsigned int",
+				"Key":"No"
+				}
+                ]
+            },
+            {
+			"BlockName":"BearerContext",
+            "BlockType":"Permanent",
+            "Parent":"SessionContext",
+            "PoolSize":"8000",
+            "Cardinality":"11",
+            "Data":[
+				{
+				"Name": "s1uSgwUserFteid",
+                "Type": "Fteid",
+				"Key":"No"
+				},
+                {
+				"Name": "s5S8PgwUserFteid",
+				"Type": "Fteid",
+				"Key":"No"
+				},
+                {
+				"Name": "s1uEnbUserFteid",
+				"Type": "Fteid",
+				"Key":"No"
+				},
+                {
+				"Name": "bearerId",
+				"Type": "unsigned char",
+				"Key":"No"
+				}
+                ]
+			},
+			{
+			"BlockName":"MmeProcedureCtxt",
+            "BlockType":"Temporary",
+            "PoolSize":"8000",
+            "Cardinality":"1",
+            "Data":[
+				{
+				"Name": "ctxtType",
+                "Type": "ProcedureType",
+				"Key":"No"
+				},
+				{
+				"Name": "mmeErrorCause",
+                "Type": "MmeErrorCause",
+				"Key":"No"
+				},	
+				{
+				"Name": "attachType",
+                "Type": "AttachType",
+				"Key":"No"
+				},
+				{
+				"Name": "pti",
+                "Type": "uint8_t",
+				"Key":"No"
+				},
+				{
+				"Name": "esmInfoTxRequired",
+                "Type": "bool",
+				"Key":"No"
+				}
+                ]
+			},
+			{
+			"BlockName":"MmeDetachProcedureCtxt",
+            "BlockType":"Temporary",
+            "PoolSize":"8000",
+            "Cardinality":"1",
+            "Data":[
+				{
+				"Name": "detachType",
+                "Type": "DetachType",
+				"Key":"No"
+				},
+				{
+				"Name": "cancellationType",
+                "Type": "CancellationType",
+				"Key":"No"
+				}
+                ]
+			},			
+            {
+			"BlockName":"MmeSvcReqProcedureCtxt",
+            "BlockType":"Temporary",
+            "PoolSize":"8000",
+            "Cardinality":"1",
+            "Data":[
+				{
+				"Name": "pagingTrigger",
+                "Type": "PagingTrigger",
+				"Key":"No"
+				},
+				{
+				"Name": "epsBearerId",
+                "Type": "uint8_t",
+				"Key":"No"
+				},
+				{
+				"Name": "arp",
+                "Type": "Arp",
+				"Key":"No"
+				},
+				{
+				"Name": "ddnSeqNum",
+                "Type": "uint32_t",
+				"Key":"No"
+				}
+			]
+			},
+			{
+			"BlockName":"MmeTauProcedureCtxt",
+            "BlockType":"Temporary",
+            "PoolSize":"8000",
+            "Cardinality":"1",
+            "Data":[
+				{
+				"Name": "s1apEnbUeId",
+                "Type": "int",
+				"Key":"No"
+				},
+                {
+				"Name": "tai",
+                "Type": "Tai",
+				"Key":"No"
+				},				
+				{
+				"Name": "enbFd",
+                "Type": "int",
+				"Key":"No"
+				}
+                ]
+			}
+            ]
+        }
+        ]
+	}
+}