As above, you can super-centralize or you can spread out with smaller, local servers. Asterisk servers can trunk calls to some other via SIP or IAX2 (inter-Asterisk exchange) protocols. Absolutely vertical phone systems calls based on extension range (2xxx is NYC, 3xxx is Boston, etc) or just by which server