PDA

Voir la version complète : Afficher le nom d'appelant



sunny
26/10/2010, 15h41
Bonjour à tous,

Je reviens vers vous pour une nouvelle fonctionnalité. Après une enquête que j'ai réalisée dans mon entreprise, j'ai remarqué une très forte demande sur deux points que je ne pensais pas aussi importants. L'un d'eux est le suivant:

l'affichage du nom de l'appelant

Pour faire simple, il s'agit d'assigner une fois pour toute un nom à un numéro entrant de façon récurrente. Ainsi, la cliente A sera tout de suite identifier à son second appel par nos experts. Bien entendu, un système de journal est inclus dans nos ST2030, mais je voudrais créer une liste plus complète centralisée.

Pour les numéros en 09, aucun problème (c'est le provider SIP free qui fournit les infos, étant donner qu'il s'agit d'un protocole SIP). Mais pour le reste, il faut trouver une idée.

Avant de soumettre la mienne, je préfère vous posez la question, ne serait-ce que pour m'élargir à de nouvelles possibilités:
Comment faire pour afficher le nom d'un appel entrant sur le téléphone? (un SIP)
___________________________

Bien, maintenant mon idée:
Je pensais utiliser la base de données Astérisk pour créer une liste de numéro. Cette liste aura pour famille nos différents projets et pour clefs les numéros entrants. La valeur sera le CallerID à afficher sur les téléphones.

Ainsi, je pensais faire quelque chose du genre:


exten => s,1,DBget($CALLERID=projet1/0102030405)
exten => s,1,Dial(SIP/111)

Au préalable, je pensai faire une interface graphique assez simple pour remplir la base de données, même si pour l'heure je ne connais pas grand chose en programmation WEB (mais je devrais bien apprendre un jour, et au vu de se que j'ai aperçu sur voip-info, ça ne devrais pas être trop compliqué).

Pour cette solution, mon seul véritable problème c'est de vérifier si la valeur existe. Si elle n'existe pas, que renvoi DBget() que je pourrais utilisé dans le dialplan? (dans la même idée que Dial() et BUSY par exemple)

notez que je n'ai rien testé, j'en suis simplement à la phase de réflexion.
______________________________


Pour résumer, trois questions:
Comment faire pour afficher le nom d'un appel entrant sur le téléphone? (un SIP)
Que renvoi DBget() que je pourrais utilisé dans le dialplan? (dans la même idée que Dial() et BUSY par exemple)? (dans le livre français d'o'reily, il n'y a rien à par un jump, mais ils ne fonctionnent pas cher moi)
A défaut, que me conseilleriez-vous de gratuit?



Merci de votre soutient, passé :ouimaitre: et j'espère aussi future :)

hb22
27/10/2010, 02h34
FreePBX est quand même sympa. Tout cela est intégré.
Deux solutions :
1) Asterisk Phonebook. Mais l'interface de saisie n'est pas top et je voulais intégrer un Click2Call
2) Avec CallerID Lookup Sources on peut interroger une base externe.
Ci joint un petit ZIP avec une petite appli en PHP pour faire cela. A améliorer...
59

sunny
27/10/2010, 09h26
Merci de ta réponse^^

on en arrive donc à FreePBX. En effet, je n'y avait pas penser au départ.

J'évitai le plus possible FreePBX parce que je comprenais pas comment l'installer (je suis pas très doué je sais...).

Bref, merci pour ton petit script, je vais potasser un peut le PhP, parce que pour l'heure je n'arrive pas à le comprendre.

Bon ba j'ai un peut de travail moi :)

(c'est quand même bien pour ça ça les stages, ont apprends plein de trucs)

cedricscha
27/10/2010, 10h14
si jamais, dans xivo tu as aussi une fonctionnalité comme cela. tu pourrais t'en inspirer.

_AK_
27/10/2010, 10h14
xivo le fait aussi 'nativement'
par contre il faut importer les contact via un csv.
il est aussi possible de mettre a jour la liste via des webservices mais je n'ai pas encore testé.

ffossard
27/10/2010, 12h25
Sunny, fait le test d'appeler une "clé" qui n'existe pas dans AstDB, tu verra que tu ne récupèrera rien dans ta variable, il te suffit derrière de tester si elle est vide ou pleine, si elle est pleine tu remplace le callerid(name) par la valeur récupérée, sinon tu le remplace par "inconnu" ou ce que tu veux d'autre.

J'ai déjà fait ce que tu veux faire, et mon avis est que tu sera trop limité si tu ne passe pas par un agi :wink:

sunny
27/10/2010, 13h52
Sunny, fait le test d'appeler une "clé" qui n'existe pas dans AstDB, tu verra que tu ne récupèrera rien dans ta variable, il te suffit derrière de tester si elle est vide ou pleine, si elle est pleine tu remplace le callerid(name) par la valeur récupérée, sinon tu le remplace par "inconnu" ou ce que tu veux d'autre.

J'ai déjà fait ce que tu veux faire, et mon avis est que tu sera trop limité si tu ne passe pas par un agi :wink:

En effet, je viens de passer un moment dessus, la partie php n'est pas la plus compliquer (j'arrive à avoir mes champs). Mais la connexion avec la base de données est plus compliqué que se que j'avais imaginé. Je suis en effet assez loin d'y arriver.

Pour la valeur à récupérer, j'ai constaté ce problème en regardant la doc en effet. Je pensais utiliser la fonction LookupFAMILY() pour résoudre le problème.

