CallerID lookup source

Can anyone recommend a good (reliable) callerID http lookup source that works with the FreePBX module? Free or paid. Thanks.


Since this is a paid service I only want to use it when callerID information is not available on the inbound call. Can someone tell me if the minor modification I did on the inbound route script would accomplish that?

exten => s,n,ExecIf($[ “${CALLERID(name)}” = “” ] Gosub(cidlookup,cidlookup_1,1)

exten => s,1,Set(__FROM_DID=${EXTEN})
exten => s,n,Gosub(app-blacklist-check,s,1)
exten => s,n,ExecIf($[ “${CALLERID(name)}” = “” ] Gosub(cidlookup,cidlookup_1,1)
exten => s,n,ExecIf($[ “${CALLERID(name)}” = “” ] ?Set(CALLERID(name)=${CALLERID(num)}))
exten => s,n,Set(__CALLINGPRES_SV=${CALLERPRES()})
exten => s,n,Set(CALLERPRES()=allowed_not_screened)
exten => s,n(dest-ext),Goto(custom-ptp-in,s,1)

Since [ext-did-0001] is auto generated in freepbx I probably can’t modify the above so would it work if I leave “extensions_additional.conf” as is and recreate the changed [ext-did-0001] in “extensions_override_freepbx.conf” ?

I don’t see how that could work as the “free” services as the lookups still return something.

With the cache option the expense is minimal and as a carrier you have an obligation to return valid caller-id info, not pseudo callerid.

Aren’t you in Canada? I am not sure this service works in Canada, you may have to look at other providers.

Our inbound service Level 3 LI, a wholesale on net virtual trunking option for carriers provides the CID dips via a virtual SS-7 TCAP dip.

You misunderstood.
My DID provider sends name & number info about 70% of the time. I am trying to get CNAM info for the other 30% but I don’t want to do a CNAM lookup if I already have the info.

If I understand the inbound routes script generated by FreePBX correctly, if enabled, the cidlookup is done all the time even if the field is already populated. Is there any way to override this behaviour?

e.g. if I change [ext-did-0001] in “extensions_override_freepbx.conf” will that override the [ext-did-0001] entry in “extensions_additional.conf”? Or is there a better way to do this?

What is in your providers CID field if the data is not available?

If they send just number that would be fairly easy to test for and then bypass the CID lookup.

In any event this will require some hacking.

Another question this begs answering is why if your provider can’t find the data do you think it would be in the national DB?

I just want to try it even though it may not work.
My question is “How would I bypass the CID lookup”?
Can I use the freepbx overide?

I don’t know what freepbx override is.

If you tell me what your provider sends when the CID is not present perhaps I can help you hack out a few lines of code that will do what you want.


This may sound weird but I got the code covered. I just don’t know how to apply it in FreePBX since extensions.conf and extensions_additional.conf get overwritten with every reload.

No, I would not do it like that. I would do a custom context in extensions_custom.conf and use that as the trunk context.

You can then make a choice to send to a route with CID lookup or without.