forked from acouzens/open5gs
gtp1: Add missing RAN INFORMATION RELAY msg
The RAN INFORMATION RELAY message has no associated response, and hence it should not start T3-RESPONSE timer to retrigger retransmissions. TS 29.060 11.1: "The Error Indication, Version Not Supported, RAN Information Relay, Supported Extension Headers Notification and the SGSN Context Acknowledge messages shall be considered as Responses for the purpose of this clause" TS 29.060 7.5.14.1: "For handling of protocol errors the RAN Information Relay message is treated as a Response message."
This commit is contained in:
parent
fa5d9003d7
commit
a7898cb26c
|
@ -88,15 +88,19 @@ ogs_gtp_xact_t *ogs_gtp1_xact_local_create(ogs_gtp_node_t *gnode,
|
|||
xact->cb = cb;
|
||||
xact->data = data;
|
||||
|
||||
xact->tm_response = ogs_timer_add(
|
||||
ogs_app()->timer_mgr, response_timeout, xact);
|
||||
ogs_assert(xact->tm_response);
|
||||
xact->response_rcount = ogs_app()->time.message.gtp.n3_response_rcount,
|
||||
/* 7.6 "The T3-RESPONSE timer shall be started when a signalling request
|
||||
* message (for which a response has been defined) is sent." */
|
||||
if (hdesc->type != OGS_GTP1_RAN_INFORMATION_RELAY_TYPE) {
|
||||
xact->tm_response = ogs_timer_add(
|
||||
ogs_app()->timer_mgr, response_timeout, xact);
|
||||
ogs_assert(xact->tm_response);
|
||||
xact->response_rcount = ogs_app()->time.message.gtp.n3_response_rcount;
|
||||
}
|
||||
|
||||
xact->tm_holding = ogs_timer_add(
|
||||
ogs_app()->timer_mgr, holding_timeout, xact);
|
||||
ogs_assert(xact->tm_holding);
|
||||
xact->holding_rcount = ogs_app()->time.message.gtp.n3_holding_rcount,
|
||||
xact->holding_rcount = ogs_app()->time.message.gtp.n3_holding_rcount;
|
||||
|
||||
ogs_list_add(&xact->gnode->local_list, xact);
|
||||
|
||||
|
@ -987,6 +991,7 @@ static ogs_gtp_xact_stage_t ogs_gtp1_xact_get_stage(uint8_t type, uint32_t xid)
|
|||
case OGS_GTP1_FORWARD_RELOCATION_REQUEST_TYPE:
|
||||
case OGS_GTP1_RELOCATION_CANCEL_REQUEST_TYPE:
|
||||
case OGS_GTP1_UE_REGISTRATION_QUERY_REQUEST_TYPE:
|
||||
case OGS_GTP1_RAN_INFORMATION_RELAY_TYPE:
|
||||
stage = GTP_XACT_INITIAL_STAGE;
|
||||
break;
|
||||
case OGS_GTP1_ECHO_RESPONSE_TYPE:
|
||||
|
|
Loading…
Reference in New Issue