Commit 548cd488 authored by Lionel Gauthier's avatar Lionel Gauthier

For handset UE (not needed for dongles up to now)

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5695 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent 023c9852
......@@ -249,6 +249,21 @@ int decode_attach_request(attach_request_msg *attach_request, uint8_t *buffer, u
attach_request->presencemask |= ATTACH_REQUEST_OLD_GUTI_TYPE_PRESENT;
break;
case ATTACH_REQUEST_VOICE_DOMAIN_PREFERENCE_AND_UE_USAGE_SETTING_IEI:
if ((decoded_result =
decode_voice_domain_preference_and_ue_usage_setting(&attach_request->voicedomainpreferenceandueusagesetting,
ATTACH_REQUEST_VOICE_DOMAIN_PREFERENCE_AND_UE_USAGE_SETTING_IEI,
buffer + decoded, len - decoded)) <= 0)
{
// return decoded_result;
LOG_FUNC_RETURN(decoded_result);
}
decoded += decoded_result;
/* Set corresponding mask to 1 in presencemask */
attach_request->presencemask |= ATTACH_REQUEST_VOICE_DOMAIN_PREFERENCE_AND_UE_USAGE_SETTING_PRESENT;
break;
default:
errorCodeDecoder = TLV_DECODE_UNEXPECTED_IEI;
{
......@@ -447,6 +462,19 @@ int encode_attach_request(attach_request_msg *attach_request, uint8_t *buffer, u
encoded += encode_result;
}
if ((attach_request->presencemask & ATTACH_REQUEST_VOICE_DOMAIN_PREFERENCE_AND_UE_USAGE_SETTING_PRESENT)
== ATTACH_REQUEST_VOICE_DOMAIN_PREFERENCE_AND_UE_USAGE_SETTING_PRESENT)
{
if ((encode_result =
encode_voice_domain_preference_and_ue_usage_setting(&attach_request->voicedomainpreferenceandueusagesetting,
ATTACH_REQUEST_VOICE_DOMAIN_PREFERENCE_AND_UE_USAGE_SETTING_IEI,
buffer + encoded, len - encoded)) < 0)
// Return in case of error
return encode_result;
else
encoded += encode_result;
}
return encoded;
}
......@@ -49,6 +49,7 @@
#include "SupportedCodecList.h"
#include "AdditionalUpdateType.h"
#include "GutiType.h"
#include "VoiceDomainPreferenceAndUeUsageSetting.h"
#ifndef ATTACH_REQUEST_H_
#define ATTACH_REQUEST_H_
......@@ -96,6 +97,7 @@
# define ATTACH_REQUEST_SUPPORTED_CODECS_PRESENT (1<<9)
# define ATTACH_REQUEST_ADDITIONAL_UPDATE_TYPE_PRESENT (1<<10)
# define ATTACH_REQUEST_OLD_GUTI_TYPE_PRESENT (1<<11)
# define ATTACH_REQUEST_VOICE_DOMAIN_PREFERENCE_AND_UE_USAGE_SETTING_PRESENT (1<<12)
typedef enum attach_request_iei_tag {
ATTACH_REQUEST_OLD_PTMSI_SIGNATURE_IEI = 0x19, /* 0x19 = 25 */
......@@ -110,6 +112,7 @@ typedef enum attach_request_iei_tag {
ATTACH_REQUEST_SUPPORTED_CODECS_IEI = 0x40, /* 0x40 = 64 */
ATTACH_REQUEST_ADDITIONAL_UPDATE_TYPE_IEI = 0xF0, /* 0xF0 = 240 */
ATTACH_REQUEST_OLD_GUTI_TYPE_IEI = 0xE0, /* 0xE0 = 224 */
ATTACH_REQUEST_VOICE_DOMAIN_PREFERENCE_AND_UE_USAGE_SETTING_IEI = 0x5D, /* 0x5D = 93 */
} attach_request_iei;
/*
......@@ -143,6 +146,7 @@ typedef struct attach_request_msg_tag {
SupportedCodecList supportedcodecs;
AdditionalUpdateType additionalupdatetype;
GutiType oldgutitype;
VoiceDomainPreferenceAndUeUsageSetting voicedomainpreferenceandueusagesetting;
} attach_request_msg;
int decode_attach_request(attach_request_msg *attachrequest, uint8_t *buffer, uint32_t len);
......
......@@ -255,7 +255,8 @@ libnas_ies_OBJS = \
EURECOM-NAS/src/ies/EpsNetworkFeatureSupport.o \
EURECOM-NAS/src/ies/SsCode.o \
EURECOM-NAS/src/ies/DrxParameter.o \
EURECOM-NAS/src/ies/KsiAndSequenceNumber.o
EURECOM-NAS/src/ies/KsiAndSequenceNumber.o \
EURECOM-NAS/src/ies/VoiceDomainPreferenceAndUeUsageSetting.o
libnas_utils_OBJS = \
EURECOM-NAS/src/util/device.o \
......
......@@ -393,7 +393,9 @@ libnas_ies_SRCS = \
EURECOM-NAS/src/ies/TmsiStatus.h \
EURECOM-NAS/src/ies/CipheringKeySequenceNumber.h \
EURECOM-NAS/src/ies/ApnAggregateMaximumBitRate.h \
EURECOM-NAS/src/ies/EpsNetworkFeatureSupport.h
EURECOM-NAS/src/ies/EpsNetworkFeatureSupport.h \
EURECOM-NAS/src/ies/VoiceDomainPreferenceAndUeUsageSetting.c \
EURECOM-NAS/src/ies/VoiceDomainPreferenceAndUeUsageSetting.h
libnas_utils_SRCS = \
EURECOM-NAS/src/util/nas_log.h \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment