Well, TCP is not ideal as it is a stateful connection and is more suited to reliable delivery and not speed. UDP is more related to speed over reliability. If you have a fairly large number of BLF needs, then hopefully, you are using BLF Eventlist. When a query is made, there is a timer (T1) which expects a response back in 500ms. if that is not achieved the query will be resent again and again, but at different intervals 500ms, 1sec, 2sec, 4sec, 8 sec. and finally 16sec or a total of ~32 seconds. This is not the process for every query nor do all UAS wait the full 32 seconds as some may not want to wait that long. When the timer expires waiting for the response, the Invite will be cancelled as it is assumed that the UCM (in this case went off-line).
This is one reason I question the bug thought as the SIP stack would still be looking for a response and presumably resending when nothing is seen within each 500ms period following each Invite.
The BLF is one message that does not get repeated. It is one and done. As the BLF is apt to be so dynamic, there is the issue of trying to keep the phones’ LEDs synchronized to the physical state of the calls. There is one Notify message sent for a status update and if the phone fails to OK the message, then the phone is removed from the subscription list and no more updates will be sent until the subscription is renewed (by a reboot or the natural subscribe process, whichever comes first). The idea is that if the phone missed the Notify, then it is likely off-line and there is no point trying to re-send (taking up time) or sending new messages to what is thought to be an off-line phone.
The only thing I can say is that I have sites with 40+ phones using direct Internet connections with out any of the issues you have reported and both smaller and larger sites with IPSec VPNs also without issues. Delayed dialing has never once been brought to my attention, but I would file a ticket and see what GS can offer.
To me, the delay issue is something that needs looking into. As stated, I do not use the phone’s OpenVPN function so…who knows?