Affichage des résultats 1 à 10 sur 14

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Junior
    Date d'inscription
    novembre 2013
    Messages
    12
    Downloads
    0
    Uploads
    0
    Mon cas ne vous inspire pas ?!

  2. #2
    Asterisk Fan Avatar de fastm3
    Date d'inscription
    août 2010
    Localisation
    Corbeil Essonnes (91)
    Messages
    1 302
    Downloads
    1
    Uploads
    1
    C'est un peu contradictoire , tu veux appeler normalement chez toi mais tu veux aussi pouvoir faire autre chose.

    Il y a un moment ou il faut donc dire que tu veux faire l'action 1 ( appel normal ) ou l'action 2:

    Plusieurs solutions:
    - Plusieurs numeros avec 1 numero dedié à un scenario.
    - Identifier ton numero appelant et lance un IVR ou un petit read avec timeout pour rediriger vers l'action 2 dans le dialplan correspondant.
    - Lors d'un appel , faire un answer , utiliser Background avec predecroché ou sonnerie fake , par defaut , appel normal ( dial ) apres le message/sonnerie tres court, une touche appuyée rapidement deroutera vers un IVR avec un mot de passe pour y acceder.

    Francois.

  3. #3
    Membre Junior
    Date d'inscription
    novembre 2013
    Messages
    12
    Downloads
    0
    Uploads
    0
    Je vais suivre vos pistes, mais je pense que c'est ma question que je pose mal...

    Imaginons que mon numéro publique soit 0912345678.

    Je souhaite appeler et faire sonner les téléphones de façon normale en appelant le 0912345678.

    De plus, imaginons que mon ivr soit joignable sur l'extension 8000 dans un contexte interne

    Je veux pouvoir appeler directement le 8000 depuis l'extérieur

    J'imaginais que cela était possible ?? est-ce possible ? comment ?
    En appelant le 0912345678#8000 ou qq chose de similaire ???

    Est-ce possible ???

  4. #4
    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

  5. #5
    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.

  6. #6
    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...
    ---------------------------------------------------------------

  7. #7
    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
  •