VoIP loomaaed – varustamine

Kanne

Ühel päeval kiitis juhtkond heaks katse IP-telefoni kasutuselevõtuks meie kontoris. Kuna minu kogemus selles vallas oli napp, äratas ülesanne minus suurt huvi ja sukeldusin teema erinevate aspektide uurimisse. Otsustasin sukeldumise lõppedes omandatud teadmisi jagada lootuses, et neist on kellelegi kasu. Nii…

Toorandmed

Tärn valiti ja võeti kasutusele IP-PBX-ina. Telefonipark koosneb Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 ja Dlink DPH-150S(E)/F3, Yealink T19 ja T21 seadmetest. See variatsioon tuleneb sellest, et eksperimendi raames otsustati kõike natuke proovida, et kujundada arvamus hinna/kvaliteedi/mugavuse suhte kohta.

Ülesanne

Lihtsustage ja ühtlustage uute seadmete seadistamise protsess nii palju kui võimalik. Kõik telefonid peavad olema ajaliselt sünkroonitud, serverist laaditud telefoniraamat ja andma administraatorile juurdepääsu seadetele.

Selle probleemi lahendus on lihtne - rakendage telefonide automaatset seadistamist, nn. Provisjonid. Tegelikult arutatakse selle imelise funktsiooni minu rakendamist.

Tftpd, dhcpd seadistamine

Seadete telefonidele levitamiseks valisin universaalseks võimaluseks tftp, mida toetavad kõik platvormid, mida on lihtne seadistada ja hallata.

Tftp jaoks ei olnud vaja spetsiaalset konfiguratsiooni. Installisin standardse tftpd ja paigutasin kõik vajalikud failid selle juurkataloogi.
Seadete failid paigutasin vastavalt telefoni tootjale kataloogidesse. Tõsi, Cisco seade ei läinud kunagi oma kausta, nii et pidin selle selle juure salvestama.

Telefonide tftp-serveri asukohta suunamiseks kasutasin valikut-66. Lisaks jagas ta need tootjate kaupa eraldi klassidesse. Iga klass sai oma aadressi segmendi ja individuaalse kausta konfiguratsioonifailide jaoks. Muide, D-linki seadmed tuli arvutada MAC-aadresside järgi, kuna need ei anna dhcp-päringus teavet tootja kohta.

Fragment dhcpd.conf

# Määrake vajalikud suvandid suvand option-66 kood 66 = tekst; class "panasonic" { match if substring (valik tarnija-klassi identifikaator,0,9) = "Panasonic"; valik valik-66 "10.1.1.50/panasonic/"; } class "cisco" { match if substring (valik tarnija-klassi identifikaator,0,36) = "Cisco Systems, Inc. IP-telefon CP-7906"; valikuvõimalus-66 "10.1.1.50/cisco/"; } class "grandstream" { match if substring (valik vendor-class-identifier,0,11) = "Grandstream"; valik valik-66 "10.1.1.50/grandstream/"; } class "dlink" { vaste if (binary-to-ascii (16,8,":",substring(hardware,1,4)) = "c8:d3:a3:8d") või (binary-to-AScii (16,8",:",alamstring(riistvara,1,4)) = "90:94:e4:72"); valik valik-66 "10.1.1.50/dlink/"; } class "yealink" { match if substring (option vendor-class-identifier,0,7) = "Yealink"; valik valik-66 "10.1.1.50/yealink/"; }

Telefonid tuli sunniviisiliselt üldkogust välja jätta. Muidu nad ei tahtnud oma “sõudebasseini” minna.
Alamvõrgu sätete näide

alamvõrk 10.1.1.0 võrgumask 255.255.255.0 { valik ruuterid 10.1.1.1; pool { deny "cisco" liikmed; keelata "panasonicu" liikmed; keelata "dlinki" liikmed; vahemik 10.1.1.230 10.1.1.240; } pool { luba liikmed "cisco"; vahemik 10.1.1.65 10.1.1.69; } pool { luba liikmed "panasonic"; vahemik 10.1.1.60 10.1.1.64; } pool { luba liikmed "dlink"; vahemik 10.1.1.55 10.1.1.59; } }

