Still can't put multiple CIDs in Inbound Route?

When creating an inbound route, I need to put multiple, random CIDs to allow only them call the number. Pattern matching won’t work as the numbers are random phone numbers. I don’t seem to be able to make a list of any kind. I saw this question answered, “No solution” in 2010. Is there still no way to do this?

If wildcards aren’t going to work for you, then yes, the answer is still no way to do this.

Not quite “no way” you can create a ‘custom-context’ sends an inbound call that queries a self generated astdb table ( with database put ) that checks the CallerID(number) against your database of ‘random CID’s’ with database get , then conditionally branch to an appropriate context. Look to the blacklist stuff for a template.

@jerryriggin and if you decide to go that route, be sure to share your work with us so that someone that’s looking for a “helping FreePBX become more awesomer” project can integrate it and make it a real, no-kidding module. It does sound like a cool project.

So this was for a client that wanted to dial a DID from selected CIDs and be able to announce over paging system. That required screening CIDs, then sending DTMFs to activate paging. Being able to list multiple CIDs on the inbound route would have made it easier, but this works:

[from-internal-custom]

exten => 6404105,1,noop("CID Screen ...")
exten => 6404105,n,noop("CID: ${CALLERID(num)}")
exten => 6404105,n,GotoIf($["${CALLERID(num)}" = "1234567890"]?cont)
exten => 6404105,n,GotoIf($["${CALLERID(num)}" = "1234567890"]?cont)
exten => 6404105,n,GotoIf($["${CALLERID(num)}" = "1234567890"]?cont)
exten => 6404105,n,GotoIf($["${CALLERID(num)}" = "1234567890"]?cont)
exten => 6404105,n,GotoIf($["${CALLERID(num)}" = "1234567890"]?cont)
exten => 6404105,n,GotoIf($["${CALLERID(num)}" = "1234567890"]?cont)
exten => 6404105,n,GotoIf($["${CALLERID(num)}" = "1234567890"]?cont)
exten => 6404105,n,GotoIf($["${CALLERID(num)}" = "1234567890"]?cont)
exten => 6404105,n,GotoIf($["${CALLERID(num)}" = "1234567890"]?cont)
exten => 6404105,n,Playback(ss-noservice)
exten => 6404105,n,Hangup()
exten => 6404105,n(cont),Set(_exten_digits=845464)
exten => 6404105,n,noop("Digits: ${exten_digits}")
exten => 6404105,n,Dial(SIP/siprr-out/9876543210,,rM(send))


[macro-send]
exten => s,1,Wait(1)
exten => s,n,SendDTMF(${exten_digits})

Obviously a functional copy would have different CIDs. If there was any way to pattern match the CID numbers I would have done that.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.