PDA

Voir la version complète : La gestion des appels: Comment gérer la priorité des appels?



hamza
29/07/2011, 11h30
Bonjour

Je voudrais savoir comment gérer les priorités des appels sous Asterisk:

Exemple: Dans une société, on doit donner la plus haute priorité au directeur pour l'établissement des appels, il doit toujours avoir la ligne et être joignable avant toute autre personne

Priorité1 : Directeur et ses secretaires
Priorité2: Sous directeur et sa secretaire
Priorité3: chef division et sa secretaire
Prorité4: les agents de sécurité
Priorité5: les autres personnels

Y a t il un moyen de gérer ça sur Asterisk?

Merci.

jean
29/07/2011, 13h24
Y a t il un moyen de gérer ça sur Asterisk?


oui, envoie tout le monde en URSS qu'ils apprennent l'égalitarisme ;-)

+ sérieusement, pour les appels sortants ? la difficulté est si toutes les lignes sont occupées, que souhaites tu faire ? couper un appel et donner la ligne à ton directeur ?

tout est possible, mais c'est pas immédiat, et ca va se résoudre à coup d'agi....

hamza
29/07/2011, 13h28
Merci Jean

Oui effectivement si toutes les lignes sont occupées, il faut couper à un appel ayant une faible priorité pour permettre au directeur d'effectuer son appel

Puis je avoir un exemple de config ??

Merci

jean
29/07/2011, 13h35
c'est du développement spécifique, je doute que qqun ait déjà ce genre de script prêt.
Il te faut regarder du coté de AGI, et faire un script qui va vérifier si des canaux sont libres et éventuellement en raccrocher un. C'est du boulot assez conséquent.

sinon, mais moins efficace coté ressources, tu peux réserver une ligne en sortie (config de dahdi) et ne la laisser qu'au directeur (mais règle pas le pbm de tous les niveaux hierarchiques !)

à mon sens, le mieux c'est quand même de s'assurer que le nombre de ligne vers le PSTN est correctement dimensionné. si le coût mensuel d'abonnement est prohibitif, regarde du coté des fournisseurs VOIP qui ne facturent que le trafic, ca peut être une alternative

gb56
29/07/2011, 16h54
Comment arrivent les appels en provenance du monde extérieur ? Analogique ? T0 ? T2 ? SIP ? IAX ?

Si tu as une simple arrivée analogique ça va être compliqué...

Si tu as une T0 (2 canaux) un peu plus simple.

Pour le reste pas de Pbs

hamza
01/08/2011, 10h40
Bonjour

C'est SIP et non pas analogique

Reaper
01/08/2011, 12h08
Vous savez programmer ?

hamza
01/08/2011, 12h24
Malheureusement je ne suis pas un expert en programmation :mmmfff:

y a t il qqn qui peut m'aider à developper un script PHP sur AGI ?

Merci

Reaper
01/08/2011, 13h28
Vous devez comprendre que pour les personnes qui découvrent asterisk avec l'experience en php c'est pas toujours évident, ce sont des personne qui savent déjà programmer les cycles, créer la logique du programme ect. Pour les personne qui ne savent pas programmer c'est encore plus difficile. Mias je pense qu'il n'existe pas de taches insurmontables pour les personnes détermines.

Je vous conseille de commencer creuser coté interaction les scripts AGI et php http://www.voip-info.org/wiki/view/Asterisk+AGI+php

La programme je le vois de cette façon:

Lorsque un appel sortant ce produit, il vous faut tagger ces appels et mémoriser leur statut dans la BDD, ensuite lorsque un appel arrive avec la priorité supérieure vous pouvez effectuer une action 'soft hangup' sur une channel avec la priorité inferieure. Il ne faut pas oublier de les retirer de la bdd avec dead agi à la fin pour garder la base à jour.

Mais j'ai l'impression que ce genre d'application ne vivra pas bien au sein de la boite franchement, peu importe la personne, secretaire ou pas, personne aime ce faire raccrocher la communication, et votre tache resemble à toutes ces taches inutiles qui sont affectes au stagiaires sans besoin réel.

ffossard
01/08/2011, 21h37
Si le directeur n'est pas capable de voir les problèmes que posent sa demande (perte de temps, mauvaise image pour sa société, etc...), c'est bien triste pour lui :sleep:

quintana
02/08/2011, 02h10
Sinon pour éviter de troller sur un sujet qui ne nous regarde pas, je te conseille de faire une agi, en définissant dans un fichier de config simple tes priorités. Clairement tu peux faire un truc qui quand il n'y a plus de ligne tu rediriges l'appelle vers un message son qui dit que l'appelle a été préempté par plus important et tu raccroches ou tu mets en attente mais à ça complexifie ;). Tu peux éventuellement faire un rappel auto du gars shooté vers le numéro qui été appelé ou en appel mais si c'est une sda global sur l'entrant cela sera plus complexe de remettre avec la bonne personne.
En gros sur chaque appelles sortant tu appelles ton agi qui fais un check sur les priorités, sur les dispo de tes lignes et tu fais une action en fonction de cela. Tu peux le faire en bash, python, ruby, php etc ... Par contre pour simplifier par sur une version un peu récente d'Asterisk car tu auras plus d'action possible.
Sinon je te conseille de passer par un consultant asterisk qui te facturera cela mais au moins cela sera fait proprement et tu ne te casseras pas la tête. Une journée avec doc, test et code devrait faire l'affaire pour te sortir cela. Sinon apprend un langage et l'agi dans Asterisk. Peut-être tu devras aussi faire un appel via le manager mais j'ai pas assez réfléchi pour tout penser à ta demande.
Sinon c'est fun à coder, donc passes y quelques nuits, tu en ressortiras ravi de l'expérience ;).

A+

quintana
02/08/2011, 02h13
En passant j'ai parlé sur du sortant mais j'ai pas saisi finalement si c'était sur une ligne entrante ou sortante ou les deux ;)
C'est bien de pouvoir bien spécifier les choses, parfois (tout le temps en fait ;)) c'est pas le dev qui pose le souci mais la spec, une fois celle ci bien faite le code suit.

gb56
02/08/2011, 12h57
Bonjour

C'est SIP et non pas analogique

Pourquoi ne pas prendre plusieurs comptes SIP (chez plusieurs fournisseurs...) tout simplement ?

quintana
02/08/2011, 22h37
Bonne solution, mais même plusieurs comptes sip avec des sda différentes sur le même provider serait bien aussi.