voip network hopping

i'm curious if there is any spec in the voip protocol suite that
allows one to maintain a call while changing networks?

what i want to do is setup a softphone on an android phone. however,
this won't work very well if i can't switch from wifi -> 3g -> wifi (i
doubt wifi -> wifi is possible because of hardware limitations). my
alternative is to get asterisk to put the call on hold and play an
automated message if a reconnection (and unhold) takes >1 second. i
would expect that ip telephony would allow for some type of hopping
though, i just don't know what to google for?

This functionality can be done in many ways. This is demonstrated in
the Asterisk SCF project during a demo, check youtube.

so, i see they made the asterisk server fail over by unplugging a node
and that's cool but not what i need. what i want is a way to keep a
connection with an asterisk server (or any other preferably free voip
server) when one path fails. this wouldn't be an issue if i could
garante a sip gateway at each ap (wifi or 3g).

... or did i miss something?

You missed everything

https://wiki.asterisk.org/wiki/display/TOP/Hello+World+-+Asterisk+SCF+Style

In IMS this is called session call continuity (scc or vcc) and is defined
by the 3gpp

UMA and GAN do this too, but not for sip.

CB

I rather think that what you need -- you're trying to do cross-WAN roaming,
right? -- is mobile IP on the handset. I'm not sure if you can get there
from here, though. You may need to build your own VPN to do it.

I'm relatively certain that you will *not* be able to get it down to
intra-call time delays, though, without aid from the various carriers.

If you have full control over both the client and the server, and you can
find a way to convince the phone's stacks not to drop an old connection until
it's idle, you might be able to do this at the client level.

Or, just take the battery hit, and stay 4G at all times; that'll do it.

Cheers,
-- jra