We’re using FreePBX/Asterisk in a call center environment and have setup the extensions_custom.conf so that instead of using many static inbound routes for our 1000+ DID’s, we’re doing a database lookup with MSSQL and sending the calls to specific Queues depending on the DID configuration in our call center app’s database.
So the extensions_custom.conf is written to first apply some special logic to all inbound trunk calls (whether they have a static inbound route or will be routed dynamicall) with:
[from-pstn-custom]
exten => _X.,1,Set(__FROM_DID=${EXTEN})
;exten => _X.,n,Set(__INBOUNDCALL=TRUE)
exten => _X.,n,Set(CDR(accountcode)=${EXTEN})
exten => _X.,n,ExecIf($[${LEN(${EXTEN})}>9],Gosub,app-prep-vars|s|1)
exten => _X.,n,ExecIf($[${LEN(${EXTEN})}>9],Gosub,app-check-loop|s|1)
exten => _X.,n,Set(__CALLINGCHANNEL=${CHANNEL})
[ext-did-post-custom]
exten => _X.,n,Noop(No Asterisk Route - Lookup DID Dynamically)
…
We also have some other custom contexts in the file to field actions from the AMI based redirect/originate commands in the call center app used to place callers on hold, make calls, conference calls, etc.
The weird thing is that this all works. But if I uncomment the 2nd line in from-pstn-custom then bizarre things start happening. With that line uncommented, two of the static routes stop working (not matched/found) but others continue to work fine. I can run a show dialplan on those routes and the dialplan indicates that the routes would be found.
But it’s not just that line. If I put more than 3 lines that are executed (not the Gosub’s) in that from-pstn-custom context then either the db lookups quit working or static routes stop working or we have some other odd behavior related to the dialplan. If I move the other contexts around in the file, similar things happen.
Is this normal or is there something wrong here?
BTW, we’re on Asterisk 1.25.1 and FreePBX 2.5.1.5 on CentOS 5.3. We have less than 50 extensions, about 10 queues, a dozen static routes, and a couple IVR’s.
Thanks!