Affichage des résultats 1 à 10 sur 10

Discussion: [newbie] Dialplan et GOTOif

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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

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
  •