informatique:telephonie:asterisk

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
informatique:telephonie:asterisk [2014/03/04 13:18] bn8informatique:telephonie:asterisk [2021/06/14 15:42] (Version actuelle) – [Convertir un fichier MP3 en GSM] bn8
Ligne 5: Ligne 5:
 **Exemple : ** **Exemple : **
  
-<code>rasterisk -x "file convert /tmp/file_in.mp3 /tmp/file_out.gsm"</code>+<code bash>rasterisk -x "file convert /tmp/file_in.mp3 /tmp/file_out.gsm"</code>
  
 +**Ou via la commande //sox// :**
 +
 +<code bash>
 +FILE=my-file
 +sox $FILE.wav -r 8000 -c1 $FILE.gsm lowpass 4000 compand 0.02,0.05 -60,-60,-30,-10,-20,-8,-5,-8,-2,-8 -8 -7 0.05</code>
 +
 +<note tip>Pour que sox supporte le format **MP3** en entrée, installé le paquet Debian //libsox-fmt-mp3//. À défaut, convertissez au préalable les fichiers au format WAV par exemple.</note>
 +
 +===== Générer un message (PicoTTS & Sox) =====
 +
 +  * Installation des paquets nécessaires : <code bash>apt install libttspico-utils sox</code>
 +  * Génération du fichier WAV avec PicoTTS : <code bash>pico2wave -l fr-FR -w /tmp/message.wav "[le texte de votre message]"</code>
 +  * Conversion du fichier WAV en un fichier compatible avec Asterisk : <code bash>sox /tmp/message.wav -q -r 32000 -t raw /tmp/message.sln32</code>
  
 ===== Téléphones Grandstream ===== ===== Téléphones Grandstream =====
Ligne 281: Ligne 294:
   * La société : //$FROM_COMPANY//   * La société : //$FROM_COMPANY//
   * Le chemin de l'outils //html2ps// : //$HTML2PS// (Pour Debian : /usr/bin/html2ps)   * Le chemin de l'outils //html2ps// : //$HTML2PS// (Pour Debian : /usr/bin/html2ps)
 +  * La taille des feuilles de papier par défaut : //$PAPERSIZE// (//a4//)
   * On modifie la configuration de reporting d'erreur PHP au vue de l'age du code ... Pour cela ajouter en fin (ou début de fichier) : <code>error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT);</code>   * On modifie la configuration de reporting d'erreur PHP au vue de l'age du code ... Pour cela ajouter en fin (ou début de fichier) : <code>error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT);</code>
  
