Affichage des résultats 1 à 5 sur 5

Discussion: [RESOLU] Mauvaise langue avec Dial-Out

  1. #1
    Membre Junior
    Date d'inscription
    février 2011
    Localisation
    Trans sur Erdre
    Messages
    26
    Downloads
    0
    Uploads
    0

    [RESOLU] Mauvaise langue avec Dial-Out

    Salut tout le monde.

    Ce n'est pas souvent que je traine par là, mais là je bloque sur quelque chose de relativement simple. Bien que pour moi ce ne soit pas très normal ce qui m'arrive.

    Voilà, j'ai concocté un auto-dial dans /var/spool/asterisk/outgoing/
    Code:
    Channel: Local/101@from-internal
    CallerID: WakeUp <101>
    MaxRetries: 3
    RetryTime: 60
    WaitTime: 30
    Application: Playback
    Data: roomx/wakeup
    Extension: 101
    Priority: 1
    Sauf que la langue est prise par défaut (en).

    Pour chaque <lang> => /var/lib/asterisk/sounds/<lang>/roomx/wakeup

    Si je rajoute fr devant /roomx/wakeup, ça fonctionne.

    Si je rajoute dans le script: Set: CHANNEL(language)=fr, ça fonctionne aussi.

    J'ai forcé fr dans la config de l'extension et dans les paramètres généraux du SIP et le résultat de sip show settings montre bien que la langue sélectionnée est fr et non en (par défaut).

    Soit il y a un bug quelque part, ou je pointe au mauvais endroit c'est qui replierait sur la langue par défaut, mais j'en doute.

    Je pensais pouvoir récupérer la langue sur la variable ${LANGUAGE}, mais visiblement elle contient en!Si quelqu'un à une idée sur ce truc zarbi.
    Dernière modification par danardf ; 17/10/2013 à 13h18.
    Franck Danard

  2. #2
    Membre Junior
    Date d'inscription
    février 2011
    Localisation
    Trans sur Erdre
    Messages
    26
    Downloads
    0
    Uploads
    0
    Bon je pense que j'ai trouvé.
    Dans core show settings la langue est en.

    Mais ce qui n'explique pas pourquoi la langue utilisée n'est pas celle de l'appelé!
    Franck Danard

  3. #3
    Membre Junior
    Date d'inscription
    février 2011
    Localisation
    Trans sur Erdre
    Messages
    26
    Downloads
    0
    Uploads
    0
    Bon...... j'ai rusé.

    Dans mon code PHP, j'ai extrait la valeur de la langue utilisée et je l'ai mise dans une variable que l'inclue dans
    Code:
    "Set: CHANNEL(language)=${lang}\n".
    Pas très propre, mais ça fonctionne.

    Si toute fois quelqu'un à une solution ou une piste.

    A+
    Franck Danard

  4. #4
    Membre Junior
    Date d'inscription
    février 2011
    Localisation
    Trans sur Erdre
    Messages
    26
    Downloads
    0
    Uploads
    0
    Ha zute... ça règle en parti mon problème.

    Pour ce qui est de la réponse du réveil ok.

    Par contre j'ai un script shell qui tourne en tâche de fond, surveillant les status Expired et Failed afin de notifier l'accueil d'un non réveil.
    Code:
    #!/bin/sh
    while true ;
    do
    ###########################################################################
    # Check the existing .call files from roomx within outgoing_done directory.
    ###########################################################################
    ls /var/spool/asterisk/outgoing_done/roomx_wakeup_*.call 1>/dev/null 2>&1 && res=OK || res=KO
    
    R1=""
    R2=""
    
    ################################
    # Check Expired and Failed files.
    ################################
    if [ $res == "OK" ] && [ ! -f /var/spool/asterisk/outgoing_done/flag ] ; then
            R1=$(grep -l Expired /var/spool/asterisk/outgoing_done/roomx_wakeup_*.call)
            R2=$(grep -l Failed /var/spool/asterisk/outgoing_done/roomx_wakeup_*.call)
    fi
    
    ###########################################################
    # If last test is true, then sending alert to the operator.
    ###########################################################
    if [ "$R1" != "" ]||[ "$R2" != "" ] ; then
            touch /var/spool/asterisk/outgoing_done/flag
            echo "Channel: Local/100@from-internal" >> /var/spool/asterisk/tmp/alert.call
            echo "CallerID: Alert <100>" >> /var/spool/asterisk/tmp/alert.call
            echo "MaxRetries: 3" >> /var/spool/asterisk/tmp/alert.call
            echo "RetryTime: 60" >> /var/spool/asterisk/tmp/alert.call
            echo "WaitTime: 30" >> /var/spool/asterisk/tmp/alert.call
            echo "Application: Playback" >> /var/spool/asterisk/tmp/alert.call
            echo "Data: roomx/alert" >> /var/spool/asterisk/tmp/alert.call
            echo "Priority: 1" >> /var/spool/asterisk/tmp/alert.call
            echo "Extension: 100" >> /var/spool/asterisk/tmp/alert.call
            mv /var/spool/asterisk/tmp/alert.call /var/spool/asterisk/outgoing/
            chgrp asterisk /var/spool/asterisk/outgoing/alert.call
            chown asterisk /var/spool/asterisk/outgoing/alert.call
    fi
    
    ####################
    # Wait 15 seconds  #
    ####################
    sleep 15
    done
    Là même cas, la langue est par défaut.
    Franck Danard

  5. #5
    Membre Junior
    Date d'inscription
    février 2011
    Localisation
    Trans sur Erdre
    Messages
    26
    Downloads
    0
    Uploads
    0
    Héhé... j'ai trouvé.

    Au lieu d'utiliser le canal Local: Channel: Local/100@from-internal
    Il faut utiliser le canal SIP : Channel: SIP/100

    C'est good.
    Franck Danard

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
  •