git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5935 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -2320,7 +2320,9 @@ static int _emm_attach_accept(emm_data_context_t *emm_ctx, attach_data_t *data)
|
|||||||
emm_sap.u.emm_as.u.establish.new_guti = emm_ctx->guti;
|
emm_sap.u.emm_as.u.establish.new_guti = emm_ctx->guti;
|
||||||
} else {
|
} else {
|
||||||
emm_sap.u.emm_as.u.establish.UEid.guti = emm_ctx->guti;
|
emm_sap.u.emm_as.u.establish.UEid.guti = emm_ctx->guti;
|
||||||
emm_sap.u.emm_as.u.establish.new_guti = NULL;
|
#warning "TEST LG FORCE GUTI IE IN ATTACH ACCEPT"
|
||||||
|
emm_sap.u.emm_as.u.establish.new_guti = emm_ctx->guti;
|
||||||
|
//emm_sap.u.emm_as.u.establish.new_guti = NULL;
|
||||||
}
|
}
|
||||||
emm_sap.u.emm_as.u.establish.n_tacs = emm_ctx->n_tacs;
|
emm_sap.u.emm_as.u.establish.n_tacs = emm_ctx->n_tacs;
|
||||||
emm_sap.u.emm_as.u.establish.tac = emm_ctx->tac;
|
emm_sap.u.emm_as.u.establish.tac = emm_ctx->tac;
|
||||||
|
|||||||
@@ -269,6 +269,10 @@ int encode_attach_accept(attach_accept_msg *attach_accept, uint8_t *buffer, uint
|
|||||||
encoded += encode_result;
|
encoded += encode_result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#warning "LG TEST override t3402value"
|
||||||
|
attach_accept->presencemask |= ATTACH_ACCEPT_T3402_VALUE_PRESENT;
|
||||||
|
attach_accept->t3402value.unit = GPRS_TIMER_UNIT_60S;
|
||||||
|
attach_accept->t3402value.timervalue = 12;
|
||||||
if ((attach_accept->presencemask & ATTACH_ACCEPT_T3402_VALUE_PRESENT)
|
if ((attach_accept->presencemask & ATTACH_ACCEPT_T3402_VALUE_PRESENT)
|
||||||
== ATTACH_ACCEPT_T3402_VALUE_PRESENT)
|
== ATTACH_ACCEPT_T3402_VALUE_PRESENT)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -61,7 +61,7 @@
|
|||||||
LLC_SERVICE_ACCESS_POINT_IDENTIFIER_MAXIMUM_LENGTH + \
|
LLC_SERVICE_ACCESS_POINT_IDENTIFIER_MAXIMUM_LENGTH + \
|
||||||
RADIO_PRIORITY_MAXIMUM_LENGTH + \
|
RADIO_PRIORITY_MAXIMUM_LENGTH + \
|
||||||
PACKET_FLOW_IDENTIFIER_MAXIMUM_LENGTH + \
|
PACKET_FLOW_IDENTIFIER_MAXIMUM_LENGTH + \
|
||||||
PROTOCOL_CONFIGURATION_OPTIONS_MAXIMUM_LENGTH )
|
PROTOCOL_CONFIGURATION_OPTIONS_MAXIMUM_LENGTH)
|
||||||
|
|
||||||
/* If an optional value is present and should be encoded, the corresponding
|
/* If an optional value is present and should be encoded, the corresponding
|
||||||
* Bit mask should be set to 1.
|
* Bit mask should be set to 1.
|
||||||
|
|||||||
@@ -610,6 +610,18 @@ int esm_send_activate_default_eps_bearer_context_request(int pti,
|
|||||||
msg->esmcause = esm_cause;
|
msg->esmcause = esm_cause;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#warning "TEST LG FORCE APN-AMBR"
|
||||||
|
LOG_TRACE(INFO, "ESM-SAP - FORCE APN-AMBR");
|
||||||
|
msg->presencemask |=
|
||||||
|
ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REQUEST_APNAMBR_PRESENT;
|
||||||
|
msg->apnambr.apnambrfordownlink = 0xfe; // (8640kbps)
|
||||||
|
msg->apnambr.apnambrforuplink = 0xfe; // (8640kbps)
|
||||||
|
msg->apnambr.apnambrfordownlink_extended = 0xde; // (200Mbps)
|
||||||
|
msg->apnambr.apnambrforuplink_extended = 0x9e; // (100Mbps)
|
||||||
|
msg->apnambr.apnambrfordownlink_extended2 = 0;
|
||||||
|
msg->apnambr.apnambrforuplink_extended2 = 0;
|
||||||
|
msg->apnambr.extensions = 0 | APN_AGGREGATE_MAXIMUM_BIT_RATE_MAXIMUM_EXTENSION_PRESENT;
|
||||||
|
|
||||||
LOG_TRACE(INFO, "ESM-SAP - Send Activate Default EPS Bearer Context "
|
LOG_TRACE(INFO, "ESM-SAP - Send Activate Default EPS Bearer Context "
|
||||||
"Request message (pti=%d, ebi=%d)",
|
"Request message (pti=%d, ebi=%d)",
|
||||||
msg->proceduretransactionidentity, msg->epsbeareridentity);
|
msg->proceduretransactionidentity, msg->epsbeareridentity);
|
||||||
|
|||||||
@@ -51,6 +51,18 @@ int decode_apn_aggregate_maximum_bit_rate(ApnAggregateMaximumBitRate *apnaggrega
|
|||||||
decoded++;
|
decoded++;
|
||||||
apnaggregatemaximumbitrate->apnambrforuplink = *(buffer + decoded);
|
apnaggregatemaximumbitrate->apnambrforuplink = *(buffer + decoded);
|
||||||
decoded++;
|
decoded++;
|
||||||
|
if (ielen >= 4) {
|
||||||
|
apnaggregatemaximumbitrate->apnambrfordownlink_extended = *(buffer + decoded);
|
||||||
|
decoded++;
|
||||||
|
apnaggregatemaximumbitrate->apnambrforuplink_extended = *(buffer + decoded);
|
||||||
|
decoded++;
|
||||||
|
if (ielen >= 6) {
|
||||||
|
apnaggregatemaximumbitrate->apnambrfordownlink_extended2 = *(buffer + decoded);
|
||||||
|
decoded++;
|
||||||
|
apnaggregatemaximumbitrate->apnambrforuplink_extended2 = *(buffer + decoded);
|
||||||
|
decoded++;
|
||||||
|
}
|
||||||
|
}
|
||||||
#if defined (NAS_DEBUG)
|
#if defined (NAS_DEBUG)
|
||||||
dump_apn_aggregate_maximum_bit_rate_xml(apnaggregatemaximumbitrate, iei);
|
dump_apn_aggregate_maximum_bit_rate_xml(apnaggregatemaximumbitrate, iei);
|
||||||
#endif
|
#endif
|
||||||
@@ -76,6 +88,18 @@ int encode_apn_aggregate_maximum_bit_rate(ApnAggregateMaximumBitRate *apnaggrega
|
|||||||
encoded++;
|
encoded++;
|
||||||
*(buffer + encoded) = apnaggregatemaximumbitrate->apnambrforuplink;
|
*(buffer + encoded) = apnaggregatemaximumbitrate->apnambrforuplink;
|
||||||
encoded++;
|
encoded++;
|
||||||
|
if (apnaggregatemaximumbitrate->extensions & APN_AGGREGATE_MAXIMUM_BIT_RATE_MAXIMUM_EXTENSION_PRESENT) {
|
||||||
|
*(buffer + encoded) = apnaggregatemaximumbitrate->apnambrfordownlink_extended;
|
||||||
|
encoded++;
|
||||||
|
*(buffer + encoded) = apnaggregatemaximumbitrate->apnambrforuplink_extended;
|
||||||
|
encoded++;
|
||||||
|
if (apnaggregatemaximumbitrate->extensions & APN_AGGREGATE_MAXIMUM_BIT_RATE_MAXIMUM_EXTENSION2_PRESENT) {
|
||||||
|
*(buffer + encoded) = apnaggregatemaximumbitrate->apnambrfordownlink_extended2;
|
||||||
|
encoded++;
|
||||||
|
*(buffer + encoded) = apnaggregatemaximumbitrate->apnambrforuplink_extended2;
|
||||||
|
encoded++;
|
||||||
|
}
|
||||||
|
}
|
||||||
*lenPtr = encoded - 1 - ((iei > 0) ? 1 : 0);
|
*lenPtr = encoded - 1 - ((iei > 0) ? 1 : 0);
|
||||||
return encoded;
|
return encoded;
|
||||||
}
|
}
|
||||||
@@ -88,6 +112,14 @@ void dump_apn_aggregate_maximum_bit_rate_xml(ApnAggregateMaximumBitRate *apnaggr
|
|||||||
printf(" <IEI>0x%X</IEI>\n", iei);
|
printf(" <IEI>0x%X</IEI>\n", iei);
|
||||||
printf(" <APN AMBR for downlink>%u</APN AMBR for downlink>\n", apnaggregatemaximumbitrate->apnambrfordownlink);
|
printf(" <APN AMBR for downlink>%u</APN AMBR for downlink>\n", apnaggregatemaximumbitrate->apnambrfordownlink);
|
||||||
printf(" <APN AMBR for uplink>%u</APN AMBR for uplink>\n", apnaggregatemaximumbitrate->apnambrforuplink);
|
printf(" <APN AMBR for uplink>%u</APN AMBR for uplink>\n", apnaggregatemaximumbitrate->apnambrforuplink);
|
||||||
|
if (apnaggregatemaximumbitrate->extensions & APN_AGGREGATE_MAXIMUM_BIT_RATE_MAXIMUM_EXTENSION_PRESENT) {
|
||||||
|
printf(" <APN AMBR extended for downlink>%u</APN AMBR for downlink>\n", apnaggregatemaximumbitrate->apnambrfordownlink_extended);
|
||||||
|
printf(" <APN AMBR extended for uplink>%u</APN AMBR for uplink>\n", apnaggregatemaximumbitrate->apnambrforuplink_extended);
|
||||||
|
if (apnaggregatemaximumbitrate->extensions & APN_AGGREGATE_MAXIMUM_BIT_RATE_MAXIMUM_EXTENSION2_PRESENT) {
|
||||||
|
printf(" <APN AMBR extended2 for downlink>%u</APN AMBR for downlink>\n", apnaggregatemaximumbitrate->apnambrfordownlink_extended);
|
||||||
|
printf(" <APN AMBR extended2 for uplink>%u</APN AMBR for uplink>\n", apnaggregatemaximumbitrate->apnambrforuplink_extended);
|
||||||
|
}
|
||||||
|
}
|
||||||
printf("</Apn Aggregate Maximum Bit Rate>\n");
|
printf("</Apn Aggregate Maximum Bit Rate>\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -38,9 +38,17 @@
|
|||||||
#define APN_AGGREGATE_MAXIMUM_BIT_RATE_MINIMUM_LENGTH 4
|
#define APN_AGGREGATE_MAXIMUM_BIT_RATE_MINIMUM_LENGTH 4
|
||||||
#define APN_AGGREGATE_MAXIMUM_BIT_RATE_MAXIMUM_LENGTH 8
|
#define APN_AGGREGATE_MAXIMUM_BIT_RATE_MAXIMUM_LENGTH 8
|
||||||
|
|
||||||
|
#define APN_AGGREGATE_MAXIMUM_BIT_RATE_MAXIMUM_EXTENSION_PRESENT (1<<0)
|
||||||
|
#define APN_AGGREGATE_MAXIMUM_BIT_RATE_MAXIMUM_EXTENSION2_PRESENT (1<<1)
|
||||||
|
|
||||||
typedef struct ApnAggregateMaximumBitRate_tag {
|
typedef struct ApnAggregateMaximumBitRate_tag {
|
||||||
uint8_t apnambrfordownlink;
|
uint8_t apnambrfordownlink;
|
||||||
uint8_t apnambrforuplink;
|
uint8_t apnambrforuplink;
|
||||||
|
uint8_t apnambrfordownlink_extended;
|
||||||
|
uint8_t apnambrforuplink_extended;
|
||||||
|
uint8_t apnambrfordownlink_extended2;
|
||||||
|
uint8_t apnambrforuplink_extended2;
|
||||||
|
uint8_t extensions;
|
||||||
} ApnAggregateMaximumBitRate;
|
} ApnAggregateMaximumBitRate;
|
||||||
|
|
||||||
int encode_apn_aggregate_maximum_bit_rate(ApnAggregateMaximumBitRate *apnaggregatemaximumbitrate, uint8_t iei, uint8_t *buffer, uint32_t len);
|
int encode_apn_aggregate_maximum_bit_rate(ApnAggregateMaximumBitRate *apnaggregatemaximumbitrate, uint8_t iei, uint8_t *buffer, uint32_t len);
|
||||||
|
|||||||
Reference in New Issue
Block a user