À propos
Information
Titre du projet: SFLphone, un téléphone multi-session
Type de document: Document d'analyse
Département: Génie Logiciel et TI
Entreprise: Savoir-Faire Linux
Auteur: Yan Morin
Professeur superviseur: Stéphane Coulombe
Date de remise: 2006-02-19
Version: 1.3
Temps estimé: 8h00
Temps réel: 9h00
Suivi des modifications
Version | Date | Temps | Modification | Description | Initiale |
---|---|---|---|---|---|
1.0 | 2006-02-12 | 0h30 | - | Création | YM |
1.1 | 2006-02-12 | 0h30 | A | Introduction, fonctionnalités | YM |
1.2 | 2006-02-15 | 1h00 | A | Utilisation d'un artéfact de référence | YM |
1.3 | 2006-03-04 | 7h00 | A | Ajout des diagrammes UML | YM |
Présentation
Introduction
Le téléphone SFLphone est un téléphone logiciel IP utilisant le protocole SIP. Il permet d'enregistrer une seule configuration de paramètre à la fois. Le téléphone SFLphone est développé pour le contexte d'entreprise et pour les employés utilisant des ordinateurs de bureau ou des portables qu'ils peuvent amener à la maison.
But du document
Le but de ce document est de décrire en profondeur le fonctionnement du logiciel et les mesures qui pourront être prise pour résoudre la problème rencontré.
Problématique
Présentement, le logiciel permet de se connecter sur un seul serveur SIP à la fois. Les utilisateurs voyageant avec des portables ou voulant utiliser plusieurs serveurs SIP ne peuvent donc pas enregistrer et conserver plusieurs configurations. De plus, le logiciel ne permet pas de communiquer nativement avec le serveur Astérix et son protocole simple IAX. Une nouvelle architecture multi-session permettrait dans un premier temps de conserver plusieurs configurations, d'en utiliser plusieurs à la fois (ainsi recevoir les appels provenant de plusieurs serveurs en même temps). Dans un deuxième temps, l'intégration du protocole IAX permettra de communiquer directement et plus facilement avec le serveur PBX Astérix. Ces intégrations sont importants pour permettre une évolution plus rapide à l'intégration de la vidéo, via le protocole IAX et pour distinguer le logiciel avec les logiciels semblables qui ne supporte qu'une seule configuration.
Acteurs
- Entrepreneur
- Cyrille Béraud est le président de Savoir-Faire Linux et est le principal intéressé pour les implications du projet (contrat avec des entreprises pour le support et l'intégration).
- Architecte et premier concepteur
- Jérôme Oufella est le premier concepteur et le premier architecte de la structure du logiciel. Son avis est important pour connaître les erreurs qui ont été fait par le passé et les raisons pour lesquels des choix ont été fait.
- Programmeurs
- Laurielle Léa, Jean-Philippe Barette-LaPierre et Yan Morin ont créé le code source du logiciel, la documentation et l'architecture actuelle.
- Entreprise-utilisateur
- Devrait installer sur plusieurs ordinateurs le logiciel SFLphone et l'utiliser avec un serveur SIP ou IAX (Astérix ou autre PBX).
- Utilisateur
- Utilise le logiciel dans une entreprise ou à la maison pour communiquer dans le cadre du travail. Réception d'appels, communication longue distance via IP.
- Bidouilleur/Testeur
- Utilisateurs ou programmeurs qui testent la version CVS du logiciel ou les précédentes versions à la maison où dans des buts de tests avec d'autres applications, réseaux ou distributions.
Situation actuelle
Fonctionnalités
- Gestion de 1 à 6 lignes d'appel
- Sauvegarde des configuration pour un compte SIP
- Appel, Transfert, Muet, Mise en attente, "Redial" pour le protocole SIP
- Gestion du volume en tout temps
- Sonnerie et tonalité
- Réception de message texte
Librairie utilisée
Nom, version, tâche, état des publications sur les distributions, librairie connexe, problème rencontrée, état de la documentation.
Classes et structures
- Appel (général): Call, ManagerImpl, Observer, voIPLink
- Appel SIP: EventThread, SipCall, SipVOIPLink
- Configuration: ConfigTree
- GUI socket: GuiFramework
- Audio: AudioCodec, AudioFile, AudioLayer, AudioLoop, AudioRTP, CodecDescriptor, DTMF, DTMFGenerator, RingBuffer, Tone, ToneGenerator, ToneList
Classes touchées
Note: les classes touchées sont en rouge.
Classes principales du daemon
Classes du serveur (dans le daemon)
Classes de l'interface QT
Problème et solutions
Problème potentiel
Acteurs impliqués
- Les utilisateurs peuvent configurer et utiliser 1 ou plusieurs comptes.
- Les techniciens peuvent configurer 1 ou plusieurs comptes pour les usagers avec le fichier de configuration ou via zeroconf.
- Les programmeurs permettent le développement, la maintenance et la sortie des nouvelles versions.
Contraintes
ID # | Description | Raison de la contrainte |
---|---|---|
1 | La date de fin du projet est le 2006-04-10 | Le projet de session doit être présenté et remis durant cette semaine. |
2 | Le langage de programmation est C++ | Le projet est déjà en C++. |
3 | La distribution Linux pour les tests et le développement est Fedora Core 4 ou 5. | Les programmeurs utilisent cette version pour le développement. |
4 | Toutes les librairies externes doivent être compatible avec la licence GPL. | Le logiciel est GPL, libre et à code source ouvert "open source". |
Solution envisagée
Procédure suivie
- Produire un plan du document d'analyse et impact
- Création du document d'analyse et impact
- Mise en place du plan du document d'analyse à partir du gabarit du rapport d'étapes
- Liste des références
- Mise en place de la procédure suivie tout au long de la rédaction du document
- Écriture incrémentale et relecture fréquente.
- Règles
- Avant une itération: incrémenter la version actuelle, ajouter une ligne au suivi des modifications.
- Après une itération: la date et le suivi des modifications. Ajuster le temps alloué.
Références...
- Gabarit du rapport d'étape du cours LOG790 (section)
- Code source de SFLphone (classes et fonctionnalités)
- Leffingwell D., Wildrig D., HOLIS Artifacts, Appendix A, Managing Software Requirements, Second Edition