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