Affichage des résultats 1 à 10 sur 10

Discussion: [newbie] Dialplan et GOTOif

  1. #1
    Membre Junior
    Date d'inscription
    janvier 2011
    Messages
    21
    Downloads
    0
    Uploads
    0

    [newbie] Dialplan et GOTOif

    J'essaye de me faire un mini svi et mes fonctions gotoif ne marchent pas comme je veux (ne marchent même pas du tout). Je dois passer à coté de quelque chose d'évident, vu le temps que j'ai déjà passé dessus je m'en remet à vous.

    La touche 2 me renvoie vers l'extension 2
    La touche 1 vers l'extension 1

    Dans l'extension 2 (celle qui me permet d'enregistrer un fichier) je voudrais que les gotoif me dirigent vers des priorités (enregistrer, annuler,valider)

    [forfait-sip]
    exten => s,1,Ringing(20)
    exten => s,n,Answer()
    exten => s,n,Read(choix,messages/intro,1)
    exten => s,n,Gotoif($["${choix}"="1"]?1,1)
    exten => s,n,Gotoif($["${choix}"="2"]?2,1:s,1)

    ;###### LIGNE DIRECTE ######
    exten => 1,1,Playback(messages/lignedirecte)
    same => n,Dial(SIP/210,30)
    same => n,Hangup()

    ;###### ENREGISTRER #######
    exten => 2,1,Wait(2)
    same => n(enregistrer),Playback(messages/enregistrer)
    same => n,record(OUTPUT.wav)
    same => n,Playback(messages/voici_message_repondeur)
    same => n,Playback(OUTPUT)
    same => n,background(messages/gestion_message)
    same => n,Read(touchetel,,1)
    same => n,Gotoif($["${touchetel}"="1"]?valider);Valider
    same => n,Gotoif($["${touchetel}"="2"]?enregistrer);modifier
    same => n,Gotoif($["${touchetel}"="3"]?annnuler);annuler
    same => n(annuler),System(/bin/echo action ${OUTPUT}.wav)
    same => n,Playback(messages/pas_diffuser)
    same => n,Wait(2)
    same => n,Hangup
    same => n(valider),System(/bin/echo action valider le fichier)
    same => n,Playback(messages/merci)


    [localphones]
    ;Appels entre les différents postes interne
    exten => 200,1,Goto(forfait-sip,s,1)
    exten => 210,1,Dial(SIP/210)
    exten => 220,1,Dial(SIP/220)

    Merci d'avance pour vos réponses, qui j'espère me débloqueront.

  2. #2
    Membre Association
    Date d'inscription
    novembre 2010
    Localisation
    Grenoble
    Messages
    24
    Downloads
    0
    Uploads
    0
    Bonjour,

    Je pense qu'un simple Background à la place du Read suivi d'un wait(10) et un Goto(forfait-sip,s,1) devrait fonctionner

  3. #3
    Membre Association Avatar de cedricscha
    Date d'inscription
    août 2010
    Localisation
    Geneve/Suisse
    Messages
    578
    Downloads
    1
    Uploads
    0
    Essaie comme ceci :

    Code:
    [forfait-sip]
    exten => s,1,Ringing(20)
    exten => s,n,Answer()
    exten => s,n(debut),Read(choix,messages/intro,1)
    exten => s,n,Gotoif($["${choix}"="1"]?lignea)
    exten => s,n,Gotoif($["${choix}"="2"]?ligneb:debut)
    
    ;###### LIGNE DIRECTE ######
    exten => 1,1(lignea),Playback(messages/lignedirecte)
    exten = 1,n,Dial(SIP/210,30)
    exten = 1,n,Hangup()
    
    ;###### ENREGISTRER #######
    exten = 2,1(ligneb),Wait(2)
    exten = 2,n(enregistrer),Playback(messages/enregistrer)
    exten = 2,n,record(OUTPUT.wav)
    exten = 2,n,Playback(messages/voici_message_repondeur)
    exten = 2,n,Playback(OUTPUT)
    exten = 2,n,background(messages/gestion_message)
    exten = 2,n,Read(touchetel,,1)
    exten = 2,n,Gotoif($["${touchetel}"="1"]?valider);Valider
    exten = 2,n,Gotoif($["${touchetel}"="2"]?enregistrer);modifier
    exten = 2,n,Gotoif($["${touchetel}"="3"]?annnuler);annuler
    exten = 2,n(annuler),System(/bin/echo action ${OUTPUT}.wav)
    exten = 2,n,Playback(messages/pas_diffuser)
    exten = 2,n,Wait(2)
    exten = 2,n,Hangup
    exten = 2,n(valider),System(/bin/echo action valider le fichier)
    exten = 2,n,Playback(messages/merci)
    
    
    [localphones]
    ;Appels entre les différents postes interne
    exten => 200,1,Goto(forfait-sip,s,1)
    exten => 210,1,Dial(SIP/210)
    exten => 220,1,Dial(SIP/220)
    Et colle ici les Traces dans la CLI lorsque tu as un problème, c'est plus facile pour voir ce qu'il se passe.
    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. #4
    Membre Association Avatar de cedricscha
    Date d'inscription
    août 2010
    Localisation
    Geneve/Suisse
    Messages
    578
    Downloads
    1
    Uploads
    0
    Tu peux autrement faire comme ceci, ce sera peut etre plus clair :

    Code:
    
    [forfait-sip]
    exten = s,1,Ringing(20)
    exten = s,n,Answer()
    exten = s,n(debut),BackGround(messages/intro)
    exten = s,n,Wait(2)
    exten = s,n,Goto(debut)
    
    ;###### LIGNE DIRECTE ######
    exten => 1,1(lignea),Playback(messages/lignedirecte)
    exten = 1,n,Dial(SIP/210,30)
    exten = 1,n,Hangup()
    
    ;###### ENREGISTRER #######
    exten = 2,1(ligneb),Wait(2)
    
    exten = 2,n(enregistrer),Playback(messages/enregistrer)
    exten = 2,n,record(OUTPUT.wav)
    exten = 2,n,Playback(messages/voici_message_repondeur)
    exten = 2,n,Playback(OUTPUT)
    
    exten = 2,n,background(messages/gestion_message)
    exten = 2,n,Read(touchetel,,1)
    exten = 2,n,Gotoif($["${touchetel}"="1"]?valider);Valider
    exten = 2,n,Gotoif($["${touchetel}"="2"]?enregistrer);modifier
    exten = 2,n,Gotoif($["${touchetel}"="3"]?annnuler);annuler
    
    exten = 2,n(annuler),System(/bin/echo action ${OUTPUT}.wav)
    exten = 2,n,Playback(messages/pas_diffuser)
    exten = 2,n,Hangup
    
    exten = 2,n(valider),System(/bin/echo action valider le fichier)
    exten = 2,n,Playback(messages/merci)
    
    
    [localphones]
    ;Appels entre les différents postes interne
    exten = 200,1,Goto(forfait-sip,s,1)
    
    exten = 210,1,Dial(SIP/210)
    
    exten = 220,1,Dial(SIP/220)
    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...
    ---------------------------------------------------------------

  5. #5
    Membre Junior
    Date d'inscription
    janvier 2011
    Messages
    21
    Downloads
    0
    Uploads
    0
    Merci pour la mise en forme du dialplan qui est beaucoup plus claire que la mienne.

    J'ai le même problème, j'ai essayé de différentes manières, mon souci ne viens peut être pas du gotoif.

    Voici une partie de mes logs :
    (Le fichier son s'enregistre et quand je tape 1 ça me renvoie vers la ligne directe)

    -- Executing [2@forfait-sip:3] Record("SIP/220-00000008", "OUTPUT.wav") in new stack
    -- <SIP/220-00000008> Playing 'beep.ulaw' (language 'fr')
    DTMF begin '#' received on SIP/220-00000008
    DTMF begin passthrough '#' on SIP/220-00000008
    DTMF end '#' received on SIP/220-00000008, duration 240 ms
    DTMF end accepted with begin '#' on SIP/220-00000008
    DTMF end passthrough '#' on SIP/220-00000008
    -- Executing [2@forfait-sip:4] Playback("SIP/220-00000008", "messages/voici_message_repondeur") in new stack
    -- <SIP/220-00000008> Playing 'messages/voici_message_repondeur.slin' (language 'fr')
    -- Executing [2@forfait-sip:5] Playback("SIP/220-00000008", "OUTPUT") in new stack
    -- <SIP/220-00000008> Playing 'OUTPUT.slin' (language 'fr')
    -- Executing [2@forfait-sip:6] BackGround("SIP/220-00000008", "messages/gestion_message") in new stack
    -- <SIP/220-00000008> Playing 'messages/gestion_message.slin' (language 'fr')
    DTMF begin '1' received on SIP/220-00000008
    DTMF begin ignored '1' on SIP/220-00000008
    DTMF end '1' received on SIP/220-00000008, duration 280 ms
    DTMF end passthrough '1' on SIP/220-00000008
    -- Executing [1@forfait-sip:1] Playback("SIP/220-00000008", "messages/lignedirecte") in new stack
    -- <SIP/220-00000008> Playing 'messages/lignedirecte.slin' (language 'fr')
    Agent policy for SIP/220-00000008 is 'never'. CC not possible

    -- Executing [1@forfait-sip:2] Dial("SIP/220-00000008", "SIP/210,30") in new stack
    == Using SIP RTP CoS mark 5
    -- Called SIP/210
    -- SIP/210-00000009 is ringing
    -- SIP/210-00000009 answered SIP/220-00000008
    -- Locally bridging SIP/220-00000008 and SIP/210-00000009
    == Spawn extension (forfait-sip, 1, 2) exited non-zero on 'SIP/220-00000008'

    Quand je tape 2 ça me permet de réenregistrer le message mais c'est parce-que ça me renvoi vers le début de l'extension 2 et pas vers 2,n(enregistrer), quand je tape 3 ça coupe.

    Executing [2@forfait-sip:4] Playback("SIP/220-0000000a", "messages/voici_message_repondeur") in new stack
    -- <SIP/220-0000000a> Playing 'messages/voici_message_repondeur.slin' (language 'fr')
    -- Executing [2@forfait-sip:5] Playback("SIP/220-0000000a", "OUTPUT") in new stack
    -- <SIP/220-0000000a> Playing 'OUTPUT.slin' (language 'fr')
    -- Executing [2@forfait-sip:6] BackGround("SIP/220-0000000a", "messages/gestion_message") in new stack
    -- <SIP/220-0000000a> Playing 'messages/gestion_message.slin' (language 'fr')
    DTMF begin '3' received on SIP/220-0000000a
    DTMF begin ignored '3' on SIP/220-0000000a
    DTMF end '3' received on SIP/220-0000000a, duration 260 ms
    DTMF end passthrough '3' on SIP/220-0000000a
    Invalid extension '3', but no rule 'i' or 'e' in context 'forfait-sip'


    Voici un bout de mon sip.conf ça peut servir
    [general]
    context=forfait-sip
    ;bindport=5060
    ;bindaddr=192.168.2.54
    udpbindaddr=0.0.0.0
    ;tcpenable=no
    srvlookup=yes
    register => 00XXXX:XXXX@XXXXX
    canreinvite=no

    [210]
    type=friend
    username=210
    secret=XXXX
    callerid="210" <210>
    host=dynamic
    context=localphones
    language=fr
    nat=yes
    disallow=all
    allow=ulaw
    allow=alaw

    ;insecure=port
    ;canreinvite=no
    ;dtmfmode=auto
    ;video=no
    ;restrictcid=no
    ;amaflags=default
    ;mailbox=210@XXX.com

  6. #6
    Membre Junior
    Date d'inscription
    janvier 2011
    Messages
    21
    Downloads
    0
    Uploads
    0

    Quand je fais un sip reload j'ai

    sip reload
    Reloading SIP
    == Parsing '/etc/asterisk/sip.conf': No valid transports available, falling back to 'udp'.
    == Found
    == Using SIP CoS mark 4
    Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied
    Unable to open Asterisk database '/var/lib/asterisk/astdb': Permission denied

  7. #7
    Membre Association Avatar de cedricscha
    Date d'inscription
    août 2010
    Localisation
    Geneve/Suisse
    Messages
    578
    Downloads
    1
    Uploads
    0
    As tu changer tpn dialan ou tu utilises celui du debut?
    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...
    ---------------------------------------------------------------

  8. #8
    Membre Junior
    Date d'inscription
    janvier 2011
    Messages
    21
    Downloads
    0
    Uploads
    0
    J'ai changé le dialplan et fait d'autres essais, le log est avec ton dialplan

  9. #9
    Membre Association Avatar de cedricscha
    Date d'inscription
    août 2010
    Localisation
    Geneve/Suisse
    Messages
    578
    Downloads
    1
    Uploads
    0
    Essaie comme cela :

    Code:
    [forfait-sip]
    exten = s,1,Ringing(20)
    exten = s,n,Answer()
    exten = s,n(debut),BackGround(messages/intro)
    exten = s,n,Wait(2)
    exten = s,n,Goto(debut)
    
    ;###### LIGNE DIRECTE ######
    exten => 1,1(lignea),Playback(messages/lignedirecte)
    exten = 1,n,Dial(SIP/210,30)
    exten = 1,n,Hangup()
    
    ;###### ENREGISTRER #######
    
    exten = 2,1(ligneb),Goto(GesRepondeur,s,1)
    
    [GesRepondeur]
    ;Décroche la ligne
    exten = s,1,Answer()
    exten = s,n,NoOp(### Configuration Message Repondeur ###)
    exten = s,n,wait(1)
    
    ;Lecture du Fichier Son Repondeur Actuel
    exten = s,n,GoSub(GesRepondeurEcoute,s,1)
    
    ;Lecture du son Gestion Repondeur
    exten = s,n(MenuVocal),NoOp(### Lecture du Fichier de Gestion du Repondeur ###)
    exten = s,n,background(messages/gestion_message)
    exten = s,n,wait(2)
    exten = s,n,NoOp(### Retour au debut ###)
    exten = s,n,Goto(MenuVocal)
    
    ;Selectionne 1 et valide le message
    exten = 1,1,GoSub(GesRepondeurValide,s,1)
    exten = 1,n,Hangup()
    
    ;Selectionne 2 et enregistre le message
    exten = 2,1,Gosub(GesRepondeurEnrg,s,1)
    exten = 2,n,Goto(s,MenuVocal)
    
    ;Selectionne 3 et annule le message
    exten = 3,1,GoSub(GesRepondeurAnnule,s,1)
    exten = 3,n,Hangup()
    
    ; Sélectionne 4 et écoute le message
    exten = 4,1,GoSub(GesRepondeurEcoute,s,1)
    exten = 4,n,Goto(s,MenuVocal)
    
    
    [GesRepondeurValide]
    exten = s,1,System(/bin/echo action valider le fichier)
    exten = s,n,NoOp(### Validation du Message ###)
    exten = s,n,Playback(messages/merci)
    exten = s,n,Return()
    
    
    [GesRepondeurEnrg]
    exten = s,1,Playback(messages/enregistrer)
    exten = s,n,NoOp(### Enregistrement du Message ###)
    exten = s,n,record(OUTPUT.wav)
    exten = s,n,Playback(messages/voici_message_repondeur)
    exten = s,n,Playback(OUTPUT)
    exten = s,n,Return()
    
    [GesRepondeurAnnule]
    exten = s,1,System(/bin/echo action ${OUTPUT}.wav)
    exten = s,n,NoOp(### Annulation du Message ###)
    exten = s,n,Playback(messages/pas_diffuser)
    exten = s,n,Return()
    
    [GesRepondeurEcoute]
    exten = s,1,wait(1)
    exten = s,n,NoOp(### Ecoute du message Actuel)
    exten = s,n,Playback(messages/voici_message_repondeur)
    exten = s,n,Playback(OUTPUT)
    exten = s,n,Return()
    
    [localphones]
    ;Appels entre les differents postes interne
    exten = 200,1,Goto(forfait-sip,s,1)
    
    exten = 210,1,Dial(SIP/210)
    
    exten = 220,1,Dial(SIP/220)
    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...
    ---------------------------------------------------------------

  10. #10
    Membre Junior
    Date d'inscription
    janvier 2011
    Messages
    21
    Downloads
    0
    Uploads
    0

    1000 mercis

    ça marche !!!!!
    Je vais pouvoir faire ce que je veux.

    Merci encore.
    Erwan

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
  •