I have set up an incoming trunk and a DID on that trunk, both of which work perfectly - I can set the DID to dial one of my extensions and it goes through.
I have set up a DISA for testing, and pointed the DID at that with an inbound route.
When I dial the DID, I see
-- Accepting AUTHENTICATED call from 118.88.16.69:
> requested format = alaw,
> requested prefs = (alaw),
> actual format = alaw,
> host prefs = (ulaw|alaw|gsm),
> priority = mine
-- Executing [xxxxxxxxxxx@from-trunk:1] Set("IAX2/john_home-11861", "__FROM_DID=xxxxxxxxxxx") in new stack
-- Executing [xxxxxxxxxxx@from-trunk:2] GotoIf("IAX2/john_home-11861", "0 ?cidok") in new stack
-- Executing [xxxxxxxxxxx@from-trunk:3] Set("IAX2/john_home-11861", "CALLERID(name)=0406918739") in new stack
-- Executing [xxxxxxxxxxx@from-trunk:4] NoOp("IAX2/john_home-11861", "CallerID is "0406918739" <0406918739>") in new stack
-- Executing [xxxxxxxxxxx@from-trunk:5] Ringing("IAX2/john_home-11861", "") in new stack
-- Executing [xxxxxxxxxxx@from-trunk:6] Goto("IAX2/john_home-11861", "disa|1|1") in new stack
-- Goto (disa,1,1)
-- Executing [1@disa:1] Set("IAX2/john_home-11861", "RESCOUNT=1") in new stack
-- Executing [1@disa:2] GotoIf("IAX2/john_home-11861", "0?end") in new stack
-- Executing [1@disa:3] Read("IAX2/john_home-11861", "RRES|press-1|1||1|3||") in new stack
-- Accepting a maximum of 1 digits.
-- User disconnected
== Spawn extension (disa, 1, 3) exited non-zero on 'IAX2/john_home-11861'
-- Hungup 'IAX2/john_home-11861'
The call hangs up immediately, no wait for me to dial through, nothing.
I'm running FreePBX 2.4.0.0 on a Debian Etch server, with Asterisk 1.4.20.1.
This seems (at least to me) to be a major bug, which is why I put it here.