Zoo VoIP – Approvisionnement

Entrée

Un jour, la direction a approuvé une expérience visant à introduire la téléphonie IP dans notre bureau. Comme mon expérience dans ce domaine était limitée, cette tâche a suscité chez moi un grand intérêt et je me suis plongé dans l'étude de divers aspects de la question. A la fin de la plongée, j'ai décidé de partager les connaissances que j'avais acquises dans l'espoir que cela puisse être utile à quelqu'un. Donc…

Données initiales

Asterisk a été sélectionné et déployé en tant que PBX IP. La flotte téléphonique comprend les appareils Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 et Dlink DPH-150S(E)/F3, Yealink T19 et T21. Cette variation est due au fait que dans le cadre de l'expérimentation, il a été décidé d'essayer un peu de tout afin de se faire un avis sur le rapport qualité/prix/pratique.

Tâche

Simplifiez et unifiez autant que possible le processus de configuration de nouveaux appareils. Tous les téléphones doivent être synchronisés dans le temps, disposer d'un répertoire téléphonique chargé à partir du serveur et permettre à l'administrateur d'accéder aux paramètres.

La solution à ce problème est simple : mettre en œuvre une configuration automatique des téléphones, ce qu'on appelle. Approvisionnement. En fait, ma mise en œuvre de cette merveilleuse fonction sera discutée.

Configuration de tftpd,dhcpd

Pour distribuer les paramètres aux téléphones, j'ai choisi tftp comme option universelle, prise en charge par toutes les plateformes, facile à configurer et à gérer.

Aucune configuration spécifique n'était requise pour TFTP. J'ai installé le tftpd standard et placé tous les fichiers nécessaires dans son répertoire racine.
J'ai placé les fichiers de paramètres dans des répertoires conformément au fabricant du téléphone. Certes, le périphérique Cisco n'est jamais entré dans son dossier, j'ai donc dû le stocker à sa racine.

Afin de pointer les téléphones vers l'emplacement du serveur TFTP, j'ai utilisé l'option 66. De plus, il les a divisés en classes distinctes par fabricant. Chaque classe a reçu son propre segment d'adresse et un dossier individuel pour les fichiers de configuration. À propos, les appareils de D-link devaient être calculés par adresses MAC, car ils ne fournissent pas d'informations sur le fabricant dans la requête DHCP.

Fragmenter dhcpd.conf

# Spécifiez les options requises option option-66 code 66 = texte; class "panasonic" { match if substring (option supplier-class-identifier,0,9) = "Panasonic" ; option option-66 "10.1.1.50/panasonic/" ; } class "cisco" { match if substring (option supplier-class-identifier,0,36) = "Cisco Systems, Inc. IP Phone CP-7906" ; option option-66 "10.1.1.50/cisco/" ; } class "grandstream" { match if substring (option supplier-class-identifier,0,11) = "Grandstream" ; option option-66 "10.1.1.50/grandstream/" ; } class "dlink" { match if (binaire vers ascii (16,8, ",substring(hardware,1,4)) = "c8:d3:a3:8d") ou (binaire vers ascii (16,8,":",substring(hardware,1,4)) = "90:94:e4:72"); option option-66 "10.1.1.50/dlink/" ; } class "yealink" { match if substring (option supplier-class-identifier,0,7) = "Yealink"; option option-66 "10.1.1.50/yealink/" ; }

Les téléphones ont dû être exclus de force du pool général. Sinon, ils ne voulaient pas aller à leur « pataugeoire ».
Exemple de paramètres de sous-réseau

sous-réseau 10.1.1.0 masque de réseau 255.255.255.0 { option routeurs 10.1.1.1 ; pool { refuser les membres de "cisco" ; refuser les membres de « Panasonic » ; refuser les membres de « dlink » ; plage 10.1.1.230 10.1.1.240 ; } pool { autoriser les membres de "cisco" ; plage 10.1.1.65 10.1.1.69 ; } pool { autoriser les membres de "panasonic" ; plage 10.1.1.60 10.1.1.64 ; } pool { autoriser les membres de "dlink" ; plage 10.1.1.55 10.1.1.59 ; } }

Après avoir redémarré tous les services impliqués, les téléphones se sont rendus en toute confiance sur le serveur TFTP qui leur a été attribué pour les paramètres. Il ne reste plus qu'à les y placer.

Cisco 7906

