uw-ictd / open5gs

open5gs is an open source implementation of the Evolved Packet Core and 5GC supporting 3GPP Release 16. This repository is a maintenance and research fork of the main upstream open5gs/open5gs.
https://open5gs.org
GNU Affero General Public License v3.0
2 stars 0 forks source link

A specific ServiceRequest message is creating trouble down the line #8

Open spencersevilla opened 4 years ago

spencersevilla commented 4 years ago

We're seeing the following error messages: "ERROR: Failed to encode S1AP-PDU[-1] (/lib/s1ap/message.c:42)" "ERROR: s1ap_send_initial_context_setup_request: Expectation 's1apbuf' failed (/src/mme/s1ap-path.c:256)"

I have traced this codepath back to when certain UEs in our network send an (InitialUEMessage, ServiceRequest) message. In these cases, it appears that somewhere in the codepath of handling this message and generating the InitialContextSetupRequest message, something goes awry and then the ASN encoder fails. Note that in other cases, the message succeeds (i.e. MME sends a InitialContextSetupRequest and the UE responds with InitialContextSetupResponse).

I will attach a PCAP with specific error cases highlighted soon, but I assume its something to do with an unhandled or unwritten option somewhere deep in the message handling.

Note that right now, this issue is not fatal. The MME aborts/returns out of the function without sending the InitialContextSetupRequest, and 5 seconds later the eNB tears down the connection with a PartialReset message. RESETs are handled correctly by the MME, so this does not bleed over into stability.

amintgan commented 4 years ago

Hi @spencersevilla , I also have the same problem. I saw the exact error on the mme log, and i noticed that all the eNBs went out of service.

[s1ap] ERROR: Failed to encode S1AP-PDU[-1] (../lib/s1ap/message.c:42) 02/11 09:22:24.967: [mme] ERROR: s1ap_send_initial_context_setup_request: Expectation `s1apbuf' failed. (../src/mme/s1ap-path.c:256)

Its strange how all the open5gs services are running and active but the eNBs went out of service. I had to restart the open5gs before the nodes came back in service. why is it like that.