Mais plus je vous écoute et plus je constate qu'il va falloir passer par une AGI...
(j'ai regardé l'installe, je peut la faire facilement en faite, j'avais peur pour rien. Mais du coup, j'ai presque plus rien à faire, n'y à apprendre, snif).

Bon, ba je vais encore essayer un peut de faire une petite interface graphique (mais chut, pas un mot à mon responsable :wink:), histoire d'en apprendre un peut plus. Mais au moins, je suis rassuré, si avec FreePBX j'aurais tout ça, j'y passerai surement.

Merci à tous pour vos réponses et vos conseils.


EDIT: Vous me conseillez quelle version d'Asterisk pour freePBX? Je pensais partir sur une 1.6, mais le tuto du site officiel montre la 1.4.

fastm3
27/10/2010, 15h20
2) Avec CallerID Lookup Sources on peut interroger une base externe.
Ci joint un petit ZIP avec une petite appli en PHP pour faire cela. A améliorer...
59
Sympa. Pareil, je suis partie de asteriskphonebook pour integrer aussi le click2dial sur tous les browsers/os mais aussi recuperer automatiquement la liste des extensions internes plus ajouter la liste des appels par poste plus l'enrichissement par l'annuaire inversé d'un click... Le callerid lookup tape directement dans la base. Simple et efficace. Bon sujet de travail pour un stage , non ? ;)

En effet, je viens de passer un moment dessus, la partie php n'est pas la plus compliquer (j'arrive à avoir mes champs). Mais la connexion avec la base de données est plus compliqué que se que j'avais imaginé. Je suis en effet assez loin d'y arriver.

Pour la valeur à récupérer, j'ai constaté ce problème en regardant la doc en effet. Je pensais utiliser la fonction LookupFAMILY() pour résoudre le problème.

Mais plus je vous écoute et plus je constate qu'il va falloir passer par une AGI...
(j'ai regardé l'installe, je peut la faire facilement en faite, j'avais peur pour rien. Mais du coup, j'ai presque plus rien à faire, n'y à apprendre, snif).

C'est assez classique et etudier le dialplan généré par des produits tels que freepbx ou xivo permet en effet d'apprendre bcp.


EDIT: Vous me conseillez quelle version d'Asterisk pour freePBX? Je pensais partir sur une 1.6, mais le tuto du site officiel montre la 1.4.
J'utilse aussi la 1.4 pour l'instant parce que ma config stable que je deploie est sur une base 1.4 mais avec des patchs. La branche 1.6.2 est conseillée si tu demarres je pense sachant que devstate qui est pas mal exploité par freepbx n'est pas en standard sans patch sur la 1.4
Mais ca vaut le cout aussi de tenter la 1.8 qui vient de sortir en "stable" pour remonter les eventuels pbs de stabilité. Si ton projet n'est pas immédiat et si tu veux un support a long terme, ca serait logique même de demarrer sur cette branche.
Fastm3.

sunny
27/10/2010, 15h42
Sympa. Pareil, je suis partie de asteriskphonebook pour integrer aussi le click2dial sur tous les browsers/os mais aussi recuperer automatiquement la liste des extensions internes plus ajouter la liste des appels par poste plus l'enrichissement par l'annuaire inversé d'un click... Le callerid lookup tape directement dans la base. Simple et efficace. Bon sujet de travail pour un stage , non ? ;)

A ça m’intéresse. J'ai pas tout compris, c'est pour ça que j'ai pas répondu à AK en faite, mais les possibilités ici exposé sont parfaite pour un stage en effet :)
Je vais aller potassé un peut FreePBX pour comprendre un peut de quoi vous êtes en train de parler, parce que tu viens de décrire typiquement se que je voulais faire à la base (mais sans m'y risquer, apeuré par la complexité).


C'est assez classique et etudier le dialplan généré par des produits tels que freepbx ou xivo permet en effet d'apprendre bcp.

La je veux bien te croire, mais c'est aussi pour ça que j'ai commencé par Asterisk seul. Je ne comprenais pas grand chose à AsteriskNOW, surtout que la doc est bien moins accessible que Asterisk.


J'utilse aussi la 1.4 pour l'instant parce que ma config stable que je deploie est sur une base 1.4 mais avec des patchs. La branche 1.6.2 est conseillée si tu demarres je pense sachant que devstate qui est pas mal exploité par freepbx n'est pas en standard sans patch sur la 1.4
Mais ca vaut le cout aussi de tenter la 1.8 qui vient de sortir en "stable" pour remonter les eventuels pbs de stabilité. Si ton projet n'est pas immédiat et si tu veux un support a long terme, ca serait logique même de demarrer sur cette branche.
Fastm3.

Quand j'ai posé ma question, j'ai effectivement en tête la 1.8, étant donné que ma curiosité a été titillé par la nouveauté. Mais la fin de mon stage n'est plus aussi éloigné qu'au départ et il serait peut être temps d'arriver à des résultats concrets. Bref, Je vais dans un premier temps essayer AsteriskNOW à cause de sa rapidité de déploiement et FreePBX.
Quite à choisir des solutions simples, autant prendre les plus simple non?

EDIT:
Efféctivement, FreePBX offre beaucoup de choses, je m'attendais pas à tous ça (même si pour le moment, mes téléphones n'arrivent même pas à s'autenthifier, mais je m'égare). Je disposait avant d'une ancienne version d'asterisk-gui, qui fonctionnait très mal et plantait souvent, d'où mon appréhension des GUI.