Ligne 306: Ligne 320:
   * OCR_BINARY = /usr/bin/tesseract   * OCR_BINARY = /usr/bin/tesseract
   * OCR_LANGUAGE = fra   * OCR_LANGUAGE = fra
 +
 +===== Activer les logs des files téléphoniques en base de données  =====
 +
 +Prenons ici en exemple le log dans //PostgreSQL// :
 +
 +  * Il faut tout d'abord avoir une base de données sur votre instance //PostgreSQL// et y créé une table //queue_log// avec la requête SQL suivante : <code>CREATE TABLE "queue_log" (
 +"id" SERIAL,
 +"time" TIMESTAMP WITHOUT TIME ZONE DEFAULT now() NOT NULL, 
 +"callid" character varying(50) NOT NULL, 
 +"queuename" character varying(50) NOT NULL, 
 +"agent" character varying(50) NOT NULL, 
 +"event" character varying(20) NOT NULL, 
 +"data1" character varying(50) NOT NULL, 
 +"data2" character varying(50) NOT NULL, 
 +"data3" character varying(50) NOT NULL, 
 +"data4" character varying(50) NOT NULL, 
 +"data5" character varying(50) NOT NULL, 
 +CONSTRAINT queue_log_pkey PRIMARY KEY (id)
 +) WITHOUT OIDS;
 +
 +GRANT ALL ON TABLE queue_log TO asterisk;</code>
 +  * Il faut ensuite faire en sorte que le module //res_config_pgsql.so// soit activé. Vérifier donc qu'il n'y ai pas de ligne //unload// dans le fichier //modules.conf// et ajouter y au contraire une ligne //load//.
 +  * Il faudra également configurer la connexion //Postgres// dans le fichier //res_pgsql.conf// : <code>[general]
 +dbhost=127.0.0.1
 +dbport=5432
 +dbname=asterisk
 +dbuser=asterisk
 +dbpass=astpass
 +requirements=warn</code>
 +  * Pour faire en sorte que le champs //data// soit éclaté en plusieurs champs //data1,data2,...//, ajouter dans la section //[general]// du fichier //logger.conf// : <code>queue_adaptive_realtime = yes</code>
 +  * Pour conserver le fichier de log en plus de la base de données, ajouter également : <code>queue_log_to_file = yes</code>
 +  * Activer enfin les logs queue_log via Postgres dans le fichier //extconfig.conf// en ajoutant dans la section //[settings]// : <code>queue_log => pgsql,asterisk,queue_log</code>
 +  * Il ne vous restera plus qu'a recharger la configuration d'asterisk : <code>rasterisk -x reload</code>
 +
 +===== Mise en place d'un service de conférence avec MeetMe =====
 +
 +<note important>L'application MeetMe n'est plus présente dans les versions récentes d'Asterisk (> Debian Wheezy). Il faut désormais utiliser l'application ConfBridge sensiblement identique mais avec tout de même quelques différences importantes :
 +  * Plus de dépendance sur le module //dahdi//
 +  * Il n'existe plus de menu d'accès au conférence permettant de générer la création d'un conférence ou encore de permettre de rejoindre une conférence existante
 +</note>
 +
 +
 +  * Installation : <code bash>apt-get install asterisk-dahdi dahdi dahdi-linux dahdi-source module-assistant
 +m-a prepare
 +m-a a-i dahdi
 +service asterisk stop
 +modprobe dahdi
 +service asterisk start</code>
 +  * Configurer une extension pour rejoindre/créer une conférence :
 +    * Dans le fichier //extensions.conf//, dans le contexte que vous voulez vous pouvez créer les extensions suivantes :
 +      * pour rejoindre ou créer une conférence : <code>exten => conference,1,MeetMe(,saMD)</code>
 +      * pour rejoindre une conférence existante : <code>exten => conference,1,MeetMe(,M)</code>
 +
 +===== Blacklist de certains appelants =====
 +
 +==== Installation ====
 +
 +Dans le fichier ///etc/asterisk/extentions.conf// :
 +
 +  * Ajouter le contexte //blacklisted// : <code>[blacklisted]
 +exten => s,1,Answer()
 +exten => s,n,Wait(3)
 +exten => s,n,Playback(tt-weasels)
 +exten => s,n,Playback(/usr/share/asterisk/sounds/en/tt-monkeys)
 +exten => s,n,Hangup()</code>
 +  * Dans le traitement des appels entrants, ajouter un truc du genre : <code>exten =>
 +standard,1,GotoIf(${DB_EXISTS(blacklist/${CALLERID(num)})}?blacklisted,s,1)</code>
 +
 +==== Gérer les numéros blacklistés ====
 +
 +=== En ligne de commande ===
 +
 +Via la cli asterisk (''asterisk -r'') :
 +
 +  * lister les numéros blacklistés : <code>database show blacklist</code>
 +  * blacklister un numéro : <code>database put blacklist 0171434150 "John Doe"</code>
 +  * dé-blacklister un numéro : <code>database del blacklist 0171434150</code>
 +
 +=== Interface web ===
 +
 +Il est aussi possible d'utiliser une [[http://git.zionetrix.net/manage-asterisk-blacklist|petite interface web]] pour cela :
 +
 +  * créer un compte pour l'API //manager// d'Asterisk pour l'application :
 +    * dans le fichier ///etc/asterisk/manager.conf//, vérifier que ce bloc est dé-commenter : <code>[general]
 +enabled = yes
 +port = 5038</code>
 +    * créé le fichier  ///etc/asterisk/manager.d/blacklist.conf// : <code>[manage-blacklist]
 +secret=secret
 +write = system,command</code>
 +
 +  * Mettre en place l'interface web :
 +    * installer les librairies en dépendance :
 +      * [[https://logging.apache.org/log4php|log4php]] ({{ :informatique:telephonie:php-apache-log4php_2.3.0-1_all.deb |paquet Debian}})
 +      * [[https://github.com/marcelog/PAMI|PAMI]] ({{ :informatique:telephonie:php-pami_1.70.2-1_all.deb |paquet Debian}})
 +    * dans un dossier accessible via HTTP, mettre en place le code source récupérer du dépôt Git
 +    * éditer le fichier //index.php// et ajuster les paramètres //username// & //secret// en haut du fichier
 +
  • informatique/telephonie/asterisk.1393939103.txt.gz
  • Dernière modification : 2014/03/04 13:18
  • de bn8