Page 2 sur 2 PremièrePremière 12
Affichage des résultats 11 à 14 sur 14

Discussion: Comment appeler une extension depuis l'extérieur

  1. #11
    Membre Junior
    Date d'inscription
    novembre 2013
    Messages
    12
    Downloads
    0
    Uploads
    0
    Si ma question n'a pas de solution...

    Comment faire pour tester le numéro appelant et rediriger en fonction ??

    On peut faire des expressions régulières sur les appels entrants ??

    exten => s_0...

    Merci par avance si vous avez des exemples de extensions.conf

  2. #12
    Membre Junior
    Date d'inscription
    novembre 2013
    Messages
    12
    Downloads
    0
    Uploads
    0
    Je me réponds tout seul...

    Je teste le numéro comme ceci:

    exten => s,1,GotoIf($["${CALLERID(num)}" = "06xxxxxxxx"]?OK:KO)

    ça marche nickel

    Si toutefois je pouvais joindre directement une extension depuis l'extérieur je reste intéressé par la solution.

  3. #13
    Membre Association Avatar de cedricscha
    Date d'inscription
    août 2010
    Localisation
    Geneve/Suisse
    Messages
    578
    Downloads
    1
    Uploads
    0
    Une possibilité comme énoncée plus haut :

    • faire une comparaison avec une liste pour savoir si le numéro qui appel est autorisé ou non à gérer la domotique
    • Si c'est le cas le rediriger vers un message qui lui propose de soit composer le 1 pour joindre normalement la maison
    • Soit le 2 pour joindre le menu domotique

    Et voilà, cela devrait correspondre à ton besoin.
    Cédric
    ---------------------------------------------------------------
    Rejoignez l'Association Asterisk France : http://www.asterisk-france.org

    Envie de mettre des étoiles dans les yeux de vos clients : EasyPyro.ch

    On a pas inventé l'électricité en cherchant à améliorer la bougie...
    ---------------------------------------------------------------

  4. #14
    Membre Junior
    Date d'inscription
    novembre 2013
    Messages
    12
    Downloads
    0
    Uploads
    0
    Merci pour votre réponse, je suis parti avec cette idée, mais j'ai un soucis.

    Je teste le numéro appelant, si c'est un numéro lamba je fais sonner les téléphones, pas de soucis ça marche.

    Si c'est mon numéro, je dirige alors vers mon ivr, je veux que 9 m'en fasse sortir et fasse ensuite sonner les téléphones
    => marche pas, lorsque je fais le choix 9 ça me raccroche au nez sans faire sonner !

    Je ne vois rien dans les logs qui pourrait me donner une piste.

    Pour sortir de mon ivr avec 9, j'ai testé ceci (soit Ringing directement, soit retourner au label KO qui est le branchement où un appelant quelconque arrive... marche pas...)
    ;exten => 9,1,Ringing
    exten => 9,1,Goto(depuis-free,s,KO)

    Cela semble s’exécuter correctement vu les logs, mais ça raccroche au lieu de faire sonner les téléphones, pourquoi ???

    Log d'un appelant quelconque, tout fonctionne comme je veux:

    == Using SIP RTP CoS mark 5
    -- Executing [s@depuis-free:1] AGI("SIP/vers-free-00000034", "/usr/bin/python,"/var/lib/asterisk/agi-bin/Asterisk2xPL.agi"") in new stack
    -- Launched AGI Script /usr/bin/python
    -- <SIP/vers-free-00000034>AGI Script /usr/bin/python completed, returning 0
    -- Executing [s@depuis-free:2] GotoIf("SIP/vers-free-00000034", "0?OK:KO") in new stack
    -- Goto (depuis-free,s,4)
    -- Executing [s@depuis-free:4] Ringing("SIP/vers-free-00000034", "") in new stack
    -- Auto fallthrough, channel 'SIP/vers-free-00000034' status is 'UNKNOWN'

    Log lorsque j'appelle:

    == Using SIP RTP CoS mark 5
    -- Executing [s@depuis-free:1] AGI("SIP/vers-free-00000035", "/usr/bin/python,"/var/lib/asterisk/agi-bin/Asterisk2xPL.agi"") in new stack
    -- Launched AGI Script /usr/bin/python
    -- <SIP/vers-free-00000035>AGI Script /usr/bin/python completed, returning 0
    -- Executing [s@depuis-free:2] GotoIf("SIP/vers-free-00000035", "1?OK:KO") in new stack
    -- Goto (depuis-free,s,3)
    -- Executing [s@depuis-free:3] Goto("SIP/vers-free-00000035", "ivr-domojimbo,s,1") in new stack
    -- Goto (ivr-domojimbo,s,1)
    -- Executing [s@ivr-domojimbo:1] Answer("SIP/vers-free-00000035", "") in new stack
    -- Executing [s@ivr-domojimbo:2] Set("SIP/vers-free-00000035", "TIMEOUT(response)=10") in new stack
    -- Response timeout set to 10.000
    -- Executing [s@ivr-domojimbo:3] AGI("SIP/vers-free-00000035", "googletts.agi,"bienvenu sur le serveur vocal de l'appartement du bonheur",fr,any") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/googletts.agi
    -- Playing '/tmp/2ca9a4c757c2b56d71d83d9746c2a1b6' (escape_digits=0123456789#*) (sample_offset 0)
    -- <SIP/vers-free-00000035>AGI Script googletts.agi completed, returning 0
    -- Executing [s@ivr-domojimbo:4] AGI("SIP/vers-free-00000035", "googletts.agi,"Pour allumer tapez 1",fr,any") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/googletts.agi
    -- Playing '/tmp/d4759183e1d614b0e1f92444ab035d43' (escape_digits=0123456789#*) (sample_offset 0)
    -- <SIP/vers-free-00000035>AGI Script googletts.agi completed, returning 0
    -- Executing [s@ivr-domojimbo:5] AGI("SIP/vers-free-00000035", "googletts.agi,"Pour eteindre tapez 2",fr,any") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/googletts.agi
    -- Playing '/tmp/d8de607d7cb459fe33155ea786216a93' (escape_digits=0123456789#*) (sample_offset 0)
    -- <SIP/vers-free-00000035>AGI Script googletts.agi completed, returning 0
    -- Executing [s@ivr-domojimbo:6] AGI("SIP/vers-free-00000035", "googletts.agi,"Pour sortir tapez 9",fr,any") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/googletts.agi
    -- Playing '/tmp/fb10166de1cd36a57af65aa5b7f3784e' (escape_digits=0123456789#*) (sample_offset 0)
    -- <SIP/vers-free-00000035>AGI Script googletts.agi completed, returning 0
    -- Executing [s@ivr-domojimbo:7] AGI("SIP/vers-free-00000035", "googletts.agi,"Appuyez sur dieze si vous souhaitez r▒▒couter ce message",fr,any") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/googletts.agi
    -- Playing '/tmp/b7136cab12555092586884c0978b76e6' (escape_digits=0123456789#*) (sample_offset 0)
    -- <SIP/vers-free-00000035>AGI Script googletts.agi completed, returning 0
    -- Executing [9@ivr-domojimbo:1] Ringing("SIP/vers-free-00000035", "") in new stack
    -- Auto fallthrough, channel 'SIP/vers-free-00000035' status is 'UNKNOWN'

    Voici mon extension.conf


    [depuis-free]
    exten => s,1,agi(/usr/bin/python,"/var/lib/asterisk/agi-bin/monscript.agi")
    exten => s,2,GotoIf($["${CALLERID(num)}" = "06xxxxxxxx"]?OK:KO)
    exten => s,n(OK),Goto(ivr,s,1)
    exten => s,n(KO),Ringing

    [ivr]
    exten => s,1,Set(TIMEOUT(response)=10)
    exten => s,2,agi(googletts.agi,"bienvenu sur le serveur vocal de l'appartement du bonheur",fr,any)
    exten => s,3,agi(googletts.agi,"Pour allumer tapez 1",fr,any)
    exten => s,4,agi(googletts.agi,"Pour eteindre tapez 2",fr,any)
    exten => s,5,agi(googletts.agi,"Pour sortir tapez 9",fr,any)
    exten => s,6,agi(googletts.agi,"Appuyez sur dieze si vous souhaitez réécouter ce message",fr,any)
    exten => s,7,WaitExten()

    exten => 1,1,agi(googletts.agi,"ok j'allume",fr,any)
    exten => 1,2,AGI(/usr/bin/python,"/var/lib/asterisk/agi-bin/ON.agi")
    exten => 1,1,agi(googletts.agi,"ok j'eteins",fr,any)
    exten => 2,2,AGI(/usr/bin/python,"/var/lib/asterisk/agi-bin/OFF.agi")
    ;exten => 9,1,Ringing
    exten => 9,1,Goto(depuis-free,s,KO)
    exten => _[3-8#],1,Goto(ivr,s,3)
    exten => t,1,Goto(ivr,s,3)

    Merci par avance, si quelqu'un peut m'aider

Les tags pour cette discussion

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
  •