Ref: 3GPP TS 23.401
Till this point the, S11 tunnel and S5 control and Data tunnels got established successfully.
7. eNodeB upon successful messaging with UE, sends the ENB-DATA FTEID to MME. Now MME sends MODIFY_BEARER_REQUEST message on TEID A with this IE to SGW so that SGW uses this TEID for sending GTP-PDUs on S1-U interface. (In the above figure it is X).
8. SGW responds to MME with MODIFY_BEARER_RESPONSE on TEID D. In this message it sends SGW-DATA FTEID which eNodeB has to use on S1-U interface. (In the above figure it is Y). MME sends this TEID to eNodeB which successfully marks the S1-U tunnel creation.
In this page, I want to discuss about the Initial Network attach call flow along with TEIDs. (Starting from MME, assuming the message flows from MME to eNodeB to UE are successful). Before going into the basics, lets just understand the GTP tunnels.
GTP tunnel:
GTP tunnels are used between two nodes communicating over a GTP based interface, to separate traffic into different communication flows. A GTP tunnel is identified in each node with a TEID, an IP address and a UDP port number.
A TEID is a 4 byte field in the GTP header. TEID values are exchanged between the tunnel end-points. Each sending node sends a message assigning a TEID the receiving end has to use.
Initial Attach:
Whenever UE attaches to a PDN, it gets an ip-address based on the PDN type (IPv4, IPv6 or IPv4v6) which it has requested for. The call flow is as below:
1. MME sends CREATE_SESSION_REQUEST with a TEID '0' in its GTP header to SGW. It allocates an EPS Bearer Identity for the Default Bearer associated with the UE. This message has MME-CONTROL FTEID IE which MME is sending towards SGW so that SGW can use this TEID for sending any message on S11. (In the above figure it is D)
2. SGW creates a new entry in its EPS Bearer table and sends a Create Session Request to PGW on TEID '0'. This message has SGW-CONTROL FTEID IE which SGW is sending towards PGW so that PGW can use this TEID for sending control messages on S5. (In the above figure it is C). Also this message has BEARER_CONTEXT_TO_BE_CREATED IE which has SGW-DATA FTEID which PGW can use for sending GTP-PDUs on S5. (From the fig. it is F)
3. If dynamic PCC is deployed, PGW sends CCR-INITIAL to PCRF on Gx interface to pull all the policy and charging rules to be installed for the PDN session.
4. PCRF responds with CCA-INITIAL with all the rules to PCEF. This step determines the number of dedicated bearers to be created at the Initial attach. Based on the Bearer QoS (QCI, ARP), PGW initiates the creation of the Dedicated bearers.
5. The PGW creates a new entry in its EPS bearer context table and generates a Charging Id for the Default Bearer. The PGW returns the CREATE_SESSION_RESPONSE on TEID 'C'. It allocates an ip-address based on the PDN type selected. This message has PGW-CONTROL FTEID IE which SGW can use this TEID for sending control messages on S5. (In the above figure it is B). Also this message has BEARER_CONTEXT_CREATED IE which has PGW-DATA FTEID which SGW can use for sending GTP-PDUs on S5. (From the fig. it is E).
6. SGW returns this Create Session Response on TEID 'D' to MME. This message has SGW-CONTROL FTEID IE which MME can use for sending any message on S11. (In the
above figure it is A).
Till this point the, S11 tunnel and S5 control and Data tunnels got established successfully.
7. eNodeB upon successful messaging with UE, sends the ENB-DATA FTEID to MME. Now MME sends MODIFY_BEARER_REQUEST message on TEID A with this IE to SGW so that SGW uses this TEID for sending GTP-PDUs on S1-U interface. (In the above figure it is X).
8. SGW responds to MME with MODIFY_BEARER_RESPONSE on TEID D. In this message it sends SGW-DATA FTEID which eNodeB has to use on S1-U interface. (In the above figure it is Y). MME sends this TEID to eNodeB which successfully marks the S1-U tunnel creation.
After this phase, uplink traffic from eNodeB to PDN via SGW - PGW and downlink data from PDN to eNodeB via PGW-SGW can be sent successfully on the GTP tunnels established.