J'ai reçu ces appareils dans leur emballage d'origine. J'ai dû le changer pour me lier d'amitié avec astérisque. Mais c'est une autre histoire. Dans un cas précis, pour configurer l'appareil, selon les instructions, j'ai créé le fichier SEPAABBCCCDDEEFF.cnf.xml à la racine du serveur tftp. Où AABBCCDDEEFF est l'adresse MAC de l'appareil.

Il a déjà été écrit plus d'une fois sur la configuration des téléphones Cisco, je vais donc simplement laisser un fichier de travail avec les paramètres.
Paramètres pour Cisco

<?xml version="1.0" encoding="UTF-8"?>
<device xsi_type="axl:XIPPhone" ctiid="94">
<fullConfig>true</fullConfig>
<deviceProtocol>SIP</deviceProtocol>
<sshUserId>root</sshUserId>
<sshPassword>ADMIN_PWD</sshPassword>
<devicePool>
<dateTimeSetting>
<dateTemplate>D-M-Y</dateTemplate>
<timeZone>Central Pacific Standard Time</timeZone>
<ntps>
<ntp>
<name>10.1.1.4</name>
<ntpMode>Unicast</ntpMode>
</ntp>
</ntps>
</dateTimeSetting>
<callManagerGroup>
<members> <member priority="0"> <callManager>
<name>10.1.1.50</name>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<sipPort>5060</sipPort>
<securedSipPort>5061</securedSipPort>
</ports>
<processNodeName>10.1.1.50</processNodeName>
</callManager> </member> </members>
</callManagerGroup>
<srstInfo>
<srstOption>Disable</srstOption>
</srstInfo>
<connectionMonitorDuration>120</connectionMonitorDuration>
</devicePool>
<sipProfile>
<sipCallFeatures>
<cnfJoinEnabled>true</cnfJoinEnabled>
<callForwardURI>x-cisco-serviceuri-cfwdall</callForwardURI>
<callPickupURI>x-cisco-serviceuri-pickup</callPickupURI>
<callPickupListURI>x-cisco-serviceuri-opickup</callPickupListURI>
<callPickupGroupURI>x-cisco-serviceuri-gpickup</callPickupGroupURI>
<meetMeServiceURI>x-cisco-serviceuri-meetme</meetMeServiceURI>
<abbreviatedDialURI>x-cisco-serviceuri-abbrdial</abbreviatedDialURI>
<rfc2543Hold>false</rfc2543Hold>
<callHoldRingback>2</callHoldRingback>
<localCfwdEnable>true</localCfwdEnable>
<semiAttendedTransfer>true</semiAttendedTransfer>
<anonymousCallBlock>2</anonymousCallBlock>
<callerIdBlocking>2</callerIdBlocking>
<dndControl>0</dndControl>
<remoteCcEnable>true</remoteCcEnable>
<retainForwardInformation>false</retainForwardInformation>
</sipCallFeatures>
<sipStack>
<sipInviteRetx>6</sipInviteRetx>
<sipRetx>10</sipRetx>
<timerInviteExpires>180</timerInviteExpires>
<timerRegisterExpires>3600</timerRegisterExpires>
<timerRegisterDelta>5</timerRegisterDelta>
<timerKeepAliveExpires>120</timerKeepAliveExpires>
<timerSubscribeExpires>120</timerSubscribeExpires>
<timerSubscribeDelta>5</timerSubscribeDelta>
<timerT1>500</timerT1>
<timerT2>4000</timerT2>
<maxRedirects>70</maxRedirects>
<remotePartyID>true</remotePartyID>
<userInfo>None</userInfo>
</sipStack>
<autoAnswerTimer>1</autoAnswerTimer>
<autoAnswerAltBehavior>false</autoAnswerAltBehavior>
<autoAnswerOverride>true</autoAnswerOverride>
<transferOnhookEnabled>false</transferOnhookEnabled>
<enableVad>false</enableVad>
<preferredCodec>none</preferredCodec>
<dtmfAvtPayload>101</dtmfAvtPayload>
<dtmfDbLevel>3</dtmfDbLevel>
<dtmfOutofBand>avt</dtmfOutofBand>
<kpml>3</kpml>
<alwaysUsePrimeLine>false</alwaysUsePrimeLine>
<alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
<phoneLabel>Cisco Phone</phoneLabel>
<stutterMsgWaiting>2</stutterMsgWaiting>
<callStats>false</callStats>
<offhookToFirstDigitTimer>15000</offhookToFirstDigitTimer>
<silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
<disableLocalSpeedDialConfig>true</disableLocalSpeedDialConfig>
<poundEndOfDial>false</poundEndOfDial>
<startMediaPort>16384</startMediaPort>
<stopMediaPort>32766</stopMediaPort>
<sipLines>
<line button="1" lineIndex="1">
<featureID>9</featureID>
<proxy>10.1.1.50</proxy>
<port>5060</port>
<autoAnswer> <autoAnswerEnabled>2</autoAnswerEnabled> </autoAnswer>
<callWaiting>3</callWaiting>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>3</messageWaitingLampPolicy>
<messagesNumber></messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>true</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
<featureLabel></featureLabel>
<displayName>User #103</displayName>
<name>103</name>
<authName>103</authName>
<authPassword>SIP_PWD</authPassword>
</line>
</sipLines>
<externalNumberMask>$num</externalNumberMask>
<voipControlPort>5060</voipControlPort>
<dscpForAudio>184</dscpForAudio>
<ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
<dialTemplate>dialplan.xml</dialTemplate>
</sipProfile>
<commonProfile>
<phonePassword>*0#</phonePassword>
<backgroundImageAccess>true</backgroundImageAccess>
<callLogBlfEnabled>2</callLogBlfEnabled>
</commonProfile>
<loadInformation></loadInformation>
<vendorConfig>
<disableSpeaker>false</disableSpeaker>
<disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
<forwardingDelay>1</forwardingDelay>
<pcPort>0</pcPort>
<settingsAccess>1</settingsAccess>
<garp>0</garp>
<voiceVlanAccess>0</voiceVlanAccess>
<videoCapability>0</videoCapability>
<autoSelectLineEnable>1</autoSelectLineEnable>
<webAccess>0</webAccess>
<daysDisplayNotActive>1,7</daysDisplayNotActive>
<displayOnTime>09:00</displayOnTime>
<displayOnDuration>12:00</displayOnDuration>
<displayIdleTimeout>01:00</displayIdleTimeout>
<spanToPCPort>1</spanToPCPort>
<loggingDisplay>2</loggingDisplay>
<loadServer>10.1.1.50</loadServer>
<recordingTone>0</recordingTone>
<recordingToneLocalVolume>100</recordingToneLocalVolume>
<recordingToneRemoteVolume>50</recordingToneRemoteVolume>
<recordingToneDuration></recordingToneDuration>
<displayOnWhenIncomingCall>0</displayOnWhenIncomingCall>
<rtcp>0</rtcp>
<moreKeyReversionTimer>5</moreKeyReversionTimer>
<autoCallSelect>1</autoCallSelect>
<logServer>10.1.1.50</logServer>
<g722CodecSupport>0</g722CodecSupport>
<headsetWidebandUIControl>0</headsetWidebandUIControl>
<handsetWidebandUIControl>0</handsetWidebandUIControl>
<headsetWidebandEnable>0</headsetWidebandEnable>
<handsetWidebandEnable>0</handsetWidebandEnable>
<peerFirmwareSharing>0</peerFirmwareSharing>
<enableCdpSwPort>1</enableCdpSwPort>
<enableCdpPcPort>1</enableCdpPcPort>
</vendorConfig>
<versionStamp>1143565489-a3cbf294-7526-4c29-8791-c4fce4ce4c37</versionStamp>
<userLocale>
<name>Russian_Russian_Federation</name>
<langCode>ru_RU</langCode>
<version></version>
<winCharSet>utf-8</winCharSet>
</userLocale>
<networkLocale></networkLocale>
<networkLocaleInfo>
<name></name>
<version></version>
</networkLocaleInfo>
<deviceSecurityMode>1</deviceSecurityMode>
<idleTimeout>0</idleTimeout>
<authenticationURL></authenticationURL>
<directoryURL>http://10.1.1.50/provisioning/cisco-services.xml</directoryURL>
<idleURL></idleURL>
<informationURL></informationURL>
<messagesURL></messagesURL>
<proxyServerURL></proxyServerURL>
<servicesURL>http://10.1.1.50/provisioning/cisco-services.xml</servicesURL>
<dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
<dscpForCm2Dvce>96</dscpForCm2Dvce>
<transportLayerProtocol>2</transportLayerProtocol>
<singleButtonBarge>0</singleButtonBarge>
<capfAuthMode>0</capfAuthMode>
<capfList><capf>
<phonePort>3804</phonePort>
<!-- <processNodeName>10.1.1.50</processNodeName> -->
</capf> </capfList>
<certHash></certHash>
<encrConfig>false</encrConfig>
<advertiseG722Codec>1</advertiseG722Codec>
</device>

