[resolved] DAHDI waits for ringtime before sending busy signal

Dear folks,

we just went live with a new phone system.
Asterisk 11.2, FreePBX 2.11
Extension has CF disabled.

When I call that extension while it is busy internally, I get a busy signal as expected.
However, if I call the DID for this extension (DAHDI trunk), it waits for the configured ringtime and then sends the busy signal.

In the log file, I can see this:

DAHDI/i1/555260317-bc is proceeding passing it to SIP/129-000001e6
[2013-03-22 12:10:32] VERBOSE[32230][C-000006fa] app_dial.c: – DAHDI/i1/555260317-bc is proceeding passing it to SIP/129-000001e6
[2013-03-22 12:10:32] VERBOSE[19022][C-000006fb] sig_pri.c: – Accepting call from ‘5552603100’ to ‘260317’ on channel 0/8, span 1
[2013-03-22 12:10:32] VERBOSE[19022][C-000006fb] sig_pri.c: – Accepting call from ‘5552603100’ to ‘260317’ on channel 0/8, span 1

Interestingly, there is this nugget here:

[2013-03-22 12:10:32] VERBOSE[32231][C-000006fb] pbx.c: – Executing [s-BUSY@macro-exten-vm:3] Busy(“DAHDI/i1/5552603100-bd”, “20”) in new stack
[2013-03-22 12:10:32] VERBOSE[32231][C-000006fb] pbx.c: – Executing [s-BUSY@macro-exten-vm:3] Busy(“DAHDI/i1/5552603100-bd”, “20”) in new stack

And then 20 seconds (the configured ring time) later:

[2013-03-22 12:10:53] VERBOSE[32231][C-000006fb] chan_dahdi.c: – Hungup ‘DAHDI/i1/5552603100-bd’
[2013-03-22 12:10:53] VERBOSE[32231][C-000006fb] chan_dahdi.c: – Hungup ‘DAHDI/i1/5552603100-bd’
[2013-03-22 12:10:53] VERBOSE[19022][C-000006fa] sig_pri.c: – Span 1: Channel 0/1 got hangup request, cause 17
[2013-03-22 12:10:53] VERBOSE[19022][C-000006fa] sig_pri.c: – Span 1: Channel 0/1 got hangup request, cause 17

Any ideas?

Dear folks, for everyone else I’d like to say that the problem arose because our telco provider wouldn’t let us send out audio when the channel wasn’t answered. They key for the solution is in the chan_dahdi.conf file, where you need to add the following:

priindication=outofband

This parameter will cause the Asterisk Busy() and Congestion() functions to return immediately with a hangupcause rather than sending busy/congestion tone audio.