PDA

Voir la version complète : Questions sur les files d'attentes..



Darkflash
14/06/2011, 22h51
Bon... je tourne en rond et je ne sais plus trop par quel bout le prendre donc, si une ame charitable peut m'éclairer ....

Voilà mon problème :

Un appel entrant arrive , il génère donc un CDR (Extérieur -> asterisk)
Il entre dans une queue et en ressort lorsque je le prend sur mon poste, deuxième CDR (Asterisk -> mon poste).

Le soucis :

J'ai besoin d'identifier les numéros de téléphone des personnes entrant , avant qu'ils n'entrent dans la queue pas de soucis : une simple lecture du CDR suffit.
Le problème est que je ne peut pas setter de variable puisque ce sont des variables de channels donc dès qu'il passe dans la queue, hop le channel est coupé (Hangup).
Lorsqu'il ressort de la queue, c'est un nouveau channel qui est créé, j'ai perdu mes variables et les infos puisque les infos du channel sont désormais de Asterisk -> mon poste.....

Je me suis dis que je pourrais peut etre faire le lien entre les 2 lignes du CDR avec le uniqueid mais lui aussi change, bref , aucun moyen d'identifier l'appel auquel je répond lorsqu'il sort de la file d'attente... :cry:

Quelqu'un a t'il une idée lumineuse sur ce point ??

merci a vous tous !

Darkflash
15/06/2011, 00h45
Bon... je tourne en rond et je ne sais plus trop par quel bout le prendre donc, si une ame charitable peut m'éclairer ....

Voilà mon problème :

Un appel entrant arrive , il génère donc un CDR (Extérieur -> asterisk)
Il entre dans une queue et en ressort lorsque je le prend sur mon poste, deuxième CDR (Asterisk -> mon poste).

Le soucis :

J'ai besoin d'identifier les numéros de téléphone des personnes entrant , avant qu'ils n'entrent dans la queue pas de soucis : une simple lecture du CDR suffit.
Le problème est que je ne peut pas setter de variable puisque ce sont des variables de channels donc dès qu'il passe dans la queue, hop le channel est coupé (Hangup).
Lorsqu'il ressort de la queue, c'est un nouveau channel qui est créé, j'ai perdu mes variables et les infos puisque les infos du channel sont désormais de Asterisk -> mon poste.....

Je me suis dis que je pourrais peut etre faire le lien entre les 2 lignes du CDR avec le uniqueid mais lui aussi change, bref , aucun moyen d'identifier l'appel auquel je répond lorsqu'il sort de la file d'attente... :cry:

Quelqu'un a t'il une idée lumineuse sur ce point ??

merci a vous tous !

Bon je viens de penser a un truc.... ca fait un peu rustine mais ca devrait fonctionner.
Les files d'attente sont normalement en FIFO ... Donc ca respecte un ordre sequentiel.
On pourrait alors utiliser une base mysql pour mémoriser les infos avec un identifiant incrémentiel et récupérer les infos lors de leurs sorties de la file d'attente en mémorisant l'id en cours via une variable globale dans asterisk.

Bon je sais pas si je suis très clair, probablement pas d'ailleur :lol:, mais ca m'ennuierais de sortir une telle artillerie...

Bonne nuit :)

quintana
15/06/2011, 03h48
Exploite plutôt les queue log plutôt que les CDR pour avoir des stats. Les CDR ne sont pas fait pour cela avec les files d'attente.

Darkflash
15/06/2011, 11h07
Merci pour ta réponse, mais ce n'était pas le but recherché. Certaines variables inhérentes au channel étaient importantes pour moi dont le numéro appelé par exemple.

Mais j'ai trouvé !
En fait il faut se servir de l'héritance des variables de channel, ainsi si on fait un :



set(__Var1 = 01)


dans le dialplan, on peut propager nos données même à travers une file d'attente !!!

Mon problème est résolu, peut etre qu'un admin pourrait changer le sujet en "Comment propager ses variables à travers une queue" , je suis sûr que ca peut aider certains :)

Merci !