Ce document défini les spécifications de
l'installation d'un serveur Astrad [1] dans sa version
005.
Il défini également les tests permettant de
valider le bon fonctionnement d'un tel serveur et de sa concordance avec les
spécifications.
Un serveur Astrad dans sa version 005
nécessite un accès à un serveur de base de données "DB3" [7] étant une réplication des tables d'un serveur Porta-Billing.
[6]
2.Prérequis
Afin de pouvoir effectuer tous les tests
d'une version d'un astrad voici ce qu'il est nécessaire d'avoir en sa possession.
oL'accès mysql pour l'utilisateur root sur astrad.
o2 appareils VOIP qui seront enregistrés sur le serveur astrad.
o1 appareil VOIP enregistré sur un autre serveur du réseau
Switzernet.
o1 téléphone d'une ligne externe (Swisscom, Orange, VTX, etc)
3.Démarche
Les tests doivent être effectués pour
valider une version du serveur. Seuls les cas-tests liés aux catégories
touchées par les modifications effectuées devront être réalisé.
Ceux-ci seront utilisés pour réduire le
temps de débogage pour tester la configuration pas par pas.
En cas de nouvelle version du serveur et de
changement majeur, les specs doivent être adaptées en conséquence et les cas-tests
également afin que les specs restent entièrement couvertes par le jeu de
cas-test.
4.Spécifications
A.Méthode d'installation
Dans l'optique de pouvoir ajouter ou
remplacer rapidement des servers SIP, la méthode d'installation se doit d'être
facile à suivre voici les conditions à respecter:
La méthode d'installation est documentée.
Astrad s'installe avec le gestionnaire de
configuration Puppet. [5]
B.SIP
Ce serveur existant dans le seul but
d'acheminer des appels VOIP voici les quelques fonctionnalités de base qu'il
est censé fournir pour les appareils ou logiciels SIP configurés avec un compte
client valide.
Un téléphone SIP peut s'enregistrer le
server SIP
Appels vers un compte inscrit sur le même
serveur
Appels vers un compte sur un autre
serveur du réseau
Appels sur le réseau PSTN.
Réception d'appels
C.Codecs
Les codecs disponibles doivent être les
suivant :
g723
g726
g729
gsm
ulaw
alaw
adpcm
slin
lpc10
speex
D.Databases
Pour une meilleure performance, le serveur Astrad
possède une réplication locale de la base de données du Master.
La réplication locale se fait indirectement
à partir d'une réplication du Master (DB3).
La table locale nommée sippeers existe.
La table locale sippeers contient les
nœuds SIP.
La table locale nommée sipusers existe.
La table locale sippusers contient les
comptes SIP
Lorsqu'un compte se connecte au serveur
Astrad, celui-ci apparaît instantanément dans la table location locale.
Lorsqu'un compte se déconnecte du serveur
Astrad, celui-ci disparaît dans l'heure qui suit de la table location
locale.
E.Erreurs et messages vocaux
Lorsqu'une tentative d'appel est effectuée,
le client doit remplir certaines conditions pour être en mesure d'effectuer son
appel. Sinon il devra recevoir un message d'erreur.
Chaque erreur possède son message vocal
propre. [4]
Le mot de passe d'un compte SIP est
vérifié, s'il est incorrect, il est impossible d'appeler.
Un message fait savoir quand le mot de
passe est incorrect.
Le crédit de l'utilisateur est vérifié,
s'il est en delà de sa limite du client, il est impossible d'appeler.
Un message indique que l'utilisateur n'a
plus de crédit, quand celui-ci est en delà de sa limite.
L'état de blocage du client est vérifié,
s'il est bloqué, il est impossible d'appeler.
L'état de blocage du compte SIP est
vérifié, s'il est bloqué, il est impossible d'appeler.
Un message indique que le compte est
bloqué quand le compte ou l'utilisateur est bloqué.
La date d'expiration du compte SIP est
vérifiée, si elle est dépassée, il est impossible d'appeler.
Un message indique que le compte est
expiré.
Sur les appareils compatibles, un message
vocal indique quand l'appel est gratuit.
F.Radius
La comptabilisation des appels étant
importante, il est nécessaire que les paquets radius soient transmis
correctement au serveur de comptabilité.
Le Master reçoit le paquet Radius
"STOP" d'une communication.
Les champs suivant sont présents dans les
paquets Radius Stop envoyé :
NAS-IP-Address : Adresse IP du serveur SIP ayant envoyé le paquet Radius.
User-Name
: Nœud IP ou ID de l'utilisateur depuis lequel le message SIP provient
Called-Station-Id : Destination
Calling-Statition-Id : Peut être différent de l'ID du client.
Acct-Status-Type
h323-call-origin : originate si c'est pour un message sortant et answer si
c'est pour un message reçu.
h323-call-type
h323-setup-time
h323-connect-time
h323-disconnect-time
h323-disconnect-cause
h323-conf-id : Identifiant de l'appel au format "XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX"
call-id
Acct-Session-Time
session-protocol
h323-remote-address : Adresse IP d’où provient la requête SIP.
Les heures sont au format GMT ou UTC
G.Daemons
Sur le serveur, 2 daemons doivent
fonctionner en permanence.
Une commande permet de voir l'état, de
stopper, de démarrer les daemons
La commande indique également quels sont
les commandes disponibles
Un daemon gère l'envoi des messages de
comptabilisation Radius.
Un daemon essaye à nouveau d'envoyer les
paquets Radius qui ont échoués.
H.Indisponibilité Radius - Master Hors-service
En cas de panne du serveur central, le
mécanisme d'authentification alternative doit permettre le relai. [2]
Les spécifications B sont respectées
lorsque le serveur Master est indisponible.
Les spécifications E sont respectées
lorsque le serveur Master est indisponible.
Les spécifications F sont respectées au
retour à la normale du réseau après une indisponibilité du serveur.
I.Documentation et version
Pour chaque version d'un serveur Astrad, il
est nécessaire d'en documenter les points traités.
Un listing des modifications est inscrit
dans la documentation des versions. [3]
Un fichier zip contenant le module est
disponible sur la documentation des versions. [3]
Une documentation plus détaillée est
fourni pour chaque implémentation.
Un lien vers la documentation détaillée existe
dans le commentaire de version.