Interaction ld et asterisk
#9
Petit retour d'experience de la LD avec Asterisk.

j'ai créer un scenario sous la LD permettant de diffuser un message téléphoné lors d'un evenement. Ce scenario utilise un equipement universel qui,lance un script PHP sous un serveur synology qui heberge ASTERISK et un web serveur avec PHP

le script:
Citation :<?php
$tts = $_GET['tts'];
$soun = "";
$soun = exec('echo -n '.$tts.' | /opt/bin/md5deep');
$sound = $soun.".mp3";
$sound2 = $soun.".wav";
$tts = '"http://translate.google.com/translate_tts?ie=UTF-8&q='.urlencode($tts).'&tl=fr&client=t"';
$cmd= ' curl -H "Referer: http://translate.google.com/" -H "User-Agent:stagefright/1.2 (Linux;Android 5.0)" '.$tts.' > /volume1/scripts/wav/'.$sound;
exec ($cmd);
$cmd2= '/opt/bin/mpg123 -r 8000 -w /volume1/scripts/wav/'.$sound2.' /volume1/scripts/wav/'.$sound;
exec ($cmd2);
unlink('/volume1/scripts/wav/'.$sound);
//unlink('/volume1/scripts/Asterisk/appel.txt');
$file = fopen("/volume1/scripts/Asterisk/appel.call", "w+");
fputs($file, 'Channel: SIP/500/06xxxxxxxxx
CallerID: "Message" <80>
MaxRetries: 10
RetryTime: 5
WaitTime: 20
Context: diff-mess
Extension: 10
Set: Mavariable='.$soun);
fclose($file);
rename ("/volume1/scripts/Asterisk/appel.call", "/volume1/@appstore/Asterisk/var/spool/asterisk/outgoing/appel1.call");
?>

Ce script récupére dans la variable tts le message a diffuser
il créer un fichier codé en MD5 avec l'utilitaire md5deep
il utilise l'API de google pour faire un fichier en MP3 du message
il est transformé de MP3 en Wav avec l'utilitaire MPG123
il créer un fichier lisible par asterisk et le dépose dans le répertoire d'asterisk adapté

Dans asterisk il faut faire un dialplan permettant de diffuser le message

extrait dialplan asterisk
Citation :[diff-mess]

exten = 10,1,Answer()
exten = 10,n,Wait(4)
exten = 10,n,set(path=/volume1/scripts/wav)
exten = 10,n,Playback(${path}/${Mavariable})
exten = 10,n,Wait(1)
exten = 10,n,Hangup()

Lors du déclenchement su scenario Asterisk appelle un téléphone et lui lit le message

JE me suis fortement inspiré du tuto suivant (http://www.nas-forum.com/forum/topic/466...de-google/)

De la même manière on peut récupérer des variable de la LD (température, consommation ,....) et les diffuser par téléphone.

Prochaine étape, standard automatique permettant de commander les différentes fonction de la maison.

Message pour l'équipe de LD, pourquoi ne pas integrer en natif ce genre d'interaction avec un serveur de téléphonie car dans toutes installation domotique, il y a la gestion "électrique", la vidéo et la téléphonie
Répondre


Messages dans ce sujet
Interaction ld et asterisk - par 889laurent - 09-10-2015, 09:32 AM
Interaction ld et asterisk - par 889laurent - 09-17-2015, 05:04 PM
Interaction ld et asterisk - par Vincent - 09-17-2015, 09:48 PM
Interaction ld et asterisk - par Jlr - 09-18-2015, 11:27 AM
Interaction ld et asterisk - par 889laurent - 09-18-2015, 12:09 PM
Interaction ld et asterisk - par 889laurent - 09-19-2015, 05:43 PM
Interaction ld et asterisk - par Vincent - 09-20-2015, 11:17 AM
Interaction ld et asterisk - par 889laurent - 09-20-2015, 01:31 PM
Interaction ld et asterisk - par 889laurent - 10-02-2015, 03:36 PM
Interaction ld et asterisk - par Domo - 10-02-2015, 07:19 PM
Interaction ld et asterisk - par 889laurent - 10-03-2015, 12:27 PM
Interaction ld et asterisk - par 889laurent - 10-21-2015, 05:32 PM



Utilisateur(s) parcourant ce sujet : 1 visiteur(s)