What’s the point of Subscribe in IMS – Does it do anything useful?

Nope – it doesn’t do anything useful. So why is it there?

The SUBSCRIBE method in SIP allows a SIP UAC to subscribe to events, and then get NOTIFY messages when that event happens.

In a plain SIP scenario (RFC 3261), we can imagine an IP Phone and a PBX scenario. I might have “Busy Lamp Field” aka BLF buttons on the screen of my phone, that change colour when the people I call often are themselves on calls or on DND, so I know not to transfer calls to them – This is often called the “presence” scenario as it allows us to monitor the presence of another user.

At a SIP level, this is done by sending a SUBSCRIBE to the PBX with the information about what I’m interested in being told about (State changes for specific users) and then the PBX will send NOTIFY messages when the state changes.

But in IMS you’ll see SUBSCRIBE messages every time the subscriber registers, so what are they subscribing for?

Well, you’re just subscribing to your own registration status, but your phone knows your own registration status, because it’s, well, the registration status of the phone.

So what does it achieve? Nothing.

The idea was in a fixed-mobile-convergence scenario (keeping in mind that’s one of the key goals from the 2008 IMS spec) you could have the BLF / presence functionality for fixed subscribers, but this rareley happens.

For the past few years we’ve just been sending a 200 OK to SUBSCRIBE messages to the IMS, with a super long expiry, just to avoid wasting clock cycles.

2 thoughts on “What’s the point of Subscribe in IMS – Does it do anything useful?

  1. yes,
    IMS just do nothing, specially at HSS. I see many 4g/5g system still use HLR/MSC for routing

  2. Does the device know the registration status? Are you sure about that? Because that might not be the case. Let me explain:
    3GPP TS 24.229 mentions 600000 seconds as the desired registration expiry time. That’s almost a week and quite some time compared to the common one hour of traditional SIP applications. The reasoning behind this massive timespan is simple: Each time the device needs to send a new register, the device needs to wake up and do something. You can practically see the registration expiry time in a simple factor: Battery lifetime.
    This registration lifespan is too long for some specific (and rare) scenarios, such as operator-based de-registration or assuming you add new numbers to your SIM card.
    At this point, the SUBSCRIBE/NOTIFY option comes into play: You NOTIFY the device to refresh or terminate its registration.

Leave a Reply

Your email address will not be published. Required fields are marked *