Affichage des résultats 1 à 7 sur 7

Discussion: Dial Plan et PHPAGI

  1. #1
    Membre Junior
    Date d'inscription
    juin 2015
    Messages
    3
    Downloads
    0
    Uploads
    0

    Dial Plan et PHPAGI

    Bonjour,

    Le projet suivant m'a été confié :

    Je dois mettre en place un script qui interroge un CRM ( Dolibarr ) lorsque l'entreprise reçoit un appel. Ce script devra être utilisé uniquement pour les appels arrivants sur 2 numéros internes précis. ( ex : SIP/501 SIP/502 )
    Le but final étant d'afficher dans Dolibarr une popup avec toutes les infos du client qui appelle ( informations administratives, devis, contrats etc etc ).

    Si j'ai bien compris le concept de fonctionnement d'asterisk, je dois donc créer ce que vous appelez un Dial Plan pour exécuter un script AGI.
    J'ai donc besoin de votre aide pour créer ce dialplan. ( ps : je pense être capable de me débrouiller seul pour la partie php, mais trop de notions m’échappent quand au DIALPLAN )

    Je reste à votre entière disposition pour d’éventuels renseignements complémentaires et suis évidemment ouvert à toutes suggestions.

    Cordialement,

    Ps : une fois la solution trouvée, je m engage à vous faire un tutoriel complet. Je pense que cela pourra servir à bcp de monde.
    Ps2 : Module existant : j'ai connaissance de l existence de ce module, mais pas de possibilités de le tester sans le payer et la doc proposée ne permet pas d être certain qu'il remplisse les objectifs que l'on m a fixe. Donc si quelqu'un à un retour sur ce module, je suis également preneur.

  2. #2
    Membre Senior
    Date d'inscription
    novembre 2013
    Localisation
    Bordeaux
    Messages
    427
    Downloads
    0
    Uploads
    0
    Bonjour

    Y'a t'il un asterisk fonctionel avec un phpagi fonctionnel ? Ce qui est le cas par exemple avec freepbx.

    Comment est le dialplan actuel ?

    Je pense qu'il faut ajouter ce genre de ligne au debut du dialplan du poste 501
    Code:
    exten => MonNumero,1,AGI(script.php) ;
    exten => MonNumero,n,SIP/MonNumero
    On suppose que le script php est dans /usr/share/asterisk/agi-bin/

  3. #3
    Membre Junior
    Date d'inscription
    juin 2015
    Messages
    3
    Downloads
    0
    Uploads
    0
    Citation Envoyé par tanguyd Voir le message
    Y'a t'il un asterisk fonctionel avec un phpagi fonctionnel ? Ce qui est le cas par exemple avec freepbx.
    L'Asterisk est en production, fonctionne correctement.
    Code:
    [directories]
    astetcdir => /etc/asterisk
    astmoddir => /usr/lib64/asterisk/modules
    astvarlibdir => /var/lib/asterisk
    astagidir => /var/lib/asterisk/agi-bin
    astspooldir => /var/spool/asterisk
    astrundir => /var/run/asterisk
    astlogdir => /var/log/asterisk
    
    [options]
    transmit_silence_during_record = yes
    languageprefix=yes
    execincludes=yes
    Code:
    /etc/asterisk/phpagi.conf
    /usr/src/freepbx-12.0.45/amp_conf/agi-bin/phpagi-asmanager.php
    /usr/src/freepbx-12.0.45/amp_conf/agi-bin/phpagi.php
    /usr/src/freepbx-12.0.45/amp_conf/astetc/phpagi.conf
    /usr/src/freepbx-12.0.45/amp_conf/htdocs/admin/modules/framework/amp_conf/agi-bin/phpagi-asmanager.php
    /usr/src/freepbx-12.0.45/amp_conf/htdocs/admin/modules/framework/amp_conf/agi-bin/phpagi.php
    /usr/src/freepbx-12.0.45/amp_conf/htdocs/admin/modules/framework/amp_conf/astetc/phpagi.conf
    /usr/src/freepbx-12.0.45/amp_conf/htdocs/admin/modules/fw_langpacks/mo/bg_BG/phpagiconf.mo
    /usr/src/freepbx-12.0.45/amp_conf/htdocs/admin/modules/fw_langpacks/mo/es_ES/phpagiconf.mo
    /usr/src/freepbx-12.0.45/amp_conf/htdocs/admin/modules/fw_langpacks/mo/fr_FR/phpagiconf.mo
    /usr/src/freepbx-12.0.45/amp_conf/htdocs/admin/modules/fw_langpacks/mo/he_IL/phpagiconf.mo
    /usr/src/freepbx-12.0.45/amp_conf/htdocs/admin/modules/fw_langpacks/mo/it_IT/phpagiconf.mo
    /usr/src/freepbx-12.0.45/amp_conf/htdocs/admin/modules/fw_langpacks/mo/ja_JP/phpagiconf.mo
    /usr/src/freepbx-12.0.45/amp_conf/htdocs/admin/modules/fw_langpacks/mo/ru_RU/phpagiconf.mo
    /usr/src/freepbx-12.0.45/amp_conf/htdocs/admin/modules/fw_langpacks/mo/sv_SE/phpagiconf.mo
    /usr/src/freepbx-12.0.45/amp_conf/htdocs/admin/modules/fw_langpacks/mo/zh_CN/phpagiconf.mo
    /usr/src/freepbx-12.0.45/amp_conf/htdocs/admin/modules/superfecta/agi/phpagi-asmanager.php
    /usr/src/freepbx-12.0.45/amp_conf/htdocs/admin/modules/superfecta/agi/phpagi.php
    /var/lib/asterisk/agi-bin/phpagi-asmanager.php
    /var/lib/asterisk/agi-bin/phpagi.php
    /var/www/html/admin/modules/superfecta/agi/phpagi-asmanager.php
    /var/www/html/admin/modules/superfecta/agi/phpagi.php
    Mon problème est justement de trouver le dialplan actuel.
    Dans mon extension.conf j'ai cela :
    Code:
    [from-sip-external]
    exten => _.,1,NoOp(Received incoming SIP connection from unknown peer to ${EXTEN})
    exten => _.,n,Set(DID=${IF($["${EXTEN:1:2}"=""]?s:${EXTEN})})
    exten => _.,n,Goto(s,1)
    exten => s,1,GotoIf($["${ALLOW_SIP_ANON}"="yes"]?checklang:noanonymous)
    exten => s,n(checklang),GotoIf($["${SIPLANG}"!=""]?setlanguage:from-trunk,${DID},1)
    exten => s,n(setlanguage),Set(CHANNEL(language)=${SIPLANG})
    exten => s,n,Goto(from-trunk,${DID},1)
    exten => s,n(noanonymous),Set(TIMEOUT(absolute)=15)
    exten => s,n,Log(WARNING,"Rejecting unknown SIP connection from ${CHANNEL(recvip)}")
    exten => s,n,Answer
    exten => s,n,Wait(2)
    exten => s,n,Playback(ss-noservice)
    exten => s,n,Playtones(congestion)
    exten => s,n,Congestion(5)
    exten => h,1,Hangup
    exten => i,1,Hangup
    exten => t,1,Hangup
    Mais je ne suis pas convaincu que cela soit le bon context.

    En tout cas, merci de t être pencher sur mon cas, et n’hésite pas à me demander des renseignements complémentaires. Mes connaissances en asterisk sont limitées, mais je pense pouvoir trouver les réponses à tes interrogations.

  4. #4
    Membre Senior
    Date d'inscription
    novembre 2013
    Localisation
    Bordeaux
    Messages
    427
    Downloads
    0
    Uploads
    0
    Ok donc c'est du freepbx

    Je pense qu'un truc du genre dans /etc/asterisk/extensions_custom.conf devrait aller ( dans l'exemple 1501 est l'alias qui appel 501 avec le script )


    [from-internal-custom]
    exten => 1501,1,Macro(user-callerid,)
    exten => 1501,n,AGI(script.php) ;
    exten => 1501,n,Dial(SIP/501)
    Pense à faire un "dialplan reload" dans le cli ou recharger la conf depuis l'interface de freepbx.

  5. #5
    Membre Junior
    Date d'inscription
    juin 2015
    Messages
    3
    Downloads
    0
    Uploads
    0
    Merci beaucoup, je m en vais tester tout cela

  6. #6
    Membre Junior
    Date d'inscription
    juillet 2015
    Messages
    2
    Downloads
    0
    Uploads
    0
    Salut Laurentbzh au faite j'ai un projet similaire au tien je dois develloper une interface graphique en php pour asterisk
    mais je ne sais pas comment mettre en liaison les deux entités a savoir le programme php et asterisk.
    J'ai vraiment besoin d'aide toutes les suggestions seront les bienvenues.

  7. #7
    Membre Senior
    Date d'inscription
    septembre 2010
    Localisation
    Where the sun shines
    Messages
    1 418
    Downloads
    0
    Uploads
    0
    xivo fait très bien ce genre de chose.

    sinon, la difficulté (loin d'être insurmontable) est d'associer un appel avec le poste d'un agent, et par la suite, sur le poste de l'agent, d'avoir un petit bout de code qui tourne, et qui attend que asterisk lui pousse l'information à popper

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
  •