D-Link DPH-150S/F3

Si vous êtes sur le point d'acheter un téléphone de cette série, soyez prudent, le réglage automatique n'est pris en charge que sur les appareils 150S/F3. Sur l'appareil 150S/F2 qui m'est tombé entre les mains, je n'ai pas trouvé une telle fonctionnalité.

Le fichier de configuration peut être au format XML ou texte brut. Il y a une exigence pour XML : la balise doit être au début de la ligne, sinon l'analyseur l'ignorera et la valeur du paramètre correspondant ne changera pas.

Deux fichiers sont utilisés pour configurer le téléphone. f0D00580000.cfg - pour stocker les paramètres de tous les téléphones et 00112233aabb.cfg (adresse MAC en minuscules) pour les paramètres individuels. Les paramètres individuels ont naturellement une priorité plus élevée.

L'ensemble complet des paramètres contient plus d'un millier de lignes, afin de ne pas encombrer l'article, je décrirai l'ensemble minimum de paramètres suffisant.

Le nœud racine est requis VOIP_CONFIG_FILE et le nœud imbriqué à l'intérieur version. Les paramètres ne seront appliqués que si la version du fichier est supérieure aux paramètres actuels de l'appareil. Vous pouvez connaître cette valeur via l'interface web du téléphone dans la section maintenance (gestion du système). Pour les téléphones avec paramètres d'usine, dans les deux cas, il s'agit de 2.0002. De plus, la version du fichier individuel doit être supérieure à la version du fichier partagé.

