def METHOD_NAME(self):
    """ Test Implicit Detach timer expiry handling """
    """ Note: Implicit Detach Timer value is calculated based on Mobile
    Rechability Timer value. Therefore, before execution of this test case,
    Run the test script s1aptests/test_modify_mme_config_for_sanity.py
    to reduce mobile reachability timer value to 1 minute (default is 54
    minutes) in MME configuration and
    after test case execution, restore the MME configuration by running
    the test script s1aptests/test_restore_mme_config_after_sanity.py
    Or
    Manually update the mme.conf.template file to make sure that the value
    of T3412 timer is set to 1 minute (default is 54 minutes)
    """
    self._s1ap_wrapper.configUEDevice(1)
    req = self._s1ap_wrapper.ue_req
    ue_id = req.ue_id
    print(
        "************************* Running End to End attach for UE id ",
        ue_id,
    )
    # Now actually complete the attach
    self._s1ap_wrapper._s1_util.attach(
        ue_id,
        s1ap_types.tfwCmd.UE_END_TO_END_ATTACH_REQUEST,
        s1ap_types.tfwCmd.UE_ATTACH_ACCEPT_IND,
        s1ap_types.ueAttachAccept_t,
    )
    # Wait on EMM Information from MME
    self._s1ap_wrapper._s1_util.receive_emm_info()
    # Delay to ensure S1APTester sends attach complete before sending UE
    # context release
    time.sleep(0.5)
    print(
        "************************* Sending UE context release request ",
        "for UE id ",
        ue_id,
    )
    # Send UE context release request to move UE to idle mode
    req = s1ap_types.ueCntxtRelReq_t()
    req.ue_Id = ue_id
    req.cause.causeVal = gpp_types.CauseRadioNetwork.USER_INACTIVITY.value
    self._s1ap_wrapper.s1_util.issue_cmd(
        s1ap_types.tfwCmd.UE_CNTXT_REL_REQUEST, req,
    )
    response = self._s1ap_wrapper.s1_util.get_response()
    assert response.msg_type == s1ap_types.tfwCmd.UE_CTX_REL_IND.value
    # For implicit detach timer to expire, first ensure that
    # mobile reachability timer is expired or not and then
    # delay sending initial ue message (service req) by detach timer value.
    # DETACH TIMER VALUE = mobile reachability timer value + delta value
    print(
        "************************* Waiting for Implicit Detach Timer"
        " to expire. Sleeping for 740 seconds..",
    )
    timeSlept = 0
    while timeSlept < 740:
        time.sleep(5)
        timeSlept += 5
        print("*********** Slept for " + str(timeSlept) + " seconds")
    print(
        "************************* Sending Service request for UE id ",
        ue_id,
    )
    # Send service request to reconnect UE
    req = s1ap_types.ueserviceReq_t()
    req.ue_Id = ue_id
    req.ueMtmsi = s1ap_types.ueMtmsi_t()
    req.ueMtmsi.pres = False
    req.rrcCause = s1ap_types.Rrc_Cause.TFW_MO_DATA.value
    self._s1ap_wrapper.s1_util.issue_cmd(
        s1ap_types.tfwCmd.UE_SERVICE_REQUEST, req,
    )
    response = self._s1ap_wrapper.s1_util.get_response()
    assert response.msg_type == s1ap_types.tfwCmd.UE_SERVICE_REJECT_IND.value
    response = self._s1ap_wrapper.s1_util.get_response()
    assert response.msg_type == s1ap_types.tfwCmd.UE_CTX_REL_IND.value
    time.sleep(0.5)