title: FreeRADIUS
text: # FreeRADIUS
  
  FreeRADIUS est un serveur RADIUS libre.
  
  Il offre une alternative aux autres serveurs d'entreprise RADIUS, et est un des serveurs RADIUS les plus modulaires et riches en fonctionnalités disponibles aujourd'hui. FreeRADIUS est, entre autres, utilisé par des fournisseurs d’accès à l’internet pour authentifier leurs clients et leur communiquer une configuration IP. Il est considéré comme le serveur le plus utilisé dans le monde.
  
  Il convient autant aux systèmes embarqués avec peu de mémoire qu'aux systèmes avec plusieurs millions d'utilisateurs.
  
  ## Histoire
  
  FreeRADIUS commença à être développé en août 1999 par Alan DeKok et Miquel van Smoorenburg. Miquel van Smoorenburg avait précédemment écrit le serveur Cistron RADIUS, qui fut largement utilisé quand le serveur Livingston cessa d'être maintenu. Le serveur gagna rapidement le support de la communauté par l'addition de modules à intégrer avec LDAP, SQL et d'autres bases de données.
  
  Le support de EAP fut ajouté en 2001, le serveur supporte désormais la plupart des protocoles d'authentification.
  
  ## Principe de la gestion des détails d'appel (accounting )
  
  Le principe de cette fonction se base sur deux types de paquets principaux: Accounting Start et Accounting Stop. Une session est définie par l'intervalle entre des marqueurs: Start (début de session) et Stop (fin de session). Les informations radius d'accounting sont transportées sur le udp port 1813.
  
  ### Exemple avec kamailio
  
  Si un serveur SIP utilisant Kamailio est installé et que des appels sont émis et reçus, alors le serveur Kamailio va émettre un paquet Accounting Start avec un identificateur de session au serveur FreeRADIUS lors de la réception d’un message SIP INVITE ( demande d'appel ) . Lorsque le serveur SIP Kamailio reçoit le message SIP BYE ( fin d'appel ) pour la même session, il envoie un paquet Accounting Stop avec le même identificateur de session. Le serveur freeRADIUS va envoyer alors un seul enregistrement à la base de données MySQL qui contient la durée, ainsi que tous les paramètres de la session.
  
  