Affichage des résultats 1 à 8 sur 8

Discussion: [RESOLU] CID Lookup

  1. #1
    Membre Junior
    Date d'inscription
    juillet 2014
    Messages
    5
    Downloads
    0
    Uploads
    0

    [RESOLU] CID Lookup

    Bonjour à tous et à toutes.
    Je rencontre un problème lors de la mise en place du CID Lookup pour les appels entrants
    Je travaille sous FreePBX (Asterisk 11.7.0) et je souhaite utiliser la fonction CID Lookup intégrée liée au module Asterisk Phonebook.
    Dans mon Phonebook j'ai créé une entrée de test contenant le CID de mon téléphone de test : 3368132XXXX (le numéro est bien évidement complet dans mon entrée Phonebook).
    Dans le module "CallerID lookup Sources" j'ai créé une source de type "Internal" que j'ai nommé "Phonebook".
    Du côté de mon "Inbound Route" j'ai paramétré ma source "CID Lookup Source" sur "Phonebook".

    Jusque la il ne me semble pas que j'ai commis d'erreur...

    Je tente donc un appel depuis mon téléphone de test , le numéro de téléphone s'affiche mais pas le nom paramétré.
    Du côté des logs j'obtiens cela :

    Code:
    [2014-07-16 16:22:21] VERBOSE[5434][C-00000b23] pbx.c: -- Executing [s@from-trunk:1] ExecIf("SIP/KODEKH-000024f5", "1?Set(__FROM_DID=s)") in new stack
    [2014-07-16 16:22:21] VERBOSE[5434][C-00000b23] pbx.c: -- Executing [s@from-trunk:2] Set("SIP/KODEKH-000024f5", "CDR(did)=s") in new stack
    [2014-07-16 16:22:21] VERBOSE[5434][C-00000b23] pbx.c: -- Executing [s@from-trunk:3] Gosub("SIP/KODEKH-000024f5", "cidlookup,cidlookup_2,1()") in new stack
    [2014-07-16 16:22:21] VERBOSE[5434][C-00000b23] pbx.c: -- Executing [cidlookup_2@cidlookup:1] ExecIf("SIP/KODEKH-000024f5", "0?Set(CALLERID(name)=)") in new stack
    [2014-07-16 16:22:21] VERBOSE[5434][C-00000b23] pbx.c: -- Executing [cidlookup_2@cidlookup:2] Return("SIP/KODEKH-000024f5", "") in new stack
    [2014-07-16 16:22:21] VERBOSE[5434][C-00000b23] pbx.c: -- Executing [s@from-trunk:4] ExecIf("SIP/KODEKH-000024f5", "0 ?Set(CALLERID(name)=+3361584XXXX)") in new stack
    [2014-07-16 16:22:21] VERBOSE[5434][C-00000b23] pbx.c: -- Executing [s@from-trunk:5] Set("SIP/KODEKH-000024f5", "CHANNEL(musicclass)=default") in new stack
    [2014-07-16 16:22:21] VERBOSE[5434][C-00000b23] pbx.c: -- Executing [s@from-trunk:6] Set("SIP/KODEKH-000024f5", "__MOHCLASS=default") in new stack
    [2014-07-16 16:22:21] VERBOSE[5434][C-00000b23] pbx.c: -- Executing [s@from-trunk:7] Set("SIP/KODEKH-000024f5", "__CALLINGPRES_SV=allowed_not_screened") in new stack
    [2014-07-16 16:22:21] VERBOSE[5434][C-00000b23] pbx.c: -- Executing [s@from-trunk:8] Set("SIP/KODEKH-000024f5", "CALLERPRES()=allowed_not_screened") in new stack
    [2014-07-16 16:22:21] VERBOSE[5434][C-00000b23] pbx.c: -- Executing [s@from-trunk:9] Goto("SIP/KODEKH-000024f5", "timeconditions,1,1") in new stack
    En gros j'ai l'impression que le lookup est fait sur une valeur vide : cidlookup,cidlookup_2,1()

    Qu'est ce que je manque ?
    D'avance merci de votre aide !
    Dernière modification par Lunaden ; 17/07/2014 à 10h05. Motif: Résolu

  2. #2
    Membre Senior
    Date d'inscription
    janvier 2011
    Localisation
    Villejuif 94
    Messages
    337
    Downloads
    0
    Uploads
    0
    il semble bien que tu ne passe pas le numéro à la fonction. Problème de macro ?

    [s@from-trunk:1] ExecIf("SIP/KODEKH-000024f5", "1?Set(__FROM_DID=s)") in new stack

  3. #3
    Membre Junior
    Date d'inscription
    juillet 2014
    Messages
    5
    Downloads
    0
    Uploads
    0
    Sachant que c'est du freepbx je me suis contenté d'installer les modules et les configurer et je n´ai pas du tout touché au code.
    Pourrais tu préciser ou je peux rechercher ce problème de macro ?

  4. #4
    Asterisk Fan Avatar de fastm3
    Date d'inscription
    août 2010
    Localisation
    Corbeil Essonnes (91)
    Messages
    1 302
    Downloads
    1
    Uploads
    1
    Le cid est dans des variables, il n'est pas passé.
    En fait le reflexe est de voir le dialplan:
    Un dialplan de callerid "internal" de freepbx a cette tête:

    Code:
    exten => cidlookup_1,1,ExecIf($["${DB(cidname/${CALLERID(num)})}" != ""]?Set(CALLERID(name)=${DB(cidname/${CALLERID(num)})}))
    Dans les traces, on voit que ton numero de callerid envoyé par ton trunk est "+3361584XXXX"
    As tu bien saisi le + ?

    Tu peux voir le contenu de la base en faisant
    Code:
    asterisk -rx "database show cidname"
    Tu verras si le numero est correctement stocké.


    Dans la pratique, on a souvent besoin d'uniformiser les callers id provenant de différents fournisseurs. On crée donc son un contexte qui fera cette uniformisation et on renvoie ensuite vers le contexte "standard" from-trunk de freepbx.
    Ca demande neanmoins de connaitre un peu le dialplan, de savoir saisir celui-ci dans le fichier de conf, et de le parametrer dans le trunk.
    Généralement, les numeros francais, on les mets au format francais auquel sont plus familiers les utilisateurs et parce que c'est le format de dial généralement utilisé par ceux-ci.
    Fastm3.

  5. #5
    Membre Junior
    Date d'inscription
    juillet 2014
    Messages
    5
    Downloads
    0
    Uploads
    0
    Je me doutais qu'il y avais un lien avec le dialplan mais je pensais au moins voir la requête CID lookup dans les logs avec un caller id même s'il est incomplet ou erroné...
    La j'avais plutôt l'impression qu'il ne cherchait rien.

    Quand j’exécute la commande "database show cidname"
    J'ai en retour :
    Code:
    /cidname/3361584XXXX                              : PORTABLE
    Il faudrait donc d'abord que je corrige mon dialplan afin que mon caller id soit : 061584XXXX plutôt que +3361584XXXX.
    (Si j'essai de modifier mon phonebook en ajoutant le + j'ai droit à un message d'erreur comme quoi je dois entrer un numéro valide donc je pense que de se côté la je vais être bloqué.)
    Est ce que j'ai bien compris ?

  6. #6
    Membre Junior
    Date d'inscription
    juillet 2014
    Messages
    5
    Downloads
    0
    Uploads
    0
    Je répond à ma propre question.
    Après création d'un dialplan :
    Code:
    [from-trunk-custom]
    exten => s,1,Set(CALLERID(num)=0${CALLERID(num):3:12})
    exten => s,n,Goto(from-trunk,${EXTEN},1)
    (Si je ne me trompe pas celui-ci transforme bien un callerid +3316465XXXX en 016465XXXX)


    Et après modification de mes entrées phonebook correspondante en 016465XXXX mon cid lookup fonctionne correctement.

    Merci de votre aide !

  7. #7
    Asterisk Fan Avatar de fastm3
    Date d'inscription
    août 2010
    Localisation
    Corbeil Essonnes (91)
    Messages
    1 302
    Downloads
    1
    Uploads
    1
    Un peu "brut" ne testant pas le country code, mais tu as compris le principe et ca ne te sera pas difficile d'ameliorer cela.

    Le "internal" marque tres vite ses limites. La source sql est plus souple et puissante pour utiliser n'importe quelle "source".
    On peut la remplir/mettre a jour plus facilement en masse. Tes contacts google par exemple...Ou tout autre phonebook.
    Bon amusement...
    Francois.

  8. #8
    Membre Junior
    Date d'inscription
    juillet 2014
    Messages
    5
    Downloads
    0
    Uploads
    0
    Je vais regarder pour tester le country code afin d'améliorer ça.
    Je ne m'inquiète pas trop pour le moment nous avons 100% des appels qui proviennent de la France.
    Mais bon il faut mieux prévoir.
    Pour la source SQL j'y pense également mais si je n'arrivais pas avec le simple phonebook je ne voyais pas comment m'en sortir avec une BDD externe...

    Encore merci pour ton aide !

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •