LookupCIDName
Описание
Ищет Caller ID активного канала в базе Asterisk (family 'cidname') и устанавливает собственное Caller ID имя. Ничего не делает, если Caller ID не был получен в канале. Это полезно, если вам не подходит полученный Caller ID и вы хотите изменить имена некоторых входящих вызовов,
Пример
exten => s,X,LookupCIDName
Команда CLI для сохранения CallerID
database put cidname 12345 "Oleg S"
Команда CLI для просмотра сохранненых Caller ID
database show cidname
Макрос callerid из FreePBX
[macro-user-callerid] exten => s,1,GotoIf($["${CHANNEL:0:5}" = "Local"]?report) exten => s,n,GotoIf($["${REALCALLERIDNUM:1:2}" != ""]?start) exten => s,n,Set(REALCALLERIDNUM=${CALLERID(number)}) exten => s,n(start),NoOp(REALCALLERIDNUM is ${REALCALLERIDNUM}) exten => s,n,Set(AMPUSER=${DB(DEVICE/${REALCALLERIDNUM}/user)}) exten => s,n,Set(AMPUSERCIDNAME=${DB(AMPUSER/${AMPUSER}/cidname)}) exten => s,n,GotoIf($["x${AMPUSERCIDNAME:1:2}" = "x"]?report) exten => s,n,Set(CALLERID(all)=${AMPUSERCIDNAME} <${AMPUSER}>) exten => s,n(report),NoOp(Using CallerID ${CALLERID(all)}) exten => s,n,GotoIf($["${CALLERID(name)}" != ""]?done) exten => s,n,AGI(callerid_shell.agi|${CALLERIDNUM}) exten => s,n,NoOp(AGI Returned ${lookupname}) exten => s,n,Set(CALLERID(name)=${lookupname}) exten => s,n(done),NoOp(Callerid Lookup Complete)