|
|
Ligne 1 : |
Ligne 1 : |
− | == Présentation ==
| + | Quelques exemples avec "0" comme préfixe de sortie : |
− | L'annuaire Wazo n'est pas pris en charge sur les bornes M900 en raison d'une URL Trop grande.
| + | *"0[1-3]XXX" : les numéros spéciaux Français sur 4 chiffres. |
| + | *"0118XXX" : les renseignements téléphoniques. |
| + | *"00[1-589]XXXXXXXX" : correspond aux numéros fixes français. |
| + | *"00[67]XXXXXXXX" : correspond aux numéros de cellulaires français. |
| + | *"000XXXXX." : les numéros à l'international. |
| + | *"011[23459]" : les numéros d’urgences Européen avec préfixe de sortie. |
| + | *"11[23459]" : les numéros d’urgences Européen sans préfixe de sortie |
| + | *"01[578]" : les numéros d’urgences Français avec préfixe de sortie. |
| + | *"1[578]" : les numéros d’urgences Français sans préfixe de sortie. |
| | | |
− | [[Fichier:wazo-m900snom-limitation.jpg]] | + | Quelques exemples sans préfixe de sortie : |
| + | *"[1-3]XXX" : les numéros spéciaux Français sur 4 chiffres. |
| + | *"118XXX" : les renseignements téléphoniques. |
| + | *"0[1-589]XXXXXXXX" : correspond aux numéros fixes français. |
| + | *"0[67]XXXXXXXX" : correspond aux numéros de cellulaires français. |
| + | *"00XXXXX." : les numéros à l'international. |
| + | *"11[23459]" : les numéros d’urgences Européen |
| + | *"1[578]" : les numéros d’urgences Français |
| | | |
− | Après vérification, la raison communiqué par l'éditeur wazo est exact :).
| + | [[File:Xivo_dialplan_toextern_1.png||450px]] |
| | | |
− | J'ai tenté de contourner cette limitation via une redirection 301, mais sans succès.
| + | [[File:Xivo_dialplan_toextern_2.png||450px]] |
− | | |
− | Nous allons donc télécharger le répertoire sur le serveur wazo et de le mettre à disposition sur un autre serveur avec une URL de taille accepté par les bornes.
| |
− | | |
− | Environnement de test:
| |
− | * Wazo version: 23.1
| |
− | * Borne M900 version: 530.2
| |
− | * M85 version: 530.2
| |
− | | |
− | == M900 - Phonebook ==
| |
− | Les bornes M900 peuvent gérer le répertoire distant de 4manières.
| |
− | * Local
| |
− | * LDAP
| |
− | * XML Server
| |
− | * XML MiniBrowser Server
| |
− | | |
− | === Local ===
| |
− | Ce mode télécharge le répertoire à une intervalle prédéfini et le stock dans sa mémoire.
| |
− | les téléphones récupère le répertoire sur la borne.
| |
− | | |
− | Documentation: https://service.snom.com/display/wiki/How+to+use+the+Local+Central+Directory+on+M300%2C+M700%2C+M900+DECT+base
| |
− | | |
− | === LDAP ===
| |
− | L'annuaire central du serveur LDAP permet de configurer tous les paramètres spécifiques à LDAP afin d'effectuer des recherches sur un serveur LDAP
| |
− | | |
− | === XML Server ===
| |
− | Le choix XML server est spécifique à Broadsoft , ce type de carnet d'adresses utilise une API propriétaire Broadsoft nommée XSI pour accéder aux répertoires.
| |
− | | |
− | === XML MiniBrowser Server ===
| |
− | Dans ce mode, rien n'est stocké sur la borne,
| |
− | | |
− | Quand un téléphone souhaite accéder à l'annuaire, il fait une requête http vers le serveur distant et télécharge le répertoire.
| |
− | | |
− | === Choix du type de serveur ===
| |
− | De base, wazo est fait pour fonctionner avec XML Minibrowser Server, mais lors de mes différents test j'ai pu constater qu'un annuaire de plus de 160 contacts n'était pas accepté.
| |
− | | |
− | Le mode Local n'ayant pas cette limitation nous adapteront le fichier xml afin de lui convenir.
| |
− | | |
− | ==Configuration du serveur==
| |
− | === VM ===
| |
− | Dans mon cas, je suis parti avec une VM:
| |
− | * Stockage: 4Go
| |
− | * Rem: 1024Mo
| |
− | | |
− | Sur laquelle j'ai installé une Debian 11.6 minimal avec serveur web (apache2) + php
| |
− | | |
− | === Dépendance ===
| |
− | Pour le traitement des données Json
| |
− | apt-get install jq
| |
− | | |
− | === Installation ===
| |
− | clonner le projet git:
| |
− | git clone https://github.com/slemoal51/Wazo---Phonebook.git
| |
− | | |
− | déplacer le contenu du repertoire html en racine de votre repertoire apache.
| |
− | | |
− | Dans mon exemple: /var/www/html/
| |
− | | |
− | | |
− | Déplacer le contenu du repertoire scripts ou vous le souhaitez.
| |
− | | |
− | Dans mon exemple: /etc/phonebook/
| |
− | | |
− | Modifier le mot de passe dans le fichier:
| |
− | /var/www/html/login.php
| |
− | | |
− | Adapter le chemin des repertoires dans le fichiers:
| |
− | /etc/phonebook/download.sh
| |
− | /etc/phonebook/custom.sh
| |
− | | |
− | Donner les droits d'exécution
| |
− | chmod +x /etc/phonebook/download.sh
| |
− | chmod +x /etc/phonebook/custom.sh
| |
− | | |
− | Modifier crontab pour lancer les scripts toutes les 5minutes
| |
− | crontab -e
| |
− | | |
− | <nowiki># Télécharger les répertoires
| |
− | */5 * * * * bash /etc/phonebook/download.sh > /dev/null
| |
− | | |
− | # Adapter les répertoires
| |
− | */5 * * * * bash /etc/phonebook/custom.sh > /dev/null</nowiki>
| |
− | | |
− | == Configuration page Web ==
| |
− | Se connecter sur votre page web
| |
− | | |
− | https://phonebook.slemoal
| |
− | | |
− | Renseigner votre mot de passe, valider.
| |
− | | |
− | === Récuperer l'URL de l'annuaire Wazo ===
| |
− | La 1ère étape consiste à récupérer le lien de l'annuaire du serveur wazo
| |
− | [[Fichier:phonebook-geturl.jpg]]
| |
− | | |
− | # Choisir la stack
| |
− | # Saisir une mac adresse lié à un poste yealink de l’installation.
| |
− | [[Fichier:phonebook-geturl1.jpg]]
| |
− | | |
− | [[Fichier:phonebook-geturl2.jpg]] | |
− | | |
− | === Saisie d'un client ===
| |
− | Sur la page principale :
| |
− | # Activer
| |
− | # Saisir un nom de client
| |
− | # Coller l’URL précédemment obtenu
| |
− | # L’ID est automatiquement généré après avoir sauvegardé en fonction du nom de client.
| |
− | | |
− | [[Fichier:phonebook-index.jpg]]
| |
− | | |
− | Renseigner:
| |
− | * Activer
| |
− | * Saisir URL de l'annuaire wazo
| |
− | * Enregistrer
| |
− | | |
− | L'ID est automatiquement généré par rapport au nom du client.
| |
− | Modifier celui ci obligera à modifier l'ID sur les bornes SNOM du client
| |
− | | |
− | == Configuration des bornes snom ==
| |
− | === Méthode Manuel ===
| |
− | Voici les paramètres à configurer sur la borne maitre afin que la borne à télécharger son annuaire toute les 5minutes
| |
− | | |
− | Coller l'id généré précedemment dans le champs "nom du fichier"
| |
− | | |
− | Attention, si le provisionning est activé avec une configuration différente, les paramètres seront écrasés.
| |
− | | |
− | PI: Le bouton "charger" permet de vider le répertoire actuel
| |
− | | |
− | [[Fichier:wazo-m900snom-manuel.jpg]]
| |
− | | |
− | === Autoprovisionning Wazo ===
| |
− | | |
− | La méthode "propre" est de créer une template custom pour la borne M900
| |
− | | |
− | ci dessous un lien vers la documentation wazo:
| |
− | | |
− | https://wazo-platform.org/documentation/overview/provisioning-admin.html
| |
− | | |
− | Les champs nous intéressant sont:
| |
− | en ligne 56 le type de repertoire (O = Local, 1 LDAP, 2 XML Server, 3 XML browser server)
| |
− | <phonebook_server_location perm="R">0</phonebook_server_location>
| |
− | | |
− | en ligne 57 l'adresse du serveur
| |
− | <phonebook_location perm="R">https://phonebook.slemoal.fr/phonebook/</phonebook_location>
| |
− | | |
− | le nouveau fichier M900.tpl devra ressembler à celui la:
| |
− | | |
− | <syntaxhighlight lang="python" line><?xml version="1.0" encoding="utf-8" ?>
| |
− | <settings>
| |
− | <phone-settings>
| |
− | {%- if vlan_enabled %}
| |
− | <vlan_id>{{ vlan_id }}</vlan_id>
| |
− | <vlan_qos>{{ vlan_priority|d('0') }}</vlan_qos>
| |
− | {%- else %}
| |
− | <vlan_id></vlan_id>
| |
− | <vlan_qos></vlan_qos>
| |
− | {%- endif %}
| |
− | | |
− | <codec_tos>184</codec_tos>
| |
− | <codec_priority_list perm="R">pcma,pcmu,g722,g729,telephone-event</codec_priority_list>
| |
− | <signaling_tos>184</signaling_tos>
| |
− | | |
− | {%- if admin_username %}
| |
− | <http_user>{{ admin_username|e }}</http_user>
| |
− | {%- else %}
| |
− | <http_user>guest</http_user>
| |
− | {%- endif %}
| |
− | | |
− | {%- if admin_password %}
| |
− | <admin_mode_password>{{ admin_password|e }}</admin_mode_password>
| |
− | <http_pass>{{ admin_password|e }}</http_pass>
| |
− | {%- else %}
| |
− | <admin_mode_password>12345</admin_mode_password>
| |
− | <http_pass>guest</http_pass>
| |
− | {%- endif %}
| |
− | | |
− | {%- if ntp_enabled %}
| |
− | <ntp_server>{{ ntp_ip }}</ntp_server>
| |
− | {%- else %}
| |
− | <ntp_server></ntp_server>
| |
− | {%- endif %}
| |
− | | |
− | {%- for server in XX_servers.values() %}
| |
− | <srv_sip_server_alias idx="{{ server['id'] }}">Wazo {{ server['id'] }}</srv_sip_server_alias>
| |
− | <user_host idx="{{ server['id'] }}">{{ server['proxy_ip'] }}</user_host>
| |
− | <srv_srtp_auth idx="{{ server['id'] }}">off</srv_srtp_auth>
| |
− | <user_dtmf_info idx="{{ server['id'] }}">{{ server['dtmf_mode'] }}</user_dtmf_info>
| |
− | {%- endfor %}
| |
− | | |
− | {%- for line_no, line in sip_lines.items() %}
| |
− | <user_active idx="{{ line_no }}">on</user_active>
| |
− | <user_name idx="{{ line_no }}">{{ line['username']|e }}</user_name>
| |
− | <user_pname idx="{{ line_no }}">{{ line['auth_username']|e }}</user_pname>
| |
− | <user_pass idx="{{ line_no }}">{{ line['password']|e }}</user_pass>
| |
− | <user_realname idx="{{ line_no }}">{{ line['display_name']|e }}</user_realname>
| |
− | <user_mailbox idx="{{ line_no }}">{{ line['voicemail'] }}</user_mailbox>
| |
− | <subscr_sip_hs_idx idx="{{ line_no }}">{{ line_no }}</subscr_sip_hs_idx>
| |
− | <subscr_dect_ac_code idx="{{ line_no }}">{{ "{0:0>4}".format(line_no) }}</subscr_dect_ac_code>
| |
− | <subscr_sip_ua_data_server_id idx="{{ line_no }}">{{ line['XX_server_id'] }}</subscr_sip_ua_data_server_id>
| |
− | <codec_priority_list idx="{{ line_no }}" perm="R">pcma,pcmu,g722,g729,telephone-event</codec_priority_list>
| |
− | {%- endfor %}
| |
− | | |
− | {% if XX_xivo_phonebook_url -%}
| |
− | <phonebook_server_location perm="R">0</phonebook_server_location>
| |
− | <phonebook_location perm="R">https://phonebook.slemoal.fr/phonebook/</phonebook_location>
| |
− | {% endif -%}
| |
− | | |
− | {%- if XX_lang %}
| |
− | <language>{{ XX_lang[0] }}</language>
| |
− | <web_language>{{ XX_lang[0] }}</web_language>
| |
− | <tone_scheme>{{ XX_lang[1] }}</tone_scheme>
| |
− | {%- endif %}
| |
− | | |
− | {% block settings_suffix %}{% endblock %}
| |
− | </phone-settings>
| |
− | </settings>
| |
− | </syntaxhighlight>
| |
− | | |
− | Une fois la borne autoprovisionner, vous devrez vous connecter sur la borne maitre et Coller l'id généré précedemment dans le champs "nom du fichier"
| |
− | | |
− | [[Fichier:wazo-m900snom-auto.jpg]]
| |