Voici mon dialplan, mais pour la reconnaissance du numéro pour mettre le nom de l'appelant, j'utilise du dialplan et je pense qu'en utilisant une base sql cela serait plus propre, tout comme pour la blacklist. Qu'en pensez-vous?

Et que puis-je utiliser pour le faire?

Même question pour les appel masqué?

Code:
[general]
static=yes       ; These two lines prevent the command-line interface
writeprotect=yes ; from overwriting the config file. Leave them here.

[interne]
include => parkedcalls

;appel interne
exten => _4XXX,1,NoOp(${CALLERID(all)})
same  =>       n,Dial(SIP/${EXTEN},20,tTm)
same  =>       n,VoiceMail(4001@maison)

;appel externe via ippi
exten => _0XXXXXXXXX,1,Dial(SIP/ippi_outgoing/${EXTEN})

;messagerie vocal
exten => 400,1,VoiceMailMain(@maison)
exten => 401,1,VoiceMailMain(@work)

[from_ippi]
exten => s,1,Answer()
exten => s,n,NoOp(appel entrant de ${CALLERID(ALL)})
exten => s,n,Gosub(correction-callerid,1,1)
exten => s,n,agi(googletts.agi,"Bienvenue chez Fortin-Animation",fr)

exten => s,n,GotoIfTime(17:30-19:00,mon-fri,*,*?open)
exten => s,n,GotoIfTime(10:00-15:00,sat,*,*?open)
exten => s,n,agi(googletts.agi,"La ligne téléphonique est ouverte du lundi au vendredi de 17 heure 30 à 19 heure. Et le samedi de 10 heure à $
exten => s,n,VoiceMail(4001@work)

exten => s,n(open),NoOp(Check masque)
exten => s,n,NoOp(Check blacklist)
exten => s,n,GotoIf([1=1]?ok)
exten => s,n,Goto(nondispo)

exten => s,n(ok),Gosub(NumConnu,1,1)
exten => s,n,Goto(interne,4001,1)

exten => s,n(nondispo),agi(googletts.agi,"Nous ne sommes pas disponnible pour le moment",fr)
exten => s,n,VoiceMail(4001@work)


[correction-callerid]
exten => 1,1,noop(Correction du format du callerid)
same  =>   n,GotoIf($[${CALLERID(num)} = ""]?fincorrection)
same  =>   n,GotoIf($[${LEN(${CALLERID(num)})} = 9]?neufchiffres)
same  =>   n,GotoIf($[${CALLERID(num):0:2} = 33]?debut33)
same  =>   n,GotoIf($[$[${LEN(${CALLERID(num)})} = 11 ] & $[${CALLERID(num):0:2} = 00]]?onzechiffresdeuxzero)
same  =>   n,goto(fincorrection)

same  =>   n(neufchiffres),Set(CALLERID(num)=0${CALLERID(num)})
same  =>   n(neufchiffres),goto(fincorrection)

exten => s,n(ok),Gosub(NumConnu,1,1)
exten => s,n,Goto(interne,4001,1)

exten => s,n(nondispo),agi(googletts.agi,"Nous ne sommes pas disponnible pour le moment",fr)
exten => s,n,VoiceMail(4001@work)


[correction-callerid]
exten => 1,1,noop(Correction du format du callerid)
same  =>   n,GotoIf($[${CALLERID(num)} = ""]?fincorrection)
same  =>   n,GotoIf($[${LEN(${CALLERID(num)})} = 9]?neufchiffres)
same  =>   n,GotoIf($[${CALLERID(num):0:2} = 33]?debut33)
same  =>   n,GotoIf($[$[${LEN(${CALLERID(num)})} = 11 ] & $[${CALLERID(num):0:2} = 00]]?onzechiffresdeuxzero)
same  =>   n,goto(fincorrection)

same  =>   n(neufchiffres),Set(CALLERID(num)=0${CALLERID(num)})
same  =>   n(neufchiffres),goto(fincorrection)
same  =>   n(debut33),Set(CALLERID(num)=0${CALLERID(num):2})
same  =>   n(debut33),goto(fincorrection)
same  =>   n(onzechiffresdeuxzero),Set(CALLERID(num)=${CALLERID(num):1})
same  =>   n(onzechiffresdeuxzero),goto(fincorrection)

same  =>   n(fincorrection),NoOP(CALLERID->${CALLERID(num)})
same  =>   n,Return()

[NumConnu]
exten => 1,1,noop(Verification Numero Connu)
same  =>   n,GotoIf($[${CALLERID(num)} = 0668492371]?FORTINGuillaume)

same  =>   n(FORTINGuillaume),SET(CALLERID(name)=FORTIN Guillaume)
same  =>   n,Goto(end)

same  =>   n(end),Return()