PDA

Voir la version complète : Pb Affichage du nom appelant avec Asterisk Phonebook.



Gbe
09/06/2011, 12h24
Bonjour,

Je veux tester une solution me permettant d'afficher le nom d'un appelant (sur un téléphone SIP Aastra 6731i) lorsque celui-ci est déjà rentré dans le Asterisk Phonebook.

Je suis donc allé dans Asterisk Phonebook de mon Freepbx, et j'ai ajouté une entrée de test avec un numéro en 06.

Ensuite dans CallerID LookUp Source j'ai créé la source "test" de type "internal".

Enfin, dans la inbound route d'un de mes SDA, dans le menu CID Lookup Source, j'ai sélectionné la source "test".

J'appelle avec mon 06 vers le SDA possédant la inbound route, sa ne marche pas, c'est le numéro qui s'affiche sur le téléphone et non le nom. :spamafote:

Une indication si j'ai manqué une étape ?

Merci. :)

Darkflash
09/06/2011, 14h32
Je ne connais pas Freepbx... mais est ce que tu as des indications avec Ta CLI par exemple ? Voir si elle essaye de setter la variable ??

Gbe
09/06/2011, 16h27
Voila ce que m'affiche le cli durant un appel entrant:


== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP VRTP TOS bits 136
== Using SIP VRTP CoS mark 6
-- Executing [7160@from-trunk:1] Dial("SIP/patton1-00000024", "SIP/6501") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP VRTP TOS bits 136
== Using SIP VRTP CoS mark 6
-- Called 6501
-- SIP/6501-00000025 is ringing
== Manager 'admin' logged on from 127.0.0.1
== Manager 'admin' logged off from 127.0.0.1
== Spawn extension (from-trunk, 7160, 1) exited non-zero on 'SIP/patton1-00000024'
-- Executing [h@from-trunk:1] NoOp("SIP/patton1-00000024", "Catch-All DID Match - Found h - You probably want a DID for this.") in new stack
-- Executing [h@from-trunk:2] Goto("SIP/patton1-00000024", "ext-did,s,1") in new stack
-- Goto (ext-did,s,1)
-- Executing [s@ext-did:1] Set("SIP/patton1-00000024", "__FROM_DID=s") in new stack
-- Executing [s@ext-did:2] Gosub("SIP/patton1-00000024", "app-blacklist-check,s,1") in new stack
-- Executing [s@app-blacklist-check:1] GotoIf("SIP/patton1-00000024", "0?blacklisted") in new stack
-- Executing [s@app-blacklist-check:2] Set("SIP/patton1-00000024", "CALLED_BLACKLIST=1") in new stack
-- Executing [s@app-blacklist-check:3] Return("SIP/patton1-00000024", "") in new stack
-- Executing [s@ext-did:3] Gosub("SIP/patton1-00000024", "cidlookup,cidlookup_7,1") in new stack
-- Executing [cidlookup_7@cidlookup:1] Set("SIP/patton1-00000024", "CALLERID(name)=<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="https://192.168.1.27/?thenumber=06XXXXXXXX">here</a>.</p>
<hr>
<address>Apache/2.2.3 (CentOS) Server at 192.168.1.27 Port 80</address>
</body></html>") in new stack
-- Executing [cidlookup_7@cidlookup:2] Return("SIP/patton1-00000024", "") in new stack
-- Executing [s@ext-did:4] ExecIf("SIP/patton1-00000024", "0 ?Set(CALLERID(name)=06XXXXXXXX)") in new stack
-- Executing [s@ext-did:5] Set("SIP/patton1-00000024", "__CALLINGPRES_SV=allowed_not_screened") in new stack
-- Executing [s@ext-did:6] Set("SIP/patton1-00000024", "CALLERPRES()=allowed_not_screened") in new stack
-- Executing [s@ext-did:7] Goto("SIP/patton1-00000024", "from-did-direct,6501,1") in new stack
-- Goto (from-did-direct,6501,1)
-- Executing [6501@from-did-direct:1] Macro("SIP/patton1-00000024", "exten-vm,novm,6501") in new stack
-- Executing [s@macro-exten-vm:1] Macro("SIP/patton1-00000024", "user-callerid") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/patton1-00000024", "AMPUSER=06XXXXXXXX") in new stack
-- Executing [6501@from-did-direct:2] Goto("SIP/patton1-00000024", ",return,1") in new stack
-- Goto (from-did-direct,return,1)
[Jun 9 13:28:24] ERROR[7856]: cdr_addon_mysql.c:201 mysql_log: Cannot connect to database server localhost: (1045) Access denied for user 'root'@'localhost' (using password: YES)

192.168.1.27 étant l'@IP de mon serveur Asterisk.
6501 le poste SIP de test où je fais arriver le SDA 7160.
Je passe par une passerelle rnis/sip patton SN4634.

Déjà apparemment le root a pas accès une database, je ne sais pas du tout où aller pour pallier ce problème.

Par contre on voit bien que le cidlookup arrive à choper le numéro appelant, par contre aucune idée de ce qui se passe après. :spamafote:

Gbe
10/06/2011, 14h50
A la limite le problème d'affichage je me débrouillerai, par contre je n'ai aucune idée de comment résoudre ce problème:

Jun 9 13:28:24] ERROR[7856]: cdr_addon_mysql.c:201 mysql_log: Cannot connect to database server localhost: (1045) Access denied for user 'root'@'localhost' (using password: YES)

