Skip to content
Success

Changes

Summary

  1. s1ap_proxy: erab_fsm_start_reg/2: check if already registered (details)
  2. s1ap_proxy: remove eNB-ID from erab_uid() (details)
  3. s1ap_proxy: add type hints for #proxy_state.erabs (details)
Commit 9ec8425344a295953ea94650d4d78cf85c9baab9 by Vadim Yanitskiy
s1ap_proxy: erab_fsm_start_reg/2: check if already registered

Before this patch, s1ap_proxy would spawn a new erab_fsm process with
a duplicate UID and simply replace the old process in the registry.
This would result in stale erab_fsm process, still linked but not
present in the registry, and thus not reachable.

If there's already an E-RAB process for the given UID, simply return
Pid of that existing process.  The FSM will most likely reject an
unexpected event, resulting in a negative verdict:

* 'reply' for duplicate E-RAB SETUP REQUEST
* 'drop' for duplicate INITIAL CONTEXT SETUP REQUEST

Change-Id: I8e93492219100496fd8dc69e031310858ba9c7fb
The file was modifiedsrc/s1ap_proxy.erl
The file was modifiedtest/s1ap_proxy_test.erl
Commit ce92a4a743fe83253a6affbe87c693c6d1ceedc2 by Vadim Yanitskiy
s1ap_proxy: remove eNB-ID from erab_uid()

This patch prepares for a follow-up change implementing handling of
the HANDOVER related PDUs.  The problem is that the HANDOVER REQUEST
PDU contains MME-UE-S1AP-ID, but not eNB-UE-S1AP-ID, while the E-RAB
registry requires both to be part of the erab_uid() tuple.

In the scope of an S1-connection, a pair of MME-UE-S1AP-ID and
E-RAB-ID values is enough to identify an E-RAB unambiguously,
thus we can safely remove eNB-UE-S1AP-ID from erab_uid().

Change-Id: I7277d19080795600252306dbfa0c733f996e026e
The file was modifiedtest/s1ap_proxy_test.erl
The file was modifiedsrc/s1ap_proxy.erl
Commit 5a497b3d9da4698d38ef00f3049350d8c4403ad0 by Vadim Yanitskiy
s1ap_proxy: add type hints for #proxy_state.erabs

Change-Id: I08e0339bf401067eaf8ace32da619d5016fe98d7
The file was modifiedsrc/s1ap_proxy.erl