Bonjour a tous
merci d'abord pour ce site il m'aide énormément. Sinon ma question est est il possible d'émettre des appels automatiquement vers des numero pré-configurer pour leurs envoyer des messages vocaux ??
Merci a tous
Version imprimable
Bonjour a tous
merci d'abord pour ce site il m'aide énormément. Sinon ma question est est il possible d'émettre des appels automatiquement vers des numero pré-configurer pour leurs envoyer des messages vocaux ??
Merci a tous
jette un coups d'oeil sur les fichier d'appel avec asterisk ici
cela devrait combler tes besoins de bases.
Ensuite tu fais un petit script qui te cree les fichier avec la date et l'heure d'appel que tu souhaites et tu mets cela dans un cron.
Salut,
voici un exemple simplifié d'un script qui génère un appel, si cela peut t'aider.
Code PHP:
#!/bin/bash
# Date : 20/08/2009
name_file=$$.txt
echo "Channel: Local/$1@$context
MaxRetries: 0
RetryTime: 60
WaitTime: 30
Context: outgoing
Extension: 800
Priority: 1
Set: Mavariable=$2"> /tmp/tmpcallme/$name_file
/bin/chmod 777 /tmp/tmpcallme/$name_file
/bin/cp -a /tmp/tmpcallme/$name_file /var/spool/asterisk/outgoing
/bin/rm -f /tmp/tmpcallme/$name_file
Bonjour,
ce script, me semble t-il emet un appel vers un destinataire particulier. mais comment faire si je veux annncer un message à tous les utilisateurs du système ?
Merci.
soit tu multiplie le script par ton nombre d'utilisateurs, soit tu crée dans un de tes contextes, un groupe d'appel qui te permet cette fonctionnalité.
merci a vous
pour etre plus clair, le but c d'emettre un message vocal a une personne a domicile pour lui dire qu'il ya un probleme sur le systeme a cote (qui émet un signal d'erreur) et demande au technicien d'appuyer sur une touche pour confirmer son intervention. je suis pas programmeur je suis plutot réseaux alors ce petit script va m'aider merci a vous
bon j'ai trouv un site qui explique une des techniques
ca pourrai aider quelqu'un (surtout moi)
http://www.samuel-levy.eu/2008/07/co...-fichiers.html
j'ai essayer de bidouiller un fichier mais bon dabord installe un asterisknow qui me prend la tete :mouais:
Le cp n'est pas une operation unitaire. Theoriquement, il est possible que Asterisk traite un call files alors que l'ecriture complete n'est pas terminé. Asterisk traitera donc un call file incomplet avec des erreurs a la clé. C'est pour ca qu'on recommande mv plutot que cp.
Sur une machine chargée et avec un nombre de call files importants, le risque est loin d'etre nul.
Fastm3.
pouvez vous svp m'expliquer quelque lignes de ce code ?
#!/bin/bash
# Date
name_file=$$.txt
echo "
Channel: Local/$1@$context
MaxRetries: 0
RetryTime: 60
WaitTime: 30
Context: outgoing
Extension: 800
Priority: 1
Set: Mavariable=$2"> /tmp/tmpcallme/$name_file <
/bin/chmod 777 /tmp/tmpcallme/$name_file
/bin/cp -a /tmp/tmpcallme/$name_file /var/spool/asterisk/outgoing
/bin/rm -f /tmp/tmpcallme/$name_file <
Cela te genere un nom de fichier unique et au hasardCode PHP:
$$.txt
L'ensemble du contenu du résultat "echo" et l'écrit dans le fichier tmp/tmpcallme/(nomdufichierunique)Code PHP:
echo "
Channel: Local/$1@$context
MaxRetries: 0
RetryTime: 60
WaitTime: 30
Context: outgoing
Extension: 800
Priority: 1
Set: Mavariable=$2"> /tmp/tmpcallme/$name_file
Prends le fichier et le copie dans /var/spool/asterisk/outgoing, et asterisk va ensuite generer ton appel.Code PHP:
/bin/cp -a /tmp/tmpcallme/$name_file /var/spool/asterisk/outgoing
/bin/rm -f /tmp/tmpcallme/$name_file
Le rm -f va supprimer ton fichier sans demande de confirmation.
Si tu lis les posts précédents, il est conseille de faire directement un
Code PHP:
/bin/mv /tmp/tmpcallme/$name_file /var/spool/asterisk/outgoing/
Bonjour
Grand merci pour ce petit script :) je suis pas tres doué pour ca et ma formation en php ne commence que l'annee prochaine ;)
j'aimerai pose une question par rapport au contexte : est-il possible que le message dans le context change automatiquement ? pour expliqué, selon l'etat d'une variable le message dans le context outgoing change et le destinataire aussi .
merci :)
On ne le répètera jamais assez, pas de "cp" pour les fichiers .call, il vaut mieux un "mv" :redface:
Surement sinon ya d'autres perosnne pour faire le script faut juste que je comprenne le fonctionnement
si il s'agit juste de comprendre un script en shell, je pense que tu auras moins de mal, il suffit de taper les mots sur la ligne dans google pour avoir la réponse.
Au pire, prend 30 min pour apprendre un peut le shell (les tuto sur internet sont très bien fait pour ça, et pas forcement très long) et tu comprendra assez vite se que je veux dire.
Je parle par expérience récente là :)
C'est ce que je compte faire, ma question était , si on peut paramétré le message vocal dans le contexte pour pouvoir le changer c tout
merci :)
tu peux faire ce que tu veux dans ton contexte, il suffit de le parametrer.
essaie peut etre d'etre plus détailé dans ce que tu souhaites faire.
Par rapport à quoi ton message change, etc etc.....
Tu peux aussi faire un agi qui te permetrai d'aller chercher tes variables et messages dans une base de donnée par exemple.
plein de solution s'ouvre à toi avec asterisk :D
Si seulement je m'y connais en language (j'ai toujours travailler sur des réseau d'entreprise) du coup j'esssaye de me ratrapper un peu. Ce que je veux faire, ce dans une biblio vocal, on va cherche le message adéquat et le place dans le contexte en changeant le numero de telephone selon la personne.
merci :)
j'ai bidouiller ce petit dialplan apres avoir lu la doc sur asterisk (the future of the telephony) si quelqu'un peu me donné un avis (je peux pas encore le tester sur asterisk alors je prepare mes test)
Test Dialplan
Exten => 1234,1, Answer
Exten => 1234,2, Wait(2)
Exten => 1234,3, Record (message :ulaw)
Exten => 1234,4, Wait(2)
Exten => 1234,5, Playback(message)
Exten => 1234,6, Wait(2)
Exten => 1234,7, Hangup
[Message]
Exten => s, 1, Wait (2)
Exten => s, 2, Playback (message)
exten => s, 3, Background (enter-ext-of-person)
exten => s, n, WaitExten()
exten => 1,1, Playback (digits/1)
exten => 1,n, Hangup()
exten => 2,1, Playback (digits/2)
exten => 2,n, Hangup()
exten => 3,1, Playback (digits/3)
exten => 3,n, Hangup()
exten => i,1, Playback (pbx-invalid)
exten => i,n, Hangup()
exten => t,1, Playback (vm-goodbye)
exten => t,n, Hangup()
Merci :)
Rien de spécial à dire, il faut le tester. Tu peux remplacer tes priorités 1, 2, 3, .. 7 par des "n" comme tu as fait ailleurs.
je vais l'essaye dés que je reçoit les téléphones et le serveur de test
merci :)
Normalement et d'aprés ce que j'ai cherché, aprés les playback, il ya des goto pour t'orienter vers d'autres contexte ou tu pourra avoir la réponse de l'utilisateur si c pas bon corrigez moi
merci :)
il n'y a même pas besoins de goto le numéro entré est recherché dans le dialplan et envoyé
Par exemple si on entre 3 on part sur l'exten 3 et son scénario
par exemple pour une campagne d'appel inter-active ou les appels sont envoyés à partir d'une BDD mysql.
pour enregistrer la réponse "3" dans la db mysql appelée db sur la table liste
exten => 3,1,MYSQL(Connect connid localhost login password db)
exten => 3,2,MYSQL(Query resultid ${connid} UPDATE liste SET reponse='3' WHERE numero='${CDR(accountcode)}'
Oui j'ai fait quelques fois ce genre d'appli pour des sociétés
Une db avec les nums de tel + la date pour réaliser l'appel + quelques champs
pour remonter les résultats
Ensuite un cron serveur vas lire la base régulièrement et quand c'est l'heure
un call file est envoyé dans le spool
Simple et efficace
merci
c'est exactement ca que je cherchais.
j'ai été capable de faire un appel sortant avec Originate, mais je ne savais pas comment enregistrer les résultats du client.
mais.. il reste un point important. Comment on peut tracker les appels non répondu ? dans le CDR, on garde une trace de tous les appels actifs.. mais si une personne refuse l'appel, on n'a pas de trace dans le CDR. Comme le dialplan semble etre exécuté seulement si la personne répond, je ne peux pas faire de insert dans Mysql a cause de ca.. ?
C'est quoi l'info qui me manque ?
merci
"Comme le dialplan semble etre exécuté seulement si la personne répond, je ne peux pas faire de insert dans Mysql a cause de ca.. ? "
Bien la réponse est dans ta question, quand je fait ce genre d'appli je remonte des codes état au fur et a mesure du déroulement de l'appel, le premier code état
c'est a dire appel envoyé il faut le remonter a partir du script cron par exemple
etat 1
ensuite des qu'on rentre sur le dialplan on remonte les codes au fur et a mesure
avec des requêtes.
Ce qui permet de savoir la ou ça à bloqué.
merci. Ce à quoi je m'attendais.
et le code de retour, je comprend le principe. Je fais ca dans mes scripts unix, pour savoir ce qui a été exécuté si jamais ca venait à planter.
mon problème est que je n'ai pas trouvé comment faire ca dans Asterisk.
Aurais-tu un hello world à partager svp.
Bonjour je viens de penser a ces possibilités :
Si l'appel automatique d'asterisk tome sur la messagerie vocal de la personne
Si la personne est injoignable (sonne sans décrocher)
que faire ?????
quelqu'un a une idée ??
peut être que cette commande peut aider, je vienx de tomber dessus
exten => s,1,Set(TIMEOUT(digit)=5) ; Set Digit Timeout to 5 seconds
exten => s,2,Set(TIMEOUT(response)=10) ; Set Response Timeout to 10 seconds
merci :)
Oui la technique est de demander de presser une touche avant de continuerCitation:
Si l'appel automatique d'asterisk tome sur la messagerie vocal de la personne
touche non détectée on remonte le code répondeur.
Avec bien sur toujours le problème des appels derrière un standard non FV
Et pendant que j'y pense pour ceux qui veulent utiliser Mysql dialplan
il est IMPÉRATIF de penser à fermer la connexion en fin de script et/ou sur le raccroché, la on fonctionne sans filet !!
Et votre script ne vas pas fonctionner longtemps pour planter Mysql si vous oubliez.