How much extra are you using with IPv6 on cellular?
A tricky answer to a simple question about DNS.
There’s old joke about standards that the great thing about standards there’s so many to choose from. SMS wasn’t there from the start of GSM, but within a year of the inception of 2G we had SMS, and we’ve had SMS, almost totally unchanged, ever since. In a recent Twitter exchange, I was asked, what’s … Continue reading SMS Transport Wars?
Where’s the one on your keypad – Top left or bottom left – What are you entering the digits on? An ATM? A Number Pad? A Telephone? Why is it all different?
Enabling multi-instance on a M3UA peer to set a network-appearance
How Binding Support Function addresses are found in LTE/5GC.
WIll wireline and 5G Core converge?
Valid Session Cases for use in an IMS iFC
Getting to know the GSMA’s TAP files, what’s in them, and how they’re used to bill roaming traffic.
A look at how the SQN resync procedure is performed in the IMS Authentication flows
A look at the PCRF in EPC Networks, and the Charging Rules that lay at the heart of it all.
How much overhead is used to send the message “K” back to an SMS?
Using Kamailio with a Diameter Routing Agent
An overview of the who, how and why of Non-IP Data Deliver in NB-IoT cellular services.
A look at why we’d want to apply translations to Diameter AVPs inside a Diameter Routing Agent
Diving back into the world of Diameter Routing Agents with a look at the logic that defines how a DRA routes traffic from one place to another.
Answer Question 1: Because they make things simpler and more flexible for your Diameter traffic.
Answer Question 2: With free software of course!
All about DRAs
But let’s dive a little deeper. Let’s look at the connection between an MME and an HSS (the S6a interface).
We configure the Diameter peers on MME1 and HSS01 so they know about each other and how to communicate, the link comes up and presto, away we go.
But we’re building networks here! N+1 redundancy and all that, so now we have two HSSes and two MMEs.
Okay, bit messy, but that’s okay…
But then our network grows to 10 MMEs, and 3 HSSes and you can probably see where this is going, but let’s drive the point home.
Now imagine once you’ve set all this up you need to do some maintenance work on HSS03, so need to shut down the Diameter peer on 10 different MMEs in order to isolate it and deisolate it.
The problem here is pretty evident, all those links are messy, cumbersome and they just don’t scale.
If you’re someone with a bit of networking experience (and let’s face it, you’re here after all), then you’re probably thinking “What if we just had a central system to route all the Diameter messages?”
An Agent that could Route Diameter, a Diameter Routing Agent perhaps…
By introducing a DRA we build Diameter peer links between each of our Diameter devices (MME / HSS, etc) and the DRA, rather than directly between each peer.
Then from the DRA we can route Diameter requests and responses between them.
Let’s go back to our 10x MME and 3x HSS network and see how it looks with a DRA instead.
Not only does this look better, but it makes our life operating the network a whole lot easier.
Each MME sends their S6a traffic to the DRA, which finds a healthy HSS from the 3 and sends the requests to it, and relays the responses as well.
We can do clever load balancing now as well.
Plus if a peer goes down, the DRA detects the failure and just routes to one of the others.
If we were to introduce a new HSS, we wouldn’t need to configure anything on the MMEs, just add HSS04 to the DRA and it’ll start getting traffic.
Plus from an operations standpoint, now if we want to to take an HSS offline for maintenance, we just shut down the link on the HSS and all HSS traffic will get routed to the other two HSS instances.
In our next post we’ll talk about the Routing part of the DRA, how the decisions are made and all the nuances, and then in the following post we’ll actually build a DRA and start routing some traffic around!
Recently I had a strange issue I thought I’d share. Using Kamailio as an Interrogating-CSCF, Kamailio was getting the S-CSCF details from the User-Authorization-Answer’s “Server-Name” (602) AVP. The value was set to: sip:scscf.mnc001.mcc001.3gppnetwork.org:5060 But the I-CSCF was only looking up A-Records for scscf.mnc001.mcc001.3gppnetwork.org, not using DNS-SRV. The problem? The Server-Name I had configured as a … Continue reading Kamailio I-CSCF – SRV Lookup Behaviour
A deep dive into Mobile Originated MMS via the MM1 Interface