Auto provisioning    –    Gestion des contacts    –   Présence     –   Vidéo surveillanceIntroduction :  De nos jours, les...
Auto provisioning   –   Gestion des contacts   –   Présence   –   Vidéo surveillance                              Chapitre...
Auto provisioning     –    Gestion des contacts    –    Présence     –    Vidéo surveillanceI.1 - Contexte   Nombreuses so...
Auto provisioning    –    Gestion des contacts   –    Présence    –   Vidéo surveillanceI.3 - Présentation du lieu de stag...
Auto provisioning      –   Gestion des contacts   –   Présence    –    Vidéo surveillance          L’axe croissance rentab...
Auto provisioning   –    Gestion des contacts   –   Présence    –   Vidéo surveillanceRTN intervient dans les domaines sui...
Auto provisioning   –   Gestion des contacts   –   Présence   –   Vidéo surveillance                            Chapitre I...
Auto provisioning    –   Gestion des contacts    –    Présence    –   Vidéo surveillanceII.1 - Présentation et Scenario de...
Auto provisioning   –    Gestion des contacts   –   Présence    –   Vidéo surveillance   Dans un premier temps, le télépho...
Auto provisioning    –    Gestion des contacts    –    Présence    –   Vidéo surveillanceFigure II-4 : Le téléphone se met...
Auto provisioning     –    Gestion des contacts    –    Présence     –    Vidéo surveillanceFigure II-5 : Ces messages ind...
Auto provisioning   –    Gestion des contacts   –    Présence    –   Vidéo surveillance  Pour la solution IPBX, Asterisk à...
Auto provisioning       –   Gestion des contacts   –   Présence      –   Vidéo surveillance                    -          ...
Auto provisioning   –    Gestion des contacts   –    Présence    –    Vidéo surveillance    option routers 192.168.1.1;   ...
Auto provisioning     –    Gestion des contacts    –    Présence     –    Vidéo surveillanceServeur TFTP  TFTP (Trivial Fi...
Auto provisioning   –    Gestion des contacts    –   Présence     –   Vidéo surveillanceEnfin nous redémarrons le serveur ...
Auto provisioning   –   Gestion des contacts   –   Présence   –   Vidéo surveillance                             SEP000D65...
Auto provisioning   –    Gestion des contacts    –    Présence    –   Vidéo surveillance<voiceVlanAccess>1</voiceVlanAcces...
Auto provisioning   –    Gestion des contacts    –    Présence    –   Vidéo surveillance    protocole SCCP. Pour ceux supp...
Auto provisioning   –   Gestion des contacts    –   Présence    –    Vidéo surveillancetélécommunication de manière cohére...
Auto provisioning   –    Gestion des contacts   –     Présence   –    Vidéo surveillanceUne fois à lintérieur du dossier c...
Auto provisioning     –   Gestion des contacts     –    Présence     –    Vidéo surveillance                              ...
Auto provisioning    –   Gestion des contacts    –    Présence    –   Vidéo surveillanceII.5 - Test de configuration   Don...
Auto provisioning     –    Gestion des contacts    –   Présence    –     Vidéo surveillance       II.5.1 - CISCO IP Phone ...
Auto provisioning   –   Gestion des contacts   –    Présence   –   Vidéo surveillanceAvant mis à jour, le firmware du 7912...
Auto provisioning     –    Gestion des contacts    –     Présence     –    Vidéo surveillanceAprès mis à jour nous avons :...
Auto provisioning    –    Gestion des contacts    –    Présence   –      Vidéo surveillanceLes traces de toute la procédur...
Auto provisioning    –    Gestion des contacts   –    Présence    –   Vidéo surveillanceConfiguration d’Asterisk et de l’A...
Auto provisioning   –   Gestion des contacts    –   Présence   –   Vidéo surveillanceNAT = on[1002]type = linelabel = Anal...
Auto provisioning    –   Gestion des contacts    –      Présence   –   Vidéo surveillanceII.6 - Difficultés rencontrées et...
Auto provisioning    –    Gestion des contacts    –     Présence     –   Vidéo surveillance                               ...
Auto provisioning    –   Gestion des contacts   –    Présence    –    Vidéo surveillanceMySQL> insert into buttonconfig (d...
Auto provisioning   –   Gestion des contacts   –   Présence   –   Vidéo surveillance      Chapitre III : Gestion des conta...
Auto provisioning    –    Gestion des contacts    –    Présence    –    Vidéo surveillanceIII.1 - Présentation   Pour réso...
Auto provisioning    –   Gestion des contacts   –    Présence   –    Vidéo surveillanceplus du serveur IPBX (Asterisk), ce...
Auto provisioning    –   Gestion des contacts    –    Présence   –    Vidéo surveillance       Serveur Apache  Il nous fau...
Auto provisioning   –    Gestion des contacts   –   Présence    –   Vidéo surveillance  Maintenant que tout est bien insta...
Auto provisioning      –   Gestion des contacts     –   Présence    –   Vidéo surveillance>INSERT INTO user (Host,User,Pas...
Auto provisioning    –    Gestion des contacts     –    Présence   –    Vidéo surveillance Figure III-24 : Recherche du co...
Auto provisioning    –   Gestion des contacts   –    Présence    –    Vidéo surveillance          </DirectoryEntry>       ...
Auto provisioning   –   Gestion des contacts   –   Présence   –   Vidéo surveillance  Pour réduire la congestion dans un r...
Auto provisioning   –   Gestion des contacts   –   Présence   –   Vidéo surveillance                    Chapitre IV : PRES...
Auto provisioning      –    Gestion des contacts   –   Présence     –   Vidéo surveillanceIV.1 - Présentation   La présenc...
Auto provisioning    –   Gestion des contacts   –    Présence   –    Vidéo surveillanceIV.2 - Solution retenueIl existe de...
Auto provisioning    –   Gestion des contacts    –    Présence    –   Vidéo surveillanceIV.3 - Logiciels et Equipements ut...
Auto provisioning   –   Gestion des contacts    –   Présence    –    Vidéo surveillanceIV.4 - Installation et Configuratio...
Auto provisioning      –    Gestion des contacts    –    Présence     –    Vidéo surveillanceEnsuite nous créons la base d...
Auto provisioning    –    Gestion des contacts    –    Présence     –    Vidéo surveillance                   Figure IV-30...
Auto provisioning      –    Gestion des contacts        –   Présence   –    Vidéo surveillanceFigure IV-32 : Alice voit bo...
Auto provisioning     –    Gestion des contacts     –   Présence   –    Vidéo surveillanceFigure IV-38 : Alice est déconne...
Auto provisioning   –    Gestion des contacts    –    Présence     –   Vidéo surveillance  Pour lutter contre la criminali...
Auto provisioning    –   Gestion des contacts   –   Présence   –   Vidéo surveillance                    Chapitre V : Stre...
Auto provisioning    –    Gestion des contacts    –   Présence    –    Vidéo surveillanceV.1 - Présentation et Scénario de...
Auto provisioning     –   Gestion des contacts    –    Présence    –    Vidéo surveillance   Contrairement au streaming st...
Document sur l'Auto provisioning, contacts, presence et streaming sur asterisk
Document sur l'Auto provisioning, contacts, presence et streaming sur asterisk
Document sur l'Auto provisioning, contacts, presence et streaming sur asterisk
Document sur l'Auto provisioning, contacts, presence et streaming sur asterisk
Document sur l'Auto provisioning, contacts, presence et streaming sur asterisk
Document sur l'Auto provisioning, contacts, presence et streaming sur asterisk
Document sur l'Auto provisioning, contacts, presence et streaming sur asterisk
Document sur l'Auto provisioning, contacts, presence et streaming sur asterisk
Document sur l'Auto provisioning, contacts, presence et streaming sur asterisk
Document sur l'Auto provisioning, contacts, presence et streaming sur asterisk
Document sur l'Auto provisioning, contacts, presence et streaming sur asterisk
Document sur l'Auto provisioning, contacts, presence et streaming sur asterisk
Document sur l'Auto provisioning, contacts, presence et streaming sur asterisk
Document sur l'Auto provisioning, contacts, presence et streaming sur asterisk
Document sur l'Auto provisioning, contacts, presence et streaming sur asterisk
Document sur l'Auto provisioning, contacts, presence et streaming sur asterisk
Prochain SlideShare
Chargement dans…5
×

Document sur l'Auto provisioning, contacts, presence et streaming sur asterisk

8 975 vues

Publié le

Ce document complète la présentation en powerpoint sur l'auto provisioning, la présence et le streaming sur asterisk. Elle détaille l'implémentation de tous ces services de manière détaillée.

Publié dans : Technologie
0 commentaire
10 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
8 975
Sur SlideShare
0
Issues des intégrations
0
Intégrations
7
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
10
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Document sur l'Auto provisioning, contacts, presence et streaming sur asterisk

  1. 1. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceIntroduction : De nos jours, les entreprises, les universités migrent leurs infrastructures téléphoniques versdu IP. Cette migration leur offre plusieurs avantages comme la réduction des coûts liés à lamaintenance, la tolérance aux pannes, la souplesse du réseau, facilité d’implémentation et deconfiguration et une multitude de services. Mais cette migration n’a pas que des avantages,elle apporte aussi plusieurs inconvénients : - La complexité du réseau se retrouve maintenant chez le client ou l’employé qui doit avoir des compétences informatiques pour configurer les équipements (téléphones IP, ordinateurs, imprimantes, etc…) pour qu’ils puissent se connecter sur le réseau. - Une perte de temps énorme pour les administrateurs réseau qui doivent configurer ou reconfigurer chaque équipement et les mettre à jour. - Augmentation des coûts liés à la formation des employés sur les configurations de ces équipements etc… - La congestion du réseau dû à tous les équipements réseaux (ordinateurs, imprimantes, téléphones IP, etc. …) utilisant le même support de communication. Pour palier à ces problèmes, ces téléphones IP supportent une multitude de protocoles(DHCP, TFTP) que nous pouvons mettre à profit pour paramétrer ces équipements à distanceet de manière automatique sans aucune interaction du client. Dans la suite de ce mémoire,nous allons implémenter cette solution qui permettra aux administrateurs réseau de gagner entemps pour le paramétrage et la maintenance des téléphones IP et épargner aux abonnés desconfigurations fastidieuses. Ensuite nous allons implémenter le service de « répertoire de contacts » et de « recherche decontacts » dans les téléphones IP ce qui permettra aux employés d’une entreprise de retrouverfacilement le numéro de leurs correspondants. Ensuite nous allons implémenter le service de présence avec les téléphones logiciels quipermettra aux abonnés de savoir si leur correspondant est joignable, occupé, absent,indisponible. Ce service nous permettra aussi de réduire la congestion dans le réseau carl’abonné sera tenté d’appeler que lorsque son correspondant sera en ligne et donc moins designalisations inutiles dans le réseau. Enfin nous allons mettre en place le principe de streaming dynamique en implémentant leservice de vidéosurveillance sur mobile dans un réseau IP. Ainsi on pourra surveiller leslocaux de l’ESMT à travers un téléphone logiciel en utilisant une caméra IP et un serveurIPBX appelé Asterisk. Promotion : 2009 – 2011 1
  2. 2. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance Chapitre I: Problématique et Contexte de l’étude Promotion : 2009 – 2011 2
  3. 3. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceI.1 - Contexte Nombreuses sont les entreprises ou universités qui achètent les téléphones CISCO pourpouvoir faire de la voix sur IP. Cependant ces téléphones nécessitent au préalable desconfigurations pour pouvoir fonctionner ; des configurations qui nécessitent des compétencesinformatiques que les employés n’ont pas forcement. Au cours de notre stage, nous devronsconfigurer ces téléphones de manière automatique. Avec les téléphones analogiques, chaque employé doit avoir son propre calepin avec lesnuméros des autres employés ou mémoriser les numéros ce qui est très difficile si l’entreprisea beaucoup d’employés. En effet les téléphones analogiques ne peuvent pas enregistrer desnuméros de contacts. Si le calepin se perd, il faut encore reconstituer tous ces contacts ce quin’est pas chose aisée. Le téléphone RNIS ayant une capacité limitée, ne peut pas contenir ungrand nombre de numéros. Notre travail sera d’implémenter une base de données des contactsdans ces téléphones. Pendant le fonctionnement de ces téléphones, une autre situation se présente. On remarqueune congestion fréquente du réseau. Cette congestion est dû à plusieurs personnes appelant aumême moment et dont le réseau ne peut supporter la capacité. Alors le réseau est obligé derejeter des appels ou les mettre en attente jusqu’à ce qu’une ressource se libère. De plusquand un appel veut s’établir, si l’appelé n’est pas disponible, de la bande passante estconsommée inutilement pour les échanges de signalisations. Ce qui peut pénaliser les autresabonnés voulant appeler en cas de congestion. Nous devrons fournir une solution permettantde réduire la congestion dans un réseau. Pour lutter contre la criminalité, le vol et les agressions, la vidéo surveillance est la solutionla plus utilisée pour surveiller les locaux, les rues, etc… dans les entreprises comme dans lesuniversités. Seulement pour pouvoir visualiser les caméras, il faut un ou plusieurs écrans detélévisions ou d’ordinateurs. Possédant des téléphones IP supportant la vidéo, nous devonsfaire en sorte que ces téléphones puissent afficher les images de la caméraI.2 - Problématique La problématique est de pouvoir mettre à jour, configurer à distance et de manièreautomatique des téléphones CISCO pour qu’ils puissent fournir des services sans aucuneinteraction du client ou employé. Cette action de pouvoir configurer, mettre à jour à distanceet de manière automatique un équipement pour qu’il puisse se connecter au réseau est appelél’auto provisioning. Puis nous devrons intégrer des numéros de contacts de l’entreprise dansces téléphones CISCO. Ensuite nous allons échanger les informations de présence entre lesabonnés pour qu’ils n’appellent que lorsque leur correspondant est en ligne et ainsi limiter lacongestion et améliorer la gestion des ressources. Enfin nous allons diffuser le flux vidéo dela caméra de surveillance sur les téléphones logicielles IP. Promotion : 2009 – 2011 3
  4. 4. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceI.3 - Présentation du lieu de stagePendant un mois et demi, j’ai eu à effectuer mon stage au laboratoire de commutation del’ESMT et au laboratoire de recherche de la société RTN pour des besoins d’infrastructures. L’ESMT est une institution multinationale, qui a été créée à Dakar en 1981 à l’initiative de sept pays de l’Afrique de l’ouest (Bénin, Burkina Faso, Mali, Mauritanie, Niger, Sénégal, Togo). En 1998,l’intégration se renforce par l’adhésion de la Guinée Conakry. Avec plus de quinze autrespays utilisateurs, l’ESMT, en tant que centre d’excellence de l’UIT, assure un mandat de pôlede convergence et de recherche appliquée dans le domaine des télécommunications /TIC danstoute l’Afrique francophone en particulier. Elle accueille aujourd’hui plus de 17 nationalitésen formation initiale et continue, et est liée au Sénégal par un accord de siège qui lui confèreun statut diplomatique.Aujourd’hui l’ESMT est :  Premier centre d’excellence francophone de l’UIT (2000) ;  Reconnue et homologuée par le CAMES (2003) ;  Institut membre du CAMES ;  Label centre d’excellence UEMOA (2005) ;  Académie régionale CISCO. L’école supérieure multinationale des télécommunications est régie par un ensemble detextes réglementaires et statutaires : Un accord intergouvernemental entre les pays membres (Bénin, Burkina Faso, Guinée Conakry, Mali, Mauritanie, Niger, Sénégal, Togo) définit les engagements de chaque pays, le statut juridique de l’école ainsi que ses modalités de fonctionnement ; Depuis 1986, un accord de siège avec le gouvernement du Sénégal lui donne un statut d’institution diplomatique. Le statut du personnel et le règlement intérieur, qui sont en accord avec les lois du Sénégal. La mission de l’ESMT consiste à : « Accompagner et renforcer nos clients dans leurstratégie de développement au travers d’une offre de prestations de service diversifiée etadaptée, conformes aux standards internationaux. » La vision de l’ESMT : « Nous sommes une institution-clef dans la politiqued’enseignement et de formation dans les TIC en Afrique à côté des autres acteurs dusecteur. Nous nous efforçons de devenir le leader dans ce domaine, la vitrine des TIC etl’institution d’enseignement et de recherche de référence en Afrique. »Pour assurer la migration entre le présent et le futur, les axes stratégiques de l’ESMT sont : L’axe client (Placer le client au centre de l’organisation) ; Promotion : 2009 – 2011 4
  5. 5. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance L’axe croissance rentable (Activer les moteurs de la croissance sous contrainte de la rentabilité et de nouveaux relais) ; L’axe innovation (Développer la recherche et l’innovation) ; L’axe ressources humaines (Professionnaliser les collaborateurs et les mobiliser pour la réalisation de notre ambition). Présentation de la société Réseaux et Techniques Numériques (RTN) Réseaux et Techniques Numériques (R.T.N) est une société dirigée par une équipe de professionnels qualifiés, spécialisée en logiciels libres et centrée surles services informatiques, techniques numériques et télécommunications.Cette société offre une gamme de formations se basant sur des supports de cours, fruits derecherches approfondies. Ces supports testés et avérés permettent aux apprenants d’êtreaussitôt opérationnels.Sa mission vise à accroître la compétitivité de ses clients par la valorisation des composantesinformatiques, logicielles et réseaux constituants le système dinformation de ses clients. Ilsagit de générer des gains importants de productivité en produisant plus et mieux à budget,organisation et infrastructure quasi-équivalent via la valorisation des outils logiciels métierspréexistants et ceci, sans rupture des cycles dexploitation de service de lentreprise et sansremise en cause organisationnelle.Domaines d’activitésLa société RTN offre une palette de solutions dans le domaine de la technologie del’information et de la communication. Ses solutions sont orientées Open Source et réaliséesselon les besoins et lexploration des opportunités dentreprise. Elles répondent parconséquent aux problèmes réels.RTN met également un accent particulier sur les suites bureautiques de linux (traitement detexte, tableurs et logiciels de présentation de conférence et de traitement d’images), ledéveloppement des Services à Valeurs Ajoutées, la Téléphonie sur IP, les services réseaux(DHCP, DNS, WEB, les annuaires LDAP, la Messagerie Collaborative, partage des données)et l’interconnexion sécurisées de sites distants, participant ainsi à la cohabitation etl’harmonisation des réseaux hétérogènes Linux-Windows. Promotion : 2009 – 2011 5
  6. 6. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceRTN intervient dans les domaines suivants :  Formation et encadrement des personnels des entreprises;  Mise à niveau du personnel des entreprises sur les technologies de l’information et de la communication ;  Conseils et orientations professionnelles pour la gestion d’un réseau d’entreprise dynamique ; Promotion : 2009 – 2011 6
  7. 7. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance Chapitre II : Auto Provisioning Promotion : 2009 – 2011 7
  8. 8. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceII.1 - Présentation et Scenario de fonctionnement L’auto provisioning, mot anglais désignant lapprovisionnement, est un terme utilisé dans lemonde de linformatique, désignant lallocation automatique de ressources. Les outils d’autoprovisioning sont des outils de gestion de configuration (on parle également de "gestion deparamétrage") permettant dinstaller et de configurer des logiciels à distance, ou encoredallouer de lespace disque, de la puissance ou de la mémoire. Dans le monde des télécommunications, l’auto provisioning consiste à adapter un serviceaux besoins dun client. Au sens large, le provisioning est laffectation plus ou moinsautomatisée de ressources à un utilisateur (poste de travail, téléphonie,...). Dans le cadre de mon stage, je dois approvisionner les téléphones IP CISCO pour pouvoirles paramétrer et les mettre à jour à distance. Voici le scénario de fonctionnement de l’Autoprovisioning. Figure II-1 : Schéma de fonctionnement de l’auto provisioning Promotion : 2009 – 2011 8
  9. 9. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance Dans un premier temps, le téléphone doit avoir un identifiant dans le réseau et cetidentifiant est une adresse IP. Cette adresse IP est donnée automatiquement et avec une duréedéterminée par un serveur DHCP. Donc le téléphone va faire une requête au serveur DHCP(1). Dans le serveur DHCP on va indiquer où se trouve le serveur TFTP (2) en utilisant lefichier dhcp.conf. Le serveur DHCP va alors répondre à la requête du téléphone (3) en luidonnant une adresse IP et en lui indiquant où se trouve le serveur TFTP.Figure II-2 : Comme décrit dans le scénario de fonctionnement, le téléphone va chercher uneadresse ip auprès de notre serveur dhcp. Le serveur lui attribue l’adresse 192.168.1.5. Leséchanges dhcp sont coloriés en bleu. Le téléphone va ensuite interroger le serveur TFTP (4) pour récupérer ses informations deconfiguration. Ces informations de configuration se trouvent dans un ou plusieurs fichiersécrit dans le langage XML ex : SEP[@MAC].cnf.xml. Dans ce fichier de configuration quele téléphone va lire on va aussi indiquer où se trouve le serveur IPBX (Asterisk dans notrecas) sur lequel il va s’y connecter ensuite (5). Le serveur TFTP va répondre à la requête dutéléphone (6) en lui indiquant où se trouve le serveur IPBX.Figure II-3 : Le téléphone récupère ensuite son fichier de configuration sur le serveur tftp(SEP18EF639E60F4.cnf.xml). Promotion : 2009 – 2011 9
  10. 10. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceFigure II-4 : Le téléphone se met à jour en téléchargeant le nouveau firmware (P00308010200.sb2).Les messages ont été tronqués car ils sont trop longs. Enfin le téléphone va aller s’authentifier sur le serveur IPBX (Asterisk) (7). Le serveur vavérifier que le téléphone existe dans le fichier sccp.conf (8) et (9) et enfin l’accepter en luiattribuant un numéro et une ligne (10). Si le téléphone n’existe pas dans sccp.conf alors leserveur IPBX va soit le rejeter, soit le permettre de se connecter mais ne laisser que lapossibilité au téléphone d’appeler le service support où hotline en anglais. Notons tout de même que cette procédure fonctionne avec les téléphones IP CISCO quenous utilisons pendant notre stage. Pour les téléphones de marque différente, la procédurepeut être différente. Promotion : 2009 – 2011 10
  11. 11. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceFigure II-5 : Ces messages indiquent l’enregistrement du téléphone sur le serveur asterisk. Ensuiteasterisk envoi les paramètres du téléphone configurés dans sscp.conf comme le paramétrage destouches, des boutons, l’heure à afficher, le nom de téléphone à afficher, etc…II.2 - Solution retenue Il existe plusieurs types de protocoles pour approvisionner les téléphones IP : on peututiliser le serveur FTP ou WEB pour configurer les téléphones et de plus ces protocoles sontplus sécurisés que le TFTP. Mais peu de téléphones supportent ces protocoles d’oùl’utilisation du protocole TFTP qui est supporté par les téléphones CISCO avec lesquels noustravaillons. Promotion : 2009 – 2011 11
  12. 12. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance Pour la solution IPBX, Asterisk à été privilégié que CISCO call manager car elle estgratuite, open source et populaire qui est un gage d’évolutivité. De plus avec toute sacommunauté d’utilisateurs et de développeurs, on a de l’aide sur internet.II.3 - Logiciels et Equipements utilisés Nous avons besoin d’un serveur DHCP, TFTP, Asterisk. Etant sur Debian, nous utiliseronsdhcp3-server comme serveur DHCP, TFTPD pour le serveur TFTP, et Asterisk commeserveur IPBX. Et comme équipements, un Switch ; un pc portable faisant office de serveurDHCP, TFTP et Asterisk ; des téléphones IP CISCO 7912, 7940 et un ATA188.II.4 - Installation et Configuration Serveur DHCP Dynamic Host Configuration Protocol (DHCP) est un terme anglais désignant un protocole réseau dont le rôle est d’assurer la configuration automatique des paramètres IP d’une station, notamment en lui affectant automatiquement une adresse IP et un masque de sous-réseau. DHCP peut aussi configurer l’adresse de la passerelle par défaut, des serveurs de noms DNS, et éventuellement donner d’autres types d’informations telles que les adresses de serveurs TFTP ou FTP. L’ordinateur ou téléphone IP équipé de TCP/IP, mais dépourvu d’adresse IP, envoie par diffusion un datagramme (DHCP DISCOVER) qui s’adresse au port 67 de n’importe quel serveur à l’écoute sur ce port. Ce datagramme comporte entre autre l’adresse physique (MAC) du client. Tout serveur DHCP ayant reçu ce datagramme, s’il est en mesure de proposer une adresse sur le réseau auquel appartient le client, diffuse une offre DHCP (DHCP OFFER) à l’attention du client (sur son port 68), identifié par son adresse physique. Cette offre comporte l’adresse IP du serveur, ainsi que l’adresse IP et le masque de sous-réseau qu’il propose au client. Il se peut que plusieurs offres soient adressées au client s’il y a plusieurs serveurs. Le client retient une des offres reçues (la première qui lui parvient), et diffuse sur le réseau un datagramme de requête DHCP (DHCP REQUEST). Ce datagramme comporte l’adresse IP du serveur et celle qui vient d’être proposée au client. Elle a pour effet de demander au serveur choisi l’assignation de cette adresse, l’envoi éventuel des valeurs des paramètres, et d’informer les autres serveurs qui ont fait une offre qu’elle n’a pas été retenue. Le serveur DHCP choisi élabore un datagramme d’accusé de réception (DHCP ack pour acknowledgement) qui assigne au client l’adresse IP et son masque de sous-réseau, la durée du bail de cette adresse, et éventuellement d’autres paramètres :- Adresse IP de la passerelle par défaut,- Adresses IP des serveurs DNS,- Adresses IP des serveurs TFTP. Promotion : 2009 – 2011 12
  13. 13. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance - Figure II-6 : Fonctionnement du dhcpPour implémenter le serveur DHCP, nous allons installer le paquet dhcp3-server enutilisant la commande suivante:#apt-get install dhcp3-serverEnsuite nous acceptons le téléchargement des paquets. Le paquet téléchargé et installé,nous passons à la configuration du serveur.Les fichiers de configuration se trouvent dans le dossier /etc/dhcp3/dhcpd.conf.Sur d’autres systèmes ils se trouvent dans /etc/dhcp/dhcpd.conf.Nous modifions ce fichier en dé-commentant ou en ajoutant les informations suivantes.Les explications des lignes sont après le # : Dhcpd.conf ddns-update-style interim; #Peut être de type ad-hoc ou interim, et permet au serveur DHCP de mettre à jour des entrées DNS. Les deux modes (ad-hoc et interim) décrivent des méthodes sur la manière d’effectuer ces mises à jour. Aujourd’hui, il est conseillé de ne plus utilisé le style ad-hoc pour les serveurs DHCP récents. Donc toujours mettre : ddns- update-style interim ignore client-updates; #La méthode interim est le standard. Le client peut demander au serveur DHCP de mettre à jour le serveur DNS en lui passant ses propres paramètres (nom de domaine). Dans ce cas le serveur est configuré pour honorer ou pas la demande du client. Ceci se fait avec le paramètre ignore client-updates ou allow client-updates. authoritative; #Dans le cas où il y aurait plusieurs serveurs DHCP, celui-ci fait office d’autorité. subnet 192.168.1.0 netmask 255.255.255.0 { #le sous réseau dans lequel les adresses seront attribuées Promotion : 2009 – 2011 13
  14. 14. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance option routers 192.168.1.1; #Loption routers spécifie une liste dadresses IP de routeurs qui sont sur le sous- réseau du client. Les routeurs doivent être mentionnés par ordre de préférence option subnet-mask 255.255.255.0; #Loption subnet-mask spécifie le masque de sous-réseau du client. Si aucune option subnet-mask nest fournie dans la portée du bloc, DHCPD utilisera en dernier recours le masque de la déclaration de sous-réseau auquel appartient ladresse en cours dattribution. Cependant, toute déclaration doption subnet-mask remplacera le masque de sous-réseau spécifié dans la déclaration de sous-réseau option nis-domain "emeric.com"; #Cette option spécifie le nom du domaine du client. Le domaine est une chaîne de caractères option domain-name "emeric.com"; #Cette option spécifie, le nom de domaine que le client doit utiliser lorsquil résout des noms dhôte via les serveurs de noms DNS option domain-name-servers 192.168.1.1; #il spécifie une liste de serveurs de noms de domaines disponibles pour les clients. Les serveurs doivent être spécifiés par ordre de préférence option time-offset -18000; # Eastern Standard Time (il spécifie le décalage en secondes pour le client de sous- réseau par rapport aux coordonnées de temps universelles option ntp-servers 130.159.196.118; #l’adresse IP du serveur de temps option TFTP-server-name "192.168.1.1"; #l’adresse IP du serveur de partage de fichiers TFTP range dynamic-bootp 192.168.1.2 192.168.1.10; #Plage d’adresses valides à offrir aux machines qui veulent booter en réseau default-lease-time 43200; #temps de bail par défaut en secondes max-lease-time 86400; #temps de bail maximum en secondes }Maintenant nous redémarrons le serveur DHCP.#/etc/init.d/isc-dhcp-server restart Promotion : 2009 – 2011 14
  15. 15. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceServeur TFTP TFTP (Trivial File Transfer Protocol) est un protocole simplifié de transfert de fichiers.Il fonctionne en UDP sur le port 69, au contraire du FTP qui utilise lui TCP. LutilisationdUDP, protocole « non fiable », implique que le client et le serveur doivent gérer eux-mêmes une éventuelle perte de paquets. En termes de rapidité, labsence de fenêtrage nuità lefficacité du protocole sur les liens à forte latence. On réserve généralement lusage duTFTP à un réseau local. Les principales simplifications visibles du TFTP par rapport au FTP est quil ne gère pasle listage de fichiers, et ne dispose pas de mécanismes dauthentification, ni dechiffrement. Il faut connaître à lavance le nom du fichier que lon veut récupérer. Demême, aucune notion de droits de lecture/écriture nest disponible en standard. À cause de ces fonctionnalités absentes, FTP lui est généralement préféré. TFTP restetrès utilisé pour la mise à jour des logiciels embarqués sur les équipements réseaux(routeurs, pare-feu, téléphones IP, etc.) ou pour démarrer un PC à partir dune carteréseau. Figure II-7 : Demande de fichier du client au serveur TFTPInstallation du serveur TFTPD et du client TFTP#aptitude install tftpd#aptitude install tftpCréation d’un répertoire racine du serveur TFTPD et changement de permission#mkdir /tftpboot#hmod 777 /tftpboot#chown emeric.emeric /tftpboot (je change le propriétaire du dossier ‘nom.groupe’).Nous cherchons et éditons le fichier /etc/inetd.conf pour indiquer au serveur TFTPD où setrouve le répertoire racine que nous avons crée juste avant :/srv/tftp que nous changeons en /tftpbootNous ajoutons cette ligne si elle n’est pas déjà présente.tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot Promotion : 2009 – 2011 15
  16. 16. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceEnfin nous redémarrons le serveur TFTPD pour qu’il tienne compte des modificationsapportées.#cd /etc/init.d#./openbsd-inetd restartNous testons que le serveur TFTPD fonctionne avec les commandes suivantes :#tftp 127.0.0.1tftp> (cette ligne signifie que le serveur fonctionne.)Maintenant le téléphone CISCO après avoir reçu une adresse IP par le serveur DHCP, ilinterroge le serveur TFTP pour recevoir les informations de configurations. Pour celadeux fichiers de configurations sont nécessaires :OS « SERIES DU TELEPHONE ».TXT : Le nom du fichier doit être obligatoirement enmajuscule. Je dois remplacer « SERIES DU TELEPHONE » par le numéro de série dutéléphone.Ex : un CISCO IP Phone Séries 7912. Le numéro de série est 7912. Donc le fichier seraOS7912.TXT et à l’intérieur je ne vais mettre que la version du firmware du téléphone.Ce fichier est utilisé si on veut mettre à jour le téléphone CISCO. Donc on va mettre uneversion supérieure à celui du téléphone.Ex : CP7912080003SCCP070409ASEP000D657072B5.cnf.xml : C’est le deuxième fichier utilisé pour la configuration dutéléphone CISCO où le 000D657072B5 représente l’adresse mac du téléphone (Dansnotre cas celui du CISCO IP Phone Séries 7912). Le contenu de ce fichier est en XML carc’est le langage qu’il comprend.XML (eXtensible Markup Language ou Langage à balises extensible) est en quelque sorteun langage HTML amélioré permettant de définir de nouvelles balises. Il sagiteffectivement dun langage permettant de mettre en forme des documents grâce à desbalises. Contrairement à HTML, qui est à considérer comme un langage défini et figé (avec unnombre de balises limité), XML peut être considéré comme un métalangage permettantde définir dautres langages, cest-à-dire définir de nouvelles balises permettant de décrirela présentation dun texte. La force de XML réside dans sa capacité à pouvoir décrirenimporte quel domaine de données grâce à son extensibilité. Il va permettre de structurer,poser le vocabulaire et la syntaxe des données quil va contenir. En réalité les balises XML décrivent le contenu plutôt que la présentation. Ainsi, XMLpermet de séparer le contenu de la présentation. Ce qui permet par exemple dafficher unmême document sur des applications ou des périphériques différents sans pour autantnécessiter de créer autant de versions du document pour autant de téléphones.Voici le contenu du fichier SEP000D657072B5.cnf.xml : Promotion : 2009 – 2011 16
  17. 17. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance SEP000D657072B5.cnf.xml<device xsi:type="axl:XIPPhone"><devicePool><name>NOM DU TELEPHONE</name><dateTimeSetting><name>CMLocal</name><dateTemplate>D.M.YA</dateTemplate><timeZone>GMT Standard/Daylight Time</timeZone><ntps><ntp><name>ADRESSE IP DU SERVEUR DE TEMPS</name><ntpMode>Unicast</ntpMode></ntp></ntps></dateTimeSetting><callManagerGroup><members><member priority="0"><callManager><ports><ethernetPhonePort>2000</ethernetPhonePort></ports><processNodeName>ADRESSE IP DU SERVEUR IPBX</processNodeName></callManager></member></members></callManagerGroup><srstInfo><name>Enable</name><srstOption>Enable</srstOption><userModifiable>true</userModifiable><ipAddr1>ADRESSE IP DU SERVEUR ASTERISK</apAddr1><port1>2000</port1><ipAddr2></apAddr2><port2>2000</port2><ipAddr3></ipAddr3><port3>2000</port3></srstInfo><mlppDomainId>-1</mlppDomainId><mlppIndicationStatus>Default</mlppIndicationStatus><preemption>Default</preemption></devicePool><loadInformation>VERSION DU FIRMWARE</loadInformation><vendorConfig><disableSpeaker>false</disableSpeaker><disableSpeakerAndHeadset>false</disableSpeakerAndHeadset><forwardingDelay>1</forwardingDelay><pcPort>0</pcPort><settingsAccess>1</settingsAccess><garp>0</garp> Promotion : 2009 – 2011 17
  18. 18. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance<voiceVlanAccess>1</voiceVlanAccess><videoCapability>1</videoCapability><autoSelectLineEnable>0</autoSelectLineEnable><webAccess>1</webAccess><daysDisplayNotActive>1,7</daysDisplayNotActive><displayOnTime>08:30</displayOnTime><displayOnDuration>11:30</displayOnDuration><displayIdleTimeout>01:00</displayIdleTimeout></vendorConfig><versionStamp></versionStamp><userLocale><name></name><uid>1</uid><langCode>en</langCode><version>4.0(1)</version><winCharSet>iso-8859-1</winCharSet></userLocale><networkLocale></networkLocale><networkLocaleInfo><name></name><uid>64</uid><version>4.0(1)</version></networkLocaleInfo><deviceSecurityMode>1</deviceSecurityMode><idleTimeout>120</idleTimeout><authenticationURL></authenticationURL><directoryURL> </directoryURL><idleURL></idleURL><informationURL></informationURL><messagesURL></messagesURL><proxyServerURL></proxyServerURL><servicesURL></servicesURL><dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig><dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices><dscpForCm2Dvce>96</dscpForCm2Dvce></device> Dans ce fichier, nous avons besoin de modifier que les informations en rouges. Notonstoutefois que certains types de téléphones CISCO ne lisent pas de la même manière cefichier soit à cause d’un bug donc la mise à jour peut régler soit fait volontairement par lamarque. Pendant que certains prendront un 0 comme désactivé, d’autres le prendrontcomme activé. Ex : <webAccess>1</webAccess> .pour certains types de téléphones, çaveut dire que l’accès web doit être activé pendant que d’autres vont le prendre commedésactivé. La structure du fichier XML change en fonction du protocole de signalisation supportépar le téléphone. Nous travaillons avec des CISCO phones Séries 7912 supportant le Promotion : 2009 – 2011 18
  19. 19. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance protocole SCCP. Pour ceux supportant le protocole SIP la structure du fichier est différente. En plus des deux fichiers ci-dessus, un troisième fichier peut être rajouté avec le nom « XMLDefault.cnf.xml ». Il n’est pas obligatoire mais peut être utile lorsque l’on veut mettre à jour massivement plusieurs types de téléphones CISCO (7912, 7920, 7940, 7960, CISCO IP Communicator). Nous pouvons aussi l’utiliser pour paramétrer tous les téléphones IP pour qu’ils se connectent à Asterisk mais ils ne pourront pas supporter des services supplémentaires. Voici sa structure: XMLDefault.cnf.xml <Default> <callManagerGroup> <members> <member priority="0"> <callManager> <ports> <ethernetPhonePort>2000</ethernetPhonePort> </ports> <processNodeName>ADRESSE IP IPBX</processNodeName> </callManager> </member> </members> </callManagerGroup> <loadInformation6 model="IP Phone 7910">SCCP11.8-5-2S</loadInformation6> <loadInformation6 model="IP Phone 7911">SCCP11.8-5-2S</loadInformation6> <loadInformation9 model="IP Phone 7935"></loadInformation9> <loadInformation8 model="IP Phone 7940">P00308010100</loadInformation8> <loadInformation7 model="IP Phone 7960">P00308010100</loadInformation7> <loadInformation20000 model="IP Phone 7905"></loadInformation20000> <loadInformation30008 model="IP Phone 7902"></loadInformation30008> <loadInformation30007 model="IP Phone 7912"></loadInformation30007> </Default> Si les téléphones doivent être mis à jour, en plus de ces deux (trois) fichiers, Nous devons télécharger le fichier du firmware (système embarqué) en .zip que nous allons décompresser dans le répertoire racine du serveur tftpboot. Ex : Si nous prenons toujours notre CISCO IP Phone Séries 7912, nous aurons dans le dossier /tftpboot :- SEP000D657072B5.cnf.xml- OS7912.TXT- CP7912080003SCCP070409A.sbin (correspond au firmware de mise à jour du CISCO IP Phone Séries 7912). Serveur Asterisk Asterisk est une plateforme de téléphonie Open Source initialement conçue pour fonctionner sur linux. C’est probablement l’un des outils les plus puissants, les plus flexibles et les plus extensibles fournissant tous les services de télécommunications. Il est conçu pour s’interfacer avec n’importe quel dispositif logiciel ou matériel de Promotion : 2009 – 2011 19
  20. 20. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillancetélécommunication de manière cohérente et progressive. Il crée un environnement uniquequi peut être façonné pour s’adapter à n’importe quel cas d’utilisation notamment en tantque : - Gateway VOIP supportant les protocoles MGCP, SCCP, SIP, H.323, etc… - Private branch exchange (PBX) ; - Serveur vocal interactif ; - Serveur de messagerie vocale ; - Serveur de conférence ; - Translation de numéro ;Asterisk peut fonctionner avec des cartes zaptel ou des cartes non zaptel de certainsconstructeurs. Ces cartes servent à sa connexion aux lignes téléphoniques classiques(RTC, RNIS, etc…). Nous avons installé Asterisk 1.4 car elle plus stable avec l’extension Chan_sccp_b. Cetteextension est un module qui ajoute au serveur Asterisk la possibilité de supporter leprotocole SCCP utilisé par les téléphones IP CISCO avec plus de fonctionnalités et plusde compatibilité avec les téléphones.Skinny Client Control Protocol (SCCP) est un protocole propriétaire CISCO utilisé pourles échanges entre le Call Manager et les IPPHONES. Le terme SKINNY est utilisé pourindiquer que le protocole SCCP est très simple et requiert de ce fait des ressourcesprocesseur limitées. Les messages sont transmis via TCP en utilisant le port 2000.Ceux-ci comportent au minimum trois champs de quatre octets : - Un entier représentant la taille du message total. - Un deuxième champ réservé qui doit toujours être à zéro. - Un identifiant (MessageId) pour déterminer la nature du message. Le MessageId permet de définir l’information transmise entre le poste IP et le Call Manager.Lorsque toutes les étapes du protocole de signalisation ont été exécutées les postesdialoguent en eux en utilisant RTP.Nous téléchargeons Asterisk:#wget http://downloads.Asterisk.org/pub/telephony/Asterisk/releases/Asterisk-1.4.42.tar.gzEnsuite, Nous décompressons l’archive (.tar.gz) téléchargée:#tar -zxvf Asterisk-1.4.42.tar.gz -C /usr/local/Installation des dépendances:#apt-get install linux- headers-`uname -r`#apt-get install libncurses5-dev bison libssl-dev libcap-dev libnewt-dev zlib1g-dev procpsgcc g++ make binutils doxygen Promotion : 2009 – 2011 20
  21. 21. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceUne fois à lintérieur du dossier créé précédemment lors de la décompression de larchive(.tar.gz) de Asterisk, nous aurions à exécuter quelques commandes qui compileront etinstalleront Asterisk sur le système.#cd /usr/local/Asterisk-1.4.42#./configure#make menuselect (optionnel : pour vérifier que toutes les dépendances sont installées)#make#make install#make samplesPar défaut Asterisk supporte le protocole SCCP à travers le fichier de configurationskinny.conf. Mais nous installons Chan_sccp_b à Asterisk qui offre plus defonctionnalités que celui-ci.Nous téléchargeons le paquet Chan_CISCO-3.0_RC3.tar.gz surhttp://sourceforge.net/projects/chan-sccp-b/ ensuite nous le désarchivons dans /usr/src/ :#tar -xvzf Chan_CISCO-3.0_RC3.tar.gz -C /usr/src# cd /usr/src/Chan_SCCP-3.0_RC3/#./configure#make#make installAprès linstallation nous démarrons le serveur Asterisk:#Asterisk#Asterisk -rvvvDans le fichier modules.conf, nous chargeons le module chan_sccp.so afin quil soit prisen compte par Asterisk et nous déchargeons le module chan_skinny.so afin darrêter sonfonctionnement : modules.confload => chan_sccp.sonoload => chan_skinny.soNous copions ensuite le fichier sccp.conf dans le répertoire d’Asterisk :#cp /usr/src/Chan_SCCP-3.0_RC3/conf/sccp.conf /etc/Asterisk/Comme nous l’avons vu dans « II.1 - présentation et scénario de fonctionnement », letéléphone doit pouvoir s’authentifier au niveau d’Asterisk pour avoir une ligne. Doncnous devons ajouter dans le fichier sccp.conf les informations relatives au téléphone. Celase fait comme avec les autocommutateurs traditionnels en ajoutant tout d’abordl’équipement ainsi que ces paramètres ensuite nous ajoutons une ligne correspondant à unnuméro de téléphone et enfin on associe l’équipement à la ligne créée.Voici un exemple de configuration dans sccp.conf de notre CISCO IP Phone Séries7912 : Promotion : 2009 – 2011 21
  22. 22. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance Sccp.conf[SEP000D657072B5]; Ajout de l’équipement en mettant l’adresse mac.type = device ; Nous spécifions que ce format ou cette configuration est celui d’un équipement.devicetype = 7912 ; Type d’équipement.description = CIP 7912 N.1005 ; une description du téléphone.button = line, 1005 ; On associe la ligne 1005 à cet équipement.button = line, Hotline ; Nous lui associons aussi une ligne qui mène vers le service support sibesoin d’information.tzoffset = +2 ;transfer = off ; Activation ou désactivation de la capacité de transfert d’appel du téléphone.cfwdall = on ; Activation de renvoi de tous les appels.cfwdbusy = on ; Activation de renvoi de tous les appels si on est occupé.cfwdnoanswer = on ; Activation de renvoi d’appel si pas de réponse.dtmfmode = outband ; Quand vous appuyez une touche, Asterisk envoie un son pour vousindiquer qu’une touche à été appuyé. La fréquence de ce son peut être dans la bande de fréquencede la parole « inband » ou hors de la bande de fréquence «outband ». Pour les téléphones CISCOce son est toujours transmis hors de la bande de fréquence d’où le « outofband ».imageversion = CP7912080003SCCP070409A ; Version du firmware du téléphone. Utile pour lesmises à jour.deny=0.0.0.0/0.0.0.0 ; Interdire toutes les adresses IP. Il faut toujours un permit où Asterisk vabloquer l’enregistrement du téléphone.permit=192.168.1.0/255.255.255.0 ; Ce téléphone, pour qu’il soit accepté, il doit avoir uneadresse IP dans la plage 192.168.1.1192.168.1.254.dnd = on ; Activation de la fonction ne pas déranger.trustphoneip = no ; Nous ne faisons pas confiance à l’adresse IP du téléphone au cas où il estderrière un NAT.nat = off ; l’équipement supporte le NAT.directrtp = off ; Cette option permet que la voix ne passent plus par Asterisk mais directemententre les équipements.softkeyset = softkeyset ; Utilisé pour paramétrer les boutons du téléphone en différents états (enligne, raccrocher…).[1005] ; Ajout de la ligne 1005.type = line ; Spécifie que cette configuration est celui d’une ligne.label = Votre ligne est OK ; Le label correspondant au bouton de la ligne.description = Line 1005 ; Description au dessus de l’écran.cid_name = CISCO 7915 N°1005 ; Le nom de cet abonné.cid_num = 1005; Son numéro.context = ec2lt ; le context de l’abonné.incominglimit = 2 ; Pas plus de 2 appels entrants. L’un des appels sera en attente.transfer = on ; Capacité de la ligne à faire un transfert.secondary_dialtone_digits = 9; Après 9 chiffres composés la sonnerie envoyé par Asterisk quandnous appuyons une touche change. Utile si l’utilisateur dépasse le nombre de numéro du plan denumérotation.secondary_dialtone_tone = 0x22 ; Sonnerie de touche clavier.musicclass=default ; Musique par défaut quand on décroche, pendant un appel.language=en ; Langue pour le téléphone. Utilisé pour les sonneries. Si c’est en anglais ou enfrançais.echocancel = on ; Annulé l’écho.silencesuppression = off ; S’il y a pas de parole alors Asterisk supprime le signal. Promotion : 2009 – 2011 22
  23. 23. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceII.5 - Test de configuration Donc au démarrage, le téléphone CISCO va demander une adresse IP au serveur DHCP quile lui donne et lui passe en même temps l’adresse IP du serveur TFTP. Le téléphone vaensuite sur le serveur TFTP et cherche avant tout le fichier XMLDefault.cnf.XML et lit lesinformations de mise à jour communes et ensuite s’attaque au fichier SEP[MACADDRESS].cnf.xml pour des configurations personnalisées. Si en lisant l’un des fichiers ci-dessus il se rend compte que la version du firmware est supérieur au tien, alors il vadirectement lire le fichier OS[SERIES TELEPHONE].TXT qui contient le nom du nouveaufirmware sans le .sbin ou .bin à la fin. Alors il recherche ce fichier dans le même dossier ourépertoire et lorsqu’il le trouve il se met à jour directement, redémarre et recommence lemême processus. Si le téléphone se rend compte que la version du firmware est inférieur, égalou différent de celui qu’il possède alors il l’ignore et continu le processus en modifiant sesconfigurations. Il récupère l’adresse de l’IPBX et va se connecter dessus.Avant de connecter les téléphones IP sur Asterisk en utilisant le fichier sccp.conf, nous allonstester tout d’abord le bon fonctionnement des téléphones CISCO avec le fichier skinny.confqui est le module SCCP par défaut d’Asterisk. Voici les configurations : Skinny.conf [phone1] device=SEP000D657072B5 callerid="phone1" <1000> context=ec2lt linelabel="telephone emeric" line => 1000 [phone2] device=SEP18EF639E60F4 callerid="phone2" <2000> context=ec2lt linelabel="telephone toto" line => 2000Et dans le fichier extensions.conf nous ajoutons le plan de numérotation suivant : Extensions.confexten => 1000,1,dial(SKINNY/1000)exten => 2000,1,dial(SKINNY/2000)Maintenant que les téléphones fonctionnent et s’appellent, nous passons à la connexion destéléphones en utilisant le fichier sccp.conf qui à été déjà configuré plus haut (Cf. II-4). Promotion : 2009 – 2011 23
  24. 24. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance II.5.1 - CISCO IP Phone Séries 7912, 7940 Figure II-8 : CISCO IP Series 7912 Figure II-9 : CISCO IP Series 7940Nous commençons par mettre à jour des téléphones 7912 et 7940 en les interconnectant dansle même réseau que celui du serveur DHCP, TFTP et Asterisk. Figure II-10 : Schéma dinterconnexion des téléphones IP Cisco Promotion : 2009 – 2011 24
  25. 25. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceAvant mis à jour, le firmware du 7912 était : CP7912010300SCCP040312A (version 1.3) Figure II-11 : Ancien Firmware 7912Après mis à jour nous avons : CP7912080003SCCP070409A (version 8.0.3) Figure II-12 : Nouveau Firmware 7912Pour le 7940, Avant mis à jour nous avions : P0030301MFG2 (version 3.3.1) Figure II-13 : Ancien Firmware 7940 Promotion : 2009 – 2011 25
  26. 26. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceAprès mis à jour nous avons : P00308010200 (version 3.8.1) Figure II-14 : Récupération du firmware Figure II-15 : Mise à jour du 7940 Figure II-16 : Nouveau firmware P00308010200Voici l’écran des téléphones lorsqu’ils arrivent à se connecter dans Asterisk :Les boutons verticaux correspondent au nombre de lignes qu’on peut attribuer à un téléphone.Les boutons horizontaux sont configurables aussi dans sccp.conf au niveau des softskeys.Figure II-17 : Ecran de connexion à Asterisk 7912 Figure II-18 : Ecran de connexion à Asterisk 7940 Promotion : 2009 – 2011 26
  27. 27. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceLes traces de toute la procédure d’auto provisioning se trouve dans (ANNEXE-1). II.5.2 - ATA188 Figure II-19 : Photo de lATA 188Ladaptateur de téléphone analogique CISCO ATA 188 connecte des téléphones analogiquescourants avec des réseaux de téléphonie IP. Figure II-20 : Schéma d’interconnexion de l’ATA188 Promotion : 2009 – 2011 27
  28. 28. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceConfiguration d’Asterisk et de l’ATA188 :La configuration est presque la même que celle des téléphones CISCO à la seule différenceque le fichier SEP[Adresse Mac IP PHONE].cnf.xml est remplacé par ATA[Adresse Mac del’ATA].cnf.xml et nous devons ajouter un deuxième fichier qui doit être le fichier par défautpossédant les configurations par défaut de tous les ATA. Ce fichier doit être en binaire. Cefichier s’appelle atadefault.cfg. Pour l’avoir, on récupère l’archive de mise à jour du firmwareSCCP de l’ATA. Dans cette archive se trouve un fichier sk_example.txt qui contient lesconfigurations par défaut de l’ATA. Nous modifions CA0 (call manager) en mettant l’adresseIP du serveur Asterisk.CA0 : 192.168.1.1 (Dans un réseau de production il faut toujours avoir un autre serveurAsterisk de secours au cas où celui-ci tombe. Donc au niveau de CA1 on va mettre l’adresseIP du deuxième serveur Asterisk).Ensuite nous devons convertir le fichier sk_example.txt en atadefault avec :./cfgmt.linux (nous sommes toujours dans le dossier de l’archive décompresser).Nous ajoutons l’extension .cfg à atadefault et nous le mettons ainsi que tous les fichiers demise à jour et le fichier ATA0013808DA533.cnf.xml dans le dossier racine du serveur TFTP(/tftpboot) et nous connectons l’ATA dans le réseau. Il ne reste plus qu’à ajouterl’équipement et la ligne à l’ATA dans le fichier sccp.conf. Il faut comprendre qu’à chaqueéquipement il faut une adresse MAC pour pouvoir sonner le téléphone désiré. Notre ATA188possède en fait deux adresses MAC correspondant aux deux équipements analogiques qu’onpeut connecter. Mais sur l’équipement on ne met qu’une adresse MAC de l’ATA quicorrespond en général au téléphone analogique du port 0. Donc pour connaître la secondeadresse MAC nous cherchons les équipements détectés par Asterisk mais ne possédant pas deligne avec la commande :Asterisk>show sccp linesEt nous avions pu repérer la deuxième adresse mac qui était ATA13808DA53301.Maintenant nous définissons les deux équipements correspondant aux deux adresses MAC del’ATA188 et les deux lignes correspondantes. Sccp.conf[ATA0013808DA533] type = devicedevicetype = atadescription = Analog Phone 0button = line, 1002tzoffset = +2transfer = offdtmfmode = outbanddeny=0.0.0.0/0.0.0.0permit=192.168.1.0/255.255.255.0trustphoneIP = no Promotion : 2009 – 2011 28
  29. 29. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceNAT = on[1002]type = linelabel = Analog Phonedescription = Analog Phone ATA Port 0cid_name = Analog Phone 1002cid_num = 1002context = ec2ltsecondary_dialtone_digits = 4secondary_dialtone_tone = 0x22musicclass=defaultlanguage=enechocancel = onsilencesuppression = off[ATA13808DA53301]type = devicedevicetype = atadescription = Analog Phone 1button = line, 1003tzoffset = +2transfer = offdtmfmode = outbanddeny=0.0.0.0/0.0.0.0permit=192.168.1.0/255.255.255.0trustphoneip = nonat = on[1003]type = linelabel = Analog Phonedescription = Analog Phone ATA Port 1cid_name = Analog Phone 1003cid_num = 1003context = ec2ltsecondary_dialtone_digits = 4secondary_dialtone_tone = 0x22musicclass=defaultlanguage=enechocancel = onsilencesuppression = offNous redémarrons Asterisk pour qu’il prenne en compte les modifications. Promotion : 2009 – 2011 29
  30. 30. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceII.6 - Difficultés rencontrées et insuffisances L’une des difficultés est l’arrêt inopiné d’Asterisk lorsque le module chan_sccp est utilisé.Elle est plus récurrente avec la version 1.6 d’Asterisk. La version 1.4 d’Asterisk est plusstable. Cette pour cette raison que nous ne conseillons pas son utilisation pour le momentdans un environnement de production. L’autre difficulté rencontrée pendant nos tests, est la nécessité de redémarrer Asterisk pourprendre en compte les modifications apportées dans le fichier sccp.conf ce qui conduit àarrêter les communications en cours. Ce problème étant assez grave, nous avions décidé demettre toutes les configurations du fichier sccp.conf dans une base de données externe(MySQL). Ainsi au lieu de recharger à chaque fois le fichier sccp.conf, Asterisk iradirectement dans la base de données MySQL qu’on n’aura pas besoin de recharger.La procédure est clairement expliquée sur le site de chan_sccp ( http://chan-sccp-b.sourceforge.net/doc/setup_sccp.html#sccp_config_sep ). Nous utilisons MySQL 5.0 et doncla procédure qui suit concerne la version 5.0 de MySQL. Pour commencer nous devons installer dahdi-linux et dahdi-tools pour que Asterisk puissentse connecter avec la base de donnée MySQL.#wget http://downloads.Asterisk.org/pub/telephony/dahdi- linux-complete/releases/dahdi-linux-complete-2.4.1.2+2.4.1.tar.gz#wget http://downloads.Asterisk.org/pub/telephony/Asterisk/releases/Asterisk-addons-1.4.13.tar.gz#tar -zxvf dahdi-linux-complete-2.4.1.2+2.4.1.tar.gz#tar -zxvf Asterisk-addons-1.4.13.tar.gz#cd /usr/local/dahdi-linux-complete-2.4.1.2+2.4.1#./configure#make#make install#cd /usr/local/Asterisk-addons-1.4.13#./configure#make menuselect (optionnel : pour vérifier que toutes les dépendances sont installées)#make#make installNous nous déplaçons dans le dossier source de Chan_sccp_b.#cd /usr/src/Chan_SCCP-3.0_RC3/# mysql -p asterisk < conf/mysql-v5.sqlNous modifions le fichier /etc/asterisk/res_mysql.conf : Promotion : 2009 – 2011 30
  31. 31. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance res_mysql.conf[general] ;dbhost = 127.0.0.1 ; Adresse IP de la machine hébergeant la base de donnée MySQL ;dbport = 3306 ; port par défaut de MySQL dbname = asterisk ; Nom de la base de donnée utilisée par Asterisk dbuser = Asterisk ; A remplacer par le nom d’utilisateur d’accès à la base de donnée dbpass = Asterisk_password ; A remplacer par le mot de pass d’accès à la base de données dbsock = /var/lib/mysql/mysql.sock ou /var/run/mysqld/mysqld.sock sur Debian squeezeNous ajoutons ces deux lignes dans le fichier /etc/asterisk/sccp.conf sccp.confdevicetable=sccpdevice ; Base de données pour les équipementslinetable=sccpline ; Base de données pour les lignesNous modifions le fichier /etc/asterisk/extconfig.conf : extconfig.conf[settings]sccpdevice => mysql,asterisk,sccpdeviceconfig ; sccpdeviceconfig sera utilisé au lieu desccpdevicesccpline => mysql,asterisk,sccplineNous nous connectons à la base de données d’Asterisk#mysql -u « nom d’utilisateur » -p#password : « mot de pass »MySQL>use database asterisk;MySQL>insert into sccpdevice(type,description,tzoffset,dtmfmode,mwilamp,mwioncall,pickupexten,pickupmodeanswer,privacy,name) values ("7975","My 1stPhone",0,"on","on","on","on","on","full","SEP010102030404");MySQL>insert into sccpline(id,pin,label,description,context,incominglimit,transfer,mailbox,vmnum,cid_name,cid_num,trnsfvm,secondary_dialtone_digits,secondary_dialtone_tone,musicclass,language,accountcode,audio_tos,audio_cos,video_tos,video_cos,echocancel,silencesuppression,callgroup,pickupgroup,amaflags,setvar,name) VALUES(121,212,"Line 121","Line121","internal",2,"on",121,88121,"MyName",121,89121,10,"0x22","default","en",121,"0xB8",6,"0x88",5,"on","off","1,3-5","3-5","","","121");MySQL> insert into buttonconfig (device,instance,type,name,options) VALUES("SEP010102030404",1,"line",121,""); Promotion : 2009 – 2011 31
  32. 32. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceMySQL> insert into buttonconfig (device,instance,type,name,options)VALUES("SEP010102030404",2,"speeddial","friend","122,122@hints");MySQL> insert into buttonconfig (device,instance,type,name,options)VALUES("SEP010102030404",3,"feature","dnd","busy");MySQL> insert into buttonconfig (device,instance,type,name,options)VALUES("SEP010102030404",4,"feature","cfwdbusy","122");Maintenant nous pouvons relancer Asterisk:#asterisk -rvvvAsterisk CLI>stop now#asterisk#asterisk -rvvvMaintenant Asterisk en plus de sccp.conf, utilise aussi la base de données MySQL pourauthentifier un équipement. Nous avons eu à configurer en masse des téléphones CISCO en utilisant le TFTP qui est unprotocole non sécurisé donc ne peut être utiliser qu’en local dans un même site mais qu’enest- il des téléphones distants se trouvant dans des sites différents et reliés à internet. Lestéléphones IP devront traverser un NAT, passer par internet et allés s’auto-configurer sur lesite distant ayant Asterisk. Ici nous ne pourrions plus utiliser le TFTP par mesure de sécuritémais le HTTP ou HTTPS. Donc le téléphone IP au démarrage va aller sur un site web (HTTPou HTTPS) sur lequel nous allons demander le login et le pass à l’employé. Après s’êtreauthentifié, le téléphone va se configurer et se mettre à jour et enfin se connecter à l’IPBX.Cette solution est très utile si on fait du clustering d’Asterisk (plusieurs IPBX Asteriskconnectés entre eux et éparpillés sur plusieurs sites avec lesquels on fait aussi du partage decharge.). Si l’un des Asterisk tombe en panne, tous les téléphones connectés à ce site doiventpouvoir basculer vers un autre IPBX Asterisk sur un autre site distant. Pour cela il faut avoirune base de donnée maître et des bases de données esclaves et redondants. Mais maintenant que nous avons réussi à configurer à distance plusieurs types de téléphonesCISCO et de les mettre à jour, une deuxième problématique se présente. Comment intégrerles contacts de l’entreprise ou université dans ces téléphones IP CISCO ? Promotion : 2009 – 2011 32
  33. 33. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance Chapitre III : Gestion des contacts Promotion : 2009 – 2011 33
  34. 34. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceIII.1 - Présentation Pour résoudre ce problème, nous créons une base de données contenant tous les contacts del’entreprise et nous faisons en sorte que les téléphones CISCO puissent y accéder à distance.En effet, les téléphones CISCO ont la possibilité, de lire du code PHP et d’afficher le résultatsur leur écran, ce qui nous sera utile pour afficher les contacts se trouvant sur le serveur webdistant. Pour expliquer le principe de fonctionnement, nous allons reprendre le schéma defonctionnement de l’auto provisioning auquel nous allons ajouter le serveur web : Figure III-21 : Principe de fonctionnement de gestion de contacts distant Après avoir interrogé le serveur TFTP, le téléphone CISCO récupère ses fichiers deconfigurations. Dans ces fichiers de configurations écrits en XML, nous allons indiquer, en Promotion : 2009 – 2011 34
  35. 35. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceplus du serveur IPBX (Asterisk), celui du serveur WEB dans lequel sont stockés les contactsde l’entreprise. Donc le téléphone CISCO, en récupérant ses fichiers de configurations,récupère aussi l’adresse IP du serveur WEB. Ensuite, lorsque l’employé veut le numéro d’unepersonne, le téléphone va interroger le serveur WEB. Le serveur WEB répond au téléphoneen donnant tous les numéros appartenant à cette personne. Comme nous pouvons le remarquer sur le schéma ci-dessus, pour afficher les contacts surle téléphone, nous n’avons pas besoin du serveur Asterisk. Néanmoins Asterisk devientnécessaire quand il faut appeler ces contacts.III.2 - Logiciels et Technologies utilisées Pour la mise en œuvre de cette solution, nous avons eu besoin de tous les logiciels etéquipements utilisés dans la mise en œuvre de l’auto provisioning (serveur DHCP, serveurTFTP, serveur Asterisk, téléphones IP CISCO, Switch) auquel nous ajouterons un serveurWEB. Un serveur WEB est un logiciel permettant de rendre accessibles à de nombreuxordinateurs (les clients) des pages web stockées sur le disque du serveur. Il est aussi appeléserveur HTTP. Linstallation suivante comprend linstallation de linterpréteur PHP, un langage deprogrammation permettant de créer des pages créées dynamiquement, ainsi que MySQL, unsystème de gestion de bases de données relationnelles puissant fonctionnant sous LinuxDebian.III.3 - Installation et Configuration Serveur TFTP La procédure d’installation à déjà été faite (Cf. II-4). La seule modification à apporter setrouve dans le fichier SEP000D657072B5.cnf.xml dans lequel nous allons indiquer le serveurWEB ainsi que le fichier en PHP que le téléphone va lire. SEP000D657072B5.cnf.xml <directoryURL>http://192.168.1.1/contacts/PhoneDirectory.php</directoryURL> <servicesURL>http://192.168.1.1/contacts/services.php</servicesURL> La balise <directoryURL></directoryURL> permet d’indiquer le lien menant vers lerépertoire de contacts. Et le <servicesURL></servicesURL> permet d’indiquer le lien versd’autres services. Nous utilisons la balise <servicesURL> pour pouvoir ajouter le service derecherche dans la base de données des contacts et le service d’aide aussi. Promotion : 2009 – 2011 35
  36. 36. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance Serveur Apache Il nous faut installer un serveur HTTP qui va soccuper dafficher nos différentes pages.Pour cela, nous allons installer lun des serveurs le plus utilisé et le plus connu : Apache.# apt-get install apache2Nous testons linstallation dapache : http://localhost: nous avons une page nous indiquant quetout est ok.Il va créer un dossier www (/var/www sur Debian) dans lequel nous allons mettre les pagesPHP qui seront lues par les téléphones CISCO. Serveur PHP Pour que le serveur puisse exécuter du code PHP et renvoyer le résultat, il faut installercette extension php5.# apt-get install php5Maintenant nous allons créer un dossier « contacts » et nous allons y mettre les pages PHP àutiliser pour afficher les contacts sur les téléphones CISCO. Le code source de ces pages ainsique l’explication de son fonctionnement se trouve dans ANNEXE-2 à la fin de ce mémoire.Et dans le fichier XML du serveur TFTP, nous allons mettre les liens pointant sur ces pagesPHP comme indiquer dans (Serveur TFTP) ci-dessus. Serveur MySQLPHP est très souvent couplé à un système de base de données : MySQL. Nous installerions iciMysql-server version 5. Vous verrez plus bas que nous allons également installerphpmyadmin. Il sagit dun script PHP qui permet de gérer ses bases de données MySQL defaçon très simple à travers le navigateur.# apt-get install mysql-serverNous vérifions que MySQL fonctionne bien :# mysql -pEntrons le mot de passe>exit;Nous installons les librairies php5-mysql pour pouvoir accéder à la base de données MySQLavec nos pages PHP:# apt-get install php5-mysqlNous installons PhpMyAdmin :# apt-get install phpmyadminChoix du serveur dans les paramètres de configuration qui s’affichent pendant l’installation :Apache2Nous redémarrons Apache quand proposéNous nous connectons sur ladresse http://localhost/phpmyadmin Promotion : 2009 – 2011 36
  37. 37. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance Maintenant que tout est bien installé, Nous allons créer la base de donnée que nous allonsutiliser pour stocker tous les contacts à afficher sur le téléphone.Nous nous loguons dans MySQL en ligne de commande.#mysql -u root -p#Nous entrons le mot de pass root.Nous créons la base de données pour les contacts « astcontacts » :>create database astcontacts;Nous nous connectons sur la base « astcontacts » :>Use astcontacts; Nous créons une table « contacts » dans lequel nous allons ajouter les paramètres de cescontacts comme le nom, le prénom, numéro maison (phone_home), numéro mobile(phone_mobile), numéro de travail (phone_work), autre numéro (phone other):>CREATE TABLE contacts ( id MEDIUMINT NOT NULL AUTO_INCREMENT, first_name varchar(100) default NULL, last_name varchar(100) default NULL, phone_home varchar(25) default NULL, phone_mobile varchar(25) default NULL, phone_work varchar(25) default NULL, phone_other varchar(25) default NULL, PRIMARY KEY (id), KEY idx_cont_last_first (last_name,first_name))TYPE=MyISAM;Pour ajouter les contacts en ligne de commande :>INSERT INTO contacts ( first_name, last_name, phone_home, phone_mobile, phone_work, phone_other) VALUES ( Emeric,Kamleu,5555551170,5555555212,5555555200,5555554685); Sinon nous pouvons aussi utiliser phpmyadmin (http://localhost/phpmyadmin) pour insérerles contacts. Une page s’affiche et nous demande le login et le mot de pass. Ensuite nouscliquons sur la base de données « astcontacts » dans le panneau de gauche ; nous cliquons surla table « contacts » et pour ajouter un contact on clique sur « insert ».Nous allons sur la base de données MySQL pour créer un nouvel utilisateur:>use mysql;Nous ajoutons l’utilisateur CISCO : Promotion : 2009 – 2011 37
  38. 38. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance>INSERT INTO user (Host,User,Password)VALUES(localhost,CISCO,PASSWORD(CISCO));Nous lui donnons les droits :>grant usage on *.* to CISCO@localhost identified by CISCO;Nous lui donnons l’accès :>grant all privileges on *.* to CISCO@localhost;Nous mettons à jour les privilèges :>FLUSH PRIVILEGES;>exit;Nous testons l’utilisateur :#mysql - u CISCO - p CISCO>use astcontacts;>select * from contacts;Le résultat va afficher les contacts insérés plus haut en ligne de commande.III.4 - Test de configuration Les liens menant vers le répertoire de contact et les services complémentaires (la recherched’un contact, etc…) ajoutés dans le fichier XML du serveur TFTP sont chargés au démarragepar le téléphone IP. Donc si nous modifions les liens dans SEP000D657072B5.cnf.xml, letéléphone ne le prendra en compte qu’au redémarrage.Maintenant quand nous cliquons sur le bouton répertoire, le téléphone IP va sur le serveurweb lire le fichier PHP correspondant et affiche le résultat. Figure III-22 : Répertoire de contacts Figure III-23 : Contacts de Mr Mamadou BarryNous avons aussi eu à implémenter des services complémentaires comme la recherche dansles contacts. Promotion : 2009 – 2011 38
  39. 39. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance Figure III-24 : Recherche du contact Ouya Figure III-25 : Contact Samuel Ouya trouvéAinsi que l’aide. Figure III-26 : Service daideIII.5 - Difficultés rencontrées et solutions Il est possible d’utiliser directement un fichier en XML que le téléphone va lire pourafficher les contacts.Ex : http://192.168.1.1/contacts/PhoneDirectory.xmlLa structure du fichier PhoneDirectory.xml sera : PhoneDirectory.xml <CiscoIPPhoneDirectory> <Title>Contacts IGTTT</Title> <Prompt>Selectionner un numéro pour appeler</Prompt> <DirectoryEntry> <Name>Le Chef: Akori </Name> <Telephone>11293110122</Telephone> </DirectoryEntry> <DirectoryEntry> <Name>Toto</Name> <Telephone>toto</Telephone> Promotion : 2009 – 2011 39
  40. 40. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance </DirectoryEntry> </CiscoIPPhoneDirectory> Cette méthode fonctionne mais elle est limitée car ne fonctionne pas sur tous les séries detéléphone; ne peut afficher qu’au maximum 32 contacts et n’affiche qu’un numéro detéléphone par contact. Le téléphone ne pouvant qu’afficher 32 contacts au maximum, si on enajoute un de plus dans ce fichier, le téléphone va afficher des erreurs. Donc il est plus utilepour les petites entreprises de moins de 33 employés. La deuxième difficulté vient du fait que les différentes séries des téléphones IP CISCOlisent de manière différente le code PHP. Lors de nos test, les téléphones IP CISCO 7912lisaient sans problème le fichier d’affichage des contacts et affichait le résultat. Mais letéléphone IP CISCO 7940 en lisant le même fichier affichait des erreurs tout simplementparce que dans ce code PHP, il y avait deux fonctions « echo » (un echo pour exécuter desparamètres et un autre pour afficher le résultat). Le « echo » est utilisé en PHP pour afficherdes informations à l’écran où exécuter des paramètres. Or le CISCO IP phone 7940 lorsqu’ilrencontre un « echo » dans le code PHP, il sait que ce n’est que pour afficher un résultat.Donc il s’attend à une structure XML contenant des contacts à afficher. Si le « echo » sert àexécuter des paramètres, le téléphone ne comprend pas et affiche des erreurs. C’est pour cetteraison que nous avons effectué des modifications aux différents codes utilisés pour afficherles contacts comme sur les autres séries. Ces nouveaux codes compatibles avec tous lestéléphones seront ajoutés à l’annexe-2. Ayant testé cette solution, nous avons remarqué que ça prend du temps pour rechercher uncontact ou parcourir tous les contacts dans le répertoire. Et plus le nombre de contactsaugmente, et plus le temps de retrouver un contact augmente. Pour améliorer l’ergonomie,nous pouvons essayer de voir dans quelle mesure implémenter la prédiction d’appel. Donc aulieu de rechercher dans le répertoire de contacts ou parcourir ce même répertoire, nouspouvons juste commencer à composer le nom, prénom ou numéro et le téléphone varechercher dans la base de données les contacts correspondants à ce nom, prénom et numéroet le proposer en temps réel à l’appelant. Nous avons remarqué dans certains pays comme le Sénégal, la plupart des habitants ont leou les mêmes noms (mamadou, diouf, aliou, fatou, etc…). Donc dans une entreprise commela Sonatel par exemple qui possède des milliers d’employés repartis sur plusieurs sites, lerépertoire de contacts peut contenir des doublons ; ce qui va poser des problèmes pour choisirla bonne personne à appeler. Nous pouvons réduire ce nombre de doublons en ajoutant danschaque contact le champ description pour préciser ses fonctions dans la société et permettreles appels par adresses mail si on utilise dans Asterisk les appels par noms. Donc nouspourrions différencier les employés par site ou département. Ex : par site on aura mamadou.diouf@sonatel-dakar et mamadou.diouf@sonatel-thies. Oupar département aliou.diagne@comptabilité et aliou.diagne@technique. Promotion : 2009 – 2011 40
  41. 41. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance Pour réduire la congestion dans un réseau, nous allons dans la suite implémenter leséchanges de présence entre les abonnés. Ces échanges de présence vont permettre auxabonnés de n’appeler que lorsque leur correspondant est disponible et donc réduire lessignalisations inutiles (appels vers un correspondant en communication, occupé oudéconnecté du réseau). Promotion : 2009 – 2011 41
  42. 42. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance Chapitre IV : PRESENCE Promotion : 2009 – 2011 42
  43. 43. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceIV.1 - Présentation La présence est définie comme suit: " Mise à jour dynamiquement des informations sur létat des entités sélectionnées, oùlinformation, les états, la sélection et la dynamique de mise à jour sont variables et adapté àlapplication". Avant la présence se limitait au statut "en ligne", "déconnecté", "occupé" dans la messagerieinstantanée. De nos jours, la présence peut s’appliquer à la téléphonie et couplée avecd’autres technologies, fournir des services variés. Maintenant la présence n’est plus liée qu’austatut ; c’est aussi la disponibilité pour différents services (suis-je disponible à accepter desappels, à accepter des SMS, à une (vidéo) conférence où avec qui je veux discuter?) ; c’estaussi donné ma localisation (je suis à la maison, au boulot, à l’école). Toutes ces informationsde présence peuvent être données manuellement ou automatiquement en utilisant desapplications ou technologies tierces comme le logiciel de calendrier, téléphone, ladomotique, la voiture, la géolocalisation, blog, etc... Figure IV-27 : Processus de fonctionnement de la présence. Bob publie ses informations de présence à travers plusieurs types d’applications (GPS, calendrier, soft phone, blog) et ses contacts, Alice et Sara sont immédiatement notifier.Sans tenir compte de la multitude de services qu’il peut offrir, La présence est importantedans un réseau de téléphonie car si l’appelant en consultant ses contacts se rend compte quecelui avec qui il veut correspondre n’est pas disponible, alors l’appelant ne va pas appeler etdonc moins de gaspillage de bande passante et une meilleure gestion des ressources. Promotion : 2009 – 2011 43
  44. 44. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceIV.2 - Solution retenueIl existe deux types de protocoles de présence ouvert : XMPP et SIP/SIMPLE. SIMPLE est un protocole informatique. Le sigle signifie: "SIP for Instant Messaging andPresence Leveraging Extensions (simple)". SIMPLE applique le protocole Session InitiationProtocol (SIP) aux problèmes concernant: Linscription pour avoir des informations sur la présence ou non dune personne et la réception des notifications quand linformation de présence change. Par exemple, quand un utilisateur se logue sur son poste ou revient du déjeuner. Lenvoi de petit message, tels que les SMS. La gestion dune conférence.Limplémentation des bases du protocole SIMPLE peut être trouvée dans les SIP Softphones(X-Lite, Lotus Sametime, SIP Communicator) et les SIP Hardphones. Après plusieurs années de formats propriétaires (Yahoo Messenger, MSN…), lIETF aentériné un standard de messagerie instantanée : XMPP, pour Extensible Messaging andPresence Protocol (protocole extensible de messagerie et de présence). Basé sur XML et issu du projet Open Source Jabber et ses nombreuses implémentations, ceprotocole a depuis été utilisé au sein de loutil de messagerie Google Talk, ainsi que dansdautres projets.XMPP nest pas le seul protocole établi par lIETF : SIP/SIMPLE (pour Session InitiationProtocol for Messaging and Presence Leveraging Solutions) y est également un standard. SIP,bien quencore au stade de lélaboration, est en partie implémenté dans les récentes versionsde Windows Messenger. Lavantage premier de XMPP est dêtre basé sur XML. Celui lui ouvre des possibilitésdextension inaccessibles à SIP. Grâce à cela, XMPP peut être utilisé dans des applications etsystèmes très divers. Cependant nous avons retenu la solution SIP/SIMPLE à implémenter car le protocole SIPest largement utilisé de nos jours par les téléphones logiciels comme matériels et la plupartpeuvent supporter le SIMPLE à travers une mise à jour du firmware si ce n’est pas déjà lecas. De l’autre côté, le protocole XMPP est supporté par peu de téléphones logiciels et trèsrarement supporté par les téléphones matériels. Toutefois on peut implémenter la présencesur Asterisk avec le XMPP en utilisant Openfire. Promotion : 2009 – 2011 44
  45. 45. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceIV.3 - Logiciels et Equipements utilisés Pour implémenter le SIP/SIMPLE, nous avons eu à tester plusieurs solutions dont :Opensips, Kamailio. Mais ces deux logiciels ne font que récupérer et envoyer lesinformations de présence à ceux qui le demandent même ceux non autorisés. C’est pour cetteraison que nous utilisons un autre serveur chargé d’appliquer les politiques de présence quiutilise le protocole XCAP.XCAP (XML Configuration Access Protocol) est un protocole applicatif permettant à unclient de lire, écrire et modifier des informations de configuration stockées sur un serveurdans un format XML. L’accès à ces fichiers de configuration se fait avec le protocole http.Un serveur XCAP est utilisé par des clients XCAP pour stocker des donnés telles que deslistes de contacts et des politiques de présence en coopération avec un serveur de présenceSIP supportant les méthodes PUBLISH, SUBSCRIBE et NOTIFY afin de fournir unesolution complète de serveur SIP SIMPLE.Donc après avoir testé Opensips (serveur de présence) avec Openxcap (serveur de politiquede présence) d’une part, et Kamailio (Comme serveur de présence et en même temps serveurde politique de présence) d’autre part, nous avons retenu la solution Kamailio pourdifférentes raisons : Kamailio intègre déjà un serveur XCAP ce qui est plus intéressent si on veut installer une solution complète de présence sur un seul et même serveur ce qui est notre cas. En plus un module à été introduit à la version 3.1.0 de Kamailio (xhttp) qui est capable de capturer tout type de paquet http. si c’est un paquet XCAP alors xhttp l’envoi au serveur XCAP intégré (le module xcap_server). Donc Kamailio peut en même temps échanger les signalisations SIP sur le port 5060 et échanger les informations XCAP en http sur le même port 5060. Opensips et Openxcap sont plus utilisés dans un réseau où l’on veut séparer physiquement le serveur de présence du serveur de politique de présence car si tous les deux sont installés dans un même serveur plus de ressources sont utilisés et il faut en plus définir deux ports : le port du serveur de présence (par défaut 5060) et le port du serveur XCAP (par défaut 80). Or si le serveur sur lequel on veut les installer possède déjà un serveur web (ce qui est notre cas), il faut modifier le port d’Openxcap et l’adresse menant à lui sur tous les clients XCAP. Promotion : 2009 – 2011 45
  46. 46. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceIV.4 - Installation et Configuration Figure IV-28 : Schéma dinterconnexion global avec présence KamailioNous commençons par installer Kamailio :#cd /usr/local/src/#git clone --depth 1 git://git.sip-router.org/sip-router Kamailio-3.1.0#cd Kamailio-3.1.0#git checkout -b 3.1 origin/3.1#make PREFIX=/usr/local/kamailio-3.1-xcap FLAVOUR=kamailio include_modules="db_mysql presence presence_xml xhttp xcap_server" cfg#make all#make installNous éditons le fichier /usr/local/kamailio-3.1-xcap/etc/kamailio/kamctlrc pour donnerSIP_DOMAIN=[le nom de domaine SIP sinon adresse IP serveur SIP] et DBENGINE=[labase de données utilisée]. kamctlrc SIP_DOMAIN=192.168.1.1 DBENGINE=MYSQL Promotion : 2009 – 2011 46
  47. 47. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceEnsuite nous créons la base de données de Kamailio :#/usr/local/Kamailio-3.1-xcap/sbin/kamdbctl create#yes#yesNous ajoutons des utilisateurs SIP dans la base de données de Kamailio :#/usr/local/kamailio-3.1-xcap/sbin/kamctl add alice alice#/usr/local/kamailio-3.1-xcap/sbin/kamctl add bob bobNous remplaçons le fichier /usr/local/Kamailio-3.1-xcap/etc/Kamailio/Kamailio.cfg par celuiprésent sur cette page (http://kb.asipto.com/kamailio:presence:k31-made-simple). Donc oncopie tout le fichier indiqué par les traits rouges et nous remplaçons tout ce qui se trouve danskamailio.cfg. Figure IV-29 : image du fichier à copier sur la page webIV.5 - Test de configuration Pour tester le fonctionnement de la présence nous allons utiliser le logiciel SIPCommunicator ou jitsi. Voici la procédure de configuration du téléphone logiciel : Nous commençons par enregistrer un utilisateur en cliquant sur «Add New Account ».Nous choisissons le compte SIP puis nous l’ajoutons un compte alice@adresse serveur oudomaine ; nous mettons le mot de pass alice et nous cliquons sur advanced pour configurer laprésence. Promotion : 2009 – 2011 47
  48. 48. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance Figure IV-30 : Ajout du compte alice dans SIP Communicator Nous cliquons sur Enable XCAP stored contacts pour stocker les contacts sur le serveurXCAP et nous ajoutons le lien d’écoute du serveur http://Adresse serveur oudomaine :5060/xcap-root. Puis nous cliquons sur Next et nous nous enregistrons. Figure IV-31 : Activation de la présence et activation du stockage sur le serveur xcapEnsuite nous recommençons la même procédure avec bob et nous ajoutons à l’un, l’autrecomme contact puis nous acceptons l’autorisation et nous arrivons à voir l’état de l’autre. Promotion : 2009 – 2011 48
  49. 49. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceFigure IV-32 : Alice voit bob en ligne Figure IV-33 : Bob voit aussi Alice en ligneLorsque nous changeons l’état de l’un l’autre s’en rend compte.Figure IV-34 : Alice reste en ligne mais voit bob absent Figure IV-35 : Bob est absentFigure IV-36 : Alice ne veut pas être dérangée Figure IV-37 : Bob voit Alice comme indisponible Promotion : 2009 – 2011 49
  50. 50. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceFigure IV-38 : Alice est déconnectée Figure IV-39 : Bob voit Alice comme déconnectéIV.6 - Difficultés rencontrées et insuffisances L’une des difficultés vient du fait qu’à chaque mise à jour mineure comme majeure deslogiciels (Kamailio, Opensips, Openxcap), il y a des modules qui sont ajoutés, d’autres sontsupprimés, des paramètres sont ajoutés et d’autres sont retirés. Mais les tutoriels deconfiguration sont rarement mis à jour pour prendre en compte les nouvelles modifications.Donc nous devions avoir des bases en langage de programmation et en débogage pour arriverà bien configurer ces différents logiciels (Opensips, Openxcap, Kamalio). Une autre difficulté est dû aux logiciels qui ne supportent pas totalement la présence ni lestockage distant. En effet l’autre fonctionnalité du serveur XCAP est la mobilité des clients.Chaque fois qu’un téléphone ajoute des contacts dans son répertoire, ce contact estsauvegardé sur le serveur XCAP. Donc même si nous changeons de softphone les contacts neseront pas perdus. Lors de nos tests, nous avons remarqué que la plupart des logicielssupportant la présence et le stockage XCAP pouvaient seulement sauvegarder les contacts surle serveur XCAP mais ils ne pouvaient pas les récupérer si nous changions de client. Une possibilité d’amélioration est de pouvoir utiliser la géolocalisation et la domotiqueavec la présence. Comme exemple de service, un employé possédant un smartphone est enentrain de rentrer chez lui et son smartphone, doté d’un outil de géolocalisation détermine saposition constamment. Lorsque le smartphone se rend compte que l’employé est à 400 mètresde sa maison, il envoie automatiquement un signal de présence au serveur de présence del’opérateur qui ensuite le notifie au serveur domotique de la maison de l’employé. Le serveurdomotique analyse le message de présence et décide d’allumer la climatisation et les lumièresdans la maison avant que l’employé n’arrive. Un autre exemple intéressant serait par exemple d’utiliser la géolocalisation et la présencepour autoriser les appels. En effet si nous voulons appeler par exemple une personne setrouvant à 20-30 mètres de nous, alors le téléphone refuse de l’appeler et à la place nousindiquent sa position géographique. Promotion : 2009 – 2011 50
  51. 51. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance Pour lutter contre la criminalité, le vol et les agressions, la vidéo surveillance est la solutionla plus utilisée pour surveiller les locaux, les rues, etc… dans les entreprises comme dans lesuniversités. Seulement pour pouvoir visualiser les caméras, il faut un ou plusieurs écrans detélévisions ou d’ordinateurs. A l’ère de la mobilité, pourquoi ne pourrions-nous pas surveillerces locaux avec nos téléphones. C’est pour cette raison que nous allons dans la suite diffuserle flux vidéo de la caméra de l’ESMT sur un téléphone IP. . Promotion : 2009 – 2011 51
  52. 52. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance Chapitre V : Streaming Promotion : 2009 – 2011 52
  53. 53. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillanceV.1 - Présentation et Scénario de fonctionnement Le streaming est une technologie qui permet de visionner/écouter un fichier vidéo/audio aufur et à mesure de son arrivée sur un ordinateur, par opposition au téléchargement, quinécessite un rapatriement total. Le streaming est une technique de transfert de données sous forme dun flux (Stream enanglais) régulier et continu qui permet de diffuser des contenus multimédias sur Internet, à lademande et en temps réel, sans solliciter le disque dur. Il utilise des formats de compressionet des protocoles adaptés permettant de distribuer et de diffuser en temps réel, via Internet,des contenus multimédias volumineux. Le contenu est lu au fur et à mesure qu’il est stockéen mémoire. Les applications demandant du streaming sont nombreuses. Comme exemple : • la formation à distance permettant à des utilisateurs situés à différents endroits du globe de suivre un cours en simultané; • l’envoi en parallèle de flux boursiers et de nouvelles télévisées au travers d’un réseau local IP; • l’envoi d’une vidéo ou d’une émission TV dans le cadre de la communication dans une entreprise, tel que l’allocution du Président ou le lancement d’un nouveau produit; • la diffusion de chaînes TV ou de radios traditionnelles pouvant être vues et écoutées à n’importe quel endroit de la planète via un accès Internet; • la location d’une vidéo à distance selon le principe «VoD» (Video on Demand). • La vidéosurveillance Contrairement à un fichier que vous auriez entièrement téléchargé avant de le lire, lesfichiers multimédias transmis par streaming sont fortement "compressés", cest à dire réduitspour faciliter leur transmission et ainsi permettre leur lecture en temps réel. Ses applicationssont nombreuses, depuis la diffusion dun morceau jusqu’à la transmission de vidéo en directà travers le net, Il existe deux sortes de streaming : lun est dit "dynamique", lautre est dit"statique". Aussi appelé pseudo streaming ou « faux » streaming. Le streaming statique est fait à partird’un serveur web habituel et utilise des protocoles HTTP et FTP. Lire en streaming statiqueconsiste à lire progressivement le fichier pendant son téléchargement. En fait le fichier esttéléchargé, et après quelques secondes nécessaires au chargement des premières secondes dufichier multimédia, le navigateur commence à le lire pendant que derrière la suite du fichierest téléchargée. Le fichier téléchargé est détruit par le navigateur après son utilisation. Cetype de streaming permet donc d’utiliser n’importe quel type de fichier multimédia, mais ilfaut que les fichiers soient préalablement stockés dans la mémoire ram, il ne peut pastransmettre de flux en temps réel, c’est pourquoi l’on parle ici de « faux » streaming. Dans le cas du streaming dynamique, le fichier diffusé contient plusieurs fois les mêmesinformations à différents niveaux de qualité. En fonction de la vitesse de connexion delinternaute, le serveur sélectionnera le niveau de qualité maximal pour une diffusion entemps réel. Promotion : 2009 – 2011 53
  54. 54. Auto provisioning – Gestion des contacts – Présence – Vidéo surveillance Contrairement au streaming statique, ici il n’est pas nécessaire de télécharger l’ensemble dufichier vu que le serveur de streaming envoie au client les données en temps réel et ne sontpas stockées comme le ferait le pseudo streaming, en effaçant automatiquement les donnéesaprès la lecture. Il n’y a donc pas de copie du média sur le disque dur du client. Il transmet lecontenu en temps réel, mais il convient aussi pour la diffusion de fichiers préenregistréscomme le streaming statique. De plus, ce streaming s’adapte à la bande passante del’utilisateur, il ne va pas en utiliser plus que nécessaire. Si le flux de données est supérieur àla bande passante disponible, la vidéo sera coupée. Le serveur est également capable desadapter automatiquement aux variations de la bande passante : si la connexion se détérioreet que le taux de transfert baisse, le contenu est livré avec une moindre qualité afin déviterles interruptions de diffusion. Si en revanche la connexion devient plus fluide, la qualitésaméliore.Pour pouvoir diffuser une vidéo en streaming sur un téléphone logiciel comme matériel, ilfaut un transcodage pour pouvoir adapté le format de la vidéo à celle du téléphone. Figure V-40 : Schéma de fonctionnement dAsterisk Comme on peut le voir sur le scénario de fonctionnement le téléphone doit pouvoircomposé un numéro que Asterisk va analyser et aller récupérer le flux vidéo qu’il va rediriger Promotion : 2009 – 2011 54

×