Skip to content

Instance cleanup

SIPIS primarily removes stale client instances after the app stops communicating with SIPIS. It also cleans up stale device-token pairs. Cleanup normally follows this lifecycle:

  1. An instance reaches its configured age limit or loses its last usable device-token pair.
  2. SIPIS changes the instance's method to Off and stops maintaining its SIP registration.
  3. SIPIS deletes the instance after it reaches the idle state.

An instance can therefore be Off for a short time before SIPIS removes it.

App stopped communicating with SIPIS for too long

SIPIS measures an instance's age from the last time the app refreshed its activation or registration state with SIPIS. The applicable limit is configured under Sipis/Instance:

  • MaxAge applies to regular instances.
  • PremiumMaxAge applies to instances from select app IDs or CloudSoftphone cloud IDs

When the limit is reached, SIPIS sends an instance-off notification, stops maintaining the SIP registration, and deletes the instance after it becomes idle. If an incoming call is active at that moment, SIPIS postpones switching the instance off until the call is no longer active.

AboutToExpireIn and AboutToExpirePeriod control the warning notifications sent before the age limit is reached. See Settings.xml for all related options.

Acrobits-hosted SIPIS age limits

The Acrobits-hosted SIPIS cluster uses:

The premium age applies to Acrobits Groundwire, selected SDK customers, and selected Cloud Softphone Cloud IDs. For configuration syntax and Debian package defaults, see Settings.xml.

iOS reinstallation

After an iOS app is reinstalled, its PushKit VoIP token can remain unchanged while its standard APNs token changes. The app then reports a new token pair, but an older SIPIS instance may still contain the same VoIP token paired with the previous APNs token.

SIPIS detects this conflict and removes the older token pair, including when the reinstalled app received new SIP credentials and therefore has a different selector. This prevents duplicate incoming-call pushes and removes registrations that belong to an earlier installation. If the old instance has no token pairs left, SIPIS turns it off and deletes it as described above.

Invalid or expired push token reported by PNM as 404 Not Found

When PN Mediator returns 404 Not Found, SIPIS treats the token used for that push as no longer valid. This usually happens after the app is uninstalled or reinstalled. SIPIS removes the token's complete pair from the affected instance. If it was the instance's last pair, SIPIS turns the instance off and deletes it after it becomes idle.

Too many instances share a selector prefix

Repeated app installations, especially in development or QA environments, can leave multiple active instances with the same selector prefix. SIPIS keeps the ten youngest instances and turns any older instances off.