Subject: Re: [sipcore] WGLC: draft-ietf-sipcore-sip-push - SIP combine with push implementation experience

From: Roman Shpount <[email-masked]>
Date: Tue, 20 Feb 2018 19:04:44 -0500

Hi All,

I just wanted to provide some feedback based on our implementation
experience of push notification in combination with SIP from several years
ago, which was done before this draft was written.

We have used SIP-push in combination with SIP Outbound. SIP Outbound was
still needed to maintain the connection from the client when UA is awake
and call is in progress. We simply used SIP-push as an optimization on top
of SIP Outbound to reduce the number of messages sent, client energy
consumption, and proxy load. There are other solution for using SIP with
NAT, but SIP Outbound is the most complete and most thought through
standard solution. It made sense to use it and to combine it with SIP-push
instead of inventing new functionality.

We have used sip.instance and reg-id to deal with IP address changes and
registration updates. This way if client IP address changes, the
registration is updated to use new connection information. Device IP
address changes often enough when US is sleeping, for instance when device
moves from 4G to WiFi, so that handling this scenario transparently was
required to develop a usable system.

We have used GRUU to associate non-registration requests with specific
registrations and by reference with existing connection to the client or
SIP-push registration.

As far as Registration expiration is concerned, for SIP-push it is needed
to specify the minimum allowed registration expires interval otherwise
there is not enough time for a SIP-push notification to complete and
registration request to be sent before registration expires. We have used a
minimum expires value of 90 seconds and failed all registrations with all
lower expires non-zero values. For user agents that supported timers, we
configured them to send a registration refresh request once half of
registration expiration interval has elapsed. SIP-push enabled proxies sent
a push notification to the UA before the registration expiration. The
minimum of 32 seconds and one third of the session interval is was used for
this.

Please let me know if you need more details.

Regards,
_____________
Roman Shpount