Je vais d’abord fournir un fichier avec une configuration commune pour tous les téléphones. En fait, il stocke tous les paramètres, le fichier individuel sera uniquement responsable du numéro de téléphone et de l'inscription sur l'écran.

Dans les deux blocs ci-dessous, les paramètres de fuseau horaire et de synchronisation horaire sont définis, le port initial pour RTP et le pont réseau entre les connecteurs WAN et LAN de l'appareil sont activés.

Fragment n°1

<GLOBAL_CONFIG_MODULE>
<WAN_Mode>DHCP</WAN_Mode>
<Default_Protocol>2</Default_Protocol>
<Enable_DHCP>1</Enable_DHCP>
<DHCP_Auto_DNS>1</DHCP_Auto_DNS>
<DHCP_Auto_Time>0</DHCP_Auto_Time>
<Host_Name>VOIP</Host_Name>
<RTP_Initial_Port>10000</RTP_Initial_Port>
<RTP_Port_Quantity>200</RTP_Port_Quantity>
<SNTP_Server>10.1.1.4</SNTP_Server>
<Enable_SNTP>1</Enable_SNTP>
<Time_Zone>71</Time_Zone>
<Time_Zone_Name>UCT_011</Time_Zone_Name>
<Enable_DST>0</Enable_DST>
<SNTP_Timeout>60</SNTP_Timeout>
<Default_UI>12</Default_UI>
<MTU_Length>1500</MTU_Length>
</GLOBAL_CONFIG_MODULE>
<LAN_CONFIG_MODULE>
<Enable_Bridge_Mode>1</Enable_Bridge_Mode>
<Enable_Port_Mirror>1</Enable_Port_Mirror>
</LAN_CONFIG_MODULE>

Les noms réels des paramètres de configuration sont suffisamment descriptifs pour éviter de les décrire en détail.
SIP pour une ligne

<SIP_CONFIG_MODULE>
<SIP__Port>5060</SIP__Port>
<SIP_Line_List>
<SIP_Line_List_Entry>
<ID>SIP1</ID>
<Register_Addr>10.1.1.50</Register_Addr>
<Register_Port>5060</Register_Port>
<Register_TTL>3600</Register_TTL>
<Enable_Reg>1</Enable_Reg>
<Proxy_Addr>10.1.1.50</Proxy_Addr>
<DTMF_Mode>1</DTMF_Mode>
<DTMF_Info_Mode>0</DTMF_Info_Mode>
<VoiceCodecMap>G711A,G711U,G722</VoiceCodecMap>
</SIP_Line_List_Entry>
</SIP_Line_List>
</SIP_CONFIG_MODULE>

Paramètres de la télécommande

