diff --git a/src/mme/mme_context.c b/src/mme/mme_context.c index 873c5f9a5..6f3952a77 100644 --- a/src/mme/mme_context.c +++ b/src/mme/mme_context.c @@ -1949,6 +1949,15 @@ mme_ue_t* mme_ue_add(enb_ue_t *enb_ue) mme_ue->mme_s11_teid = mme_ue->index; + /* + * SCTP output stream identification + * Default context_self()->parameter.sctp_streams : 30 + * 0 : Non UE signalling + * 1-29 : UE specific association + */ + mme_ue->ostream_id = NEXT_ID(self.ostream_id, + 1, context_self()->parameter.sctp_streams-1); + /* Create New GUTI */ mme_ue_new_guti(mme_ue); diff --git a/src/mme/mme_context.h b/src/mme/mme_context.h index e00fcdc51..8126b3bc4 100644 --- a/src/mme/mme_context.h +++ b/src/mme/mme_context.h @@ -113,6 +113,7 @@ typedef struct _mme_context_t { /* Generator for unique identification */ c_uint32_t mme_ue_s1ap_id; /* mme_ue_s1ap_id generator */ + c_uint16_t ostream_id; /* ostream_id generator */ /* M-TMSI Pool */ struct { @@ -246,6 +247,8 @@ struct _mme_ue_t { c_uint32_t mme_s11_teid; /* MME-S11-TEID is derived from INDEX */ c_uint32_t sgw_s11_teid; /* SGW-S11-TEID is received from SGW */ + c_uint16_t ostream_id; /* SCTP output stream identification */ + /* UE Info */ tai_t tai; e_cgi_t e_cgi;