Page 1 sur 2 12 DernièreDernière
Affichage des résultats 1 à 10 sur 11

Discussion: Dial() - Question

  1. #1
    Membre Senior
    Date d'inscription
    septembre 2010
    Messages
    196
    Downloads
    1
    Uploads
    0

    Dial() - Question

    Bonjour à tous

    Je viens de m'apercevoir que mon dialplan avait un problème.
    En effet, lors d'un rejet ou d'un interlocuteur occupé, DIAL renvoi à la priorité n+102 ou n+202.

    Sauf que là rien. Il ne passe jamais aux extensions n+102. Alors j'ai un peu potassé Google, mais pas moyen d'avoir des infos sur ça.

    Je n'ai pourtant rien essayé d'extra-ordinaire, un simple:

    Code:
    exten => 111,1,Dial(SIP/111,4,t)
    exten => 111,2,Playback(hello-world)
    exten => 111,102,Playback(tt-allbusy)
    exten => 111,202,Playback(tt-allbusy)
    En enlevant la seconde ligne, j'ai simplement la tonalité OCCUPE et hop raccroché.

    Donc voilà, j'ai surement loupé un truc dans la bible d'Asterisk, si vous pouviez m'éclairer, se serait super

    sunny

  2. #2
    Membre Association Avatar de cedricscha
    Date d'inscription
    août 2010
    Localisation
    Geneve/Suisse
    Messages
    578
    Downloads
    1
    Uploads
    0
    Quel est ta version d'asterisk ?
    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...
    ---------------------------------------------------------------

  3. #3
    Membre Senior
    Date d'inscription
    septembre 2010
    Messages
    196
    Downloads
    1
    Uploads
    0
    Oui pardon, j'ai oublié les précisions d'usages:

    Alors, je tourne sous CentOS5.5, dans une Machine Virtuelle, avec Asterisk 1.6.2.13. J'ai installé DAHDI et Libpri aussi (les dernières versions).

    Merci pour la réponse rapide ceci dit, ça fait plaisir^^

  4. #4
    Super Moderator Avatar de Rico
    Date d'inscription
    septembre 2010
    Messages
    86
    Downloads
    1
    Uploads
    0
    Je ne me sers pas du jump, mais qques idées quand même :
    - rajouter 'j' dans les options du dial
    - c'est pas n+101 plutot ?

  5. #5
    Membre Senior
    Date d'inscription
    septembre 2010
    Messages
    196
    Downloads
    1
    Uploads
    0
    Merci du conseil. Mais malheureusement, le résultat est similaire.

    ceci étant, j'ai toujours une solution sous le bras (cf page 156 de notre bible Asterisk The Future of Telephony), mais j'aurai bien aimé que cela fonctionne ainsi, se serait plus jolie

    Bon, se n'ai pas grave en soit, mais si vous avez une idée de pourquoi cela ne fonctionne pas, je sera curieux de la connaitre. Je n'aime pas trop contourner les problèmes, je préfère les résoudre et apprendre.

    sunny

  6. #6
    Membre Association Avatar de cedricscha
    Date d'inscription
    août 2010
    Localisation
    Geneve/Suisse
    Messages
    578
    Downloads
    1
    Uploads
    0
    Essaie de mettre ceci dans ta section general

    Code:
    [general]
    priorityjumping=yes
    et effectivement, c'est n+101 (soit si tu est à la priorité 1, tu jump vers la priorité 102)

    Et tant que j'y suis (je n'ai pas TFOT sous les yeux, je ne sais pas si c'est ce que tu parles), pourquoi n'utilise tu pas la variable DIALSTATUS pour faire tes renvois ? c'est plus propre non ?

    Edit : Bon ben c'est bien de cela que tu parles..... je serais toi, je partirai vers cette solution, car les jumps dans le dialplan c'est vite ingérable...... tu verras utiliser la priorité n avec des flags (n(BUSY) par exemple) est beaucoup plus facile à mettre en place, a maintenir et te permets beaucoups plus de chose également.

    Numéroter tes priorités à la suite deviens vite un boulet dans des grands fichier extensions.conf..... imagine quand tu as une quarantaine de priorités (Et encore je suis gentils), et que tu te rends compte que tu dois rajouter QQCH à la priorité 2...... tout renuméroter Pfffffff

    les priorités, 1,2,3,4,.... c'est bien pour découvrir, savoir comment sa marche mais cela reste pour du hello-world..... passe le plus rapidement possible avec n
    Dernière modification par cedricscha ; 23/09/2010 à 16h46.
    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 Senior
    Date d'inscription
    septembre 2010
    Messages
    196
    Downloads
    1
    Uploads
    0
    Oui excusez-moi, j'ai oublié de répondre pour le n+101. Evidemment, c'est se que je voulais dire (mon exemple est en +101 en plus). Une petite maladresse, je m'en excuse.

    En se qui concerne le priorityjumping, faut-il carrément redémarrer le serveur? Si non (se qui me semble probable), ça ne fonctionne pas beaucoup mieux.

    Pour le DIALSTATUS, je ne l'utilisai pas parce que...je ne le connaissait pas. Puis j'ai lu cette fameuse page du livre anglais (j'ai la version français sur Asterisk 1.2 en faite). Je viens de l'implanté avec cette méthode, c'est bien plus propre et ça fonctionne (mise à part un détail d'une macro, mais j'ouvrirai un autre poste plus tard pour ce problème, si j'ai vraiment besoin).

    Pour la petite histoire, c'est après avoir lu le poste sur la gestion des priorités de cedricscha que j'ai voulu tester la chose (je vais pas rater une occasion de faire des choses propres).

    En tout cas, je m'interroge toujours sur cette histoire de jump... (je suis curieux ).

    Ceci dit, merci à vous deux pour ces réponses rapides


    EDIT:
    effectivement, j'utilise déjà les n, mais c'était pour exposer simplement le problème et montrer que même avec un exemple simple (sans macro, sans rien, juste un numéro) n'était pas fonctionnel. Pour ma part, je ne reviendrai pas sur les chiffres, je dois déjà en maintenir un comme ça à la suite d'une autre personne, c'est horrible à maintenir. Je redévelopper tout pour que ce soit plus clair et plus simple (et pour ajouter des trucs aussi xD).
    Dernière modification par sunny ; 23/09/2010 à 16h57. Motif: Réponse à l'édit du dessus

  8. #8
    Membre Association Avatar de cedricscha
    Date d'inscription
    août 2010
    Localisation
    Geneve/Suisse
    Messages
    578
    Downloads
    1
    Uploads
    0
    Redemarrer le serveur, non, mais un reload du dialplan oui.....

    peut tu faire un extrait de la CLI pendant l'appel, en verbose maximum, afin que l'on voie 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...
    ---------------------------------------------------------------

  9. #9
    Membre Senior
    Date d'inscription
    septembre 2010
    Messages
    196
    Downloads
    1
    Uploads
    0
    Pour information, la version avec DIALSTATUS fonctionne très bien.

    Pour notre sujet, j'ai ça dans la CLI (après reload évidemment, j'ai parlé de redémarrage machine à cause du fait que le reload ne faisait rien justement):


    Code:
    -- Executing [123@interne:1] Dial("SIP/111-00000000", "SIP/xlite,4,r") in new stack
      == Using SIP RTP CoS mark 5
        -- Called xlite
        -- SIP/xlite-00000001 is ringing
        -- SIP/xlite-00000001 answered SIP/111-00000000
        -- Native bridging SIP/111-00000000 and SIP/xlite-00000001
      == Using SIP RTP CoS mark 5
        -- Executing [111@interne:1] Dial("SIP/114-00000002", "SIP/111,4,j") in new stack
      == Using SIP RTP CoS mark 5
        -- Called 111
        -- Got SIP response 486 "Busy" back from 192.168.10.161
        -- SIP/111-00000003 is busy
      == Everyone is busy/congested at this time (1:1/0/0)
        -- Executing [111@interne:2] Playback("SIP/114-00000002", "hello-world") in new stack
        -- <SIP/114-00000002> Playing 'hello-world.alaw' (language 'fr')
        -- Auto fallthrough, channel 'SIP/114-00000002' status is 'BUSY'
      == Spawn extension (interne, 123, 1) exited non-zero on 'SIP/111-00000000'
    Voici le dialplan avec lequel j'ai testé:
    Code:
    [general]
    static=yes
    writeprotect=no
    priorityjumping=yes
    
    [interne]
    exten => 123,1,Dial(SIP/xlite,4,r)
    exten => 116,1,Dial(SIP/114&SIP/111,4,r)
    exten => 111,1,Dial(SIP/111,4,j)
    exten => 111,2,Playback(hello-world)
    exten => 111,102,Playback(tt-allbusy)
    exten => 111,202,Playback(tt-allbusy)
    et pour le sip (en résumer):

    Code:
    [general]
    context=default 
    language=fr
    
    [basic-options](!)                ; a template
            dtmfmode=rfc2833
            context=from-office
            type=friend
    
    [public-phone](!,basic-options)   ; another template inheriting basic-options
            nat=no
            directmedia=yes
    	host=dynamic
    	context=interne
    
    [alaw-phone](!)                   ; and another one for alaw-only
            disallow=all
            allow=alaw
    	allow=gsm
    
    [xlite](public-phone,alaw-phone)
    		secret = 1234
    		callerid= "XXXX" <123>
    		
    [100](public-phone,alaw-phone)
             secret = 1234
    		 callerid= "XXXX" <100>		
    		 
    [101](public-phone,alaw-phone)
             secret = 1234
    		 callerid= "XXXX" <101>
    Dernière modification par sunny ; 23/09/2010 à 19h08. Motif: petit oubli

  10. #10
    Membre Association Avatar de cedricscha
    Date d'inscription
    août 2010
    Localisation
    Geneve/Suisse
    Messages
    578
    Downloads
    1
    Uploads
    0
    Citation Envoyé par sunny Voir le message
    Voici le dialplan avec lequel j'ai testé:
    Code:
    [general]
    static=yes
    writeprotect=no
    
    [interne]
    exten => 123,1,Dial(SIP/xlite,4,r)
    exten => 116,1,Dial(SIP/114&SIP/111,4,r)
    exten => 111,1,Dial(SIP/111,4,j)
    exten => 111,2,Playback(hello-world)
    exten => 111,102,Playback(tt-allbusy)
    exten => 111,202,Playback(tt-allbusy)
    Euh..... je vois pas le :
    Code:
    priorityjumping=yes
    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...
    ---------------------------------------------------------------

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
  •