diff options
| author | Harald Welte <laforge@gnumonks.org> | 2016-05-05 23:33:27 +0200 | 
|---|---|---|
| committer | Harald Welte <laforge@gnumonks.org> | 2016-06-16 21:43:21 +0000 | 
| commit | 82f94ef50f592c8c89b848e91b7cb84587ef8733 (patch) | |
| tree | 0b063d74673f7735826107a59444d78a2109c3d7 | |
| parent | bda26c09019310dd25a2e7671f362cf2c26a3aff (diff) | |
Add UMTS AKA related MM/GMM message type and IE definitions
Change-Id: Id45ea2c631ee589a4df1f8213da6f7e7d1bf6616
Reviewed-on: https://gerrit.osmocom.org/305
Reviewed-by: Harald Welte <laforge@gnumonks.org>
Tested-by: Jenkins Builder
| -rw-r--r-- | include/osmocom/gsm/protocol/gsm_04_08.h | 1 | ||||
| -rw-r--r-- | include/osmocom/gsm/protocol/gsm_04_08_gprs.h | 12 | ||||
| -rw-r--r-- | src/gsm/gsm_04_08_gprs.c | 10 | 
3 files changed, 22 insertions, 1 deletions
diff --git a/include/osmocom/gsm/protocol/gsm_04_08.h b/include/osmocom/gsm/protocol/gsm_04_08.h index 0c2fcf28..074c2589 100644 --- a/include/osmocom/gsm/protocol/gsm_04_08.h +++ b/include/osmocom/gsm/protocol/gsm_04_08.h @@ -1272,6 +1272,7 @@ void gsm48_set_dtx(struct gsm48_cell_options *op, enum gsm48_dtx_mode full,  /* Additional MM elements */  #define GSM48_IE_LOCATION_AREA	0x13 +#define GSM48_IE_AUTN		0x20  #define GSM48_IE_PRIORITY_LEV	0x80  #define GSM48_IE_FOLLOW_ON_PROC	0xa1  #define GSM48_IE_CTS_PERMISSION	0xa2 diff --git a/include/osmocom/gsm/protocol/gsm_04_08_gprs.h b/include/osmocom/gsm/protocol/gsm_04_08_gprs.h index f35d11b6..e0e887fa 100644 --- a/include/osmocom/gsm/protocol/gsm_04_08_gprs.h +++ b/include/osmocom/gsm/protocol/gsm_04_08_gprs.h @@ -22,6 +22,7 @@  #define GSM48_MT_GMM_AUTH_CIPH_REQ	0x12  #define GSM48_MT_GMM_AUTH_CIPH_RESP	0x13  #define GSM48_MT_GMM_AUTH_CIPH_REJ	0x14 +#define GSM48_MT_GMM_AUTH_CIPH_FAIL	0x1C  #define GSM48_MT_GMM_ID_REQ		0x15  #define GSM48_MT_GMM_ID_RESP		0x16  #define GSM48_MT_GMM_STATUS		0x20 @@ -79,6 +80,9 @@ enum gsm48_gprs_ie_mm {  	GSM48_IE_GMM_IMEISV		= 0x23,	/* 10.5.1.4 */  	GSM48_IE_GMM_CAUSE		= 0x25,	/* 10.5.5.14 */  	GSM48_IE_GMM_DRX_PARAM		= 0x27,	/* 10.5.5.6 */ +	GSM48_IE_GMM_AUTN		= 0x28,	/* 10.5.3.1.1 */ +	GSM48_IE_GMM_AUTH_RES_EXT	= 0x29, /* 10.5.3.2.1 */ +	GSM48_IE_GMM_AUTH_FAIL_PAR	= 0x30,	/* 10.5.3.2.2 */  	GSM48_IE_GMM_MS_NET_CAPA	= 0x31,	/* 10.5.5.12 */  	GSM48_IE_GMM_PDP_CTX_STATUS	= 0x32,	/* 10.5.7.1 */  	GSM48_IE_GMM_PS_LCS_CAPA	= 0x33,	/* 10.5.5.22 */ @@ -160,6 +164,7 @@ struct gsm48_act_pdp_ctx_req {  enum gsm48_gmm_cause {  	GMM_CAUSE_IMSI_UNKNOWN		= 0x02,  	GMM_CAUSE_ILLEGAL_MS		= 0x03, +	GMM_CAUSE_IMEI_NOT_ACCEPTED	= 0x05,  	GMM_CAUSE_ILLEGAL_ME		= 0x06,  	GMM_CAUSE_GPRS_NOTALLOWED	= 0x07,  	GMM_CAUSE_GPRS_OTHER_NOTALLOWED	= 0x08, @@ -169,9 +174,16 @@ enum gsm48_gmm_cause {  	GMM_CAUSE_LA_NOTALLOWED		= 0x0c,  	GMM_CAUSE_ROAMING_NOTALLOWED	= 0x0d,  	GMM_CAUSE_NO_GPRS_PLMN		= 0x0e, +	GMM_CAUSE_NO_SUIT_CELL_IN_LA	= 0x0f,  	GMM_CAUSE_MSC_TEMP_NOTREACH	= 0x10,  	GMM_CAUSE_NET_FAIL		= 0x11, +	GMM_CAUSE_MAC_FAIL		= 0x14, +	GMM_CAUSE_SYNC_FAIL		= 0x15,  	GMM_CAUSE_CONGESTION		= 0x16, +	GMM_CAUSE_GSM_AUTH_UNACCEPT	= 0x17, +	GMM_CAUSE_NOT_AUTH_FOR_CSG	= 0x19, +	GMM_CAUSE_SMS_VIA_GPRS_IN_RA	= 0x1c, +	GMM_CAUSE_NO_PDP_ACTIVATED	= 0x28,  	GMM_CAUSE_SEM_INCORR_MSG	= 0x5f,  	GMM_CAUSE_INV_MAND_INFO		= 0x60,  	GMM_CAUSE_MSGT_NOTEXIST_NOTIMPL	= 0x61, diff --git a/src/gsm/gsm_04_08_gprs.c b/src/gsm/gsm_04_08_gprs.c index 6ce94159..5c00ea00 100644 --- a/src/gsm/gsm_04_08_gprs.c +++ b/src/gsm/gsm_04_08_gprs.c @@ -1,4 +1,4 @@ -/* (C) 2009-2010 by Harald Welte <laforge@gnumonks.org> +/* (C) 2009-2016 by Harald Welte <laforge@gnumonks.org>   * (C) 2010      by On-Waves   * (C) 2014-2015 by Sysmocom s.f.m.c. GmbH   * @@ -30,6 +30,7 @@  const struct value_string gsm48_gmm_cause_names_[] = {  	{ GMM_CAUSE_IMSI_UNKNOWN,	"IMSI unknown in HLR" },  	{ GMM_CAUSE_ILLEGAL_MS,		"Illegal MS" }, +	{ GMM_CAUSE_IMEI_NOT_ACCEPTED,	"IMEI not accepted" },  	{ GMM_CAUSE_ILLEGAL_ME,		"Illegal ME" },  	{ GMM_CAUSE_GPRS_NOTALLOWED,	"GPRS services not allowed" },  	{ GMM_CAUSE_GPRS_OTHER_NOTALLOWED, @@ -43,9 +44,16 @@ const struct value_string gsm48_gmm_cause_names_[] = {  			"Roaming not allowed in this location area" },  	{ GMM_CAUSE_NO_GPRS_PLMN,  				"GPRS services not allowed in this PLMN" }, +	{ GMM_CAUSE_NO_SUIT_CELL_IN_LA,	"No suitable cell in LA" },  	{ GMM_CAUSE_MSC_TEMP_NOTREACH,	"MSC temporarily not reachable" },  	{ GMM_CAUSE_NET_FAIL,		"Network failure" }, +	{ GMM_CAUSE_MAC_FAIL,		"MAC failure" }, +	{ GMM_CAUSE_SYNC_FAIL,		"SYNC failure" },  	{ GMM_CAUSE_CONGESTION,		"Congestion" }, +	{ GMM_CAUSE_GSM_AUTH_UNACCEPT,	"GSM authentication unacceptable" }, +	{ GMM_CAUSE_NOT_AUTH_FOR_CSG,	"Not authorized for this CSG" }, +	{ GMM_CAUSE_SMS_VIA_GPRS_IN_RA,	"SMS provided via GPRS in this RA" }, +	{ GMM_CAUSE_NO_PDP_ACTIVATED,	"No PDP context activated" },  	{ GMM_CAUSE_SEM_INCORR_MSG,	"Semantically incorrect message" },  	{ GMM_CAUSE_INV_MAND_INFO, "Invalid mandatory information" },  	{ GMM_CAUSE_MSGT_NOTEXIST_NOTIMPL,  | 