Pärast kõigi kaasatud teenuste taaskäivitamist läksid telefonid enesekindlalt neile määratud tftp-serverisse seadistusi otsima. Jääb vaid need sinna paigutada.

Cisco 7906

Sain need seadmed originaalpakendis. Pidin seda muutma, et tärniga sõbraks saada. Aga see on hoopis teine ​​lugu. Konkreetsel juhul lõin seadme seadistamiseks vastavalt juhistele tftp serveri juure faili SEPAABBBCCDDEEFF.cnf.xml. Kus AABBBCCDDEEFF on seadme MAC-aadress.

Cisco telefonide seadistamise kohta on juba rohkem kui üks kord kirjutatud, nii et jätan seadetega tööfaili.
Sätted Cisco jaoks

<?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

Kui olete just selle seeria telefoni ostmas, olge ettevaatlik, automaathäälestust toetavad ainult 150S/F3 seadmed. Minu kätte sattunud 150S/F2 seadmel ma sellist funktsionaalsust ei leidnud.

Konfiguratsioonifail võib olla xml- või lihttekstivormingus. Xml jaoks on üks nõue: silt peab olema rea ​​alguses, vastasel juhul parser ignoreerib seda ja vastava parameetri väärtus ei muutu.

Telefoni seadistamiseks kasutatakse kahte faili. f0D00580000.cfg - kõigi telefonide seadete salvestamiseks ja 00112233aabb.cfg (MAC-aadress väiketähtedega) üksikute seadete jaoks. Individuaalsetel seadistustel on loomulikult kõrgem prioriteet.

Täielik seadete komplekt sisaldab rohkem kui tuhat rida, et artiklit mitte segamini ajada, kirjeldan minimaalset piisavat seadete komplekti.

Juursõlm on nõutav VOIP_CONFIG_FILE ja sõlm pesitses selle sees versioon. Sätteid rakendatakse ainult siis, kui failiversioon on seadme praegustest sätetest kõrgem. Selle väärtuse saate teada telefoni veebiliidese kaudu hoolduse jaotises (süsteemihaldus). Tehaseseadetega telefonide puhul on see mõlemal juhul 2.0002. Lisaks peab üksiku faili versioon olema suurem kui jagatud faili versioon.

Kõigepealt pakun kõigi telefonide jaoks ühise konfiguratsiooniga faili. Tegelikult salvestab see kõik seaded; üksik fail vastutab ainult telefoninumbri ja ekraanil oleva kirje eest.

Kahes allolevas plokis on seatud ajavööndi ja aja sünkroonimise parameetrid, lubatud on RTP esialgne port ja võrgusild seadme WAN- ja LAN-pistikute vahel.

Fragment nr 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>

Konfiguratsiooniparameetrite tegelikud nimed on piisavalt kirjeldavad, et vältida nende üksikasjalikku kirjeldamist.
SIP ühe rea jaoks

<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>

Kaugjuhtimispuldi sätted

<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>

Telefoni seaded

<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>

Kõik muud sätted jäävad vaikeseadeteks. Nüüd nõustub iga võrku ühendatud Dlinki telefon kohe kõigi jaoks ühise parameetrite komplektiga. Seadme individuaalsete parameetrite määramiseks on vaja eraldi faili. Selles peate määrama ainult konkreetse abonendi jaoks vajalikud seaded.
abonendi seaded

<?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>

Panasonic UT-KX123B

