Can't make internal extension to extension calls

When I try making an extension to extension call I get the “The person at extension XXX is unavailable…” prompt. Sure enough the ExtensionState is set to 4 (Unavailable) in the CLI debug output. I’m having zero success in getting the extensions active. The extensions are registered and I can use feature codes from them. (Maybe unrelated, but *11 (login) gives me extension XXX is unavailable error.) Any suggestions on what I’m doing incorrectly?

dialparties.agi: Caller ID name is ‘John Doe’ number is '820’
dialparties.agi: USE_CONFIRMATION: 'FALSE’
dialparties.agi: RINGGROUP_INDEX: ''
dialparties.agi: Methodology of ring is ‘none’
– dialparties.agi: Added extension 814 to extension map
– dialparties.agi: Extension 814 cf is disabled
– dialparties.agi: Extension 814 do not disturb is disabled
> dialparties.agi: extnum 814 has: cw: 1; hascfb: 0 [] hascfu: 0 []
> dialparties.agi: ExtensionState: 4
– dialparties.agi: dbset CALLTRACE/814 to 820
– dialparties.agi: Filtered ARG3: 814