Re: Just goes to show...
> Now imagine you port three or four times (as I've done)... Call setup can take a couple of seconds. Why? When someone calls you, the caller's network has to handshake with each network in turn to reach the callee's current network.
I'd hope the s/w was written to first try the "last known good" operator, and not all of them each time. And it may fire them off in parallel.
Mostly, I'd expect the delays being caused by:
a) paging. If you're in spotty coverage, you may need to be paged multiple times for your phone to notice that you've got an incoming call. There are gaps of O(seconds) between the paging messages to give you time to respond on a potentially congested random access channel.
b) more paging (but less likely). If the network has lost track of you, it gradually expands its search within the network to find you - so the first time you're paged, it might only be on cells which aren't covering you
c) LTE, but not VOLTE. Here you have to get redirected down to a lower tech to establish your call. Not sure of the signalling flow, but would expect incremental delay here
d) network congestion (either end of the call). This may redirect the call setup to a different technology, too, which will incur delay in processing
Occasionally, you will also need to re-establish your ciphering/encryption keys to the network, which will incur further delays.
A lot of the delay is the air interface, which can take 10s-100s of milliseconds to transfer a small signalling packet. Once the data is on the wire, it whizzes along, and hardware processing/routing is in the micro/nano second scale (unless you're calling the moon).