Je sais même pas de quoi il me parle, la seule base de données que j'ai sur localhost c'est sugarcrm, or la j'utilise asterisk phonebook avec la source en internal, pourquoi il veut aller chercher une base de données je ne sais où ?

Darkflash
10/06/2011, 15h14
Pour la base de données, check ton fichier cdr.conf et vérifie si tu n'a pas enclenché un log des cdr dans une base de données... Ca pourrait etre une explication.

Par contre si il t'affiche que c'est root qui veut y accéder .... avec quel user ton asterisk est lancé ??

il y a un autre soucis aussi regarde :



Executing [cidlookup_7@cidlookup:1] Set("SIP/patton1-00000024", "CALLERID(name)=<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="https://192.168.1.27/?thenumber=06XXXXXXXX">here</a>.</p>
<hr>
<address>Apache/2.2.3 (CentOS) Server at 192.168.1.27 Port 80</address>
</body></html>") in new stack


Il essaye de setter la variable que je te disais (c'est CALLERID(name) ) et apparemment il y a un soucis avec le retour ...
Pour moi c'est un bug de ton logiciel....

Vérifie moi tout ca et fais moi un retour.

tomarch
10/06/2011, 15h23
le cdr (call dial record) correspond au journal d'appel.
Ici freepbx cherche à l'enregistrer dans une base mysql, or il n'a pas les droits pour y accéder (ou la base n'existe pas ou est mal configurée).



-- Executing [cidlookup_7@cidlookup:1] Set("SIP/patton1-00000024", "CALLERID(name)=<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="https://192.168.1.27/?thenumber=06XXXXXXXX">here</a>.</p>
<hr>
<address>Apache/2.2.3 (CentOS) Server at 192.168.1.27 Port 80</address>
</body></html>") in new stack

ceci me laisse penser qu'il y a une erreur soit dans le numéro (n'as tu pas mis un lien html ?), soit dans le module cidlookup

Gbe
10/06/2011, 17h30
Merci de m'aider. :)

Alors dans le cdr.conf j'ai fais les modifications suivantes:

[general]

; Define whether or not to use CDR logging. Setting this to "no" will override
; any loading of backend CDR modules. Default is "yes".
enable=no

et

;[cdr]
;usegmtime=no
;loguniqueid=yes
;loguserfield=yes

mais j'ai toujours l'erreur précédente.

Alors donc oui j'utilise le root pour me connecter à mon elastix.

J'ai déjà essayé pas mal de solutions cet après midi, des fichiers conf ou faut vérifier des mots de passes etc, j'ai mis le même mot de passe partout, essayer le même utilisateurs partout, toujours cette erreur.
Cependant si vous voulez checker des fichiers pouvant intervenir dans le problème, pas de soucis je vous les copierai içi.

Grâce à phpmyadmin j'ai modifié tous les mot de passe en mettant le même, en donnant tous les droits à tous les utilisateurs...
Petite précision, mon elastix est en 192.168.1.27, et peut-être que la base est sur le pc de test en 192.168.1.53. J'ai vu qu'il y a des problèmes avec des serveurs distants. (au niveau des renseignements en "127.0.0.1")
J'ai donc donné tous les droits à "root@'%'" etc... pour qu'il prenne l'utilisateur root peu importe le serveur, rien n'y fait...


"ceci me laisse penser qu'il y a une erreur soit dans le numéro (n'as tu pas mis un lien html ?),"

Aucune idée, j'ai récupéré un fichier callerid.php sur internet, en suivant un tutoriel avec CID Lookup superfecta, module étant censé lui aussi faire la résolution numéro-nom en contactant une base mysql... mais la je l'ai désactivé pour n'utiliser que le module d'asterisk "asterisk phonebook" en interne à mon elastix, je vois pas pourquoi il va chercher du php ou je ne sais quoi.

J'aurai bien envie d'écraser cette machine virtuelle et tout recommencer dans une environnement vierge, parce que j'ai tellement essayé de trucs que je ne m'y retrouve plus :spamafote: