If you liked it, or content was helpful to you please add "+1" to article you used or share it on facebook or so.
Make it easier to find for others who could need those information, allow them find these articles on the spot. But.. it's your call.
Recommendations until now

Aug 29, 2013

Vodafone UK went live with 4G

Recently I was providing (with one colleague Svetlin) the optimization services for EPC for VF-UK, that's why the below touches me also. Today Vodafone went live with proposed developed/deployed and solution optimized by the team and myself.
It's my 3rd LTE launch, but I'm happy as always because of success.

Here are few pictures, as the day like that you just have to start with booze and sweet cupcakes.

It was a good day.

Aug 13, 2013

Terminating the SMS over SGs interface

All the best to you on the workaholic day! As I was told by the BBC in the morning.

Recently I've been asked to investigate curious case which on the SMS duplicates. On the end it appeared it's more than just duplicates issue, but because of confidentiality agreements I will not speak about that.

From the begining I would like to add that on the bottom of this article you will find a trace from live MME node. Sometimes to see the real signaling is better than just the call flow. Also I have to add that the trace was collected only on the MME, that's why signaling steps not involving the MME are not present there.

SMS over the SGs

SMS Active Mode

As the Figure 1 caption stays presented call flow is for the idle mode.
According to the specification the if the UE is in active mode, the only difference is that steps 6, 7, 8 are missing, also in the step 9d the MME includes the E-CGI and TAI. 

SMS Idle Mode

At first I would like to start with the call flow, so here it is.
Fig. 1. Mobile terminating the SMS - idle mode

Aug 11, 2013

DNS Record Types used in EPC

It's been a while, so I will better start.
Previously, I hope, I've managed to shed some light on the DNS in EPC in general, from high above, form. Today I would like to present a records that are used in the LTE EPC deployments I've been involved into.

DNS A & AAAA records

A records (or ‘Address Records’) return an IPv4 address. This is most commonly used to map hostnames to an IPv4 address. Alternatively it is also used by some applications for subnet masks.
AAAA records return an IPv6 address. This is most commonly used to map hostnames to an IPv6 address of the host.

Example of an A record:
topon.nodes.pgw.be.epc  IN   A
topon.nodes.pgw.ms.epc  IN   A
where IN = Internet, A = A-record.

Example of an AAAA record:
topon.nodes.pgw.be.epc  IN   AAAA     2600:1800:5::10
topon.nodes.pgw.ms.epc  IN   AAAA     2600:1800:5::20
where IN = Internet, AAAA = AAAA-record.

DNS SRV records

DNS Resource Records (RR) for specifying the location of services (DNS SRV). Clients can ask for a specific service/protocol for a specific domain, and get back the names of any available servers.

Example of an SRV record:
; SRV Records
; _Service._proto.Name    TTL    Class    SRV    Priority    Weight  Port    Target
; SRV records for SGW
; There are multiple A records for each site to account for future nodes as there will be two PGWs at xBE and xMS.
topon.nodes.sgw.be.epc    IN    SRV    1    100    2123  node1.sgw.be.epc.mnc01.mcc234.3gppnetwork.org.
;topon.nodes.sgw.be.epc    IN    SRV    1    100    2123  node2.sgw.be.epc.mnc01.mcc234.3gppnetwork.org.
topon.nodes.sgw.ms.epc    IN    SRV    1    100    2123  node1.sgw.ms.epc.mnc01.mcc234.3gppnetwork.org.
;topon.nodes.sgw.ms.epc    IN    SRV    1    100    2123  node2.sgw.ms.epc.mnc01.mcc234.3gppnetwork.org.

The SRV record is formed of the following fields:
Priority – (=1 in the above example) a client must attempt to contact the target host with the lowest-numbered priority it can reach. Target hosts with the same priority should be tried in an order defined by the weight field.
Weight – (=100 in the above example) specifies a relative weight for entries with the same priority. Larger weights should be given a proportionally higher probability of being selected. A target with a weight of 0 corresponds to a backup.
Port – (=2123 [GTP] in the above example) is the port number assigned to the symbolic service specified in the record.
The system should compute the sum of all weights of those RRs having the lowest, identical precedence. Then choose a random number between 0 and the sum computed.  Select the target associated to this random value.

DNS NAPTR records

Name Authority Pointer (NAPTR) resource records specify lookup services for a wide variety of resources names. When applied to an existing string, NAPTR will produce a new domain label or URI.
With EPC, we will use a variation called S-NAPTR where the regular-expression is empty. Straightforward NAPTR (S-NAPTR) is used to add particular services to a DNS entry. The result of this is that the DNS server can reply back to the query with a service-protocol specific entry. S-NAPTR records are particularly common with mail-reading applications whereby the DNS server can have separate S-NAPTR records for the POP3 and IMAP4 protocols.
When using S-NAPTR, the DNS query does not indicate the ‘service:protocol’ needed. The DNS server will provide all S-NAPTR requested and the DNS client will consider the ones matching only the desired ‘service:protocol’.

Example of a NAPTR record
wap.operator.com.apn.epc.mnc01.mcc234.3gppnetwork.org. IN NAPTR 1 5  "a"  "x-3gpp-pgw:x-gn"   "" topon.nodes.pgw.be.epc.mnc01.mcc234.3gppnetwork.org.

The NAPTR record is formed of the following fields:
Order – (=1 in above example) a client must attempt to contact the target host with the lowest-numbered order it can reach. Target hosts with the same order should be tried in an order defined by the preference field. The DNS client should not consider any NAPTR with higher value for order.
Preference – (=5 in above example) specifies how NAPTR with equal order should be processed. Low numbers are being processed before high numbers.  A client may look at record with higher preference values if it has good reasons to do so such as not understanding the preferred protocol or service.
The important difference between Order and Preference is that once a match is found, the client must not consider records with a different order but they may process records with the same Order but different Preferences.
In other words, Preference is used to give weight to rules that are considered the same from an authority standpoint but not from a simple load-balancing standpoint.
Flags – (=a in above example) controls aspects of rewriting and interpretation in the record. While other flags are allowed with NAPTR, only "S", "A" or "" are allowed with S-NAPTR.
  • The "S" Flag means that the next lookup should be for SRV records.
  • The "A" Flag means that the next lookup should be either for A, AAAA records.
  •  An empty flag " " means that more NAPTR RR lookups are to be performed.


My own experience