Manuel d`utilisation UM FR VISU+ ALARM
Transcription
Manuel d`utilisation UM FR VISU+ ALARM
Supervision and control XML-based on Windows Vista and Windows CE Alarm Dispatcher Table des matières 1. ALARM DISPATCHER .................................................... 3 1.1. GENERALITES .......................................................................... 3 1.2. MENU COMMANDES ................................................................... 4 1.3. LICENCE ............................................................................... 5 1.4. GESTION MULTILINGUE DES MESSAGES ............................................. 5 2. PARAMETRES ............................................................... 7 2.1. PARAMETRES GENERAUX ............................................................. 7 2.2. UTILISATEURS ......................................................................... 8 2.3. MODULES D'EXTENSION (PLUG-IN) ................................................ 9 2.4. UTILISATION DE L'ALARM DISPATCHER AVEC WINCE .......................... 10 2.5. ENVOI D'E-MAILS (VIA SMTP) ................................................... 10 2.6. ENVOI D'E-MAILS (VIA MAPI) .................................................... 11 2.7. SMS VIA SMPP .................................................................... 12 2.8. SMS VIA LE PROTOCOLE UCP-EMI ................................................ 14 2.9. SMS VIA MODEM GSM ............................................................ 15 2.10. FAX ................................................................................. 16 2.11. MESSAGE VOCAL .................................................................. 17 3. ERREURS ................................................................... 21 3.1. ERREURS SUR LES PLUGINS ........................................................ 21 4. INTERFACE COM ........................................................ 25 4.1. DISPATCHERDOM OBJECT ........................................................ 25 4.2. DISPATCHERDOM.ALDINIT ....................................................... 25 4.3. DISPATCHERDOM.EMPTYQUEUE .................................................... 26 4.4. DISPATCHERDOM.GETDISPATCHERSTATE ...................................... 27 4.5. DISPATCHERDOM.GETMSGSTATUS .............................................. 27 4.6. DISPATCHERDOM.PUTLOG ....................................................... 28 4.7. DISPATCHERDOM.REMOVEMESSAGE ............................................ 29 4.8. DISPATCHERDOM.SENDMESSAGE ............................................... 30 4.9. DISPATCHERDOM.SETDISPATCHERSTATE ...................................... 34 2 1. Alarm Dispatcher 1.1. Généralités L'Alarm Dispatcher est un logiciel envoyant des messages en utilisant divers moyens de communication (Plug-in). Les techniques de communication disponibles sont: 1. 2. 3. 4. 5. 6. 7. Messages SMS au moyen du protocole SMPP Messages SMS au moyen d'un GSM Envoi d'un Fax Envoi de Messages vocaux (Synthèse Vocale) Envoi d'E-mails au moyen du protocole SMTP Envoi d'E-mails avec MAPI Messages SMS à travers le protocole Ucp-Emi. Le logiciel est conçu par Phoenix Contact pour Visu+ ou pour tout logiciel capable de traiter les fonctions, les propriétés et les méthodes disponibles dans le programme de l'Alarm Dispatcher. L'utilisation de Visu+ est totalement transparente pour la notification des messages et pour le traitement général de l'information. Cependant, son utilisation peut être personnalisée au moyen de scripts VBA. Des programmes tiers peuvent aussi commander l'Alarm Dispatcher pour la notification de messages selon les techniques de programmation décrites dans cette documentation. L'Alarm Dispatcher entretient une liste des destinataires et la liste des plug-in à utiliser, pour chacune des configurations de ses projets, afin d'envoyer des messages. L'Alarm Dispatcher est conçu pour agir comme un serveur expédiant des messages. Les messages proviennent de Visu+ ou d'une application Cliente qui doit s'interfacer en utilisant les fonctions adéquates. La réception des messages et leur diffusion laisse un trace dans la fenêtre de Trace. Utiliser par Visu+ 3 A L A R M _ D I S P A T C H E R Visu+ utilise les fonctions du Alarm Dispatcher de façon complètement transparente. Les messages sont transmis par les propriétés des alarmes du projet Visu+ et les profils utilisateusr (Destinataires) sont ceux de la gestion d'utilisateurs du projet Visu+. Cependant, il est possible d'utiliser les scripts VBA Visu+ pour personnaliser la gestion des notifications en fonction des besoins. Méthodes d'exploitation L'Alarm Dispatcher a deux méthodes d'exploitation : 1. 2. Configuration Exécution Configuration Le programme démarre en mode conception (sauf pour un démarrage avec une ligne de commande) à partir duquel est possible de créer de nouveaux projets et d'ouvrir des projets existants, de les modifier et de les enregistrer. Le démarrage du programme charge le dernier projet sauvegardé. Dans ce mode il est possible d'accéder aux fenêtres de paramétrage du projet, au moyen de l'item du menu "Paramètres" ou en utilisant les boutons sur la barre d'outils. Le menu "Fichier", et les boutons associés sur la barre d'outils, permettent de traiter des projets nouveaux ou préexistants. Les commandes Démarrer et Arrêter, présentes dans le menu "Fichier", permettre de passer d'un mode d'exploitation à un autre. Exécution Dans ce mode, les messages sont en réalité expédiés et envoyés. Quand c'est possible, suivant les critères de chaque type de message, les messages pour un même Destinataire sont groupés dans un seul message, afin d'économiser du temps et des ressources. Il n'est pas possible de modifier les paramètres de travail ou de fermer le programme. Pour le faire, il est nécessaire de retourner en mode conception de Projet. Une icône indique l'état de l'application et permet d'accéder à la fenêtre du journal. Utilisez le bouton droit de la souris pour activer le menu contextuel qui propose certaines commandes, utiles si l'application a été démarrée par un autre programme en tant qu'application cachée. Windows 32/64 bit On peut exécuter directement l'Alarm Dispatcher en modalité Run en utilisant l'option sur la ligne de commande "/R". A partir de cette dernière, vous pouvez aussi spécifier le fichier du projet devant être chargé et exécuté. En absence de spécification, l'Alarm Dispatcher exécutera le dernier projet chargé. Windows CE Sur WinCE, l'Alarm Dispatcher ne peut être exécuté qu'en modalité Run. Si le parcours du projet à exécuter n'est pas spécifié, l'Alarm Dispatcher recherche la présence d'un fichier d'initialisation de base de la compact flash. Le fichier d'initialisation doit s'appeler "Dispatcher.boot", et doit être en format XML et reporter l'attribut "filename" indiquant le parcours et le nom du fichier que le Dispatcher doit exécuter. En absence du fichier d'initialisation, le Dispatcher exécute le projet "AlarmDispatcher.Dspt" qui se trouve généralement dans le même dossier. Exemple de configuration d'un fichier d'initialisation "Dispatcher.boot" : <?xml version="1.0" encoding="ISO-8859-1" ?> <boot> <filename>\SSD\ProjectFolder\ProjectName.Dspt</filename> <boot> 1.2. Menu Commandes Menu File/Menu Fichier New/Nouveau Ouvrir un nouveau projet, en définissant les valeurs par défaut pour les attributs. De la fenêtre de dialogue pour sélectionner un fichier, sélectionner le chemin et le nom du nouveau projet. Open/Ouvrir 4 A L A R M D I S P A T C H E R Ouvrir un projet existant. L'extension par défaut est <nom>.dspt Save/Enregistrer Enregistrer le projet en cours. L'extension par défaut est <nom>.dspt Save as/Enregistrer Enregistrer le projet actuel dans un nouveau projet. Run/Démarrer Exécuter le processus d'envoi de messages, en utilisant les paramètres du projet. Stop/Arrêter Arrêter le processus d'envoi. Le programme retourne en mode conception de Projet. Exit/Quitter Quitter le programme. 1.3. Licence L'Alarm Dispatcher n'a pas besoin de licence s'il est utilisé par Visu+ puisqu'il exploite la licence de Visu+.Il requiert l'activation de l'option "Alarm Dispatcher" sur la clé de licence runtime de Visu+. Mais, s'il est utilisé avec un programme tiers, le programme nécessite un code d'activation qui doit être défini au moyen de l'interface COM. BOOL AlDInit(LPCTSTR lpszSerialNumber) Sujet : LPCTSTR lpszSerialNumber Code de la licence pour désactiver le mode Démo. Retour : TRUE (1) si le code saisi est exact. Permet de sortir du mode d'exploitation démonstration. En mode démonstration, les fonctionnalités sont complètes, sauf le fait que le message envoyé est un texte constant et qu'il ne peut pas être modifié par l'utilisateur. Entrer en contact avec l'interlocuteur commercial du distributeur local pour obtenir un code de licence. Le code d'activation doit être traité comme un paramètre d'initialisation par le programme utilisateur. Le code acquis est valable pour utiliser le programme sur un poste seulement. 1.4. Gestion multilingue des messages L'utilisation de l'Alarm Dispatcher à l'intérieur de Visu+ permet de gérer l'envoi multilingue des messages. Un projet Visu+ permet en effet d'associer une langue implicite à chaque utilisateur ou groupes d'utilisateurs et d'envoyer le message au Dispatcher dans la langue de l'utilisateur (naturellement cela implique la définition du Tableau des Chaînes pour la gestion multilingue dans le projet Visu+). Cela signifie par exemple qu'un mail qui est envoyé à trois utilisateurs différents, chacun d'eux recevra le texte dans sa propre langue implicite. Le mécanisme fonctionne pour l'envoi des messages SMS, E-mail et FAX. Pour l'instant, les messages ne peuvent pas être envoyés vocalement (Voice) car le TTS Engine, c'est à dire la voix avec laquelle le Dispatcher effectue le speech du texte ne peut pas être modifiée. Cela signifie, qu'indépendamment de la langue avec laquelle le texte est transmise au Dispatcher, le speech sera toujours fait avec le TTS Engine paramétré dans le plug-in "Voice Message Sender" du Dispatcher (par exemple, en sélectionnant « Sam » comme voix, le speech sera toujours effectué en utilisant les phonèmes en anglais, même si le texte des messages est en italien, allemand, etc.). 5 A L A R M _ D I S P A T C H E R 6 2. Paramètres 2.1. Paramètres généraux Les Paramètres Généraux définissent certaines configurations générales pour tout le projet. Il y a trois sections : Log, Communication et Priority delays. Log Vérifie la possibilité d'enregistrer le chemin du fichier et le nombre maximal de lignes sur les fichiers événement, avant que le fichier ne soit recycler. Enable log to file/Autoriser fichier Trace : si activé, il génère un fichier contenant une trace des événements qui arrivent pendant le fonctionnement du programme, c'est-à-dire le début et la fin, l'envoi des erreurs de messages et de diffusion. Max Number of row in log/Nombre maximal de lignes tracées : le nombre maximal de lignes tracées. Les enregistrements successifs sont recopiés sur les lignes les plus anciennes (recyclage). Log file name/Nom du fichier Log : un nom du fichier log peut être spécifié ici. Si rien n'est saisi, le fichier log aura le même nom que le projet, avec l'extension .dsplog. Communications Détermine la méthode de notification des messages. # Messages : détermine le nombre de tentatives consécutives pour la notification des messages. Après un nombre défini de tentatives, le programme indique une erreur dans l'envoi du message. 7 A L A R M _ D I S P A T C H E R # Modules retry : détermine le nombre d'erreurs consécutives dans la notification des messages pour un module (Plug-in). Après un nombre défini de tentatives, le programme indique une erreur dans le module concerné. Voice Multiplex : si cette option est sélectionnée, la notification des messages vocaux est alors envoyée à tous les destinataires d'un groupe, indépendamment d'un acquittement individuel par chaque utilisateur destinataire. Priority delays Détermine la méthode de notification des messages. Priority thread - Delay : paramètres pour la priorité de notification des messages. Chaque priorité dispose du temps de retard correspondant (minute). Si le message est notifié par Visu+, la priorité définie à l'alarme identifie le temps de retard pour la notification correspondante. En cas de demandes d'envoi de messages à des programmes tiers, il est nécessaire de définir une priorité d'envoi (la fonction SendMessage), dont le nombre correspondant détermine le temps de retard relatif. Exemple : s'il y a une ou deux alarmes à notifier, le programme vérifie la priorité et par conséquent le temps de retard défini. Il continue alors l'envoi du message qui a le temps de retard le plus faible, identifiant le temps sur base de la priorité. 2.2. Utilisateurs La fenêtre de paramétrages des Destinataires est utilisée pour saisir les données générales des destinataires de notifications, disponibles pour le projet. Les utilisateurs insérés sont inscrits à gauche. Chaque utilisateur peut être ajouté utilisant le bouton "Add/Ajouter", modifié utilisant le bouton "Modify/Modifier" ou supprimer en utilisant le bouton "Delete/Supprimer". Name/Nom Définit le nom du Destinataire. Cela peut être une chaîne de caractères. Mobile Number/Numéro du mobile Définit le numéro de téléphone du portable du destinataire pour recevoir les messages SMS notifiés par le programme. Le nombre consiste en trois parties : le code international, l'indicatif et le numéro de téléphone. Voice Number/Numéro de la synthèse vocale Définit le numéro de téléphone du portable du destinataire pour recevoir les messages Vocaux notifiés par le programme. 8 P A R A M È T R E S Le nombre consiste en trois parties : le code international, l'indicatif et le numéro de téléphone. Fax Number/Numéro de Fax Définit le numéro de téléphone du portable du destinataire pour recevoir les messages fax notifiés par le programme. Le nombre consiste en trois parties : le code international, l'indicatif et le numéro de téléphone. Mail Address/Adresse e-mail Définit l'adresse e-mail pour recevoir les e-mails notifiés par le programme. Messenger Définit l'adresse du destinataire utilisateur connecté en ligne au moyen du programme Messenger de Microsoft Windows. Utilisation par Visu+ Visu+ utilise les fonctions du Alarm Dispatcher d'une façon complètement transparente. Les messages sont transmis par les propriétés des alarmes du projet Visu+ et les profils des utilisateurs (Destinataires) sont ceux de la gestion des utilisateurs du projet Visu+. Cependant, il est possible d'utiliser Visu+ VBA des Scripts pour personnaliser la gestion de notification selon les pré-requis. 2.3. Modules d'extension (Plug-In) La fenêtre de paramétrage des Plug-in (Modules de Notification) permet d'insérer le mode de transmission de la notification des messages, en utilisant les plug-in (module d'extension) disponibles dans le programme. Chaque plug-in disponible peut être librement inséré et configuré dans le programme, suivant les pré-requis. Les plug-in disponibles sont listés à gauche, tandis que ceux qui sont insérés sont listés à droite. Chaque plug-in peut être sélectionné et ajouté ensuite en utilisant le bouton "->", ou supprimé en utilisant le bouton "<-". Chaque plug-in inséré doit être configuré. Pour activer la fenêtre de configuration d'un module, sélectionnez-le dans la liste des modules insérés et double cliquer ou utiliser le bouton "Configure/Configurer". La fenêtre est affichée avec les paramètres relatifs. Le bouton "Version" est utilisé pour vérifier la version et la release de chaque module inséré. Le numéro de la version est utile pour vérifier la disponibilité de versions ultérieures. 9 A L A R M _ D I S P A T C H E R 2.4. Utilisation de l'Alarm Dispatcher avec WinCE L'Alarm Dispatcher est aussi compatible avec les systèmes d'exploitation Windows CE. Dans ce cas, vous devez suivre une certaine procédure. Avec WinCE, l'Alarm Dispatcher charge toujours le projet "AlarmDispatcher.Dspt". Ce projet doit se trouver dans le dossier d'installation de Visu+ CE avec les autres fichiers de configuration des plug-in e-mail et SMS (le plug-in pour l'envoi des messages vocaux n'est pas pris en charge). Tous les fichiers susmentionnés sont installés avec l'Alarm Dispatcher, mais peuvent avoir besoin d'être modifiés. Par exemple, vous pouvez avoir besoin de modifier le port COM sur lequel l'Alarm Dispatcher recherche le modem GSM, ou le Serveur SMTP à utiliser pour l'envoi des e-mail. Donc pour modifier ces fichiers de projet installés par le set-up, vous pouvez les copier sur le bureau du PC, les modifier avec l'éditeur de l'Alarm Dispatcher et les recopier dans le dossier d'installation de Visu+ CE. Au cas où l'application ferait partie intégrante de l'image de WinCE, vous devrez effectuer une routine au start-up du projet ou du dispositif pour copier les fichiers du projet de l'Alarm Dispatcher de la compact flash dans le dossier "\Windows". 2.5. Envoi d'E-mails (via SMTP) Cette fenêtre de paramètre permet la configuration du système de notification des messages par l'utilisation du courrier électronique (e-mail) accédant directement à un serveur utilisant le protocole SMTP. Ce type de notification permet d'envoyer le courrier électronique aussi en l'absence d'un programme d'envoi de courrier (par exemple Ms Outlook) sur le PC. Le système de notification utilise cependant un modem pour accéder à Internet. Mail Settings Static From Address Cette option permet de définir une adresse à mentionner dans le message comme adresse de l'expéditeur. Cette option est utile pour utiliser les serveurs qui ne permettent d'envoyer le courrier que si l'expéditeur fait partie du domaine. Server Address/Adresse Serveur Ce paramètre permet de définir le nom du serveur de courrier qui gère le compte. 10 P A R A M È T R E S Port Ce paramètre permet de spécifier le port. En fonction du type de sécurité sélectionnée, un port implicite sera proposé, mais il pourrait s'avérer nécessaire de modifier ce paramètre sur la base du serveur utilisé. Security Enable SSL/TLS Ce paramètre permet de sélectionner le type de sécurité prévu par le serveur utilisé. Par exemple, si le serveur prévoit la sécurité SSL, il faudra sélectionner cette option et spécifier dans la propriété "Port", le numéro du port utilisé par le serveur. Cette solution permet aussi d'utiliser les serveurs de courrier Web tels que "Gmail", "Hotmail", etc. Authentication Enable Sert à spécifier si l'accès au serveur requiert l'identification ou non. Les modalités d'identification prises en charge sont "Plain" et "Login". UserName, Password Saisissez dans ces deux cases le nom de l'utilisateur et le mot de passe pour accéder au serveur de courrier qui devront correspondre à un account reconnu par le serveur. RAS Settings Si l'accès à Internet utilise une connexion RAS, les paramètres relatifs doivent être définis pour l'appel et la connexion Internet. Enable : permet l'utilisation d'une connexion RAS accéder au serveur via un modem. Si ce n'est pas le cas, cela signifie que l'accès au serveur (Internet) utilise une connexion permanente (par exemple le Réseau local). Show Dialog : permet d'afficher la fenêtre de dialogue pendant la connexion. Retry Hold Time : temps mort pour une nouvelle tentative de connexion. Retry Hold Time : temps mort pour une déconnexion. Retries : nombre de nouvelles tentatives Dial Up : permet d'utiliser une connexion déjà disponible dans le système d'exploitation (précédemment inséré dans les connexions réseau). Phone Number: si un compte existant n'est pas utilisé, saisir le numéro de téléphone d'accès au service. UserName, Password: si un compte existant n'est pas utilisé, saisir les paramètres d'accès au service. 2.6. Envoi d'E-mails (via MAPI) Cette fenêtre de paramètres permet la configuration du système de notification des messages au moyen d'e-mail ou courrier électronique envoyés par le programme configuré dans Windows comme par exemple MS Outlook. Rappelez-vous que ce type de notification utilise le programme expéditeur de courrier configuré, donc il est indispensable de s'assurer que ce programme est installé et configuré correctement. 11 A L A R M _ D I S P A T C H E R Profile Name/Nom du compte Permet de définir de nom du compte à utiliser parmi ceux définis dans le programme expéditeur de courrier installé. Tous les paramètres pour accèder au serveur de courrier sont donc à configurer dans le compte du programme de courrier (comme, MS Outlook). RAS Settings/Paramètres RAS Si l'accès à Internet utilise une connexion RAS, les paramètres relatifs doivent être définis pour l'appel et la connexion Internet. Enable : permet l'utilisation d'une connexion RAS accéder au serveur via un modem. Si ce n'est pas le cas, cela signifie que l'accès au serveur (Internet) utilise une connexion permanente (par exemple le Réseau local). Show Dialog : permet d'afficher la fenêtre de dialogue pendant la connexion. Retry Hold Time : temps mort pour une nouvelle tentative de connexion. Retry Hold Time : temps mort pour une déconnexion. Retries : nombre de nouvelles tentatives. Dial Up : permet d'utiliser une connexion déjà disponible dans le système d'exploitation (précédemment inséré dans les connexions réseau). Phone Number : si un compte existant n'est pas utilisé, saisir le numéro de téléphone d'accès au service. UserName, Password : si un compte existant n'est pas utilisé, saisir les paramètres d'accès au service. 2.7. SMS via SMPP Cette fenêtre de paramètres permet de configurer le système de notification de messages au moyen de la technologie SMS basé sur le protocole SMPP (Short Message Point-To-Point). Grâce à cette technique de notification, le système est capable d'envoyer des messages SMS sur les téléphones des destinataires en accédant directement à un serveur SMPP, sans utiliser de modem GSM. 12 P A R A M È T R E S Évidemment, il est nécessaire de vérifier si un opérateur téléphonique existe pour ce service et d'activer ensuite l'abonnement. Selon l'opérateur sélectionné, l'accès doit être paramétré. Server Address/Adresse Serveur Définit le serveur SMPP de l'opérateur téléphonique et l'adresse du provider (fournisseur d'accès). Server Port/Port Serveur Le port 9000 est utilisé en général, mais il faut toujours vérifier le port du serveur demandé par le fournisseur d'accès. Source TON, NPI, Type Paramètres d'accès demandé par le fournisseur d'accès. Ex : Source TON et Source NPI sont des paramètres qui s'appliquent à l'adresse d'expéditeur qui est associée aux messages. SMS définit automatiquement Source TON à "1" si l'adresse de l'expéditeur est dans un format international (commence par le caractère "+"). Si l'adresse de l'expéditeur n'est pas au format international, Source TON est à "0". Dans les deux cas, Source NPI est définie à "1". Si l'adresse de l'expéditeur contient des caractères de l'alphabet et n'est donc pas un numéro de téléphone valable, Source TON est définie à "5" et Source NPI est définie "à 0". Source ID, Password/Identificateur, Mot de passe Paramètres d'accès demandés par le fournisseur d'accès. Reçu après activation de l'abonnement. Timeout : Binding, Answer, Delivery Paramètre Timeout (msec) d'exploitation. 13 A L A R M _ D I S P A T C H E R RAS Settings : si l'accès à Internet nécessite une connexion RAS (modem), les paramètres ci-dessous doivent être définis pour l'appel et la connexion à Internet. Enable/Activer : autorise l'utilisation d'une connexion RAS pour accéder au serveur d'accès via un modem. Si ce n'est pas le cas, cela signifie que l'accès au serveur (Internet) utilise une connexion permanente (par exemple un Réseau local). Show Dialog : permet l'affichage de la fenêtre de dialogue pendant la connexion. Retry Hold Time : Timeout pour une nouvelle tentative de connexion. Retry Hold Time : Timeout pour une déconnexion. Retries : nombre de tentatives. Dial Up : permet l'utilisation d'une connexion déjà existante dans le système d'exploitation (précédemment inséré dans les connexions réseau). Phone Number : si vous n'utilisez pas un compte existant, spécifier ici le numéro de téléphone d'accès au service. UserName, Password : si vous n'utilisez pas un compte existant, spécifier ici les paramètres d'accès au service. 2.8. SMS via le protocole Ucp-Emi Cette fenêtre de paramétrage permet de configurer le système de notification des messages à travers la technique SMS, à partir de n'importe quel modem standard branché à un serveur prenant en charge le protocole UCP. Serial Port Settings / Paramétrage du port série Entrer dans ce champ les paramètres du port série auquel le modem est connecté. 14 P A R A M È T R E S Time-out Temps d'attente (en millièmes de seconde) pour les opérations de communication sur le port série. Pause Temps d'attente (en millièmes de seconde) entre l'envoi de deux messages successifs. Il est conseillé de définir un temps bas, car généralement les serveurs UCP ne supportent pas l'envoi de messages en séquences rapides. Paramétrage implicite : 5000. RTS/DTR Etat des signaux correspondants du port série. Certains modèles de modem requièrent ce paramétrage. Généralement, sur les dispositifs actuels, il n'est pas nécessaire de modifier le paramétrage. Max Connection try / Nombre de tentatives d'envoi Nombre de tentatives d'envoi successives après lesquelles le message est effacé. Inizialization String / Chaîne d'initialisation Chaîne d'initialisation du modem. Il s'agit généralement de ATE0, mais il est conseillé de consulter la notice du modem utilisé. ServiceCenter C'est le numéro à appeler pour se connecter au serveur UCP-EMI. Sender Address / Numéro de l'expéditeur Il s'agit du numéro de l'expéditeur du message. 2.9. SMS via Modem GSM Cette fenêtre de paramètres permet de configurer le système de notification de messages au moyen de la technologie SMS basée sur GSM, en utilisant un modem GSM. 15 A L A R M _ D I S P A T C H E R Serial Port Settings/Paramètres port série Dans ce groupe, les paramètre doivent être définis pour utiliser le port série auquel le modem GSM est connecté. Inizialization String/Initialisation La chaîne de caractères d'initialisation du Modem ATE0 normalement utilisée. Mais il est préférable de suivre la documentation du modem utilisé. ServiceCenter Ce numéro est obtenu à partir de la carte Sim utilisée par le modem. Pin Numbers/Code PIN Saisir le numéro d'identification personnel (code PIN) suivant la carte SIM utilisée par le modem. 2.10. Fax Cette fenêtre de paramètres est utilisée pour configurer le système de notification de messages au moyen du Fax intégré à Windows 32/64 bit. Le programme permet d'envoyer un fax en utilisant l'imprimante fax de Windows. La seule propriété à configurer dans le programme est donc le "Titre" du fax à envoyer. Important : du fait des fonctions utilisées, le Fax nécessite un Modem Vocal. Avant l'utilisation du service de notification par Fax, réalisez une configuration correcte et complète du service FAX dans Windows. Pour ce faire, utilisez le panneau de configuration pour accèder à l'item "Imprimantes et Télécopeurs". 16 P A R A M È T R E S 2.11. Message Vocal Cette fenêtre de paramètres est utilisée pour configurer le système de notification de messages au moyen de la technique de synthèse vocale. Grâce à cette technique, le programme lit oralement les messages textes de chaînes de caractères et les notifie aux destinataires par téléphone. Il est nécessaire d'utiliser un modem vocal 100 % compatible avec les spécifications TAPI. Méthode pour envoyer des messages vocaux : 1. Le programme notifie les messages vocaux au destinataire indiqué. En cas de groupe de destinataires, le programme envoie les messages de deux façons : 2. Propriété "Voice Multiplex/Voix Multiplexée" non sélectionnée (par défaut) dans les paramètres généraux : le programme notifie les messages en commençant par le premier destinataire du groupe. Le premier destinataire qui acquitte (ACQ) le message détermine le succès de la procédure de notification. Propriété "Voice Multiplex/Voix Multiplexée" sélectionnée : le programme notifie les messages en commençant par le premier destinataire du groupe. Le programme notifie cependant les messages à tout les destinataires du groupe, indépendamment de l'acquittement individuel (ACQ). L'acquittement mène au succès de la procédure de notification, mais n'interrompt pas la notification de tous les destinataires. Si un utilisateur répond à un appel, le programme donne le message de bienvenue et commence ensuite la notification du message d'alarme. L'alarme est répétée jusqu'à l'acquittement (ACQ) ou après un timeout (temps mort). L'acquittement peut arriver de deux façons : "Force Ack with key #/ACQ par Touche #" Propriété non sélectionnée (par défaut) dans les propriétés "Dialog/Dialogue) : le programme notifie le message jusqu'à ce qu'un des boutons du téléphone soit appuyé et il considère alors l'alarme comme acquittée et passe à la suivante (s'il y en a une), après lecture du message "New Alarm/Nouvelle Alarme". Le message est aussi répété jusqu'à ce qu'un des boutons du téléphone soit appuyé. Après le dernier message, si un bouton est appuyé, la communication est coupée, avec un succès de la procédure. Si aucun bouton n'est appuyé, le système répète le message jusqu'au Timeout (temps mort) et ensuite coupe la communication et l'insuccès de la procédure est inscrit dans le Log. "Force Ack with key #/ACQ par Touche #" Propriété sélectionnée dans les propriétés "Dialogues" : le programme agit comme ci-dessus, mais ferme la communication seulement si le bouton "#" est appuyé sur le téléphone. Ainsi, en appuyant sur un bouton le programme va au message suivant, mais à la fin des messages, le système redémarre la lecture du premier message an attendant seulement le bouton "#" pour confirmer et acquitter l'alarme. Si le bouton "#" n'est pas appuyé, le système répète le message jusqu'à la fin du timeout (temps mort). Appuyer sur le bouton "#" revient à acquitter toutes les alarmes, même celles qui ne sont pas encore notifiées. 17 A L A R M _ D I S P A T C H E R Welcome Message/Message de bienvenue Permet de définir une chaîne de caractères à transmettre comme message d'introduction, au début de l'appel de notification, avant les messages. Farewell Message/Message de fin Permet de définir une chaîne de caractères à transmettre comme message final, à la fin de la notification, pour avertir de la fin de la communication. Next Message/Message Suivant Permet de définir une chaîne de caractères à transmettre entre la notification d'un message et le suivant. TimeOut Définit le temps (en seconde) au-delà duquel le système abandonne la communication, si aucun acquit n'est reçu (comme, par exemple, en présence d'un répondeur téléphonique). Max Retry/Nbre de tentatives Définit le nombre maximal de tentatives à l'envoi de la notification. Force message Ack with "#" key/ACQ par touche # Cette sélection permet de définir le type d'action que doit réaliser un utilisateur destinataire pour acquitter une alarme (ACQ). 18 P A R A M È T R E S Option not sélectionnée: sur notification de messages, le système attend la pression d'une touche du téléphone pour acquitter (ACQ) l'alarme qui est notifiée. Si d'autres alarmes sont présentes, la pression d'une touche fait que le système passe au message suivant, sinon il stoppe la notification avec succès. Option sélectionnée: sur notification de messages, le système attend la pression de la touche # du téléphone pour acquitter (ACQ) l'alarme qui est notifiée. La pression de la touche # arrête le processus de notification avec succès, même en présence d'autres alarmes. Modem Cette fonction permet de sélectionner le modem à utiliser. La liste des modems est remplie sur la base des modems voice installés dans le système d'exploitation. Speech Voice Cette fonction permet de sélectionner la voix, et donc le phonème (son), pour l'articulation des messages. La liste sera remplie sur la base des phonèmes installés dans le système d'exploitation (voir "Phonèmes (Voix)"). Test La pression du bouton "Test" effectue le speech du texte saisi dans la case d'édition selon les paramètres définis de voix, volume, débit et hauteur du son. Volume Cette fonction permet de régler le volume avec lequel effectuer le speech. Débit Cette fonction permet de régler le débit du speech. De 0 à 10, la vitesse d'articulation augmente, de 0 à -10, elle diminue. Hauteur du son Cette fonction permet de régler la hauteur du son (plus aigu ou plus grave) de la voix pour le speech. Acquittement alarme scada L'activation de cette fonction permet d'acquitter l'alarme et de la restaurer dans le projet Visu+ lors de l'acquittement du message correspondant par l'opérateur. Par conséquent, si l'alarme en question était déjà OFF, elle ne s'affichera pas dans la Fenêtre des alarmes. Utilisation du SAPI 5.1 Le SAPI (Speech Application Programming Interface) est un support de Microsoft permettant d'utiliser les fonctions de "Reconnaissance vocale" et de "Synthèse vocale" avec des applications sur Windows. L'Alarm Dispatcher utilise le SAPI version 5.1 pour l'envoi des messages vocaux. Le SAPI 5.1 fait partie de la famille des SAPI 5 et est installé implicitement sur Windows 32/64 bit depuis 2001 et Vista (voir http://www.microsoft.com/downloads/details.aspx?FamilyId=5E86EC97-40A7453F-B0EE-6583171B4530&displaylang=en). Pour une utilisation correcte du SAPI 5.1 pour envoyer des messages vocaux avec l'Alarm Dispather, il faut : 1. 2. 3. 4. 5. Installer la Reconnaissance vocale SAPI 5.1. Installer au moins un phonème supportant le SAPI 5.1. Utiliser la version de l'Alarm Dispatcher 1.00.11 ou successives. Dans l'Alarm Dispatcher, utiliser le plug-in Message Voice Sender (Voice.dll) version 1.0.0.8 ou successives. Utiliser un modem vocal compatible à 100% avec le TAPI de Windows. Modem vocal Pour un envoi correct des messages vocaux, il faut installer un modem vocal pleinement compatible avec le TAPI de Windows. Il est aussi conseillé d'installer toujours les drivers qui accompagnent le modem et non pas celui sélectionné par le système d'exploitation. Par exemple, si vous installez le modem vocal "US Robotics 56K Message Modem", il faudra installer les propres drivers "US Robotics 56K Message V.92", sinon les drivers du système (européen) ne reconnaitront pas les phonèmes du téléphone pour répondre au message. 19 A L A R M _ D I S P A T C H E R Phonèmes (Voix) Pour l'articulation des textes, il faut utiliser des phonèmes pouvant être installés dans le système d'exploitation. Pour vérifier la liste des phonèmes déjà prévus, il suffit d'ouvrir le groupe "Synthèse et reconnaissance vocale" à partir du tableau de commandes Windows. Après avoir sélectionné l'onglet "Synthèse vocale" dans la fenêtre de dialogue, vous pouvez vérifier la liste des phonèmes, ou des voix, déjà présents dans le système (Sélection voix). Généralement, Windows contient déjà implicitement trois « voix » : Sam, Mary et Mike. Ces voix utilisent des phonèmes de la langue anglaise, mais sont des phonèmes SAPI 4 qui ne peuvent donc pas être utilisés avec le plug-in Voice Message Sender. Il faut donc installer de nouveaux phonèmes en fonction de la langue que vous utiliserez. Ces phonèmes devront être compatibles avec le SAPI 5.1. Sachez que de nombreux phonèmes sont disponibles dans le commerce ou sur Internet, et leur qualité varie beaucoup d'un constructeur à l'autre. Il est donc conseillé d'en tester quelques uns avant de fixer votre choix. Vous devez aussi prendre en compte que certains phonèmes sont plus limités que d'autres. A titre indicatif, sachez que pour la synthèse vocale via téléphone, vous obtiendrez de meilleurs résultats avec des phonèmes « téléphoniques » (8KHz) plutôt qu'avec des phonème de qualité supérieure (22KHz ou plus). Le SAPI 5.1 permet d'utiliser aussi des signes accentués comme "è" et "ì" etc. et la ponctuation comme "?" et "!" sans causer de problème au TTS Engine. En effet, contrairement au SAPI 4, le SAPI 5.1 n'utilise plus le procédé "vcmd.exe" qui provoquait le blocage du TTS Engine. 20 3. Erreurs 3.1. Erreurs sur les Plugins GsmSMS ERROR_INIT_FAILED -1 Erreur ouverture port série. ERROR_NO_MODEM_INIT -2 Erreur d'initialisation du modem. Réponse reçue avec une erreur, ou aucune réponse. Dans cette phase, la chaîne de caractères d'initialisation, finissant avec \r, est passée au modem. ERROR_NO_PIN -3 Erreur ou aucune réponse après l'envoi du numéro d'identification personnel PIN. La chaîne de caractères "AT+CPIN = <Code PIN> \r" est envoyée au modem. Si une erreur est reçue en réponse, ou aucune réponse n'est reçue pendant le temps mort ou timeout, une erreur survient. ERROR_NO_SERVICE -4 Erreur ou aucune réponse après l'envoi du numéro du centre de service. La chaîne de caractères "AT+CSCA ? \r" est envoyée pour interroger le numéro défini du centre de service actuel. Si il est différent de celui présent dans les paramètres, il est envoyé avec la chaîne de caractères "AT+CSCA = < num. Centre de service >\r". Si une erreur est reçue en réponse, ou aucune réponse n'est reçue pendant le temps mort, une erreur survient. ERROR_NO_ASCII_FORMAT -5 Erreur ou aucune réponse après un paramètrage en mode ASCII. La chaîne de caractères 'AT+CMGF ? \r" est envoyée pour vérifier si le mode ASCII est déjà défini. S'il n'est pas défini, utiliser la chaîn de caractères "AT+CMGF=1\r". Si une erreur est reçue en réponse, ou aucune réponse n'est reçue pendant le temps mort, une erreur survient. ERROR_NO_WRITE_NUMBER -6 Echec envoi numéro de téléphone. La chaïne de caractères "AT+CMGS = \" < num. telefono >\"\r" est envoyée. ERROR_NO_ANSWER -7 Aucune réponse à l'envoi du numéro de téléphone. ERROR_NO_WRITE_MESSAGE -8 Erreur en envoyant le message. La chaîne de caractères "<Messaggio>\x1A" est envoyée. ERROR_NO_ANSWER_MESSAGE -9 Erreur ou aucune réponse au message envoyé. SMTP ERROR_PARSE_MESSAGE -1 Erreur dans le format de la chaîne de caractères contenant le message et les données à transmettre. ERROR_CONNECTING_RAS -2 Erreur dans la connexion RAS. ERROR_WINSOCK_INIT_FAILED -23 Erreur dans la pile d'initialisation TCP. ERROR_SMTP_SERVER_CONNECT_FAILED -24 Erreur pendant la connexion au serveur SMTP. 21 A L A R M _ D I S P A T C H E R ERROR_SMTP_SEND_MAIL_FAILED Erreur en envoyant un message au serveur SMTP. 25 Voice ERROR_PARSE_MESSAGE -4 Erreur dans le format de la chaîne de caractères contenant le message et les données à transmettre. SmppSMS ERROR_BIND_TIMEOUT -1 Aucune réponse du serveur SMPP, sur une demande de connexion. Le Temps de liaison est écoulé. ERROR_CONNECTING_RAS -2 Erreur lors de la connexion RAS. ERROR_SUBMIT_TIMEOUT -4 Aucune réponse au SMS envoyé. Temps mort écoulé. ERROR_ENQ_ANSWER_TIMEOUT -5 Aucune réponse à la demande SMS envoyée. Temps mort écoulé. ERROR_DELIVERY_TIMEOUT Le message n'a pas été envoyé pendant le temps mort de transmission. -6 MAPI ERROR_PARSE_MESSAGE -1 ERROR_CONNECTING_RAS -2 Erreur dans le format de la chaîne de caractères contenant le message et les données à transmettre. Erreur lors de la connexion RAS. ERROR_MAPI_NOT_INSTALLED -4 Impossible de charger la bibliothèque MAPI. Vérifier son Installation. ERROR_MAPI_LOGON_FAILED -5 La connexion au compte a échouée. Vérifier des données du compte. ERROR_MAPI_SEND Erreur en envoyant le message. Vérifier les données du message. -6 Fax ERROR_FAX_ERROR -2 Erreur dans le transfert au Service de télécopie Microsoft. Vérifiez l'installation du service et les données du message. UcpSMS ERROR_INIT_FAILED –1 erreur dans l'ouverture du port série. ERROR_NO_MODEM_INIT –2 erreur dans l'initialisation du modem. La réponse contient une erreur ou aucune réponse n'est arrivée. Dans cette phase, la chaîne d'initialisation finissant par \r est passée au modem. ERROR_NO_WRITE_NUMBER –6 l'écriture du numéro de téléphone n'a pas abouti. 22 E R R E U R S La chaîne "AT+CMGS=\"<num. téléphone>\"\r" est envoyée. ERROR_NO_ANSWER –7 aucune réponse à l'écriture du numéro de téléphone. ERROR_NO_WRITE_MESSAGE –8 erreur pendant l'écriture du message. La chaîne "<message>\x1A " est envoyée. ERROR_NO_ANSWER_MESSAGE –9 erreur ou aucune réponse après l'envoi du message. ERROR_BAD_MESSAGE -11 Le format du message n'est pas valable. 23 A L A R M _ D I S P A T C H E R 24 4. Interface COM 4.1. DispatcherDOM Object L'objet DispatcherDOM est l'interface script qui permet d'initialiser le Dispatcher et de gérer les notifications avec les plug-in installés et configurés sur le projet en exécution. L'Alarm Dispatcher peut être géré et utilisé à partir de n'importe quel programme tiers, logiciels Scada/HMI ou programmes VB, C/C++ ou autre, en exploitant simplement la ROT (Running Object Table) de Windows, pour récupérer une référence à l'objet DispatcherDOM, que le Dispatcher même a enregistré lorqu'il a été exécuté avec un projet correct. Par conséquent, l'Alarm Dispatcher peut fonctionner comme un Serveur de notification pour les applications Client en mesure d'accéder aux interfaces de programmation des programmes enregistrés dans la ROT (Running Object Table) de Windows. L'interface "DispatcherDOM" n'est pas disponible lorsque le projet est exécuté sur la plateforme Windows CE. En effet cette plateforme ne prend pas en charge la gestion de la ROT (Running Object Table) de Windows, par conséquent l'objet "DispatcherDOM" ne peut pas être référencé. Exemple de VBScript, Visual Basic Dim objDisp As Object Private Sub Form_Load() Set objDisp = GetObject(, "Dispatcher.1") If objDisp Is Nothing Then MsgBox "Alarm Dispatcher not running!", vbinformation + vbOkOnly, "DispatcherDOM " Exit Sub End If End Sub 4.2. DispatcherDOM.AlDInit Permet l'exploitation de l'Alarm Dispatcher. Syntaxe DispatcherDOM.AlDInit(lpszSerialNumber) Paramètres DispatcherDOM Un objet de type DispatcherDOM récupéré de la ROT de Windows. lpszSerialNumber Chaîne alphanumérique sous la forme "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" reportant le code de licence de l'Alarm Dispatcher. Valeur de retour Retour d'une valeur booléenne 25 A L A R M _ D I S P A T C H E R False True Le code de la licence n'est pas valable. Le code de la licence est valable : le Dispatcher est licencié correctement. Remarques Lorsque l'Alarm Dispatcher est utilisé par des programmes tiers, le code d'activation doit être entré à travers cette fonction. Le code de licence doit être demandé aux bureaux commerciaux de Phoenix Contact . Le code d'exploitation de la licence n'est valable que pour un seul poste de travail. Aucune licence n'est nécessaire lorsque l'Alarm Dispatcher est utilisé avec Visu+, car c'est ce dernier qui lance automatiquement le Dispatcher et le licencie. Le Dispatcher peut aussi être lancé manuellement avec la fonction script de Visu+ appelée StartAlarmDispatcher. Exemple de VBScript, Visual Basic Voir l'exemple de la fonction SendMessage. 4.3. dispatcherdom.emptyqueue Permet d'éliminer de la file d'attente les messages non encore traités par le dispatcher. Syntaxe DispatcherDOM.EmptyQueue(Void) Paramètres DispatcherDOM Un objet de type DispatcherDOM récupéré par la ROT de Windows. Valeur de retour aucune Remarque L'élimination des messages dans la file d'attente n'élimine pas le message en cours de traitement par le Dispatcher au moment où la fonction est invoquée, même s'il doit encore être envoyé. Exemple VBScript, Visual Basic Public Sub Click() Set objDisp = GetObject(, "Dispatcher.1") If objDisp Is Nothing Then MsgBox "Alarm Dispatcher not running!", vbInformation + vbOkOnly, "DispatcherDOM " Exit Sub Else objDisp.EmptyQueue End If End Sub 26 I N T E R F A C E C O M 4.4. DispatcherDOM.GetDispatcherState Il permet de connaître l'état de fonctionnement du Dispatcher (Run ou Stop). Syntaxe DispatcherDOM.GetDispatcherState Paramètres DispatcherDOM Un objet DispatcherDOM correct obtenu de la ROT de Windows. Valeur de retour Retour à un nombre entier d'une longueur de 32 bits (long integer), avec une des valeurs suivantes : 0 Le Dispatcher est en modalité Stop. 1 Le Dispatcher est en modalité Run. Remarques En modalité Stop, le Dispatcher est en mesure de collecter dans sa mémoire tampon les messages des notifications, mais il ne les envoie pas tant que son état n'a pas commuté en Run. Exemple de VBScript, Visual Basic Dim objDisp As DispatcherLib.DispatcherDOM Public Sub Click() Dim lResult As Long End Sub If objDisp Is Nothing Then Set objDisp = GetObject(, "Dispatcher.1") If objDisp Is Nothing Then ' Alarm Dispatcher not running Exit Sub End If lResult = objDisp.GetDispatcherState If lResult <> 0 Then objDisp.SetDispatcherState(True) End If 4.5. DispatcherDOM.GetMsgStatus Il permet de connaître l'état en cours d'un message ayant été notifié au Dispatcher. Syntaxe DispatcherDOM.GetMsgStatus(dwTransaction) Paramètres DispatcherDOM Un objet de type DispatcherDOM obtenu de la ROT de Windows. dwTransaction Nombre entier de 32 bits (long integer) représentant l'identifiant numérique du message notifié au Dispatcher avec la fonction SendMessage. 27 A L A R M _ D I S P A T C H E R Valeur de retour Retour à un entier d'une longueur de 32 bits (long integer), avec une des valeurs suivantes : 0 Le message a déjà été envoyé. 1 Le message a été suspendu en raison d'erreurs de communication. 2 Le message est en attente d'être envoyé. 3 L'identifiant du paramètre dwTransaction est erroné, il n'y a aucun message correspondant. 4 Le message a été supprimé avec la fonction RemoveMessage. 5 L'identifiant du paramètre dwTransaction correspond à un message de regroupement (message vocal). Exemple de VBScript, Visual Basic Cet exemple ne reporte pas la partie du code servant à initialiser le Dispatcher. Dim objDisp As DispatcherLib.DispatcherDOM Public Sub Click() ' ... ' ... ' ... sMessage = "email|[email protected]~Dispatcher Message~Send message using DOM |1|UsersGroup|User||||||||||[email protected];[email protected]||" lMessageID = objDisp.SendMessage (sMessage) If lMessageID < 0 Then ' Error send the message to dispatcher End If Do End Sub lResult = objDisp.GetMsgStatus(lMessageID) DoEvents Loop Until lResult = 0 4.6. DispatcherDOM.PutLog Il permet d'imprimer une ligne dans le log avec un message personnalisé. Syntaxe DispatcherDOM.PutLog(lpszLog) Paramètres DispatcherDOM Un objet de type DispatcherDOM obtenu de la ROT de Windows. lpszLog Chaîne à imprimer dans le log du projet en cours d'exécution sur le Dispatcher. Valeur de retour Revient à 32 bits (long integer) avec la valeur '0'. 28 I N T E R F A C E C O M Remarques Le Dispatcher enregistre déjà dans un de ses logs sous la forme <NomProjet>.dsplog, différentes informations sur l'envoi des messages. Cette fonction permet d'ajouter d'autres messages à ceux déjà enregistrés par le Dispatcher. Toutes les chaînes imprimées dans le log sont toujours précédées de la date et de l'heure d'impression. Exemple de VBScript, Visual Basic Cet exemple ne reporte pas la partie du code servant à initialiser le Dispatcher. Dim objDisp As DispatcherLib.DispatcherDOM Public Sub Click() ' ... ' ... ' ... End Sub sMessage = "email|[email protected]~Dispatcher Message~Send message using DOM |1|UsersGroup|User||||||||||[email protected];[email protected]||" lMessageID = objDisp.SendMessage (sMessage) If lMessageID >= 0 Then objDisp.PutLog "MessageID=" & CStr(lMessageID) End If 4.7. DispatcherDOM.RemoveMessage Il permet de supprimer un message de la file d'attente des messages du Dispatcher. Syntaxe DispatcherDOM.RemoveMessage (dwTransaction) Paramètres DispatcherDOM Un objet de type DispatcherDOM obtenu de la ROT de Windows. dwTransaction Nombre entier de 32 bits (long integer) représentant l'identifiant numérique du message notifié Dispatcher avec la fonction SendMessage. Valeur de retour Retour à un entier d'une longueur de 32 bits (long integer), avec une des valeurs suivantes : 0 Le message n'a pas été trouvé dans la file d'attente des messages. 1 Le message a été supprimé avec succès de la file d'attente des messages. 2 Le message n'a pas pu être supprimé de la file d'attente des messages car il n'était pas accessible à ce moment là. Ressayer plus tard. Remarques Seuls les messages temporisés peuvent être supprimés, car il sont ajoutés à la file d'attente des messages et notifiés seulement après le délai établi. Pour plus de détails sur le paramétrage du délai, veuillez-vous reporter au paragraphe des paramétrages généraux. 29 A L A R M _ D I S P A T C H E R Exemple de VBScript, Visual Basic Cet exemple ne reporte pas la partie du code servant à initialiser le Dispatcher. Dim objDisp As DispatcherLib.DispatcherDOM Public Sub Click() ' ... ' ... ' ... sMessage = "email|[email protected]~Dispatcher Message~Send message using DOM |1|UsersGroup|User||||||||||[email protected];[email protected]||" lMessageID = objDisp.SendMessage (sMessage) End Sub If lMessageID < 0 Then ' Error send the message to dispatcher End If lResult = objDisp.RemoveMessage(lMessageID) 4.8. DispatcherDOM.SendMessage Il permet d'envoyer un message en utilisant comme voie de transmission n'importe lequel des plugin installés dans le projet en cours d'exécution sur l'Alarm Dispatcher. Syntaxe DispatcherDOM.SendMessage (lpszMessage) Paramètres DispatcherDOM Un objet de type DispatcherDOM obtenu de la ROT de Windows. lpszMessage Chaîne incluant tous les paramètres nécessaires pour envoyer la notification. Le signe “|” est utilisé pour séparer deux paramètres. Les paramètres doivent être complétés dans l'ordre reporté ci-dessous : “Media Type|Message|Group Name|Recipient Name|Mobile Int Code|Mobile Area Code|Mobile Number|Voice Int Code|Voice Area Code|Voice Number|Fax Int Code|Fax Area Code|Fax Number|Email Address|Messenger Address|Add Flag” Media Type Paramètre obligatoire définissant le type de plug-in qui sera utilisé par le Dispatcher pour envoyer la notification. Le plug-in doit avoir été configuré correctement dans le projet du Dispatcher, afin que la notification puisse être envoyée correctement. Les valeurs suivantes sont admises : sms, email, voice, smpp, gsm, smtp, mapi ou fax Envoi d'un SMS : sms : envoi d'une notification SMS à travers le plug-in “SMPP SMS Sender” ou “GSM Modem SMS”. smpp : envoi d'une notification SMS à travers le plug-in “SMPP SMS Sender”. gsm : envoi d'une notification SMS à travers le plug-in “GSM Modem SMS”. Envoi d'un EMAIL : email : envoi d'une notification email à travers “Email” ou “MAPI Mail Sender”. smtp : envoi d'une notification email à travers “Email”. 30 le plug-in le plug-in I N T E R F A C E C O M mapi : envoi d'une notification email à travers le plug-in “MAPI Mail Sender”. Envoi d'un message vocal : voice : envoi d'une notification vocale à travers le plug-in “Voice message sender”. Envoi d'un fax : fax : envoi d'une notification fax à travers le plug-in “FAX Sender Module”. Message Priority Group Name Recipient Name Mobile Code Int Mobile Code Area Mobile Number Voice Code Int Voice Code Area Voice Number Fax Int Code Fax Code Area Fax Number Email Address Messenger Address Add Flag Paramètre obligatoire représentant le texte du message à envoyer. Voir les remarques concernant l'envoi des emails. Paramètre obligatoire qui définit le niveau de priorité du message. Des retards dans l'envoi des messages peuvent être mis au point dans les paramétrages généraux en fonction du niveau de priorité des messages. Paramètre obligatoire qui définit le nom interne du groupe utilisé pour envoyer le message. Paramètre obligatoire qui définit le nom du destinataire du message. En laissant vide tous les paramètres suivants, les informations sur le destinataire seront recherchées dans la liste interne des utilisateurs. Dans la négative, ce sont les informations entrées dans les paramètres suivants qui seront utilisées. Paramètre optionnel définissant l'indicatif international ou le numéro de téléphone à utiliser pour les notifications SMS, relatif au destinataire indiqué dans le paramètre “Recipient Name”. Paramètre optionnel définissant l'indicatif international ou le numéro de téléphone à utiliser pour les notifications SMS, relatif au destinataire indiqué dans le paramètre “Recipient Name”. Paramètre optionnel définissant le numéro de téléphone à utiliser pour les notifications SMS, relatif au destinataire indiqué dans le paramètre “Recipient Name”. Paramètre optionnel définissant l'indicatif international ou le numéro de téléphone à utiliser pour les notifications vocales, relatif au destinataire indiqué dans le paramètre “Recipient Name”. Paramètre optionnel définissant l'indicatif du district du numéro de téléphone à utiliser pour les notifications vocales, relatif au destinataire indiqué dans le paramètre “Recipient Name”. Paramètre optionnel définissant le numéro de téléphone à utiliser pour les notifications vocales, relatif au destinataire indiqué dans le paramètre “Recipient Name”. Paramètre optionnel définissant l'indicatif international ou le numéro de téléphone à utiliser pour les notifications via fax, relatif au destinataire indiqué dans le paramètre “Recipient Name”. Paramètre optionnel définissant l'indicatif du district du numéro de téléphone à utiliser pour les notifications via fax, relatif au destinataire indiqué dans le paramètre “Recipient Name”. Paramètre optionnel définissant le numéro de téléphone à utiliser pour les notifications via fax, relatif au destinataire indiqué dans le paramètre “Recipient Name”. Paramètre optionnel définissant l'adresse électronique à utiliser pour les notifications via email, relatif au destinataire indiqué dans le paramètre “Recipient Name”. Vous pouvez spécifier plusieurs destinataires en utilisant le signe du point virgule ";" comme séparateur, exemple : “[email protected];[email protected]” Pas en service. Ne jamais remplir. Paramètre permettant d'envoyer des commandes au Dispatcher. Pour l'instant, seule la commande “a” est disponible, qui permet d'ajouter le destinataire à la liste interne des destinataires. 31 A L A R M _ D I S P A T C H E R Valeur de retour En absence d'erreur, un nombre entier à 32 bits (long integer) revient comme identifiant du message notifié au Dispatcher. Sinon, l'un des codes d'erreur suivants s'affiche : ERROR_SEND_SYNTAX Erreur de syntaxe dans le 1 paramètre lpszMessage. ERROR_SEND_NOMESSAGE Aucun texte de message à 2 envoyer n'a été spécifié dans le paramètre lpszMessage. ERROR_SEND_NORECIPIENT_NAME Le nom du destinataire n'a 3 pas été spécifié dans le paramètre lpszMessage. ERROR_SEND_RECIPIENTDATA_NOTAVAILABLE Impossible de trouver les 4 données relatives au destinataire spécifié dans le paramètre lpszMessage pour les raisons suivantes : le nom indiqué ne figure pas dans la liste des utilisateurs du projet Alarm Dispatcher ou les données du destinataire n'ont pas été spécifiées dans le paramètre lpszMessage. ERROR_SEND_NTRANS_NOTVALID Aucun nouveau message ne 5 peut être ajouté à la file d'attente des messages. Ressayer plus tard. ERROR_SEND_MEDIA_NOTAPPLICABLE Le plug-in spécifié dans le 6 paramètre lpszMessage ne fait pas partie de ceux installés dans le projet. ERROR_SEND_SMS_MESSAGE_TOO_LONG Le message SMS entré dans 7 le paramètre lpszMessage dépasse la longueur maximale admise. ERROR_SEND_MEDIA_NOTLOADED Le plug-in spécifié dans le 8 paramètre lpszMessage n'a pas été configuré ou est inexistant. Remarques Les règles de paramétrage du paramètre lpszMessage dépendent du type de message à envoyer. L'envoi d'un message vocal ou d'un mail répond à des règles spéciales décrites ci-dessous. Envoi d'un mail Pour l'envoi d'un mail, le paramètre “Message” doit être formaté avec une syntaxe particulière, à savoir : "from~subject~mail message~file1~file2~...~file(n)" où : from : expéditeur du courriel subject : titre du courriel mail message : texte du message file(n) : paramètre optionnel incluant le nom d'un fichier à envoyer comme pièce jointe ~: signe de séparation Le parcours absolu des fichiers à envoyer comme pièces jointes doit obligatoirement être indiqué sur la plate-forme Windows CE. Sur la plateforme Windows 32/64 bit, si seul le nom du fichier est spécifié, le 32 I N T E R F A C E C O M Dispatcher recherchera ce fichier dans le dossier du projet en cours d'exécution. Envoi d'un message vocal En cas d'envoi de messages vocaux à un groupe de destinataires, la fonction “SendMessage” doit être appelée plusieurs fois afin de définir une liste de destinataires du message, et une dernière fois, sans spécifier aucun destinataire mais seulement le groupe, afin de spécifier au Dispatcher qu'il peut lancer le processus d'appel vocal. L'appel vocal est effectué, en séquence, vers tous les destinataires appartenant au groupe ainsi défini jusqu'à ce qu'un destinataire reconnaisse la réception du message en appuyant sur la touche du téléphone prévue à cet effet. Le paramètre “Group Name” prend la signification du nom interne du groupe qui contient la liste des destinataires et de leurs données, à utiliser pour la notification vocale du message. Par exemple, pour envoyer un appel vocal vers les destinataires "User1", "User2" et "User3", la fonction “SendMessage” appellera 3 fois pour définir la liste des destinataires, en spécifiant les données destinataire pour chacun d'eux (dans ce cas seulement le numéro de téléphone pour le message vocal) : DispatcherDOM.SendMessage on|1|UsersGroup|User1||||+39|059|111111||||||” DispatcherDOM.SendMessage on|1|UsersGroup|User2||||+39|059|222222||||||” DispatcherDOM.SendMessage on|1|UsersGroup|User3||||+39|059|333333||||||” “voice|alarm “voice|alarm “voice|alarm Enfin, il faudra rappeler encore une fois la fonction “SendMessage”, mais en lui passant seulement le nom du groupe : - DispatcherDOM.SendMessage “voice|alarm on|1|UsersGroup|||||||||||||” Le Dispatcher lance le processus de notification vocale du message en appelant, dans l'ordre, les destinataires définis dans le groupe "UserGroup", jusqu'à ce qu'un destinataire reconnaisse la notification. Exemple de VBScript, Visual Basic Cet exemple illustre comment envoyer un mail à deux adresses de poste électronique. Le paramètre "DISPATCHER_KEY" doit contenir le code d'activation de l'Alarm Dispatcher. Dim objDisp As DispatcherLib.DispatcherDOM Public Sub Click() Dim sMessage As String Dim lResult As Long If objDisp Is Nothing Then Set objDisp = GetObject(, "Dispatcher.1") If objDisp Is Nothing Then ' Alarm Dispatcher not running Exit Sub End If lResult = objDisp.AlDInit(DISPATCHER_KEY) If lResult <= 0 Then ' DISPATCHER_KEY not valid End If objDisp.SetDispatcherState(1) ' ' ' ' ' ' ' ' ' "Media type"| "Message"| "Priority"| ”Group name”| "Recipient name"| "IntCodeMoblie"|"AreaCodeMobile"|"Mobile number"| "IntCodeVoice"|"AreaCodeVoice"|"VoiceNumber"| "IntCodeFax"|"AreaCodeFax"|"FaxNumber"| "emailAddress"|"messenger"|"AddFlag" sMessage = "email|[email protected]~Dispatcher Message~Send message using DOM |1|UsersGroup|User||||||||||[email protected];[email protected]||" 33 A L A R M _ D I S P A T C H E R lResult = objDisp.SendMessage (sMessage) If lResult < 0 Then ' Error send the message to dispatcher End If End Sub 4.9. DispatcherDOM.SetDispatcherState Il positionne l'état du fonctionnement du Dispatcher sur Run ou Stop. Syntaxe DispatcherDOM.SetDispatcherState(bGo) Paramètres DispatcherDOM Un objet de type DispatcherDOM obtenu de la ROT de Windows. bGo Valeur booléenne à utiliser pour fixer l'état de fonctionnement du Dispatcher : False : le Dispatcher est arrêté (modalité Stop) True : le Dispatcher est démarré (modalité Run) Valeur de retour Retour d'un nombre entier long 32 bits (long integer), avec la valeur "1". Remarques L'application Alarm Dispatcher peut être exécutée directement en modalité Run avec l'option "/R" sur la ligne de commande. Sinon cette fonction sert aussi à faire basculer l'état du Dispatcher de Run à Stop. Lorsqu'il est en Stop, le Dispatcher peut collecter des notifications dans sa file d'attente des messages, mais ne les envoie pas tant qu'il ne bascule pas en Run. Exemple de VBScript, Visual Basic Voir l'exemple de la fonction GetDispatcherState. 34