Introduction
Le but de ce document est de vous guider à travers le processus d'installation et de configuration du serveur d'application Nixxis Contact Suite V3.x.
1. Prérequis
Prérequis généraux :
Il est essentiel de vous assurer que les prérequis sont respectés. À partir de la version v3.x, un accès internet permanent est requis sur le serveur applicatif pour communiquer avec les hôtes *.services.nixxis.net, licensing.nixxis.net et *.nixxis.live sur le port 443
Important : SQL 2019+ obligatoire.
Les derniers fichiers d'installation de la version 3.x :
Remarque : Vous avez besoin d'un compte pour accéder à ce site web. Si vous n'en avez pas, demandez-le à support@nixxis.com
Asterisk:
Un serveur SQL en cours d'exécution avec les services de reporting :
- Activez IIS sur le serveur d'application en ajoutant le rôle "Serveur Web", en ajoutant automatiquement les fonctionnalités nécessaires et en ajoutant manuellement la fonctionnalité ASP.Net 4.8
- Utilisez le Gestionnaire IIS pour sélectionner le site web et exécutez l'installateur de plate-forme pour rechercher et sélectionner "Web deploy 3.6 for Hosting Servers" et installez-le.
- Redémarrez le serveur
- Vérifiez qu'une nouvelle entrée de menu contextuel "Déployer" est disponible au niveau du site web dans le Gestionnaire IIS. Si ce n'est pas le cas, essayez de modifier les paramètres de Web Deploy dans le Panneau de configuration/Programmes et fonctionnalités pour ajouter toutes les options.
- Ouvrez le menu contextuel sur le site web et choisissez Déployer/Importer l'application.
- Sélectionnez le fichier d'intégration personnalisé (le cas échéant) et importez-le dans l'application "nixxis".
- Si présent, lisez et suivez le fichier "Installation.txt".
- L'utilisateur doit avoir des permissions d'écriture dans le dossier où se trouve le client Nixxis pour créer le dossier NixxisClientDesktop.exe.WebView2.
Microsoft .NET Framework 4.8 (Complet) sur le serveur d'application, y compris Microsoft .NET Framework 2.0 installé, nécessaire pour les outils Nixxis File Monitor & DeployReports.exe
2. Meilleures pratiques
Lors du téléchargement des fichiers d'installation, essayez toujours de structurer les dossiers de la manière suivante :
- Créez un dossier “Nixxis”
- Créez un dossier “NixxisMaintenance” (de préférence à la racine d'un lecteur de disque pour une meilleure visibilité).
- Créez les sous-dossiers “Install”, “BackUp” et “Update”
- Chaque fois que vous téléchargez des fichiers d'installation, créez un sous-dossier à l'intérieur du dossier "Install" avec le format de date international "AAAA/MM/JJ".
- La même remarque s'applique lorsque vous effectuez des sauvegardes ou des mises à jour.
3. Procédure d'installation
Débloquez le fichier zip et extrayez les fichiers du "InstallV3.x.*.zip" dans le dossier "Install" créé ci-dessus.
Ensuite, copiez le même fichier, généralement, sur DRIVE:\Nixxis\
3.2. Installer le service
Exécutez CrAppServer.exe pour installer le serveur d'application, certains paramètres peuvent être spécifiés avec cet exécutable (-install, -console, ...), pour le moment, utilisez -install
cd DRIVE:\Nixxis\CrAppServer
CrAppServer.exe -install
Remarque : cette action déploiera des compteurs de performances et créera le service "ContactRoute Application Server". Ce service nécessite des droits d'administration.
3.3. Création d'un utilisateur pour le service (facultatif)
Créez un nouvel utilisateur local NixxisAdmin avec un mot de passe et les propriétés suivantes.
Dans les propriétés du service "ContactRoute Application Server", modifiez les informations de connexion.
3.4. Définir les autorisations pour les journaux (si un utilisateur personnalisé a été créé pour le service)
Allez à l'onglet Sécurité du dossier DRIVE:\Nixxis\Logs
Ajoutez le rôle Utilisateur Everyone et accordez-lui le contrôle total.
3.5. Fichiers de configuration
Copiez le contenu du dossier DRIVE:\Nixxis\SampleConfigFiles dans DRIVE:\Nixxis\CrAppServer.
Modifiez les fichiers de configuration nécessaires. Essentiellement, la modification doit remplacer l'adresse exemple "192.168.1.1" par celle utilisée par le serveur sur lequel vous installez Nixxis (nous l'appellerons "[APPSERVER_IP]" à partir de maintenant).
Remarque : il existe des fichiers .xsd dans le répertoire nixxis\CrAppServer. Ces fichiers décrivent les différentes clés disponibles dans les fichiers de configuration. 3.5.1. CrAppServer.exe.config
Ce fichier contient les différents modules complémentaires utilisés par NCS et d'autres configurations.
Seule la clé "FileMonitoringPath" peut être modifiée ici.
<add key="FileMonitoringPath" value="..\Logs"/>
Chemin du fichier des journaux du serveur d'application (et des journaux de reporting si le service de reporting Microsoft est installé sur le même serveur).
3.5.2. Channels.config
Ce fichier contient les adresses IP qui seront liées au serveur HTTP et au serveur SIP.
Modifiez la valeur “address” par une adresse IPV4 valide (le DNS n'est pas pris en charge ici).
Remarque : Nixxis est multi-canaux et la clé doit être unique.
<channel key="http" address="192.168.1.1" connection="tcp" port="8088" timeout="120" type="ContactRoute.ApplicationServer.ClientChannel, CRClientChannels">
<protocol key="HTTP/1.1" domainType="http" type="HttpRequest" />
</channel>
<channel key="http2" address="192.168.1.2" connection="tcp" port="8088" timeout="120" type="ContactRoute.ApplicationServer.ClientChannel, CRClientChannels">
<protocol key="HTTP/1.1" domainType="http" type="HttpRequest" />
</channel>
<channel key="sipserver" address="192.168.1.1" port="5060" connection="udp" timeout="4000" type="ContactRoute.ApplicationServer.ClientChannel, CRClientChannels" receivequeued="true" receivebuffer="100000" sendbuffer="10000" > <protocol key="SIP/2.0" domainType="sip" requestType="SipRequest" responseType="SipResponse"/>
</channel>
3.5.3. Http.config
Ce fichier est le cœur de NCS.
Domaine : contient le nom de l'instance, le nom de certains dossiers (voir la section SSH) et est lié au nom de domaine dans le fichier sip.config (voir la section SIP).
Hôte : Interfaces IP ou entrée DNS permettant d'accéder au serveur avec le client NCS ou d'autres applications utilisant le protocole HTTP. Le serveur HTTP n'acceptera que les hôtes figurant dans cette clé.
Exemple:
<domain id="default" domainType="http" host="192.168.1.1:8088; myDns:8088"
Chaque hôte est séparé par un point-virgule.
Https est obligatoire.
Lien entre le serveur d'application et le serveur SQL (qui peut être la même machine ou non).
connectionString="Integrated Security=SSPI;Persist Security Info=False;Data Source=localhost;Initial Catalog={1}"
ou
connectionString="user ID=sa;password=[PASSWORD];Persist Security Info=False;Data Source=localhost;Initial Catalog={0}_{1}"
ou
connectionString="user ID=SuperAdmin;password=[PASSWORD];Persist Security Info=False;Data Source=localhost;Initial Catalog={0}_{1}"
et
extendedConnectionString="Integrated Security=No;User ID= sa;password=[PASSWORD];
securityadmin and serveradmin)
C) Informations d'identification et application d'administration Cette section contient certaines clés pour configurer la partie d'administration.
Créez un utilisateur SQL à utiliser en tant que NixxisAdminRole dans les informations d'identification "admin" ci-dessous.
Sur le serveur où les services de reporting de Microsoft SQL Server sont installés, créez un compte Windows local nommé "Reporting" avec le mot de passe "Rep0rting" et les propriétés suivantes :
i) Reporting
Les informations d'identification de l'utilisateur "Reporting" (doivent être créées sur la machine de reporting [1] avant d'enregistrer et d'exécuter le service cf : reporting) doivent être renseignées.
Si la machine d'application n'est pas la machine de reporting, le nom de cette machine doit être défini avant le caractère “\”.
En dessous, remplissez la clé "ReportServerUrl" avec l'adresse IP / le nom du serveur de la machine de reporting.
<credentials>
<add key="admin" credential="DefaultAdmin:password" roles="NixxisAdminRole"/>
<add credential="\Reporting:Rep0rting" roles="NixxisReportingRole"/>
</credentials>
…
ii) SSH
À partir de la version 2.3, SSH est utilisé pour synchroniser tous les fichiers audio entre le serveur d'application et le serveur multimédia.
<add key="soundsSync" value="/home/soundsv2/{1}/"/>
Chemin sur le serveur multimédia vers les fichiers audio : {1} = nom de domaine
<add key="mohSync" value="/srv/www/lighttpd/MohReload"/>
Chemin pour la synchronisation de la file d'attente de musique en attente (MoH), le fichier MohReload doit être exécutable.
Note : Notez que les informations d'identification sont configurées dans les ressources de l'administration. [1] Serveur où Nixxis Reporting est installé
iii) Maintenance
Un plan de maintenance intégré peut également être configuré dans cette section. Le serveur d'application ContactRoute est capable d'appliquer une maintenance de base de données.
Une procédure stockée (MaintainDatabases) est automatiquement créée dans la base de données Admin et sera appelée à intervalles réguliers si cette fonctionnalité est activée. Lorsqu'elle est exécutée, la procédure effectue les opérations suivantes pour toutes les DB.
- Sauvegarde de toutes les bases de données (à l'exception des statistiques).
- Reconstruction ou réorganisation de tous les index qui en ont besoin.
- Mise à jour des statistiques.
- Réduction des gros fichiers journaux vides.
Voici les détails :
<add key="maintenanceTime" value="2350" />
<add key="maintenanceDaysOfWeek" value ="0,1,2,3,4,5" />
<add key="maintenanceProcedureName" value="MaintainDatabases" />
<add key="maintenanceBackupPath" value="NixxisSQL{0}.bak" />
<add key="maintenanceBackupsToKeep" value="5"/>
La configuration minimale pour activer la fonctionnalité est la clé “maintenanceTime” spécifiant le(s) moment(s) de maintenance.
Voici la liste complète des clés disponibles :
- maintenanceTime (par défaut à null, indiquant qu'aucune sauvegarde ne sera effectuée) : liste séparée par des virgules des moments de la journée où la maintenance est exécutée. L'heure est spécifiée au format “HHmm”. Par exemple, pour démarrer la maintenance à 1h00 du matin, utilisez 1:00 in the night, use <add key="maintenanceTime" value="0100" />.
- maintenanceDaysOfWeek (par défaut à "0,1,2,3,4,5,6" signifiant tous les jours de la semaine : 0 = dimanche): liste séparée par des virgules des jours du mois où la maintenance doit être effectuée.
- maintenanceDaysOfMonth (par défaut à "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 ,25,26,27,28,29,30,31", signifiant tous les jours du mois) : liste séparée par des virgules des jours du mois où la maintenance doit être effectuée.
- maintenanceProcedureName (par défaut à “MaintainDatabases”): spécifie le nom de la procédure stockée à utiliser.
- maintenanceBackupPath (par défaut à “NixxisSQL{0}.bak”, indiquant d'utiliser le chemin de sauvegarde SQL par défaut) : chemin où la sauvegarde de la base de données sera stockée. Cela peut être un chemin complet ou un simple nom de fichier pour spécifier que le chemin de sauvegarde SQL par défaut doit être utilisé.
- maintenanceDeleteInactiveData (par défaut à -1, indiquant qu'aucune suppression n'est effectuée) : si positif, indique que les objets inactifs et les données associées doivent être supprimés si l'inactivation remonte à un nombre de jours spécifié. Cela est réservé à une utilisation future et n'a pas encore d'effet.
- maintenanceBackupsToKeep (par défaut à 1): indique combien de fichiers seront utilisés pour les sauvegardes. Cela est utilisé en conjonction avec la clé “maintenanceBackupPath”.
Lorsqu'elle est exécutée, toutes les actions SQL liées à la maintenance sont enregistrées dans des fichiers journaux.
Note: le serveur d'application doit être redémarré pour prendre en compte les modifications. Si vous utilisez un serveur d'administration distant, la clé ne doit être définie que sur un seul serveur, c'est-à-dire le serveur principal.
Cette section contient certaines clés pour configurer la partie Agent.
- allowTeamSelection: true or false. Lorsqu'elle est définie sur true, permet à l'agent de choisir l'équipe pour laquelle il souhaite être prêt.
- autoRedial: true or false. Lorsqu'elle est définie sur true, l'agent peut réessayer un numéro en cas d'appel manuel.
- ManualCallList: des numéros d'appel manuel spécifiques peuvent être "préremplis" dans cette clé (séparés par des virgules).
- concurrentVoice: la valeur est un nombre positif.
o 0 signifie que l'agent ne peut pas prendre de scripts vocaux.
o 1 signifie qu'il n'y aura qu'un script vocal à la fois sur l'écran de l'agent.
o 2 ou plus signifie que l'agent peut avoir 2 scripts vocaux ou plus en même temps.
- concurrentVoiceActive: la valeur est un nombre positif.
o 0 signifie que le bouton "Prêt vocal" sera désactivé.
o 1 signifie qu'il y aura seulement 1 script vocal connecté en même temps sur l'écran de l'agent.
Il y a une clé pour chaque média (concurrentMail, concurrentMailActive, concurrentChat, concurrentChatActive)
- client_AllowWaitingForVoice: vrai ou faux. Lorsque c'est false, l'agent ne peut pas sélectionner le "sous-bouton" sous le bouton Prêt global (mais il peut toujours cliquer sur le bouton Prêt global).
Il y a une clé pour chaque média (client_AllowWaitingForMail, client_AllowWaitingForChat)
- popupOnConnection: vrai ou faux. Lorsque c'est vrai, la fenêtre contextuelle sur l'interface de l'agent ne s'affiche que lorsque le téléphone de l'agent est connecté.
- client_AllowAllEditionScript : vrai ou faux. Lorsque c'est vrai, l'agent peut effectuer des sélections et des actions de copier-coller en faisant un clic droit sur l'interface.
- <add key="client_SoftPhoneCodecs" value="PCMA,PCMU"/> : Pour définir les codecs pris en charge pour le softphone intégré.
<!-- SalesForce click to call -->
<add key="client_BrowserExtension" value="Nixxis.Client.SalesForce.BrowserExtension, NixxisSalesForceClient" />
<add key="service_LinkNetworkType" value="ContactRoute.Client.HttpNetworkClient" />
Dans cette section, vous pouvez définir les chaînes de connexion FTP pour les enregistrements. Avec ce mode (relais), l'AppServer gérera la connexion FTP et transférera les données via le canal HTTP. Vous pouvez avoir une entrée par serveur FTP (séparée par un point-virgule):
Note: la section "Outil de configuration pour l'outil d'enregistrement" explique comment configurer les outils d'enregistrement pour le mode relais Notez également que le "/" à la fin de la chaîne est obligatoire.
4. Outil de configuration pour l'outil d'enregistrement
L'outil d'enregistrement doit être configuré pour être capable de répertorier toutes les données statistiques et de récupérer tous les fichiers wav/mp3.
DRIVE:\Nixxis\CrAppServer\Provisioning\Settings\ et exécutez le logiciel “Crconfigurator.exe”.
Dans cet outil, CrReporting peut être sélectionné.
4.1. Onglet service
Dans cet onglet, le service de données et le service de relais doivent être modifiés avec l'URL de l'AppServer ou avec le DNS, suivi de 8088.
4.2. Onglet transfert
Le mode relais gère le transfert des fichiers wav/mp3 via le serveur HTTP de Nixxis et prend en charge uniquement le type de connexion FTP.
Si les paramètres par défaut sont choisis, les informations configurées dans la section relais du fichier http.config seront utilisées.
5. Pare-feu
Ajoutez une règle entrante dans le pare-feu Windows qui autorise le programme “%SystemDrive%\Nixxis\CrAppServer\CRAppServer.exe” sur tous les ports et tous les protocoles (à la fois TCP et UDP).
Il est bien sûr possible d'ajouter une liste blanche dans le cadre de cette règle (ce qui est fortement recommandé si vous êtes exposé à Internet).
N'oubliez pas d'ajouter l'adresse IP de support de Nixxis à cette liste blanche. Les adresses IP sont disponibles dans la documentation
“ProvidingRemoteAccess”
Le pare-feu doit également être ouvert pour IIS (port 80).
6. Rapports Nixxis
6.1. Copier les fonctions de reporting
Copiez le contenu du dossier ToCopyReportingServer dans MicrosoftReportingServer\DRIVE\Program Files\Microsoft SQL Server\MSRS.?\Reporting Services\ReportServer\bin et acceptez de fusionner le dossier.
(Le chemin peut varier en fonction de votre installation, par exemple : C:\Program Files\Microsoft SQL Server Reporting Services\SSRS\ReportServer)
6.2. Déployer les rapports par défaut de Nixxis
Rendez-vous dans le dossier Deploy et exécutez “DeployReports.exe”
Le nom d'utilisateur doit être l'administrateur intégré de la machine sur laquelle le serveur de rapports Microsoft est en cours d'exécution.
La langue n'est plus pertinente, car la langue des rapports change en fonction de la langue du compte NCS que vous avez utilisé.
Remarque : Assurez-vous que le nom du répertoire virtuel est correct et doit être le même que celui sur le serveur de rapports. Utilisez les mêmes informations que celles utilisées dans les chaînes de connexion des fichiers de configuration (si ces informations sont correctes). Sur l'écran suivant, cliquez sur le bouton "Terminer" pour démarrer le déploiement des rapports.
6.3. Configuration de la source de données
Démarrez Internet Explorer et connectez-vous à l'interface web des rapports.
Utilisez le compte administrateur pour vous connecter
(utilisez des captures d'écran en anglais)
Cliquez sur le dossier "Sources de données" puis cliquez sur l'élément "ReportingDS" :
Dans les propriétés de "ReportingDS", adaptez la chaîne de connexion et les informations d'identification en utilisant le compte administrateur :
Testez la connexion, puis cliquez sur "Appliquer".
6.4. Ajoutez l'utilisateur de reporting
Sur la page d'accueil, cliquez sur le bouton "Paramètres de dossier" :
Ensuite, cliquez sur "Nouvelle attribution de rôle" et ajoutez l'utilisateur de reporting avec le rôle "Browser" (Navigateur), puis cliquez sur OK :
Pour Reporting Services 2022
cliquez sur l'icône en forme d'engrenage, puis sur "Paramètres du site" (Site settings) :
Allez dans "Sécurité" (Security) et cliquez sur "Ajouter un groupe ou un utilisateur" (Add group or user) :
Ajoutez l'utilisateur de reporting et attribuez-lui le rôle "Utilisateur système" (System User) :
Vous pouvez maintenant vous connecter avec l'utilisateur de reporting et consulter les rapports par défaut de Nixxis.
Démarrez le serveur d'application CR (CrAppServer) :
- Le serveur CrAppServer peut être démarré à partir du module "Services" ou en utilisant l'invite de commandes.
- Pour le démarrer en utilisant l'invite de commandes, tapez dans une fenêtre de commande : net start crappserver
- Pour l'arrêter : net stop crappserver
Vérifiez les fichiers journaux du serveur CrAppServer pour détecter d'éventuelles erreurs. La première mise en route peut prendre plus de temps car les bases de données doivent être créées.
En cas d'erreur, adaptez la configuration en conséquence.
Si vous rencontrez une erreur de sécurité CLR, suivez les étapes suivantes :
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'clr strict security', 0;
RECONFIGURE;
Meilleures pratiques
- Ne redémarrez jamais le service CrAppServer.
- Arrêtez-le en utilisant "net stop crappserver".
- Attendez qu'il s'arrête complètement, essayez de renommer le dernier fichier journal (log), si cela est possible. Sinon, attendez.
- Redémarrez-le après avoir renommé le fichier journal précédent afin qu'un nouveau soit généré.
7. Installation et configuration de l'outil Nixxis File Monitor
Avec Nixxis vient l'outil MoveFiles. Cet outil vous permet de déplacer ou de supprimer des fichiers en fonction de leur âge, de leur taille ou de l'espace disponible.
Cet outil doit être configuré au moins pour les fichiers journaux du serveur CrappServer, sinon ils peuvent occuper tout l'espace disque si vous les laissez croître...
7.1. Installation de MoveFile en tant que service Windows
Ouvrez une invite de commande et rendez-vous à l'emplacement où se trouve installutil.exe du framework .Net :
cd DRIVE:\Windows\Microsoft.NET\Framework\v2.0.50727
Ou
cd DRIVE:\Windows\Microsoft.NET\Framework64\v4.0.30319
Ensuite, tapez : installutil.exe DRIVE:\Nixxis\Tools\MoveFiles\MoveFiles.exe
Appuyez sur ENTRÉE.
Le service sera installé.
7.2. Configuration de MoveFile pour la suppression des fichiers journaux de Nixxis
Rendez-vous dans le dossier où se trouve MoveFiles.exe et renommezExampleMoveFiles.xml en MoveFiles.xml.
Modifiez le fichier avec le contenu suivant (en fonction des paramètres de votre installation) :
< ? xml version="1.0" encoding="utf-8" ?>
<monitor priority="BelowNormal" timer="5000" blockSize="8192" blockWait="10" fileWait="20">
<folder location="DRIVE:\Nixxis\Logs" pattern="*.log*" condition="age" value="30d" action="delete" target="" />
<folder location="C:\Windows\Temp" pattern="*.*" condition="age" value="3d" action="delete" target="" />
</monitor>
Dans cet exemple, MoveFiles supprimera tous les fichiers .log à l'intérieur du dossier CrAppServer lorsque l'âge des fichiers est supérieur à 30 jours.
Exemple 2:
<?xml version="1.0" encoding="utf-8" ?>
<monitor priority="BelowNormal" timer="5000" blockSize="8192" blockWait="10" fileWait="20">
<folder location="C:\Nixxis\Logs" pattern="*.log*" condition="age" value="30d" action="delete" target="" />
<folder location="C:\Windows\Temp" pattern="*.*" condition="age" value="3d" action="delete" target="" />
</monitor>
Démarrez le service :
Note : Un redémarrage du service est nécessaire pour toute modification apportée au fichier MoveFiles.xml.
8. Licence
Il existe une procédure dédiée pour l'approche technique de la licence dans Nixxis Contact Suite.
9. Configuration du plugin
- Téléchargez un client Nixxis Desktop sur votre PC en utilisant cette URL http://appserver:8088/Provisioning/ClientSoftware.zip
- Débloquez l'archive et décompressez son contenu.
- Placez-le dans un dossier pour lequel l'utilisateur dispose de tous les droits, par exemple dans "Documents".
- Créez un dossier nommé 'Nixxis Client' et placez-y le fichier NixxisClientDesktop.exe (d'autres DLL seront téléchargées après le lancement).
- Lancez NixxisClientDesktop.exe, indiquez l'URL du service http://appserver:8088/
- Utilisez l'utilisateur '100', sans mot de passe
- (Définissez ultérieurement un mot de passe)
Note: HTTPS
HTTPS est obligatoire et doit être installé/configuré.
À partir de NCS v3.1, la clé 'service_LinkNetworkType', précédemment utilisée pour prendre en charge HTTPS, ne doit plus être utilisée.
9.1 Plugin SIP
Le plugin SIP doit être configuré dans Administration => Paramètres d'intégration => Plugins.
Voici un exemple de paramètres de base, suffisant pour son chargement :
9.2 Plugin API
L'API est utilisée pour l'IVR, l'intégration de scripts, etc...
D'autres plugins peuvent être configurés en fonction des besoins.
Note de bas de page v3.1 : Vous devez ajouter une clé <add key="TranslationsApiKey" value="P7KlJAFDGA7LjicYXxYuE3TVbOMSKOyg4HenBrNf"/> dans la section appSettings de CrAppServer.exe.config.
+ Il est important de toujours mettre à jour CrAppServer.exe.config.
Ce document est suivi et complété par les documents suivants :