Need seadmed saavad seadeid veidi erineva skeemi järgi. Konfiguratsioon salvestatakse tekstifailidesse. Konfiguratsioonifaili maksimaalne suurus on 120 KB. Vaatamata failide arvule ei tohiks nende kogumaht ületada 120 KB.
Konfiguratsioonifail koosneb ridade komplektist, millele kehtivad järgmised tingimused:

  • Esimene rida on alati kommentaaririda, mis sisaldab järgmist märgijada (44 baiti):
    # Panasonicu SIP-telefoni standardvormingu fail #
    Selle jada kuueteistkümnendsüsteem:
    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 20E 46 6 72 6 61 74 20 46 69 6 65 20 23 XNUMX XNUMX XNUMX C XNUMX XNUMX XNUMX
    Et vältida juhuslikke muudatusi kehtestatud märgijadas, on soovitatav konfiguratsioonifaili käivitada reaga:
    # Panasonicu SIP-telefoni standardvormingus fail # ÄRGE MUUDA SEDA RIDA!
  • Konfiguratsioonifailid peavad lõppema tühja reaga.
  • Iga rida peab lõppema järjestusega " ".
  • Stringi maksimaalne pikkus on 537 baiti, sealhulgas jada " "
  • Järgmisi ridu ignoreeritakse:
    • read, mis ületavad 537 baidise piirangu;
    • tühjad read;
    • kommentaariread, mis algavad tähega #;
  • Iga parameetri string kirjutatakse kujul XXX=“yyy” (XXX: parameetri nimi, yyy: selle väärtus). Väärtus tuleb lisada jutumärkidesse.
  • Parameetrirea jagamine mitmeks reaks ei ole lubatud. Selle tulemuseks on konfiguratsioonifaili töötlemisel tõrge ja selle tulemusena initsialiseerimise tõrge.
  • Mõne parameetri väärtused tuleb iga rea ​​jaoks eraldi määrata. Parameeter, mille nimes on järelliide "_1", on rea 1 parameeter; "_2" — rea 2 jaoks jne.
  • Parameetri nime maksimaalne pikkus on 32 tähemärki.
  • Parameetri väärtuse maksimaalne pikkus on 500 tähemärki, välja arvatud jutumärgid.
  • Stringis pole tühikud lubatud, välja arvatud juhul, kui väärtus sisaldab tühikut.
  • Mõned parameetri väärtused saab määrata tühjaks, et seada parameetri väärtus tühjaks.
  • Parameetrid ei ole määratud kindlas järjekorras.
  • Kui sama parameeter on konfiguratsioonifailis määratud mitu korda, rakendatakse kõigepealt määratud väärtus.

Selline tõsine konfiguratsioonifaili nõuete kogum, ausalt öeldes, häiris mind. Minu arvates on Panasonicu telefonides juhtserveriga suhtlemise rakendamine äärmiselt ebamugav. Selle parameetri poolest on telefon teistest oluliselt madalam.
Seadme esmakordsel sisselülitamisel (või pärast tehaseseadetele lähtestamist) proovib see laadida nn tootefaili (antud juhul on see KX-UT123RU.cfg), mis peaks sisaldama teid ülejäänud konfiguratsioonifailid.
Tootefail# Panasonicu SIP-telefoni standardvormingus fail # ÄRGE MUUDA SEDA RIDA!

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"

Pärast seda kuvab telefon teate ettevalmistuse eduka lõpetamise kohta ja ootab, kuni see taaskäivitatakse. Ja pärast taaskäivitamist hakkab see töötlema talle määratud konfiguratsioonifaile.

Kõigi telefonide jaoks on soovitatav määrata üldseaded master.cfg failis. Nagu ka Dlinki puhul, täpsustan ainult mõningaid parameetreid. Ülejäänud parameetrite nimed ja nende väärtused leiate tootja veebisaidi dokumentatsioonist.
master.cfg################################################# ##########
#Süsteemisätted#
################################################# ##########
## Logi sisse konto seaded
ADMIN_ID="administraator"
ADMIN_PASS="ADMIN_PWD"
USER_ID="kasutaja"
USER_PASS="USER_PWD"

