We can further optimize the operation of the MobiSocket as
follows:
When the MN receives the INFO message from CN, both
ends might already time out (due to handover, NOT due to
congestion), so even if the TCB is updated, no data
exchange is possible until the time out is over (can be very
long). We can provide a new function to reset the timer
after the updateTCBO function, which is the
reset'I'imensocket id). This function will reset the TCP
socket to the state as if it has just received a datalACK
packet from the other machine
Furthermore, if SIP proxy is used, then normally the MN
has to finish re-Registration with the SIP proxy first before
it can send SIP INFO message to the other end. This
creates further delay for the TCP session. To solve this, we
note that the MN and CN can share public key with each
other during the initial INVITE process, therefore after the
MN handover to a new IP address, it can use the public
key of the CN to send the SIP INFO message to the CN
right away. However, this solution cannot be used if both
ends handover simultaneously (therefore they do not know
the IP address of each other), in this case they must contact
through SIP proxy server (after the re-Registration
process)