<MMI_CONFIG_MODULE>
<Telnet_Port>23</Telnet_Port>
<Web_Port>80</Web_Port>
<Web_Server_Type>0</Web_Server_Type>
<Https_Web_Port>443</Https_Web_Port>
<Remote_Control>1</Remote_Control>
<Enable_MMI_Filter>0</Enable_MMI_Filter>
<Telnet_Prompt></Telnet_Prompt>
<MMI_Filter>
<MMI_Filter_Entry>
<ID>Item1</ID>
<First_IP>10.1.1.152</First_IP>
<End_IP>10.1.1.160</End_IP>
</MMI_Filter_Entry>
</MMI_Filter>
<MMI_Account>
<MMI_Account_Entry>
<ID>Account1</ID>
<Name>admin</Name>
<Password>ADMIN_PWD</Password>
<Level>10</Level>
</MMI_Account_Entry>
<MMI_Account_Entry>
<ID>Account2</ID>
<Name>guest</Name>
<Password>GUEST_PWD</Password>
<Level>5</Level>
</MMI_Account_Entry>
</MMI_Account>
</MMI_CONFIG_MODULE>

Les paramètres du téléphone

<PHONE_CONFIG_MODULE>
<Menu_Password>123</Menu_Password>
<KeyLock_Password>123</KeyLock_Password>
<Fast_Keylock_Code></Fast_Keylock_Code>
<Enable_KeyLock>0</Enable_KeyLock>
<Emergency_Call>112</Emergency_Call>
<LCD_Title>Company</LCD_Title>
<LCD_Constrast>5</LCD_Constrast>
<LCD_Luminance>1</LCD_Luminance>
<Backlight_Off_Time>30</Backlight_Off_Time>
<Enable_Power_LED>0</Enable_Power_LED>
<Time_Display_Style>0</Time_Display_Style>
<Enable_TimeDisplay>1</Enable_TimeDisplay>
<Alarm__Clock>0,,1</Alarm__Clock>
<Date_Display_Style>0</Date_Display_Style>
<Date_Separator>0</Date_Separator>
<Enable_Pre-Dial>1</Enable_Pre-Dial>
<Xml_PhoneBook>
<Xml_PhoneBook_Entry>
<ID>XML-PBook1</ID>
<Name>Phonebook</Name>
<Addr>http://10.1.1.50/provisioning/dlink-phonebook.xml</Addr>
<Auth>:</Auth>
<Policy>0</Policy>
<Sipline>0</Sipline>
</Xml_PhoneBook_Entry>
</Xml_PhoneBook>
<Phonebook_Groups>friend,home,work,business,classmate,colleague</Phonebook_Groups>
</PHONE_CONFIG_MODULE>

Tous les autres paramètres resteront « par défaut ». Désormais, tout téléphone Dlink connecté au réseau acceptera immédiatement un ensemble commun de paramètres pour tous. Pour définir des paramètres individuels pour l'appareil, un fichier séparé est nécessaire. Dans celui-ci, il vous suffit de spécifier les paramètres nécessaires pour un abonné individuel.
paramètres d'abonné

<?xml version="1.0" encoding="UTF-8"?>
<VOIP_CONFIG_FILE>
<version>2.0006</version>
<SIP_CONFIG_MODULE>
<SIP_Line_List>
<SIP_Line_List_Entry>
<ID>SIP1</ID>
<Display_Name>User #117</Display_Name>
<Phone_Number>117</Phone_Number>
<Register_Port>5060</Register_Port>
<Register_User>117</Register_User>
<Register_Pswd>SIP_PWD</Register_Pswd>
<Register_TTL>3600</Register_TTL>
<Enable_Reg>1</Enable_Reg>
<Proxy_Port>5060</Proxy_Port>
<Proxy_User>117</Proxy_User>
<Proxy_Pswd>SIP_PWD</Proxy_Pswd>
</SIP_Line_List_Entry>
</SIP_Line_List>
</SIP_CONFIG_MODULE>
</VOIP_CONFIG_FILE>

PanasonicUT-KX123B

Ces appareils reçoivent des réglages selon un schéma légèrement différent. La configuration est stockée dans des fichiers texte. La taille maximale du fichier de configuration est de 120 Ko. Quel que soit le nombre de fichiers, leur taille totale ne doit pas dépasser 120 Ko.
Le fichier de configuration est constitué d'un ensemble de lignes, qui sont soumises aux conditions suivantes :

  • La première ligne est toujours une ligne de commentaire, comprenant la séquence de caractères suivante (44 octets) :
    # Fichier au format standard du téléphone SIP Panasonic #
    Représentation hexadécimale de cette séquence :
    23 20 50 61 6E 61 73 6F 6E 69 63 20 53 49 50 20 50 68 6F 6E 65 20 53 74 61 6E 64 61 72 64 20 46 6F 72 6D 61 74 20 46 69 6 C 65 20 23
    Pour éviter toute modification accidentelle de la séquence de caractères établie, il est recommandé de démarrer le fichier de configuration avec la ligne :
    # Fichier au format standard du téléphone SIP Panasonic # NE CHANGEZ PAS CETTE LIGNE !
  • Les fichiers de configuration doivent se terminer par une ligne vide.
  • Chaque ligne doit se terminer par la séquence " ".
  • La longueur maximale de la chaîne est de 537 octets, y compris la séquence " "
  • Les lignes suivantes sont ignorées :
    • lignes dépassant la limite de 537 octets ;
    • lignes vides ;
    • lignes de commentaires commençant par « # » ;
  • La chaîne de chaque paramètre est écrite sous la forme XXX=« yyy » (XXX : nom du paramètre, yyy : sa valeur). La valeur doit être placée entre guillemets doubles.
  • Le fractionnement d'une ligne de paramètre en plusieurs lignes n'est pas autorisé. Cela entraînera une erreur lors du traitement du fichier de configuration et, par conséquent, un échec d'initialisation.
  • Les valeurs de certains paramètres doivent être précisées séparément pour chaque ligne. Le paramètre avec le suffixe "_1" dans le nom est le paramètre de la ligne 1 ; "_2" : pour la ligne 2, etc.
  • La longueur maximale du nom du paramètre est de 32 caractères.
  • La longueur maximale de la valeur du paramètre est de 500 caractères, hors guillemets doubles.
  • Aucun espace n'est autorisé dans la chaîne, sauf si la valeur inclut un caractère espace.
  • Certaines valeurs de paramètres peuvent être spécifiées comme « vides » pour définir le paramètre sur une valeur vide.
  • Les paramètres sont spécifiés sans ordre particulier.
  • Si le même paramètre est spécifié plusieurs fois dans un fichier de configuration, la valeur spécifiée en premier est appliquée.

