Upgrade 3CX to v18 and get it hosted free!

CNAM Lookup

Author image

Here is a simple way to perform a CNAM lookup when CallerId Name information is absent on incoming calls.
You would add the following to your extensions.conf which would call the lookup script when CallerID name is missing on incoming calls, if CID name is present it just continues:

extensions.conf:

exten => s,n,GotoIf($["${CALLERID(num)}" = ""]?NOCID,1)
exten => s,n,GotoIf($["${CALLERID(name)}" = ""]?NONID,1)
exten => s,n,GotoIf($[${LEN(${CALLERID(name)})} = 1]?NONID,1)
exten => s,n,GotoIf($["${CALLERID(name)}" = "${CALLERID(num)}"]?NONID,1) ; if callerid name and num are the same
exten => s,n,Goto(ring-the-house,s,1)
exten => SETNID,1,Set(CALLERID(name)=${DB(names/${CALLERID(num)})}) ; set CNAM from the AstDB if present
exten => SETNID,n,Goto(ring-the-house,s,1)

exten => NOCID,1,Set(CALLERID(name)="No CallerID") ; if there's no CID number then there isn't much else we can do
exten => NOCID,n,Answer
exten => NOCID,n,Wait(2)
exten => NOCID,n,Playback(pls-wait-connect-call)
exten => NOCID,n,Goto(ring-the-house,s,1)

exten => NONID,1,agi(callerid_shell.agi,${CALLERID(num)}) ; perform the lookup script
exten => NONID,n,Set(CALLERID(name)=${lookupname})
exten => NONID,n,GotoIf(${CALLERID(name)}?ring-the-house,s,1) ; continue if lookup was successful
exten => NONID,n,Set(ac=${CALLERID(num):0:3}) ; otherwise I like to set the name to be the same as number
exten => NONID,n,Set(ex=${CALLERID(num):3:3})
exten => NONID,n,Set(ext=${CALLERID(num):6:4})
exten => NONID,n,Set(CALLERID(name)=${ac}-${ex}-${ext})
exten => NONID,n,Goto(ring-the-house,s,1)

Next you need to pick a callerid script for the lookup. The attached file is a modified version of Brad House’s script that adds Whitepages.com lookups which is very good for Canadian lookups as well:

Related Posts:

Get 3CX - Absolutely Free!
Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.