## Süsteemi aja sätted
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=""

## Syslogi sätted
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"

## Provisjoni sätted
OPTION66_ENABLE="Y"
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"

################################################# ##########
#Võrgusätted#
################################################# ##########
## IP-sätted
CONNECTION_TYPE="1"
HOST_NAME="UT123"
DHCP_DNS_ENABLE="Y"
STATIC_IP_ADDRESS=""
STATIC_SUBNET=""
STATIC_GATEWAY=""
USER_DNS1_ADDR=""
USER_DNS2_ADDR=""

## DNS-i sätted
DNS_QRY_PRLL="Y"
DNS_PRIORITY="N"
DNS1_ADDR="10.1.1.1"
DNS2_ADDR=""

## HTTP-sätted
HTTPD_PORTOPEN_AUTO="Y"
HTTP_VER="1"
HTTP_USER_AGENT="Panasonic_{MODEL}/{fwver} ({mac})"
HTTP_SSL_VERIFY="0"
CFG_ROOT_CERTIFICATE_PATH=""

## XML-rakenduse sätted
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=""

Tavapäraselt jäävad üksiku seadme konfiguratsioonifaili ainult abonendi seaded.
aabbccddeeff.cfgDISPLAY_NAME_1="Kasutaja nr 168"

PHONE_NUMBER_1="168"
SIP_URI_1="168"
LINE_ENABLE_1="Lubatud"
PROFILE_ENABLE_1="Lubatud"
SIP_AUTHID_1="168"
SIP_PASS_1="SIP_PWD"

Grandstream GXP-1400

Nende telefonide parameetrid on salvestatud ühte xml-faili nimega cfg{mac}.xml. Või lihttekstina nimega cfg{mac}. See telefon taotleb ainult individuaalset konfiguratsioonifaili, seega ei tööta seadete optimeerimine nende teisaldamisega ühisesse faili. Teine Grandstreamsi seadistamise funktsioon on parameetrite nimetamine. Need on kõik nummerdatud ja tähistatud kui P###. Näiteks:

P1650 – vastutab telefoni haldamise veebiliidese eest (0 – HTTPS, 1 – HTTP)
P47 – SIP-serveri aadress ühenduse loomiseks.

Kui konfiguratsioon on salvestatud tekstifaili, ei vaja parameetrid mingit rühmitamist ja on suvalises järjekorras. #-ga algavaid ridu käsitletakse kommentaaridena.

Kui sätted esitatakse xml-vormingus, peavad need olema pesastatud sõlme , mis omakorda peab olema pesastatud . Kõik parameetrid on kirjutatud vastavate siltide kujul, mille sees on parameetri väärtus.
Eeskuju

1.0 8 1 1 SIP_PWD Kasutaja nr 271 1 271 270 109 ADMIN_PWD USER_PWD ru 270 35/grandstream 109 TZc-35 36 109 http://36/provisioning/grandstream kolmkümmend

Yealink T19 ja T21

Nende mudelite seadmed toetavad seadmete individuaalseid konfiguratsioonifaile ja mudelite jaoks ühiseid konfiguratsioonifaile. Minu puhul pidin üldised parameetrid paigutama vastavalt failidesse y000000000031.cfg ja y000000000034.cfg. Üksikud konfiguratsioonifailid on nimetatud MAC-aadressi järgi: 00112233aabb.cfg.

Yealinkide sätted salvestatakse tekstivormingus. Ainsad kohustuslikud nõuded on faili versiooni olemasolu esimesel real vormingus #!version:1.0.0.1.