Franchement, un ensemble d'exigences aussi sérieuses pour le fichier de configuration m'a bouleversé. À mon avis, la mise en œuvre de l'interaction avec le serveur de contrôle sur les téléphones Panasonic est extrêmement gênante. Dans ce paramètre, le téléphone est nettement inférieur aux autres.
Lorsque vous allumez l'appareil pour la première fois (ou après l'avoir réinitialisé aux paramètres d'usine), il essaie de charger ce qu'on appelle le fichier produit (dans ce cas, il s'agit de KX-UT123RU.cfg), qui doit contenir les chemins d'accès au fichiers de configuration restants.
Fiche produit# Fichier au format standard du téléphone SIP Panasonic # NE CHANGEZ PAS CETTE LIGNE !

CFG_STANDARD_FILE_PATH="tftp://10.1.1.50/panasonic/{mac}.cfg"
CFG_PRODUCT_FILE_PATH="tftp://10.1.1.50/panasonic/KX-UT123RU.cfg"
CFG_MASTER_FILE_PATH="tftp://10.1.1.50/panasonic/master.cfg"

Après cela, le téléphone affichera un message indiquant la réussite de la préparation et attendra qu'il soit redémarré. Et après le redémarrage, il commencera à traiter les fichiers de configuration qui lui sont attribués.

Il est recommandé de spécifier les paramètres généraux pour tous les téléphones dans le fichier master.cfg. Comme pour Dlink, je ne préciserai que quelques paramètres. Les noms des paramètres restants et leurs valeurs se trouvent dans la documentation sur le site Web du fabricant.
maître.cfg##################################################### ##########
#Les paramètres du système#
##################################################### ##########
## Paramètres du compte de connexion
ADMIN_ID="administrateur"
ADMIN_PASS="ADMIN_MDP"
USER_ID="utilisateur"
USER_PASS="USER_PWD"

## Paramètres de l'heure du système
NTP_ADDR="10.1.1.4"
TIME_ZONE="660"
DST_ENABLE="N"
DST_OFFSET="60"
DST_START_MONTH="3"
DST_START_ORDINAL_DAY="2"
DST_START_DAY_OF_WEEK="0"
DST_START_TIME="120"
DST_STOP_MONTH="10"
DST_STOP_ORDINAL_DAY="2"
DST_STOP_DAY_OF_WEEK="0"
DST_STOP_TIME="120"
LOCAL_TIME_ZONE_POSIX=""

## Paramètres Syslog
SYSLOG_ADDR="10.1.1.50"
SYSLOG_PORT="514"
SYSLOG_EVENT_SIP="6"
SYSLOG_EVENT_CFG="6"
SYSLOG_EVENT_VOIP="6"
SYSLOG_EVENT_TEL="6"

## Paramètres de provisionnement
OPTION66_ENABLE="Oui"
OPTION66_REBOOT="N"
PROVISION_ENABLE="Y"
CFG_STANDARD_FILE_PATH="tftp://10.1.1.50/panasonic/{mac}.cfg"
CFG_PRODUCT_FILE_PATH="tftp://10.1.1.50/panasonic/KX-UT123RU.cfg"
CFG_MASTER_FILE_PATH="tftp://10.1.1.50/panasonic/master.cfg"

##################################################### ##########
#Paramètres réseau#
##################################################### ##########
## Paramètres IP
CONNEXION_TYPE="1"
HOST_NAME="UT123"
DHCP_DNS_ENABLE="Y"
STATIC_IP_ADDRESS=""
STATIC_SUBNET=""
STATIC_GATEWAY=""
USER_DNS1_ADDR=""
USER_DNS2_ADDR=""

## Paramètres DNS
DNS_QRY_PRLL="Y"
DNS_PRIORITY="N"
DNS1_ADDR="10.1.1.1"
DNS2_ADDR=""

## Paramètres HTTP
HTTPD_PORTOPEN_AUTO="O"
HTTP_VER="1"
HTTP_USER_AGENT="Panasonic_{MODEL}/{fwver} ({mac})"
HTTP_SSL_VERIFY="0"
CFG_ROOT_CERTIFICATE_PATH=""

## Paramètres des applications XML
XML_HTTPD_PORT="6666"
XMLAPP_ENABLE="Y"
XMLAPP_USERID=""
XMLAPP_USERPASS=""
XMLAPP_START_URL=""
XMLAPP_INITIAL_URL=" "
XMLAPP_INCOMING_URL=""
XMLAPP_TALKING_URL=""
XMLAPP_MAKECALL_URL=""
XMLAPP_CALLLOG_URL=""
XMLAPP_IDLING_URL=""
XMLAPP_LDAP_URL="10.1.1.50/provisioning/panasonic-phonebook.xml»
XMLAPP_LDAP_USERID=""
XMLAPP_LDAP_USERPASS=""

Traditionnellement, seuls les paramètres de l'abonné restent dans le fichier de configuration de chaque appareil.
aabbccddeeff.cfgDISPLAY_NAME_1="Utilisateur #168"

PHONE_NUMBER_1="168"
SIP_URI_1="168"
LINE_ENABLE_1="Activé"
PROFILE_ENABLE_1="Activé"
SIP_AUTHID_1="168"
SIP_PASS_1="SIP_MDP"

Grandstream GXP-1400

Les paramètres de ces téléphones sont stockés dans un fichier XML nommé cfg{mac}.xml. Ou en texte brut avec le nom cfg{mac}. Ce téléphone ne demande qu'un fichier de configuration individuel, donc optimiser les paramètres en les déplaçant vers un fichier commun ne fonctionnera pas. Une autre caractéristique de la configuration de Grandstreams est la dénomination des paramètres. Ils sont tous numérotés et désignés par P###. Par exemple:

P1650 – responsable de l'interface Web pour la gestion du téléphone (0 – HTTPS, 1 – HTTP)
P47 – Adresse du serveur SIP pour la connexion.

Si la configuration est stockée dans un fichier texte, les paramètres ne nécessitent aucun regroupement et sont dans n'importe quel ordre. Les lignes commençant par # sont traitées comme des commentaires.

Si les paramètres sont présentés au format XML, ils doivent être imbriqués dans un nœud , qui à son tour doit être imbriqué dans . Tous les paramètres sont écrits sous la forme de balises correspondantes avec la valeur du paramètre à l'intérieur.
Exemple de configuration

1.0 8 1 1 SIP_PWD Utilisateur n° 271 1 271 270 109 ADMIN_PWD USER_PWD ru 270 35/grandstream 109 TZc-35 36 109 http://36/provisioning/grandstream trente

Yealink T19 et T21

Les appareils de ces modèles prennent en charge les fichiers de configuration individuels pour les appareils et les fichiers communs pour les modèles. Dans mon cas, j'ai dû placer les paramètres généraux dans les fichiers y000000000031.cfg et y000000000034.cfg, respectivement. Les fichiers de configuration individuels sont nommés en fonction de l'adresse MAC : 00112233aabb.cfg.

Les paramètres des liens Yealink sont stockés au format texte. Les seules conditions obligatoires sont la présence de la version du fichier sur la première ligne, au format #!version:1.0.0.1.

Tous les paramètres sont écrits sous la forme paramètre = valeur. Les commentaires doivent commencer par le caractère "#". Les noms des paramètres et leurs valeurs se trouvent dans la documentation sur le site du fabricant.
Réglages généraux#!version:1.0.0.1
#Configurez le type de port WAN ; 0-DHCP (par défaut), 1-PPPoE, 2-adresse IP statique ;
réseau.internet_port.type = 0
#Configurez le type de port PC ; 0-Routeur, 1-Bridge (par défaut) ;
réseau.bridge_mode = 1
#Configurer le type d'accès du serveur Web ; 0-Désactivé, 1-HTTP et HTTPS (par défaut), 2-HTTP uniquement, 3-HTTPS uniquement ;
réseau.web_server_type = 3
#Configurez le port RTP local maximum. Elle va de 0 à 65535, la valeur par défaut est 11800.
réseau.port.max_rtpport = 10100
#Configurez le port RTP local minimum. Elle va de 0 à 65535, la valeur par défaut est 11780.
réseau.port.min_rtpport = 10000
security.user_name.admin = racine
security.user_password = racine: ADMIN_PWD
security.user_name.user = utilisateur
security.user_password = utilisateur:USER_PWD
#Spécifiez la langue du Web, les valeurs valides sont : anglais, chinois_S, turc, portugais, espagnol, italien, français, russe, allemand et tchèque.
lang.wui = russe
#Spécifiez la langue de l'écran LCD, les valeurs valides sont : anglais (par défaut), chinois_S, chinois_T, allemand, français, turc, italien, polonais, espagnol et portugais.
lang.gui = russe
#Configurez le fuseau horaire et le nom du fuseau horaire. Le fuseau horaire va de -11 à +12, la valeur par défaut est +8.
#Le nom du fuseau horaire par défaut est Chine (Pékin).
#Référez-vous au guide de l'utilisateur des téléphones IP Yealink pour plus de fuseaux horaires disponibles et de noms de fuseau horaire.
local_time.time_zone = +11
local_time.time_zone_name = Vladivostok
#Configurez le nom de domaine ou l'adresse IP du serveur NTP. La valeur par défaut est cn.pool.ntp.org.
local_time.ntp_server1 = 10.1.1.4
#Configurez le mode logo de l'écran LCD ; 0-Désactivé (par défaut), 1-Logo système, 2-Logo personnalisé ;
phone_setting.lcd_logo.mode = 1
#Configurez l'URL d'accès et le nom d'affichage du répertoire téléphonique distant. X va de 1 à 5.
répertoire_distant.data.1.url = 10.1.1.50/provisioning/yealink-phonebook.xml
remote_phonebook.data.1.name = Répertoire
fonctionnalités.remote_phonebook.flash_time = 3600

paramètres individuels#!version:1.0.0.1
#Activer ou désactiver le compte1, 0-Désactivé (par défaut), 1-Activé ;
compte.1.enable = 1
#Configurez l'étiquette affichée sur l'écran LCD pour le compte1.
account.1.label = Tester le téléphone
#Configurez le nom d'affichage du compte1.
account.1.display_name = Utilisateur 998
#Configurez le nom d'utilisateur et le mot de passe pour l'authentification de l'enregistrement.
compte.1.auth_name = 998
compte.1.mot de passe = 998
#Configurez le nom d'utilisateur enregistré.
compte.1.nom_utilisateur = 998
#Configurez l'adresse du serveur SIP.
compte.1.sip_server_host = 10.1.1.50
#Spécifiez le port du serveur SIP. La valeur par défaut est 5060.
compte.1.sip_server_port = 5060

En conséquence, grâce à la merveilleuse fonction de provisionnement automatique fournie dans les téléphones que j'ai mentionnés, il n'y a eu aucun problème pour connecter de nouveaux appareils au réseau. Tout se résumait à trouver l'adresse MAC du téléphone et à générer un fichier de configuration à l'aide d'un modèle.

J'espère que vous avez lu jusqu'au bout et que vous avez bénéficié de ce que vous avez lu.

Je vous remercie de votre attention.

Source: habr.com

Ajouter un commentaire