TUTO : Configurer le provisionnement RPS Snom
Le provisionnement RPS (Remote Provisioning Service) est une méthode de configuration des appareils qui permet de provisionner automatiquement les téléphones sans qu’il soit nécessaire d’entrer les paramètres de provisionnement dans l’interface web de ceux-ci, vous permettant ainsi de vous libérer de toutes les configurations manuelles afin d’enregistrer les téléphones sur PBXware.
Le service SRAPS de Snom permet notamment cette méthode de provisioning.
NOTE :
Le provisionnement RPS (Touchless provisioning) doit être activé dans la licence PBXware étant donné qu’il s’agit d’un module supplémentaire. Veuillez contacter votre revendeur afin d’en faire la demande.
Note pour les administrateurs
Notez qu’une étape préalable afin configurer le provisionnement RPS pour les systèmes Multi-Tenant est nécessaire.
Vous devez activer et régler le mode de provisionnement RPS. Pour ce faire, sur PBXware, naviguez vers Réglages > Tenants > Afficher les options avancées > Section des paramètres généraux > Mode de provisionnement RPS et définissez l’option “Mode de provisionnement” par Tenant ou Général, qui définit la manière dont le provisionnement RPS sera configuré.
Général : La page de configuration du provisionnement RPS ne sera visible que sur le Master Tenant. Choisissez ce mode si vous souhaitez qu’une seule configuration soit utilisée pour tous les Tenants.
Par tenant : La page de configuration du provisionnement RPS sera visible sur chaque Tenant. Définissez ce mode si vous souhaitez pouvoir configurer la fonctionnalité RPS sur chaque tenant séparément.
NOTE :
Par défaut, cette option est réglée sur Non sélectionné et dans ce cas, vous ne pourrez pas voir le menu de provisionnement RPS sur PBXware.
Qu’est-ce que SRAPS ?
SRAPS signifie Secure Redirection And Provisioning Service pour service de redirection et de provisionnement sécurisé.
Ce service permet au téléphone d’utiliser le déploiement Zero Touch Provisioning (ZTP) afin de provisionner les téléphones sans avoir à accéder à leur interface web et à les paramétrer. Avec SRAPS, vous pouvez gérer à distance les téléphones Snom sans aucune configuration sur site, ce qui permet de gagner du temps et éviter les erreurs humaines.
De plus, SRAPS est capable de pousser les mises à jour de firmware de tous les téléphones vers une version personnalisée.
Cela permet de mettre à jour des dizaines de téléphones avant même que le provisionnement automatique ne se produise. En outre, SRAPS fournit une fonctionnalité de redirection qui pointe le téléphone vers le système où se trouve le fichier de configuration, mais peut également fournir des paramètres personnalisés généraux à côté du fichier de configuration d’origine.
Vous trouverez ci-dessous des détails pour configurer le provisioning RPS avec le service SRAPS étape par étape.
Réglages préliminaires
Avant de commencer le provisioning RPS d’un poste téléphonique Yealink, il est important d’avoir défini plusieurs paramètres :
- Ayez défini une URL de provisioning dans les réglages de votre tenant/serveur
- Ayez défini une paire login/mot de passe de provisioning pour votre tenant/serveur
Renseigner une URL de provisioning
Renseignez l’URL de provisioning de votre serveur dans la section Provisionnement automatique de votre Master-Tenant (MT) ou Serveur (Business/CC) dans le champ WAN Nom d’hôte/IP:
Vous pourrez trouver ce champ dans via le chemin suivant :
- Pour un système Multi-Tenant : Réglages > Tenants > Master-Tenant > Configuration du Tenant > Provisionnement Automatique > WAN Nom d’hôte/IP
- Pour un système Business/CC : Réglages > Serveurs > Sélectionnez votre serveur > Configuration du serveur > Provisionnement Automatique > WAN Nom d’hôte/IP
Renseigner des identifiants de provisioning
Les identifiants de provisioning sont renseignés dans les paramètres du serveur pour les éditions PBXware Business/Contact Center et dans les réglages du tenant pour les éditions Multi-Tenant.
- Sur les éditions Business/CC, cliquez sur Réglages > Serveur > Cliquez sur votre serveur > Provisionnement automatique
- Sur l’édition Multi-tenant, situez vous sur le Master-tenant & cliquez sur Réglages > Tenants > Cliquez sur votre tenant > Provisionnement automatique
Accéder à SRAPS
Pour obtenir un compte, SRAPS, inscrivez vous gratuitement sur https://sraps.snom.comen cliquant sur Sign up et saisissez les informations de base du compte (nom de l’entreprise, pays, ville).
Ensuite, l’utilisateur peut utiliser la fonction de provisioning sans contact.
Générer une clé API SRAPS
Lorsque vous avez créé votre compte SRAPS, la première étape de l’intégration de PBXware avec SRAPS consiste à créer une paire de clé API sur votre espace SRAPS.
Pour cela, connectez vous à votre compte SRAPS et accédez à la section API Keys située sur le panneau latéral gauche.
Cliquez sur le bouton Ajouter afin de créer une clé API.
Choisir un nom d’entreprise pour chaque clé API peut se révéler utile lorsque vous devez provisionner plusieurs tenants avec une clé API différente.
Assurez-vous de sélectionner le rôle Company Admin car SRAPS ne permet pas l’enregistrement de l’appareil si ce rôle n’est pas choisi. Cliquez sur Sauvegarder.
La paire de clé AccessKeyID et Access Key Secret (mot de passe de la clé) sera alors automatiquement générée.
Configurer PBXware pour SRAPS
La prochaine étape consiste à intégrer PBXware à SRAPS via la clé API précédemment créée.
Pour ce faire, cliquez sur Master Tenant (sur une version Business ou Contact-Center, rendez-vous directement dans les réglages) > Réglages > Provisionnement RPS > Configuration et sélectionnez le fournisseur Snom.
Insérez ensuite l’Access Key ID et Access Key Secret de votre clé API précédemment créée.
Après avoir inséré les informations d’identification, cliquez sur Enregistrer, puis sur le bouton Test.
Le message suivant indique que PBXware est bien intégré à votre compte SRAPS :
Configuration du provisioning
Désormais, pour provisionner un téléphone en utilisant le service RPS, suivez ces étapes :
- Créez/modifiez une extension et assurez vous que trois éléments sont définis :
- L’emplacement de l’UAD doit être réglé sur A distance.
- Auto provisioning doit être réglé sur Oui et entrez l’adresse MAC de votre téléphone.
- Dans le champ UAD, il doit s’agir d’un UAD du fournisseur Snom.
- Enregistrez les paramètres de l’extension.
- Enregistrez le téléphone auprès du service de redirection du fournisseur. Pour ce faire, allez dans Réglages > Provisionnement RPS > Périphériques
- Sélectionnez le périphérique avec l’adresse MAC du téléphone et cliquez sur le bouton Enregistrer.
Sur PBXware, lorsque vous créez une nouvelle extension ou avez déjà créé des extensions avec une UAD Snom, vous pourrez ainsi la provisionner en utilisant la fonctionnalité RPS.
Dans la section Provisionnement RPS > Périphériques de PBXware, vous pourrez voir apparaître une liste de tous les périphériques Snom reconnus qui peuvent être utilisés pour le provisionnement RPS dès lors qu’une extension utilise un UAD Snom.
Vous pourrez notamment voir les adresses MAC, nom, numéro d’extension, type d’UAD, statut, date d’enregistrement et dernier message de chaque périphérique.
Si l’enregistrement a réussi, le message suivant devrait apparaître :
Vous pourrez ainsi superviser l’état d’enregistrement des appareils et la date à laquelle l’enregistrement a eu lieu.
La colonne Dernier message affiche les erreurs susceptibles de se produire.
Si l’enregistrement s’est réalisé avec succès, vous verrez le symbole ” – ” dans cette colonne.
Lorsque vous sélectionnez l’appareil et cliquez sur le bouton Enregistrer, PBXware génère automatiquement les détails d’accès dans sa base de données et les intègre via l’API sur le serveur SRAPS.
Les détails générés dynamiquement sont les suivants :
- Nom d’utilisateur HTTP
- Mot de passe HTTP
- URL de provisioning http://$PBXWARE_IP/ztprov/snom{$MODEL}-{$MAC}.htm
- L’URL, le nom d’utilisateur HTTP et le mot de passe HTTP sont transmis au serveur SRAPS par PBXware qui seront à leur tour transmis au téléphone pour transmettre une autorisation de provisioning. Cela indique que le téléphone a visité le serveur SRAPS et collecté les informations d’identification.
- Le téléphone visite ensuite l’URL de provisioning et fournit le nom d’utilisateur et le mot de passe HTTP pour l’authentification.
Si les informations d’identification sont correctes, PBXware approuve la demande et le téléphone reçoit le modèle de provisionnement automatique généré par PBXware.
Après cette étape, le téléphone redémarre et se provisionne avec le fichier de configuration de provisionnement normal à l’aide du nom d’utilisateur HTTP et du mot de passe HTTP définis dans les paramètres du tenant/serveur.
Pendant tout ce processus, votre rôle est uniquement de créer des clés API et intégrer PBXware avec SRAPS.
La section Appareils de votre espace SRAPS est vide au départ et aucun appareil n’est présent. Cependant, lorsque vous cliquez sur le bouton Enregistrer sur PBXware afin d’enregistrer un appareil Snom, le compte SRAPS se provisionne automatiquement avec de nouveaux appareils. Une URL, un nom d’utilisateur et un mot de passe de provisioning sont alors automatiquement générés.
Votre téléphone est maintenant prêt à être réinitialisé à l’état d’usine, tous les prérequis sont remplis pour son provisionnement RPS.
Notez que si le téléphone est neuf ou encore dans son emballage, il ne nécessite aucune réinitialisation. Ne réinitialisez le téléphone que s’il a déjà existé une configuration sur celui-ci auparavant.
Réinitialisation du téléphone
Vous pouvez réinitialiser votre téléphone Snom de deux manières :
- Via l’interface web
- Manuellement
Réinitialisation d’usine via l’interface graphique
Connectez-vous à l’interface web de votre téléphone Snom (exemple 192.168.1.94) et dans le panneau latéral gauche, cliquez sur Advanced, puis sur Update et enfin cliquez sur le bouton Reset qui réinitialisera le téléphone à l’état d’usine.
Réinitialisation d’usine manuellement
Composez * * # # puis maintenez # sur le téléphone. Le téléphone devrait alors démarrer le téléphone en mode de secours. Sélectionnez ensuite Settings reset.
Si chaque étape est suivie jusqu’à présent, le téléphone devrait être automatiquement provisionné et l’extension passera alors en ligne sur PBXware.
L’utilisateur peut composer *123 afin d’entrer dans sa boîte vocale pour confirmer le provisioning.
Fichiers de journaux
Pendant le processus de provisionnement, le téléphone s’authentifiera auprès du serveur Web afin d’accéder à son fichier de configuration.
Ce fichier est trouvable depuis le chemin suivant :
/opt/pbxware/pw/var/log/nginx/localhost.access_log
Requête ztprov
La première requête GET est envoyée par téléphone sans informations d’identification. Cependant, le service Nginx répond avec un message de réponse 401 non autorisé demandant une autorisation.
GET /ztprov/snomd717-ABC123EFG456.htm HTTP/ 1.1 " 401
La demande initiale doit être suivie de la suivante. Lorsque 200 est renvoyé, Nginx autorise le téléphone à accéder à /ztprov/snomd717-ABC123EFG456.htm car le téléphone s’est authentifié avec les informations d’identification reçues lors de la mise en relation avec le serveur SRAPS.
GET /ztprov/snomd717-ABC123EFG456.htm HTTP/ 1.1 " 200
Le fichier que le téléphone vient de recevoir contient, entre autres paramètres généraux par défaut, des informations d’identification qui seront utilisées comme authentification lors de la demande du fichier suivant – /prov/snom{modèlel}-{mac}.htm .
Ces paramètres sont :
- setting_server$:http:// <votreipbx.fr>/prov/snomd717-ABC123EFG456.htm
- http_client_user$ :<LOGIN_HTTP_DE_PBXWARE>
- http_client_password$ :<MOT_DE_PASSE_HTTP_DE_PBXWARE>
Les http_client_user$ et http_client_password$ sont définis par l’administrateur PBXware dans les paramètres du tenant sous la section Auto Provisioning et seront utilisés pour l’authentification lors de la demande de /prov/snom{modèle}-{mac}.htm
Requête /prov
L’étape suivante consiste à demander /prov/snom{modèle}-{mac}.htm , après quoi le serveur Web répond par 401 Unauthorized.
GET /prov/snomd717-ABC123EFG456.htm HTTP/1.1" 401
Le téléphone envoie à nouveau la demande mais inclut les informations d’identification reçues du fichier /ztprov/snom{modèle}-{mac}.htm et la demande/réponse ressemble à ceci :
GET /prov/snomd717-ABC123EFG456.htm HTTP/1.1" 200
Cette demande doit comporter un code de réponse de 200 qui termine le processus de provisionnement sans contact.
Le téléphone redémarrera et utilisera les informations d’identification de provisionnement automatique reçues de /prov/snomd717-ABC123EFG456.htm pour chaque redémarrage continu.
Le téléphone ne contactera pas le serveur SRAPS tant qu’il n’aura pas été réinitialisé aux paramètres d’usine.
Dépannage
Le fichier de configuration du service de provisionnement sans contact se trouve dans /opt/pbxware/pw/etc/rps/rps.ini
Vous trouverez quelques contextes (section) qui définissent le comportement du service. Dans un contexte général, vous pouvez contrôler la mise en file d’attente des événements pour le service RPS. Étant donné que chaque action dans l’interface graphique crée un événement, les événements doivent être mis en file d’attente (premier arrivé, premier servi). Les deux directives suivantes définissent le nombre de files d’attente et le nombre d’événements par file d’attente :
- queuenum : nombre de files d’attente.
- queuecap : nombre d’événements par file d’attente
En général, il existe un écouteur HTTP dans le service RPS qui écoute sur le port 15777 et toutes les modifications apportées à partir de l’interface graphique seront envoyées sous forme d’événements au service sur ce port 15777.
Tout événement (c’est-à-dire enregistrer un appareil, désenregistrer un appareil) sera récupéré par le DISTRIBUTOR et distribué dans des files d’attente.
Il existe, par exemple, une ligne du fichier rps.log qui explique ce que fait le service de distribution des événements :
[2021-10-26 10:20:40] INFO (DISTRIBUTOR): Distributing events. Num=1)
Ensuite, la file récupère les événements et les envoie sous forme de requêtes vers le serveur SRAPS pour ajouter (enregistrer) un appareil. Cette requête peut ressembler à ceci :
INFO (Snom): Sending Request. Mac=ABC123EFG456 Url=https://secure- provisioning.snom.com/api/v1/tokens/**ACCESS_KEY_ID**
INFO (Snom): Sending Request. Mac=ABC123EFG456 Url=https://secure-provisioning.snom.com/api/v1/settings/
INFO (Snom): Sending Request. Mac=ABC123EFG456 Url=https://secure- provisioning.snom.com/api/v1/companies/5fab351853094e129cc2c1185ff329cf/endpoints/ABC123EFG456
La base de données ajoute alors un périphérique dans la base de données MySQL. Enfin, les files sont nettoyées car il n’y a aucun événement à gérer.
Le distributeur voit que les files d’attente sont vides et essaie de récupérer plus d’événements à envoyer dans une file. S’il y a plus d’événements, ils seront envoyés en file pour exécution.
Erreurs fréquentes
403 Forbidden
ERROR Error while handling Event. Action=add Err=403: Forbidden
MAC=ABC123EFG456 Provider=snom Server=8
Vous pouvez voir cette erreur lorsque le compte SRAPS ne dispose pas d’autorisations. Ceci est résolu en choisissant Rôle dans le compte SRAPS lors de la création de clés API.