English

Bonjour, je suis Mathias 👋

Salut ! C’est ici que je partage mes pensées et mes notes sur tout ce qui me passionne et sur lequel je bosse en ce moment. J’espère vraiment y rencontrer des gens qui pensent comme moi. Salut ! Je voulais juste te dire que… J’aimerais vraiment avoir de tes nouvelles !

Je t’invite à jeter un œil à mes derniers articles de blog, juste en dessous.

Routage des appels selon le CallerID avec Asterisk et Wazo : exemple sur les appels internationaux

Le routage d’appels selon le CallerID permet d’adapter dynamiquement le traitement des appels entrants en fonction du numéro de l’appelant. Cette technique est particulièrement utile pour traiter différemment certains clients, partenaires, ou encore pour gérer des scénarios spécifiques comme le routage des appels internationaux vers une destination dédiée.

Dans cet article, nous illustrons cette approche en configurant le routage des appels internationaux avec Asterisk et Wazo, en tenant compte du fait que le préfixe + du format E.164 est généralement supprimé avant l’entrée dans le dialplan.

Lire la suite >

Regex match E.164 international phone number

Les regex sont des outils très puissants pour valider des formats et extraire des parties de chaines de caractères. Voici une regex très utile dans le domaine de la téléphonie permettant de valider si le numéro appelé ou présenté respecte le format internationnal E.164 :

^\+[1-9][0-9]{5,14}$

Voici un exemple d’utilisation en langage Rust :

// include the latest version of the regex crate in your Cargo.toml
extern crate regex;

use regex::Regex;

fn main() {
  let regex = Regex::new(r"(?m)^\+[1-9][0-9]{5,14}$").unwrap();
  let string = "+3390123456789";
  
  // result will be an iterator over tuples containing the start and end indices for each match in the string
  let result = regex.captures_iter(string);
  
  for mat in result {
    println!("{:?}", mat);
  }
}

et en golang :

Lire la suite >

Coturn : installation avec docker et Let’s Encrypt

Un serveur STUN est utile dans le processus de découverte de l’adresse IP publique à la fois pour les terminaux SIP mais surtout les applications WebRTC.

Le WebRTC nécessite une connexion directe entre les pairs, mais souvent une connexion directe ne peut pas être établie notamment à cause du NAT et un serveur TURN est donc nécessaire.

Dans cet article, nous allons expliquer comment vous pouvez exécuter votre propre serveur STUN/TURN en utilisant l’implémentation du serveur STUN/TURN open source, c’est-à-dire Coturn.

Lire la suite >

Enregistrement DNS de type CAA

Défini en 2013 par la RFC6844, le CAA est un type d’enregistrement DNS qui permet aux propriétaires de sites de préciser quelles autorités de certification (CA) sont autorisées à émettre des certificats contenant leurs noms de domaine.

Quel est l’intérêt

Par défaut, chaque autorité de certification publique est autorisée à émettre des certificats pour tout nom de domaine dans le DNS public, à condition qu’elle valide le contrôle de ce nom de domaine.

Lire la suite >

Navigateurs sécurisés et respectueux de la confidentialité

Un navigateur sécurisé et respectueux de la vie privée est essentielle. Il est notre point d’entrée sur la toile, et il se doit de protéger notre navigation. Mais un navigateur sécurisé est important car ils présentent une importante surface d’attaque et peuvent être compromis par différentes techniques. Les navigateurs disposent aussi de nombreuses informations privées (historique de navigation, identifiant / mot de passe, informations auto complétées …). Ils peuvent aussi transmettre vos informations de localisation géographique, vos paramètres (logiciels, matériels …). Le choix et la mise à jour régulière d’un navigateur est essentiel. Je vous partage une liste non exhaustive de navigateur répondant aux critères de sécurité et de respect de la vie privée. Vous pouvez proposer d’autres (avec quelques informations) en commentaire.

Lire la suite >

Comment envoyer des SMS à partir d’un Raspberry ?

Une carte Raspberry peut-être utilisée pour de nombreux cas d’usage et nous allons l’utiliser pour envoyer des SMS.

Philippe vous a préparé un article détaillé expliquant la mise en oeuvre avec une carte GSM Nadhat et une Rapsberry 3B+ sous Debian : Raspberry et SMS

Et un autre article sur ce même sujet mettant en jeu Node-RED pour ajouter un peu de programmabilité : Envoyer un SMS sur changement d’état d’une GPIO

Lire la suite >

SIP - PFSense : Comment résoudre une perte d’enregistrement

Les postes sont localisés sur un site et passe par internet pour accéder au serveur de téléphonie VoIP SIP qui est situé derrière un PFSense.

Vous constatez un défaut d’enregistrement de vos téléphones SIP pendant plusieurs minutes, ceux-ci affichant un message « No service » ou « prov. server failed ».

Vous devez surement faire face à un timeout d’état de la table NAT du firewall PFSense. En effet, ce timeout doit-être inférieur à la fréquence de ré-enregistrement des postes SIP ! Les délais d’expiration UDP par défaut dans PFSense sont trop faibles pour certains services VoIP. Si les téléphones fonctionnent principalement, mais se déconnectent de manière aléatoire, il faut modifier les options d’optimisation du pare-feu sur les mettant sur “Conservateur” sous Système> Avancé, onglet Pare-feu / NAT.

Lire la suite >

Sparrow : Wazo PBX sur Raspberry Pi

Le jeune projet Sparrow propose un build non officiel de l’architecture armhf de plateforme Wazo. Il vous permet d’héberger un système téléphonique VoIP Open Source complet et programmable sur un Raspberry Pi. Un autre projet qui semble maintenant peu maintenu permettait d’installer un système Xivo ou Wazo (mais en 18.03) sur Raspberry, Raspvivo.

J’apprécie particulièrement cette architecture, car elle permet de manière efficace et avec une faible consommation de faire fonctionner des services performants. Dans la même veine, mais j’en parlerai dans un autre article, j’ai fait fonctionner la plateforme de class 4 de Wazo sur un cluster Kubernetes à base de cartes Raspberry.

Lire la suite >

Critical FreePBX Security Vulnerability v12 & v13

Une vulnérabilité de sécurité critique découverte dans FreePBX permet l’exécution de code à distance sans authentification. Les serveurs FreePBX en version 14 ou 15 sont automatiquement mises à jour. Par contre, les serveurs fonctionnant en version 12 ou 13 doivent-être mises à jour manuellement. Assurez-vous que votre serveur FreePBX est mis à jour avec les dernières versions !

La vulnérabilité est corrigée dans:

  • (Version 12 inconnue pour le moment)
  • 13.0.197.14
  • 14.0.13.12
  • 15.0.16.27

Je me permets de vous rappeler qu’il est essentiel de tenir à jour ses serveurs et d’autant plus dans la VoIP qui est une cible particulièrement intéressante pour les assaillants ! Plus de détails sur la vulnérabilité sont disponibles sur le wiki de FreePBX.

Routage SIP asynchrone : performance et montée en charge chez Wazo

Je vous partage un article écrit par Fabio de la team Wazo. L’objectif de Wazo Platform est de proposer une solution télécom flexible, facile à configurer et performante pour les opérateurs. Le composant clé de la solution est le routeur SIP basé sur le projet Kamailio, le serveur SIP open-source de premier plan. L’objectif est, tout en offrant une grande flexibilité et une grande facilité de configuration, d’éviter tout compromis sur les performances.

Lire la suite >