my first eGTP test

Posted: January 4, 2010 in technical
Tags: , , , , , , , ,

Today I have created my first eGTP scenario, trying to analyze the Wireshark capture and better understand this protocol…

eGTP, or GTPv2 is one of the ongoing and work in progress 3GPP standards, following the GTPv1 of UMTS, eGTP is used on the SAE architecture, GTP-c (GTP Control-Plane) between the two components of the EPS (Evolved Packet System): MME (Mobility Management Entity) and SGW (Serving Gateway) and between SGW and PGW (PDN Gateway) and GTP-u(GTP User-Plane) between eNodeB and SGW for the user traffic.

Basically, when the phone/UE (User Equipment) is turned on, it looks for a radio network. When it finds one, it signals its location and identity and tries to contact it’s home network – procedure called initial attach. During this procedure, the UE is given a permanent IP address by the PGW (PDN – Packet Data Network Gateway) – this being one of the purposes of this attach procedure. As a consequence, a (default) bearer (UMTS context) is created, a basic connection between the UE and the PGW, mainly to identify the UE in the PGW and keep track of its existence while it is connected to the network. This procedure is basically the initial registration to the network and the messages exchanged here are part of the so-called control-plane traffic.

The complete signaling scheme is triggered by the UE sending an AttachRequest to its closest eNodeB device, this forwards the request to its MME (to one of its MMEs, if there are more), then MME talks to SGW (after allocating an EPS bearer ID for the default bearer associated with the UE) and the SGW talks to PGW, in order to create a session for our user. The complete flow is presented below.

Still, what is of interest to eGTP, the flow between MME and SGW consists of only 2 messages: CreateSessionRequest and CreateSessionResponse (in case the bearer is modified, also ModifyBearerRequest and ModifyBearerResponse).

1 2 3 4042792944_57805b8268_o

The CreateSessionRequest contains:

– identification information of the UE (IMSI, MSISDN, MEI – Mobile Equipment Identity, ULI – User Location Information)

– information regarding the radio access: the access can be E-UTRAN (where we have an eNodeB device) or other 3GPP and non-3GPP RANs

– information about the destination network /serving network (MCC – Mobile Country Code and MNC – Mobile Network Code)

– information about the path of the tunnel – where the user is to be registered; as the user is registered on the PGW, and this message (CreateSessionRequest) is sent by the MME, the next logical hop is the SGW; therefore there are 2 Fully Qualified Tunnel Endpoint Identifiers:

— one for the S11 interface (the one between MME and SGW)

— one for the S5/S8 interface (the one between SGW and PGW)

these two headers contain a field called F-TEID IPv4 (or IPv6) having as values the IP address of the next logical interface (SGW’s S11, respectively PGW’s S5/S8 interface)

– type of the final gateway (registration point): either IPv4 or IPv6

– information about the type of transaction in place, like: type of network selection, PDN address allocation ( in this message on S11) and an Indication header used for future signaling in case a Handover takes place, for instance

– the APN (Access Point Name) – DNS name, APN restrictions, AMBR (Aggregate Maximum Bit Rate) – used in QoS (I’ll study this one later on), Bearer information (ID, QoS…) and a Restart Counter

Following up this message, the SGW also creates an entry for the default bearer of that UE and sends a CreateBearerRequest message to the PGW.

The CreateSessionResponse in the next chapter 😛

***I have noticed that, in order to completely understand the entire flow of messages is better to follow-up a type of message from its starting point (let’s say, the UE or eNodeB triggering the flow) up until the PGW device. The message above has been caught on the S11 interface, between the MME and the SGW, but

  1. Santosh says:

    Hey! Great that you started with eGTP. Wish you luck!

  2. @Santosh: thanks. I haven’t actually started, but I try to learn from now…

  3. Nitesh says:

    Cristina, good to see you catching up on this

  4. […] I was telling you about in a previous post – my first eGTP test, the reply (first reply) to a CreateSessionRequest message is a CreateSessionResponse message, […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s