PDA

Voir la version complète : filtre d'appels, contacts gmail, etc



yazul
25/04/2011, 19h44
Bonjour à tous,

J'ai mis en place un serveur asterisk (1.4) sur debian/lenny. Il fonctionne depuis quelques années sans problème :
- compte SIP free
- carte FXO XP101 pour rediriger le téléphone FREE vers le serveur

Mon installation dispose de quelques fonctions développées par mes soins, à savoir :
- importer des contacts gmail
- afficher le nom de l'appelant depuis cette liste de contacts
- filtrer silencieusement les appels indésirables (anonymes, call center, etc)

Tout cela est réalisé en MySql, PHP, PEARL.

Si quelqu'un trouve ça utile, je peux faire un retour d'expérience sur ces différents points.

jpmonsan
05/05/2011, 16h56
Bonjour,

Peux-tu m'expliquer comment tu as implémenté ces fonctionnalités?

Merci d'avance

yazul
06/05/2011, 15h29
gmail -> asterisk

j'exporte les contacts gmail dans un fichier CSV (procédure manuelle, j'utilisais CURL mais google a changé quelque chose qui me bloque).

je charge ces contacts dans une base MySql dont la structure principale comporte 2 tables :
- contacts : une entrée par contact
- coordonnées : une entrée par coordonnée connue (téléphone, adresse, etc)

au passage, j'utilise cette base depuis un petit service web pour effectuer des recherches et une numérotation automatique dans asterisk.

j'ai modifié extension.conf pour gérer les appels reçus :



exten => s,n(getname),AGI(/usr/local/bin/cid_lookup.pl,${CALLERID(NUM)})
exten => s,n,GotoIf($[ "${CALLERID(NAME)}" : "anonyme" ]?anon)
exten => s,n,GotoIf($[ "${CALLERID(NAME)}" : "Anonymous" ]?anon)


si la variable NAME contient anonyme (ou anonymous), l'appel est renvoyé sur une entrée "anon" qui :
- ne déclenche pas de sonnerie,
- diffuse un message "appel sans numéro"
- transmet l'appel au répondeur vocal


le script perl cid_lookup.pl reçoit le numéro appelant.
- si le numéro est connu, le nom est renvoyé dans NAME
- les numéros inconnus sont comparés à une série de motifs ; si le numéro correspond à un motif, le nom qui lui est associé est renvoyé dans NAME.

Par exemple :
- le motif "^0033" correspond à un appel "France" qui est accepté
- le motif "^0*$" (que des zéros ou vide) retourne "anonyme"

Je joins cid_lookup.pl = script perl qui filtre l'appel
et cid_filtre.txt la liste des motifs filtrants.

jpmonsan
10/05/2011, 17h06
Merci bcp.
Je vais essayer de l’implémenter et je viendrai vers toi s'il le faut;

Encore merci pour ton idée;

jpmonsan