Let's consider the use of MobiSocket for a SIP application.
Suppose that a TCP connection is established between MH
and CH (the thick, solid line), which have established a SIP
session through the SIP server. The MobiSocket will work as
follows (see figure 1):
- First the application creates the TCP socket for the
SIP session, and calls the acvMobi () to activate the
mobile feature for the socket
- In step , the MH moves from Subnet 1 to Subnet
2, and in the process its address change from IPaddress 1
to IPaddress2
- In step G>, the SIP application at the will call the
updateTCB () function to replace IPaddressl with
IPaddress2 at the TCB table. Then it issues a SIP INFO
message to ask CH update the new IP address ofthe MH.
- Upon receiving this INFO message in step ~, the
SIP application at the CH will authenticate the message
using SIP security associations, and all the
updateTCB () function to replace IPaddressl with
IPaddress2 at the TCB table.
- Then in step ® the SIP application at the CH will
send back the INFO message back the the MH to
confirm the change of address. Note that both INFO
messages may contain other parameters of the concerned
TCP session, such as new window size, MSS etc...
- CH and MH will start sending data using the TCP
connection when they receives the INFO message from
the other end, and they will start receiving data after
they send the INFO message to the other end.