Affichage des résultats 1 à 3 sur 3

Discussion: Queue et agent multi-serveurs

  1. #1
    Membre
    Date d'inscription
    septembre 2010
    Localisation
    Lorient
    Messages
    66
    Downloads
    0
    Uploads
    0

    Queue et agent multi-serveurs

    Bonjour à tous,

    Je cherche à mettre en oeuvre une file d'attente avec des agents répartis sur plusieurs serveurs asterisk.

    présentation de l'architecture cible:

    serveur A - 192.168.21.10
    compte SIP configurés sous la forme SIP/1XX

    serveur B - 192.168.22.10
    compte SIP configurés sous la forme SIP/2XX

    serveur C - 192.168.23.10
    compte SIP configurés sous la forme SIP/3XX

    sur le serveur A une file d'attente (199) de déclaré, voici la conf:

    fichier queues.conf
    Code:
    [199]
    timeout=30
    strategy=ringall
    retry=5
    maxlen=0
    leavewhenempty=yes
    joinempty=no
    ringinuse=no
    les postes du site A s'enregistre sur à la queue via la fonction #1:
    Code:
    exten => #1,1,AddQueueMember(199)
    exten => #1,n,Playback(agent-loginok)
    exten => #1,n,hangup()
    Et se désenregistre via la fonction #0:
    Code:
    exten => #0,1,RemoveQueueMember(199)
    exten => #0,n,Playback(agent-loggedoff)
    exten => #0,n,hangup()
    Tout celà fonctionne parfaitement.

    Maintenant, on me demande que des utilisateurs des sites B et C puissent se connecter à la file d'attente du site A pour traiter des appels...

    J'ai donc mise en place les même fonctions sur les site B et C et je faist appel à deux script pour gérer la connexion / déconnexion à la queue. Voici ce que ca donne pour le site B:

    Extensions.conf:
    Code:
    exten => #1,1,AGI(connexion.agi,${CALLERID(NUM)})
    exten => #1,n,Playback(agent-loginok)
    exten => #1,n,hangup()
    
    exten => #0,1,AGI(deconnexion.agi,${CALLERID(NUM)})
    exten => #0,n,Playback(agent-loggedoff)
    exten => #0,n,hangup()
    script connexion.agi:
    Code:
    #!/usr/bin/expect
    set user [lindex $argv 0]
    spawn telnet 192.168.21.10 5038
    expect "Asterisk Call Manager/1.0"
    send -- "Action: login\r"
    send -- "Username: admin\r"
    send -- "Secret: admin\r\r"
    expect "Authentication accepted"
    send -- "action: QueueAdd\r"
    send -- "Queue: 199\r"
    send -- "Interface: $user@192.168.22.10\r\r"
    expect "Response: Success"
    send -- "Action: logoff\r\r"
    expect "Response: Goodbye"
    expect "Message: Thanks for all the fish."
    expect eof
    script deconnexion.agi:
    Code:
    #!/usr/bin/expect
    set user [lindex $argv 0]
    spawn telnet 192.168.21.10 5038
    expect "Asterisk Call Manager/1.0"
    send -- "Action: login\r"
    send -- "Username: admin\r"
    send -- "Secret: admin\r\r"
    expect "Authentication accepted"
    send -- "action: QueueRemove\r"
    send -- "Queue: 199\r"
    send -- "Interface: $user@192.168.22.10\r\r"
    expect "Response: Success"
    send -- "Action: logoff\r\r"
    expect "Response: Goodbye"
    expect "Message: Thanks for all the fish."
    expect eof
    ces deux fonctions sont OK, puisque la commande show queue sur la CLI du serveur A me retourne ce qui suit lorsque je me connecte depuis le poste SIP/201 du site B:
    Code:
    199          has 0 calls (max unlimited) in 'ringall' strategy (0s holdtime), W:0, C:4, A:0, SL:75.0% within 0s
       Members:
          SIP/201@192.168.22.10 (dynamic) (Not in use) has taken 3 calls (last was 13125 secs ago)
          SIP/102 (dynamic) (Not in use) has taken no calls yet
       No Callers
    mon problème est dans la gestion des appels.

    Lorsque les membres de la file d'attente sont tous sur le site A, tout est Ok.

    Le problème est dès qu'un membre d'un site distants se connecte à la file d'attente. j'ai constaté plusieurs symptomes:

    • Lors d'un appel entrant sur la queue, tous les postes commence à sonner puis seul un des postes des sites distants continue de sonner. Si l'utilisateur ne réponds pas l'appel est renvoyer au voicemail du poste qui à sonné...
    • il n'y a pas de remonté de statut pour les poste distants ce qui signifie que les postes distant auront un signal de double appel si ils sont déjà en ligne...

    Est-ce que l'un d'entre vous a dèjà eu a configurer ce type d'architecture?

    Si comment est-ce configuré?

    Merci pour vos réponses.

  2. #2
    Membre Association
    Date d'inscription
    septembre 2010
    Localisation
    HENNEBONT
    Messages
    71
    Downloads
    0
    Uploads
    0
    Bonjour,

    Moi j'ai ce genre de configuration avec des files d'attentes dans tous les sens.

    J'ai règlé le problème d'une manière simple :

    J'ai créer un compte sip sur chaque serveur. Ainsi un poste du site B dispose d'un compte sip sur le serveur * du site A et s'enregistre sur le serveur du site A (en plus de son enregistrement sur son site B)

    Pour se connecter à la file d'attente du serveur A il se sert de son 2ème compte SIP enregistré sur le serveur * A

    Gilbert

  3. #3
    Membre
    Date d'inscription
    septembre 2010
    Localisation
    Lorient
    Messages
    66
    Downloads
    0
    Uploads
    0
    Bonjour,

    Désolé pour la réponse tardive mais j'étais sur un autre dossier.

    Je crois que je vais partir sur la solution de configurer des comptes SIP sur chaque serveur et téléphones.

    Merci pour l'info.

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
  •