VoLTE Flows – Basics

I’ve just recently changed my job and that reminded me, what it means to start from the beginning again. To help those of you who have just started with VoLTE/IMS I’ve created a short presentation.

Let me know if it works (and maybe one day I’ll find some to make a recording too 🙂 ). Good luck!

Other presentations:


8 thoughts on “VoLTE Flows – Basics

  1. Great work Karel. For an enhancement; how’s about adding ‘CHARGING’ to your flows? It’s amazing, in general, how little treatment is given to charging of VoLTE. I guess most people concentrate on the deep technical aspects of getting VoLTE calls established and connected in the IMS network but, when it comes to making sure the money is brought in for VoLTE calls I guess most people expect they will be either ‘free-of-charge’ or part of a ‘flat-rate’ bundle!


    • Thank you for the comment! You are very right. Charging is often left out though it is very important. It is one of entries on my To-Do list, hope I’ll find some time to write the post.
      In general VoLTE charging may be based on CDR’s generated by EPC and/or IMS nodes. The format and content of the CDR’s for the SGW, PGW, P-CSCF, S-CSCF and the TAS are defined in 3GPP TS 32.298. VoLTE charging architecture for Online and Offline Charging is then defined in 3GPP TS 32.240 and 3GPP TS 32.260.
      In my experience with VoLTE deployments I can say that only very few operators use Rf interface in IMS (offline charging), about 50 % then use Ro or (mainly) Camel from TAS for prepaid. In my belief charging is done mostly in EPC (S8HR – e.g. triggered by S/P-GW) rather than in IMS (LBO – e.g. triggered by TAS).

      Liked by 2 people

  2. Karel, could you please explain further slide #31?

    What Source and Destination IP Address will I see in the RTP packets of UAC and UAS? Will it be different from the the Connection Data (“c”) in SDP?

    Thanks! – TR


    • Hi,
      SBC intercepts the media traffic (because of NAT, SRVCC, lawful intercept, media transcoding, .. ). Therefore UAS will find in the SDP offer the IP address of its SBC. The UAC will see in the SDP answer the IP address of its own SBC. So we are using the c record from SDP, but don’t expect to see there the IP address of the one you’re calling to.

      Kind Regards,


      • Thank you so much! On another topic, is there a way to associate RTP with SIP packets from a large capture file? Any recommendations on how to do it?


      • When we talk about a large file, we should use some tools. In Wireshark just go to menu Telephony/VoIP calls. There you can select the streams you’re interested in. Alternatively you have to create trace filter e.g. based on port number, etc. Of course there are other commercial and more advanced tools, which can do the same thing automatically.


  3. Great Job Karel. Thank you so much. 4g with IMS explained very well. You have managed to explain every single information that i was trying to gather from multiple sources.


Leave a Reply

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

WordPress.com Logo

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

Facebook photo

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

Connecting to %s