Kõik parameetrid kirjutatakse kujul parameeter = väärtus. Kommentaarid peavad algama tähemärgiga "#". Parameetrite nimed ja nende väärtused leiate tootja veebisaidi dokumentatsioonist.
Üldised seaded#!versioon:1.0.0.1
#Seadistage WAN-pordi tüüp; 0-DHCP (vaikimisi), 1-PPPoE, 2-staatiline IP-aadress;
network.internet_port.type = 0
#Seadistage arvuti pordi tüüp; 0-ruuter, 1-sild (vaikimisi);
network.bridge_mode = 1
#Seadistage veebiserveri juurdepääsutüüp; 0-keelatud, 1-HTTP & HTTPS (vaikimisi), 2-HTTP ainult, 3-HTTPS ainult;
network.web_server_type = 3
#Seadistage maksimaalne kohalik RTP-port. See on vahemikus 0 kuni 65535, vaikeväärtus on 11800.
network.port.max_rtpport = 10100
#Seadistage minimaalne kohalik RTP-port. See on vahemikus 0 kuni 65535, vaikeväärtus on 11780.
network.port.min_rtpport = 10000
security.user_name.admin = juur
security.user_password = root:ADMIN_PWD
turvalisus.kasutaja_nimi.kasutaja = kasutaja
security.user_password = kasutaja:USER_PWD
# Määrake veebikeel, kehtivad väärtused on: inglise, Chinese_S, türgi, portugali, hispaania, itaalia, prantsuse, vene, saksa ja tšehhi keel.
lang.wui = vene keel
#Määrake LCD keel, kehtivad väärtused on: inglise (vaikimisi), Chinese_S, Chinese_T, saksa, prantsuse, türgi, itaalia, poola, hispaania ja portugali keel.
lang.gui = vene keel
#Konfigureerige ajavöönd ja ajavööndi nimi. Ajavöönd on vahemikus -11 kuni +12, vaikeväärtus on +8.
#Ajavööndi vaikenimi on Hiina (Peking).
#Vt rohkem saadaolevaid ajavööndeid ja ajavööndite nimesid Yealink IP Phonesi kasutusjuhendist.
kohalik_aeg.ajavöönd = +11
local_time.time_zone_name = Vladivostok
#Seadistage NTP-serveri domeeninimi või IP-aadress. Vaikeväärtus on cn.pool.ntp.org.
local_time.ntp_server1 = 10.1.1.4
#Seadistage LCD-ekraani logorežiim; 0-keelatud (vaikimisi), 1-süsteemi logo, 2-kohandatud logo;
phone_setting.lcd_logo.mode = 1
#Seadistage kaugtelefoniraamatu juurdepääsu URL ja kuvatav nimi. X on vahemikus 1 kuni 5.
remote_phonebook.data.1.url = 10.1.1.50/provisioning/yealink-phonebook.xml
remote_phonebook.data.1.name = Telefoniraamat
features.remote_phonebook.flash_time = 3600

individuaalsed seaded#!versioon:1.0.0.1
#Luba või keela konto1, 0-Keelatud (vaikimisi), 1-Lubatud;
konto.1.enable = 1
#Seadistage konto1 jaoks LCD-ekraanil kuvatav silt.
account.1.label = Testige telefoni
#Konto 1 kuvatava nime konfigureerimine.
account.1.display_name = Kasutaja 998
#Konfigureerige registri autentimiseks kasutajanimi ja parool.
account.1.auth_name = 998
konto.1.parool = 998
#Konfigureerige registri kasutajanimi.
konto.1.kasutaja_nimi = 998
#Konfigureerige SIP-serveri aadress.
account.1.sip_server_host = 10.1.1.50
#Määrake SIP-serveri port. Vaikeväärtus on 5060.
account.1.sip_server_port = 5060

Tänu minu mainitud telefonides pakutavale suurepärasele automaatse pakkumise funktsioonile ei tekkinud uute seadmete võrku ühendamisel probleeme. Kõik taandus telefoni MAC-aadressi väljaselgitamisele ja malli abil konfiguratsioonifaili genereerimisele.

Loodan, et lugesite lõpuni ja saite loetust kasu.

Tänan teid tähelepanu eest.

Allikas: www.habr.com

Lisa kommentaar