Hi Albert,
So we can see that for this packet MTU and fragmentation should not be the issue because we can see the Content-Length header is 549, also and dependent on where the packet was captured (in your case the server so not relavent for this diagnostic) we can also see the closing </dialog-info> tag of the XML.
Normally we would see a 200 OK response to the NOTIFIY message, we are not seeing this but instead many re-tries. This is often symptomatic of a router having closed the NAT hole first opened by the initial REGISTER packet.
You are right to look at Keep-Alives, the default in most rouers for UDP is to keep the NAT hole open for 180 seconds, but I have seen routers where this is set as low as 20 seconds. Your keep alive interval needs to be lower than the expiry time of the NAT hole. A keep alive type of NOTFIY is fine, try setting the interval lower and see if it solves your problem.
Adrian.