Hi!
Tks for all the comments and descriptions.
I've seen the pdf ideas and followed most guidelines.
I've also tried to follow most guidelines from
My approach is first to use a long expires ;)
This was to avoid storing the push information in a different table
as everything is available in the "location" database already.
As I described, my goal was to discard forwarding to branches
which has push information in them. However, this is not
mandatory for me: if the UA is reachable, it will receive the
INVITE and the push. If the UA is not reachable any more (on SIP)
it will just receive the push.
This is working well enough for my needs.
In my initial experiments, I have tried to use a avops with a preference
table. But I'm not sure if that database could support many entries for
the same users. And I was worried about automatic management of
the expiration of this entry. The "location" database already have expiration
management and already contains the tokens...
In your setup, you have a small Expires, but you still send call after
the contact has expired?... May be the user don't want the call any more...
As far as I know, after my app is terminated and TCP connection closed
(or broken), there is no impact in the location database? So UDP/TCP/TLS
should not make any difference for my setup!
I understand your warning about TCP: If I have only on TCP branch and it fails
I guess I will have a fast " I'm terribly sorry, server error occurred (7/SL)" answer
and no time for my "pushed" app to be already registered. However, I think
I can sort this out with a trick (for example, a static branch to keep my stuff
alive?)
Up to now, the new registration comes before the failure of the broken TCP branch.
Not sure if I'm lucky or if I can count on this ;(
Thus... t_suspend and t_continue don't seems to be required at all for me.
Also, I haven't been able yet to find any advantage to use a different htable.
Tks
Aymeric