New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The utilized SCTP stream id does not conform with requirement of 36.412 #54

Open
brchiu opened this Issue Apr 27, 2018 · 10 comments

Comments

Projects
None yet
3 participants
@brchiu
Contributor

brchiu commented Apr 27, 2018

According to 36.412 section 7 :

Within the SCTP association established between one MME and eNB pair:

- a single pair of stream identifiers shall be reserved for the sole use of S1AP
  elementary procedures that utilize non UE-associated signalling.

- At least one pair of stream identifiers shall be reserved for the sole use of S1AP
  elementary procedures that utilize UE-associated signallings. 
  However a few pairs (i.e. more than one) should be reserved.

- A single UE-associated signalling shall use one SCTP stream and the stream 
  should not be changed during the communication of the UE-associated signalling.

In S1AP messages recorded between OAI eNB and NextEPC :

  1. eNB launches non UE-associated procedure S1Setup using SCTP stream id 0.

non ue-associated procedure - s1setup procedure use stream id 0

  1. Afterward, eNB launches UE-associated procedure Initial UE Message with another SCTP stream id, i.e. id 1. This is correct.

ue-associated procedure initial ue message correctly use stream id 1 which is other than id 0

  1. NextEPC launches UE-associated procedure Downlink NAS Transport with SCTP stream id 0, this is incorrect because it conflicts with the stream id used by non UE-associated procedure.

ue-associated procedure downlink nas transport should not use stream id 0

@acetcom

This comment has been minimized.

Owner

acetcom commented Apr 27, 2018

You made a good point!

We missed the SCTP stream id. We’ll fixed the issue ASAP.

Thank you very much!

@Gian-Michele

This comment has been minimized.

Gian-Michele commented May 2, 2018

can you signal in this chat when the problem is fixed in order to update our version of nextepc?

Thanks

acetcom added a commit that referenced this issue May 10, 2018

acetcom added a commit that referenced this issue May 10, 2018

Introduce new configuration for SCTP streams (#54)
SCTP initmsg
 - Number of output streams : configured(default:30)
 - Maximum input streams : 65535
 - Maximum attempts : 4
 - Maximum initial timeout : 8 seconds
@acetcom

This comment has been minimized.

Owner

acetcom commented May 13, 2018

We've fixed the issue.

Regarding this, we added one configuration for SCTP streams.

#
# parameter:
#
#  o Number of output streams per SCTP associations.
#      sctp_streams: 30

This is only applied to MME element.
And also, this configuration could be omitted. The default value of SCTP output stream number is 30.

If parameter.sctp_streams is 30, output streams are defined like the followings.

0 : Used for Non-UE signaling.
1 ~ 29 : UE specific association.

The maximum input stream of SCTP is 65535. We does not provide the configuration for input stream. It is hard-corded with 65535.

Let me know if there is any problem regarding this issue.

Thanks!

@brchiu

This comment has been minimized.

Contributor

brchiu commented May 14, 2018

@acetcom, one picky but possible condition comes to me that if eNB use stream id other than 0, e.g. stream id 1.. or any vaild number, for sending S1SetupRequest message, then your approach would not work. The main point is MME plays a passive role, not active role, at least in stream id determination during S1SetupRequest procedure.

@acetcom

This comment has been minimized.

Owner

acetcom commented May 14, 2018

@brchiu You might think that a single pair of stream identifiers for non-UE association like S1SetupRequest/Response means the same SCTP input/output stream identifier. Does it right?

I thought that S1SetupRequest/Response could be different. So, MME don’t have to see the sctp input stream id for S1SetupRequest.

Please, re-confirm it. If so, I need to change current code.

Thanks a lot!

@brchiu

This comment has been minimized.

Contributor

brchiu commented May 14, 2018

@acetcom, you have the good point.

Because the specification uses the wording a single pair of stream identifiers, not a single stream identifier, I am not sure whether S1SetupRequest and S1SetupResponse should use the same stream id or not ?

My previous understanding might be wrong. Sorry.

Perhaps we can keep your current implementation and let other community members feedback during further interoperability tests.

Thanks for your great effort !

@Gian-Michele

This comment has been minimized.

Gian-Michele commented May 14, 2018

I update my version using the procedure in http://nextepc.org/guides/2-build/, the version show is the 0.3.8. Is this the version with the new moditications described by @acetcom

@acetcom

This comment has been minimized.

Owner

acetcom commented May 14, 2018

Normally, we’ll update the version when we’ll release next ubuntu package. So, currently, you see the 0.3.8 version.

Thanks!

@Gian-Michele

This comment has been minimized.

Gian-Michele commented May 15, 2018

I tryed to connect nextepc to openairinterface (OAI)but i contue to have some probles. The nextepc log is: https://drive.google.com/open?id=1Vr3tYzQs0Skkz4i4xBpjov7qx6RtpJP-

the first woring: Unknown UE by GUTI[G:1,C:1,M_TMSI:0xe800a7b0] (mme_context.c:2160) is not a problem because i tryed with another commercial enb and with the same warning the user can correctly be attached to the nextEPC.

The main problem is the second warning: WARN: No ENB UE Context : MME_UE_S1AP_ID[1] (s1ap_handler.c:872)
This message appear only during the test with openairinterface (OAI) and After this warning the enb crash.

For wireshark analysis the pcap files is here: https://drive.google.com/open?id=1yfNGRtNycpfJ3j9wxBGuSE2Uplahq_Re

@acetcom

This comment has been minimized.

Owner

acetcom commented May 15, 2018

OAI eNodeB might be crashed after ErrorIndication is received. NextEPC MME seems to be sending a correct S1AP message. It would be good to discuss this issue with OAI people.

I'm sorry that I cannot help you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment