The present invention relates to a method, 
computer program products, and a computer readable medium, for maintaining communication between a first mobile unit (1) and a second unit (2), where said first unit (1) communicates via a first communications network (A1) and the second unit (2) communicates via a second communications network (A2). The first unit (1) includes a first 
protocol stack (12) and the second unit (2) includes a second 
protocol stack (22). The first unit (1) includes a first 
session layer (11) which is adapted to function as an interface between the first 
protocol stack (12) and first 
software components (15) acting within the first unit (1). Similarly, the second unit (2) includes a second 
session layer (21) which is adapted to function as an interface between the second protocol stack (22) and second 
software components (25) acting within the second unit (2). The first unit (1) includes one or more first communications hardwares (133a, 13b, 13c, 13d) with associated drive routines (12a, 12b, 12c, 12d) adapted to different communications networks (A1, A2, A3, A4). When the first unit (1) switches (A1-3) from a first communications network (A1) to a third communications network (A3), the first 
session layer (11) functions to maintain communication by selecting first communications hardware (13b) and drive routine (14b) required for the third communications network (A3). The respective identities of the first and second units (1, 2) are maintained by the first and the second session layer (11, 21) and these identities are retained during switching of communications networks by the first unit (1).