Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédenteDernière révisionLes deux révisions suivantes | ||
informatique:telephonie:asterisk [2012/10/05 12:45] – bn8 | informatique:telephonie:asterisk [2019/03/05 08:45] – [Convertir un fichier MP3 en GSM] bn8 | ||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
**Exemple : ** | **Exemple : ** | ||
- | < | + | < |
+ | **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, | ||
+ | |||
+ | <note tip>Pour que sox supporte le format **MP3** en entrée, installé le paquet Debian // | ||
===== Téléphones Grandstream ===== | ===== Téléphones Grandstream ===== | ||
Ligne 25: | Ligne 32: | ||
Source : http:// | Source : http:// | ||
+ | Repos de paquets Debian : http:// | ||
+ | |||
+ | Pour l' | ||
+ | < | ||
+ | cd / | ||
+ | apt-get source asterisk | ||
+ | apt-get install packaging-dev | ||
+ | cd asterisk-~~~ | ||
+ | quilt push -a | ||
+ | quilt new fix_grandstream_blf_led | ||
+ | quilt add channels/ | ||
+ | vi channels/ | ||
+ | quilt diff # Ca vous montre votre modif | ||
+ | quilt refresh # met à jour le patch | ||
+ | dhc # Met à jour le changelog debian | ||
+ | dpkg-buildpackage # construction des paquets debian dans ../</ | ||
+ | ===== Problème de son derrière une Freebox non-dégroupé ===== | ||
+ | |||
+ | Free accapare le port UDP 5004 (RTP) pour les freebox non-dégroupé (potentiellement les ports 5006 et 5008 également). Du coup il est impératif de modifier le port d' | ||
+ | |||
+ | ===== Mise en place du fax2mail ===== | ||
+ | |||
+ | ==== Au niveau d' | ||
+ | |||
+ | On commence par mettre en place un compte //IAX// qui sera utilisé par // | ||
+ | type=friend | ||
+ | secret=mypassword | ||
+ | port=4570 | ||
+ | host=dynamic | ||
+ | context=internal | ||
+ | disallow=all | ||
+ | allow=ulaw | ||
+ | requirecalltoken=no | ||
+ | qualify=yes</ | ||
+ | |||
+ | On route ensuite dans le fichier / | ||
+ | |||
+ | exten => 0102030405, | ||
+ | |||
+ | [fax-in] | ||
+ | |||
+ | exten => fax1, | ||
+ | exten => fax1, | ||
+ | |||
+ | ==== Mise en place d' | ||
+ | |||
+ | On l' | ||
+ | |||
+ | On créé ensuite une instance pour notre fax en créant un fichier / | ||
+ | owner uucp:uucp | ||
+ | mode 660 | ||
+ | port 4570 | ||
+ | refresh 60 | ||
+ | server 127.0.0.1 | ||
+ | peername fax1 | ||
+ | secret mypassword | ||
+ | cidname My Company | ||
+ | cidnumber 0102030405 | ||
+ | codec ulaw</ | ||
+ | |||
+ | On lance le service : < | ||
+ | |||
+ | A partir de la, un //iax2 show peers// dans la console d' | ||
+ | |||
+ | ==== Mise en place d' | ||
+ | |||
+ | On installe le serveur hylafax : | ||
+ | < | ||
+ | |||
+ | On met en place la configuration global dans le fichier /// | ||
+ | < | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | ServerTracing: | ||
+ | InternationalPrefix: | ||
+ | |||
+ | # | ||
+ | ## AvantFAX | ||
+ | # | ||
+ | NotifyCmd: | ||
+ | |||
+ | On met ensuite en place la configuration du modem dans le fichier /// | ||
+ | < | ||
+ | CountryCode: | ||
+ | AreaCode: | ||
+ | FAXNumber: | ||
+ | LongDistancePrefix: | ||
+ | InternationalPrefix: | ||
+ | DialStringRules: | ||
+ | ServerTracing: | ||
+ | SessionTracing: | ||
+ | RecvFileMode: | ||
+ | LogFileMode: | ||
+ | DeviceMode: | ||
+ | RingsBeforeAnswer: | ||
+ | SpeakerVolume: | ||
+ | GettyArgs: | ||
+ | LocalIdentifier: | ||
+ | TagLineFont: | ||
+ | TagLineFormat: | ||
+ | MaxRecvPages: | ||
+ | # | ||
+ | # | ||
+ | # Modem-related stuff: should reflect modem command interface | ||
+ | # and hardware connection/ | ||
+ | # | ||
+ | ModemType: | ||
+ | |||
+ | # | ||
+ | # Enabling this will use the hfaxd-protocol to set Caller*ID | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # | ||
+ | # If " | ||
+ | # the modem off-hook during initialization, | ||
+ | # back on-hook when done. | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | Class1AdaptRecvCmd: | ||
+ | Class1TMConnectDelay: | ||
+ | |||
+ | # | ||
+ | # If you have trouble with V.17 receiving or sending, | ||
+ | # you may want to enable one of these, respectively. | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # | ||
+ | # You'll likely want Caller*ID display (also displays DID) enabled. | ||
+ | # | ||
+ | ModemResetCmds: | ||
+ | |||
+ | # | ||
+ | # The pty does not support changing parity. | ||
+ | # | ||
+ | PagerTTYParity: | ||
+ | |||
+ | # | ||
+ | # If you are " | ||
+ | # and if you do not have adequate glare protection you may want to | ||
+ | # not answer based on RINGs, but rather enable the CallIDAnswerLength | ||
+ | # for NDID, disable AT+VCID=1 and do this: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | # Uncomment DATE and TIME if you really want them, but you probably don't. | ||
+ | # | ||
+ | # | ||
+ | CallIDPattern: | ||
+ | CallIDPattern: | ||
+ | CallIDPattern: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | CallIDPattern: | ||
+ | # | ||
+ | |||
+ | # | ||
+ | ## AvantFAX | ||
+ | # | ||
+ | FaxRcvdCmd: | ||
+ | DynamicConfig: | ||
+ | UseJobTSI: | ||
+ | |||
+ | On redémarre le serveur Hylafax : | ||
+ | < | ||
+ | |||
+ | ==== Mise en place d' | ||
+ | |||
+ | On installe les dépendances : | ||
+ | < | ||
+ | |||
+ | On commence par préparer l' | ||
+ | < | ||
+ | |||
+ | Télécharger ensuite l' | ||
+ | < | ||
+ | ln -s avantfax-3.3.3/ | ||
+ | |||
+ | On peut mettre en place ensuite le repos Apache dans le fichier /// | ||
+ | < | ||
+ | < | ||
+ | ServerName fax.mycompany.com | ||
+ | |||
+ | DocumentRoot / | ||
+ | |||
+ | RedirectMatch ^(.*)$ https:// | ||
+ | |||
+ | ErrorLog / | ||
+ | CustomLog / | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | ServerName fax.mycompany.com | ||
+ | ServerAlias fax | ||
+ | |||
+ | DocumentRoot / | ||
+ | |||
+ | SSLEngine On | ||
+ | |||
+ | ErrorLog / | ||
+ | CustomLog / | ||
+ | </ | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | On active ensuite ce VirtualHost : | ||
+ | < | ||
+ | service apache2 reload</ | ||
+ | |||
+ | Réglons maintenant les privilèges des dossiers/ | ||
+ | < | ||
+ | chmod 0770 avantfax/ | ||
+ | chmod 0755 avantfax/ | ||
+ | chown -R www-data: | ||
+ | chown -R www-data: | ||
+ | |||
+ | On met en place la base de données MySQL : | ||
+ | < | ||
+ | mysqladmin --default-character-set=utf8 --user=' | ||
+ | mysql --user=' | ||
+ | </ | ||
+ | |||
+ | On ajoute le modem dans la base de données : | ||
+ | < | ||
+ | |||
+ | On met en place les scripts utilisés par le serveur Hylafax : | ||
+ | < | ||
+ | ln -s / | ||
+ | ln -s / | ||
+ | ln -s / | ||
+ | </ | ||
+ | |||
+ | On met en place la configuration //sudo// : | ||
+ | < | ||
+ | chmod 0440 / | ||
+ | |||
+ | On met en place le cron : | ||
+ | < | ||
+ | |||
+ | Pour finir, on met en place le fichier de configuration. Pour cela, dans // | ||
+ | |||
+ | * La configuration de l' | ||
+ | * Utilisateur utilisé pour envoyer les fax : // | ||
+ | * Utilisateur d' | ||
+ | * Mail de l' | ||
+ | * La langue par défaut : // | ||
+ | * La société : // | ||
+ | * Le chemin de l' | ||
+ | * La taille des feuilles de papier par défaut : // | ||
+ | * On modifie la configuration de reporting d' | ||
+ | |||
+ | < | ||
+ | |||
+ | === Astuces === | ||
+ | |||
+ | == Activer le debug == | ||
+ | |||
+ | Configuration | ||
+ | |||
+ | == Désactiver la fonctionnalité de page de garde == | ||
+ | |||
+ | Configuration // | ||
+ | |||
+ | |||
+ | == Activer l'OCR == | ||
+ | |||
+ | Installation de tesseract : | ||
+ | < | ||
+ | |||
+ | Configuration : | ||
+ | |||
+ | * ENABLE_OCR_SUPPORT = true | ||
+ | * OCR_BINARY = / | ||
+ | * OCR_LANGUAGE = fra | ||
+ | |||
+ | ===== Activer les logs des files téléphoniques en base de données | ||
+ | |||
+ | Prenons ici en exemple le log dans // | ||
+ | |||
+ | * Il faut tout d' | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | CONSTRAINT queue_log_pkey PRIMARY KEY (id) | ||
+ | ) WITHOUT OIDS; | ||
+ | |||
+ | GRANT ALL ON TABLE queue_log TO asterisk;</ | ||
+ | * Il faut ensuite faire en sorte que le module // | ||
+ | * Il faudra également configurer la connexion // | ||
+ | dbhost=127.0.0.1 | ||
+ | dbport=5432 | ||
+ | dbname=asterisk | ||
+ | dbuser=asterisk | ||
+ | dbpass=astpass | ||
+ | requirements=warn</ | ||
+ | * Pour faire en sorte que le champs //data// soit éclaté en plusieurs champs // | ||
+ | * Pour conserver le fichier de log en plus de la base de données, ajouter également : < | ||
+ | * Activer enfin les logs queue_log via Postgres dans le fichier // | ||
+ | * Il ne vous restera plus qu'a recharger la configuration d' | ||
+ | |||
+ | ===== Mise en place d'un service de conférence avec MeetMe ===== | ||
+ | |||
+ | <note important> | ||
+ | * Plus de dépendance sur le module //dahdi// | ||
+ | * Il n' | ||
+ | </ | ||
+ | |||
+ | |||
+ | * Installation : <code bash> | ||
+ | m-a prepare | ||
+ | m-a a-i dahdi | ||
+ | service asterisk stop | ||
+ | modprobe dahdi | ||
+ | service asterisk start</ | ||
+ | * Configurer une extension pour rejoindre/ | ||
+ | * Dans le fichier // | ||
+ | * pour rejoindre ou créer une conférence : < | ||
+ | * pour rejoindre une conférence existante : < | ||
+ | |||
+ | ===== Blacklist de certains appelants ===== | ||
+ | |||
+ | ==== Installation ==== | ||
+ | |||
+ | Dans le fichier /// | ||
+ | |||
+ | * Ajouter le contexte // | ||
+ | exten => s, | ||
+ | exten => s,n,Wait(3) | ||
+ | exten => s, | ||
+ | exten => s, | ||
+ | exten => s, | ||
+ | * Dans le traitement des appels entrants, ajouter un truc du genre : < | ||
+ | standard, | ||
+ | |||
+ | ==== Gérer les numéros blacklistés ==== | ||
+ | |||
+ | === En ligne de commande === | ||
+ | |||
+ | Via la cli asterisk ('' | ||
+ | |||
+ | * lister les numéros blacklistés : < | ||
+ | * blacklister un numéro : < | ||
+ | * dé-blacklister un numéro : < | ||
+ | |||
+ | === Interface web === | ||
+ | |||
+ | Il est aussi possible d' | ||
+ | * créer un compte pour l'API //manager// d' | ||
+ | * dans le fichier /// | ||
+ | enabled = yes | ||
+ | port = 5038</ | ||
+ | * créé le fichier | ||
+ | secret=secret | ||
+ | write = system, | ||
+ | * Mettre en place l' | ||
+ | * installer les librairies en dépendance : | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * dans un dossier accessible via HTTP, mettre en place le code source récupérer du dépôt Git | ||
+ | * éditer le fichier // | ||