A session transfer module of a session server provides the capability to a
user to direct a transfer of an on-going session from one device to
another device while maintaining the session. The session transfer module
is invoked by a user in a way consistent with the user interface of the
client application, including by a graphical user command, a command line
prompt, or a voice command. The client provides a selection of possible
devices that may receive the redirected session. The session transfer
module receives the selected device with the session redirect command
over a communication network. The communication network may be wired
(e.g., public switched telephone network ("PSTN"), Internet, etc.,) a
wireless network (e.g., digital telephone network, pager network, etc.,)
or a combination of the wired and wireless networks. The session transfer
module may be configured to discontinue the session with the current
device and to block any subsequent messages of the transferring session
from reaching the device. The session transfer module may be further
configured to access a device profile from a device profile database to
convert the blocked messages into a format compatible to the format
and/or modality of the redirected device. The session transfer module may
be further configured to push the session to the redirected device in
response to an activation (e.g., log-on) of the redirected device by the
user. Alternatively, the session transfer module may be further
configured to push the session back to the device in response to a
time-out in the activation of the redirected device.