Affichage des résultats 1 à 8 sur 8

Discussion: [RESOLU] Renvoi immédiat.

  1. #1
    Membre
    Date d'inscription
    février 2011
    Messages
    44
    Downloads
    0
    Uploads
    0

    [RESOLU] Renvoi immédiat.

    Bonjour.


    Version os Debian 7.4
    Version Asterisk 11.8.1
    Pas de Freepbx
    Une carte digium 2T0 et 4 analogiques


    Cela fait deux semaines que je me suis mis à essayer de programmer plutôt que d'utiliser la version graphique. Effectivement c'est passionnant mais galère grave.
    Je suis en train de buter sur le renvoi d'appel immédiat. J'ai consulté un grand nombre de page relatant le sujet mais je n'y arrive toujours pas.
    Je suis en train de travailler avec un post écrit par Yansolo:
    http://www.asterisk-france.org/archi...08&postcount=3
    Pas de renvoi immédiat, ça ne fonctionne pas.
    J'aurais besoin d'aide pour comprendre un peu ce que je fait.
    D'une part la valeur $(user) décrite dans le tuto à une valeur nulle chez moi. C'est quoi ce $(user) ??
    Comment est passé la valeur de l'argument du numéro de poste sur lequel est effectué le renvoi???
    Quelle est l'instruction qu'il faut écrire pour que quand on appelle le poste 1000 (renvoyé sur sur le 1003) fasse sonner le poste 1003???



    Là je sèche.
    Dernière modification par mariop31 ; 16/04/2014 à 14h11.

  2. #2
    Membre
    Date d'inscription
    février 2011
    Messages
    44
    Downloads
    0
    Uploads
    0
    Vraiment personne pour me donner un coup de main, après plus de 50 consultations de mon post??

    J'avais déjà posté à ce sujet en janvier 2007 et mon post est resté sans réponse. A l'époque cela m'avait conduit à laisser tomber Asterisk tout simplement.
    Je me suis remis dessus récemment (Février 2014) avec une distro Asterisk Now, et là évidemment c'est un peu plus simple.
    J'ai recommencé avec une distro Debian et j'ai installé Asterisk et Freepbx, là j'ai réussi aussi a faire ce que je voulais.

    Certaine personnes de ce forum m'ont fortement invité à le faire "à la mano". Donc j'y suis, j'ai pour aide 3 livres:

    1) Cahier de l'Admin de Nat Makarévitch
    2) VOIP et TOIP de Sébastien DEON
    3) La téléphonie Open Source de Jim Van MEGGELEN, Jared SMITH & Leif MADSEN

    Au moment ou j'écris ce post, j'ai réussi grâce à ces livres à faire:
    * appels internes
    * appels externes
    * appel sortant
    * présentation de la sda
    * implémentation de la sda
    * transfert d'appels
    * parcage et récupération (en interne et depuis un appel externe)
    * messagerie Vocale
    * salle de conférence

    Bien sur je me suis aidé aussi du site http://www.voip-info.org/wiki/ et bien d'autres.
    Comme je le dis dans le premier post, j'ai trouvé une amorce de script écrite par YANSOLO, dont voilà le contenu:
    ; #### FOREWARD Unconditional #########
    ; Pour activer un renvoi :
    exten => 503,1,Answer()
    exten => 503,n,Wait(0.5)
    exten => 503,n,Set(DB(users/${USER}/FWD/Unc/Status)=1)
    exten => 503,n,Playback(call-fwd-unconditional)
    exten => 503,n,Playback(on)
    exten => 503,n,Hangup()

    ; Pour enregister le numéro
    exten => _503.,1,Answer()
    exten => _503.,n,Wait(0.5)
    exten => _503.,n,Set(DB(users/${USER}/FWD/Unc/Number)=${EXTEN:3})
    exten => _503.,n,Set(DB(users/${USER}/FWD/Unc/Status)=1)
    exten => _503.,n,Playback(call-fwd-unconditional)
    exten => _503.,n,Playback(on)
    exten => _503.,n,Hangup()

    ; Pour désavtiver le renvoi
    exten => 504,1,Answer()
    exten => 504,n,Wait(0.5)
    exten => 504,n,Set(DB(users/${USER}/FWD/Unc/Status)=0)
    exten => 504,n,Playback(call-fwd-unconditional)
    exten => 504,n,Playback(off-duty)
    exten => 504,n,Hangup()

    ;Unconditional Forwarding
    exten => s,n,Set(FUStatus=${DB(users/${USER}/FWD/Unc/Status)})
    exten => s,n,NoOp(Forward Unconditional Status: ${FUStatus})
    exten => s,n,Set(FUNumber=${DB(users/${USER}/FWD/Unc/Number)})
    exten => s,n,NoOp(Forward Unconditional Number: ${FUNumber})
    exten => s,n,GotoIf($[${FUStatus} = 1]?FU)
    J'ai mis ce script dans mon fichier extensions.conf, effectivement en faisant le code d'ordre "503" pour entrer le numéro de poste sur lequel j'effectue mon renvoi fonctionne (je veux dire que la bd est bien renseignée) mais la variable $(USER) n'est pas renseignée. C'est quoi cette variable d'où sort elle???
    En faisant "504" le numéro est effacé de la bd asterisk.
    Quand je teste la fonctionnalité à savoir, renvoi du poste 1000 sur le poste 1003, appel du poste 1001 vers le poste 1000 eh bien au lieu de faire sonner le poste 1003 je fais sonner le poste 1000. Donc fiasco.

    Il me manque quelque chose et c'est cela que je voudrais bien comprendre, et je compte sur la gentillesse de quelqu'un de ce forum pour m'aider.

    Je suis prêt à donner toutes les indications nécessaires manquantes pour obtenir une aide de votre part.

  3. #3
    Membre
    Date d'inscription
    mars 2014
    Localisation
    Luxembourg
    Messages
    72
    Downloads
    0
    Uploads
    0
    Salut,

    Je ne serai pas t'aider mais j'ai commencé aussi en Fevrier et j'ai remarqué que si tu veux de l'aide sur asteriskNow il faut que tu ailles sur leur forum, pareil pour freebpx.

    Ici c'est du Français.. Donc tu trouveras beaucoup d'aide sur XIVO car il est français.

  4. #4
    Membre
    Date d'inscription
    février 2011
    Messages
    44
    Downloads
    0
    Uploads
    0
    Merci à toi dimitrid d'avoir eu pitié de moi, c'est pas grave je viens de trouver une solution.

    Voilà ma soluce:
    [redirection]
    exten => 503,1,Answer()
    exten => 503,n,Wait(0.5)
    exten => 503,n,Set(ETAT=${DB(users/${USER}/TRSF/Status)})
    exten => 503,n,NoOp(${ETAT})
    exten => 503,n,GotoIf($[${ETAT} = 0]?:actif)
    exten => 503,n,Set(DB(users/${USER}/TRSF/Status)=1)
    exten => 503,n,NoOp(${DB(users/${USER}/TRSF/Status)})
    exten => 503,n,Playback(call-fwd-unconditional)
    exten => 503,n,SayDigits(${DB(users/${USER}/TRSF/Number)})
    exten => 503,n,Hangup()
    exten => 503,n(actif),Set(DB(users/${USER}/TRSF/Status)=0)
    exten => 503,n,Playback(off-duty)
    exten => 503,n,Hangup()

    exten => _503.,1,Answer()
    exten => _503.,n,Wait(0.5)
    exten => _503.,n,Set(DB(users/${USER}/TRSF/Status)=1)
    exten => _503.,n,Set(DB(users/${USER}/TRSF/Number)=${EXTEN:3})
    exten => _503.,n,NoOp(${DB(users/${USER}/TRSF/Status)})
    exten => _503.,n,Playback(call-fwd-unconditional)
    exten => _503.,n,SayDigits(${DB(users/${USER}/TRSF/Number)})
    exten => _503.,n,Hangup()

    [appel-interne]
    exten => _100X,1,Macro(appel,${EXTEN})

    [macro-appel]
    exten => s,1,Set(ETRedirection=${DB(users/${ARG1}/TRSF/Status)})
    exten => s,n,NoOp(User = ${ARG1})
    exten => s,n,Set(Numredir=${DB(users/${ARG1}/TRSF/Number)})
    exten => s,n,GoToIf($[${ETRedirection} = 1]?Dirige:NonDirige)

    exten => s,n(NonDirige),SetAMAFlags(omit)
    exten => s,n,Dial(SIP/${ARG1},20rtT)
    ;exten => s,n,Goto(${DIALSTATUS})

    exten => s,n(BUSY),VoiceMail(${ARG1}@mevo,bs)
    exten => s,n,Busy()
    exten => s,n,Hangup()

    exten => s,n(NOANSWER),NoOp()
    exten => s,n(CANCEL),NoOp()
    exten => s,n(CONGESTION),NoOp()
    exten => s,n(CHANUNAVAIL),NoOp()
    exten => s,n,VoiceMail(${ARG1}@mevo,us)
    exten => s,n,Congestion()
    exten => s,n,Hangup()

    exten => s,n(Dirige),NoOp(Redirection)
    exten => s,n,SetAccount(${ARG1})
    exten => s,n,NoOp(${Numredir})
    exten => s,n,DIAL(SIP/${Numredir},20rtT)
    Maintenant il faut que mon renvoi immédiat fonctionne vers un poste externe.

    Je compte rajouter les lignes suivantes en remplaçant la dernière ligne:

    exten => s,n,GoToIf($[${Numredir} =numéro commençant par 0]?Interne:Externe)
    exten => s,n(Interne),NoOp(Redirection)
    exten => s,n,DIAL(SIP/${Numredir},20rtT)
    exten => s,n(Externe),NoOp(Redirection)
    exten => s,n,DIAL(DAHDI/g0/${Numredir},20rtT)
    Sauf que je ne sais pas comment écrire mon test qui prendrait en compte un numéro commençant par 0.


    Une idée ??????

  5. #5
    Membre
    Date d'inscription
    février 2011
    Messages
    44
    Downloads
    0
    Uploads
    0
    C'est bon j'ai trouvé.

    exten => s,n,GoToIf($["${Numredir :0:1}" = "0"]?Externe:Interne)
    exten => s,n(Interne),NoOp(Redirection)
    exten => s,n,DIAL(SIP/${Numredir},20rtT)
    exten => s,n(Externe),NoOp(Redirection)
    exten => s,n,DIAL(DAHDI/g0/${Numredir},20rtT)
    Voilà.
    Dernière modification par mariop31 ; 16/04/2014 à 15h05.

  6. #6
    Membre
    Date d'inscription
    août 2011
    Messages
    63
    Downloads
    1
    Uploads
    0
    Bonjour,

    Tout ce code c'est juste pour un renvoi immédiat ?
    C'est un peu lourd non ?
    Perso j'utilise les fonctions de renvoi du poste et ça marche très bien, en plus en fonction du modèle de poste il y a une icône qui indique a l'utilisateur qu'un renvoi est actif, on peux configuré la tempo avant renvois sur les renvoi sur non réponse au cas par cas...

    Clt
    Greg

  7. #7
    Membre
    Date d'inscription
    février 2011
    Messages
    44
    Downloads
    0
    Uploads
    0
    Je n'ai pas de fonction de renvoi sur mes postes.

    Un 6739i Aastra
    Un 6757i Aastra
    Deux 6755i Aastra
    Un poste analogique Alcatel temporis 500 sur un boîtier patton.
    Un poste analogique connecté sur un port FXS

    Voilà.
    Dernière modification par mariop31 ; 17/04/2014 à 07h42.

  8. #8
    Membre
    Date d'inscription
    août 2011
    Messages
    63
    Downloads
    1
    Uploads
    0
    Sur les postes Astra il faut programmer une touche pour le renvoi, mais effectivement si tu as des lignes analogiques ta solution est meilleur...

    Clt
    Greg

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
  •