À 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

VersionDateTempsModificationDescriptionInitiale
1.02006-02-120h30-CréationYM
1.12006-02-120h30AIntroduction, fonctionnalitésYM
1.22006-02-151h00AUtilisation d'un artéfact de référenceYM
1.32006-03-047h00AAjout des diagrammes UMLYM

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 principales du daemon

Classes du serveur (dans le daemon)
Classes du serveur (dans le daemon)

Classes de l'interface QT
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 #DescriptionRaison de la contrainte
1La date de fin du projet est le 2006-04-10Le projet de session doit être présenté et remis durant cette semaine.
2Le langage de programmation est C++Le projet est déjà en C++.
3La distribution Linux pour les tests et le développement est Fedora Core 4 ou 5.Les programmeurs utilisent cette version pour le développement.
4Toutes 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

  1. Produire un plan du document d'analyse et impact
    1. Création du document d'analyse et impact
    2. Mise en place du plan du document d'analyse à partir du gabarit du rapport d'étapes
    3. Liste des références
    4. Mise en place de la procédure suivie tout au long de la rédaction du document
    5. Écriture incrémentale et relecture fréquente.
  2. Règles
    1. Avant une itération: incrémenter la version actuelle, ajouter une ligne au suivi des modifications.
    2. Après une itération: la date et le suivi des modifications. Ajuster le temps alloué.

Références...