VoIP Zoo – Provisioning

Vstup

Jedného dňa vedenie schválilo experiment so zavedením IP telefónie v našej kancelárii. Keďže moje skúsenosti v tejto oblasti boli mizivé, táto úloha vo mne vyvolala veľký záujem a vrhla som sa do štúdia rôznych aspektov problematiky. Na konci ponoru som sa rozhodol podeliť sa o získané poznatky v nádeji, že budú niekomu užitočné. Takže…

Surové údaje

Asterisk bol vybraný a nasadený ako IP PBX. Flotila telefónov pozostáva zo zariadení Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 a Dlink DPH-150S(E)/F3, Yealink T19 a T21. Táto variácia je spôsobená tým, že v rámci experimentu bolo rozhodnuté vyskúšať zo všetkého trochu, aby sa vytvoril názor na pomer cena/kvalita/vymoženosti.

Úloha

Čo najviac zjednodušiť a zjednotiť proces nastavovania nových zariadení. Všetky telefóny musia byť časovo synchronizované, musia mať načítaný telefónny zoznam zo servera a poskytovať administrátorovi prístup k nastaveniam.

Riešenie tohto problému je jednoduché – implementujte automatickú konfiguráciu telefónov, tzv. Poskytovanie zásob. V skutočnosti sa bude diskutovať o mojej implementácii tejto nádhernej funkcie.

Konfigurácia tftpd, dhcpd

Na distribúciu nastavení do telefónov som si vybral tftp ako univerzálnu možnosť, podporovanú všetkými platformami, jednoduchou konfiguráciou a správou.

Pre tftp nebola potrebná žiadna špecifická konfigurácia. Nainštaloval som štandardný tftpd a umiestnil všetky potrebné súbory do jeho koreňového adresára.
Súbory nastavení som umiestnil do adresárov v súlade s výrobcom telefónu. Je pravda, že zariadenie Cisco sa nikdy nedostalo do svojho priečinka, takže som ho musel uložiť do jeho koreňového adresára.

Aby som nasmeroval telefóny na umiestnenie tftp servera, použil som voľbu-66. Navyše ich rozdelil do samostatných tried podľa výrobcu. Každá trieda dostala svoj vlastný segment adresy a samostatný priečinok pre konfiguračné súbory. Mimochodom, zariadenia od D-linku museli byť vypočítané podľa MAC adries, keďže v dhcp požiadavke neuvádzajú informácie o výrobcovi.

Fragment dhcpd.conf

# Zadajte požadované možnosti voľba voľba-66 kód 66 = text; class "panasonic" { match if substring (možnosť vendor-class-identifier,0,9) = "Panasonic"; možnosť voľby-66 "10.1.1.50/panasonic/"; } class "cisco" { match if substring (možnosť vendor-class-identifier,0,36) = "Cisco Systems, Inc. IP telefón CP-7906"; možnosť voľby-66 "10.1.1.50/cisco/"; } class "grandstream" { match if substring (možnosť vendor-class-identifier,0,11) = "Grandstream"; možnosť opcia-66 "10.1.1.50/grandstream/"; } class "dlink" { match if (binary-to-ascii (16,8,":",substring(hardware,1,4)) = "c8:d3:a3:8d") alebo (binary-to-ascii (16,8,":",substring(hardvér,1,4)) = "90:94:e4:72"); možnosť voľba-66 "10.1.1.50/dlink/"; } class "yealink" { match if substring (možnosť vendor-class-identifier,0,7) = "Yealink"; možnosť voľba-66 "10.1.1.50/yealink/"; }

Telefóny museli byť násilne vylúčené zo všeobecného fondu. Inak sa im nechcelo ísť do ich „brázdiska“.
Príklad nastavení podsiete

podsieť 10.1.1.0 maska ​​siete 255.255.255.0 { voliteľné smerovače 10.1.1.1; pool { odoprieť členov "cisco"; odmietnuť členov "panasonic"; odoprieť členov "dlink"; rozsah 10.1.1.230 10.1.1.240; } pool { povoliť členom "cisco"; rozsah 10.1.1.65 10.1.1.69; } pool { povoliť členom "panasonic"; rozsah 10.1.1.60 10.1.1.64; } pool { povoliť členov "dlink"; rozsah 10.1.1.55 10.1.1.59; } }

Po reštartovaní všetkých príslušných služieb telefóny s istotou prešli na priradený tftp server na nastavenia. Ostáva už len ich tam umiestniť.

Cisco 7906

Tieto zariadenia som dostal v originálnom balení. Musel som to zmeniť, aby som sa spriatelil s hviezdičkou. Ale to je iný príbeh. V konkrétnom prípade som pre konfiguráciu zariadenia podľa návodu vytvoril súbor SEPAABBCCDDEEFF.cnf.xml v koreňovom adresári tftp servera. Kde AABBCCDDEEF je MAC adresa zariadenia.

O nastavení telefónov od Cisco sa už písalo viackrát, takže nechám pracovný súbor s nastaveniami.
Nastavenia pre 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

Ak sa práve chystáte kúpiť telefón z tejto série, buďte opatrní, automatické ladenie je podporované iba v zariadeniach 150S/F3. Na zariadení 150S/F2, ktoré sa mi dostalo do rúk, som takúto funkcionalitu nenašiel.

Konfiguračný súbor môže byť vo formáte xml alebo obyčajného textu. Pre xml existuje jedna požiadavka: značka musí byť na začiatku riadku, inak ju bude parser ignorovať a hodnota zodpovedajúceho parametra sa nezmení.

Na konfiguráciu telefónu sa používajú dva súbory. f0D00580000.cfg - pre uloženie nastavení pre všetky telefóny a 00112233aabb.cfg (MAC adresa malými písmenami) pre individuálne nastavenia. Individuálne nastavenia majú prirodzene vyššiu prioritu.

Kompletná sada nastavení obsahuje viac ako tisíc riadkov, aby som článok nezahltil, popíšem minimálnu dostatočnú sadu nastavení.

Vyžaduje sa koreňový uzol VOIP_CONFIG_FILE a uzol v ňom vnorený verzia. Nastavenia sa použijú iba vtedy, ak je verzia súboru vyššia ako aktuálne nastavenia v zariadení. Túto hodnotu zistíte cez webové rozhranie telefónu v sekcii údržba (správa systému). Pre telefóny s továrenským nastavením je to v oboch prípadoch 2.0002. Okrem toho musí byť verzia individuálneho súboru väčšia ako verzia zdieľaného súboru.

Najprv poskytnem súbor so spoločnou konfiguráciou pre všetky telefóny. V skutočnosti ukladá všetky nastavenia, jednotlivý súbor bude zodpovedný iba za telefónne číslo a nápis na obrazovke.

V dvoch nižšie uvedených blokoch sa nastavuje časová zóna a parametre synchronizácie času, je povolený počiatočný port pre RTP a sieťový most medzi konektormi WAN a LAN zariadenia.

Fragment č.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>

Skutočné názvy konfiguračných parametrov sú dostatočne popisné, aby sme sa vyhli ich podrobnému opisu.
SIP pre jednu linku

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

Nastavenia diaľkového ovládania

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

Nastavenia telefónu

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

Všetky ostatné nastavenia zostanú „predvolené“. Teraz každý telefón Dlink pripojený k sieti okamžite akceptuje spoločnú sadu parametrov pre všetkých. Na nastavenie jednotlivých parametrov pre zariadenie je potrebný samostatný súbor. V ňom stačí zadať potrebné nastavenia pre jednotlivého účastníka.
nastavenia predplatiteľa

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

Tieto zariadenia prijímajú nastavenia podľa mierne odlišnej schémy. Konfigurácia je uložená v textových súboroch. Maximálna veľkosť konfiguračného súboru je 120 kB. Bez ohľadu na počet súborov by ich celková veľkosť nemala presiahnuť 120 KB.
Konfiguračný súbor pozostáva zo sady riadkov, ktoré podliehajú nasledujúcim podmienkam:

  • Prvý riadok je vždy riadok komentára vrátane nasledujúcej postupnosti znakov (44 bajtov):
    # Súbor štandardného formátu pre telefón SIP Panasonic #
    Hexadecimálne znázornenie tejto postupnosti:
    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 20F 46 6 72 6 61 74 20 46 69 C 6 65 20
    Aby sa predišlo náhodným zmenám v stanovenej postupnosti znakov, odporúča sa začať konfiguračný súbor s riadkom:
    # Súbor štandardného formátu pre telefón SIP Panasonic # NEMEŇTE TENTO RIADOK!
  • Konfiguračné súbory musia končiť prázdnym riadkom.
  • Každý riadok musí končiť sekvenciou " ".
  • Maximálna dĺžka reťazca je 537 bajtov vrátane sekvencie " "
  • Nasledujúce riadky sú ignorované:
    • riadky presahujúce limit 537 bajtov;
    • prázdne riadky;
    • riadky komentárov začínajúce znakom „#“;
  • Reťazec pre každý parameter je zapísaný v tvare XXX=“yyy“ (XXX: názov parametra, yyy: jeho hodnota). Hodnota musí byť uzavretá do dvojitých úvodzoviek.
  • Rozdelenie riadku parametra na niekoľko riadkov nie je povolené. To bude mať za následok chybu pri spracovaní konfiguračného súboru a v dôsledku toho zlyhanie inicializácie.
  • Hodnoty niektorých parametrov musia byť špecifikované samostatne pre každý riadok. Parameter s príponou "_1" v názve je parametrom pre riadok 1; "_2" – pre riadok 2 atď.
  • Maximálna dĺžka názvu parametra je 32 znakov.
  • Maximálna dĺžka hodnoty parametra je 500 znakov bez dvojitých úvodzoviek.
  • V reťazci nie sú povolené žiadne medzery, pokiaľ hodnota neobsahuje znak medzery.
  • Niektoré hodnoty parametrov môžu byť špecifikované ako „prázdne“, aby sa parameter nastavil na prázdnu hodnotu.
  • Parametre nie sú špecifikované v určitom poradí.
  • Ak je rovnaký parameter zadaný v konfiguračnom súbore viac ako raz, použije sa hodnota zadaná ako prvá.

Úprimne povedané, taký vážny súbor požiadaviek na konfiguračný súbor ma rozrušil. Podľa môjho názoru je implementácia interakcie s riadiacim serverom na telefónoch Panasonic mimoriadne nepohodlná. V tomto parametri je telefón výrazne horší ako ostatné.
Zariadenie sa pri prvom zapnutí (alebo po resetovaní do továrenských nastavení) pokúsi načítať takzvaný produktový súbor (v tomto prípade je to KX-UT123RU.cfg), ktorý by mal obsahovať cesty k zostávajúce konfiguračné súbory.
Súbor produktu# Súbor štandardného formátu pre telefón SIP Panasonic # NEMEŇTE TENTO RIADOK!

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"

Potom telefón zobrazí správu o úspešnom dokončení prípravy a počká, kým sa reštartuje. A po reštarte začne spracovávať konfiguračné súbory, ktoré sú mu priradené.

Odporúča sa zadať všeobecné nastavenia pre všetky telefóny v súbore master.cfg. Rovnako ako pri Dlinku uvediem len niektoré parametre. Názvy zostávajúcich parametrov a ich hodnoty nájdete v dokumentácii na webovej stránke výrobcu.
master.cfg################################################## ##########
#Systémové nastavenia#
################################################## ##########
## Nastavenia prihlasovacieho účtu
ADMIN_ID="admin"
ADMIN_PASS="ADMIN_PWD"
USER_ID="používateľ"
USER_PASS="USER_PWD"

## Nastavenia systémového času
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=""

## Nastavenia 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"

## Nastavenia poskytovania
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"

################################################## ##########
#Nastavenia siete#
################################################## ##########
## Nastavenia IP
CONNECTION_TYPE="1"
HOST_NAME="UT123"
DHCP_DNS_ENABLE="Y"
STATIC_IP_ADDRESS=""
STATIC_SUBNET=""
STATIC_GATEWAY=""
USER_DNS1_ADDR=""
USER_DNS2_ADDR=""

## Nastavenia DNS
DNS_QRY_PRLL="Y"
DNS_PRIORITY="N"
DNS1_ADDR="10.1.1.1"
DNS2_ADDR=""

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

## Nastavenia aplikácie 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=""

Tradične v individuálnom konfiguračnom súbore zariadenia zostávajú iba nastavenia predplatiteľa.
aabbccddeeff.cfgDISPLAY_NAME_1="Používateľ č. 168"

PHONE_NUMBER_1="168"
SIP_URI_1="168"
LINE_ENABLE_1="Povolené"
PROFILE_ENABLE_1="Povolené"
SIP_AUTHID_1="168"
SIP_PASS_1="SIP_PWD"

Grandstream GXP-1400

Parametre týchto telefónov sú uložené v jednom xml súbore s názvom cfg{mac}.xml. Alebo ako obyčajný text s názvom cfg{mac}. Tento telefón vyžaduje iba individuálny konfiguračný súbor, takže optimalizácia nastavení ich presunutím do spoločného súboru nebude fungovať. Ďalšou vlastnosťou nastavenia Grandstreamov je pomenovanie parametrov. Všetky sú očíslované a označené ako P###. Napríklad:

P1650 – zodpovedný za webové rozhranie pre správu telefónu (0 – HTTPS, 1 – HTTP)
P47 – Adresa SIP servera pre pripojenie.

Ak je konfigurácia uložená v textovom súbore, parametre nevyžadujú žiadne zoskupovanie a sú v akomkoľvek poradí. Riadky začínajúce # sa považujú za komentáre.

Ak sú nastavenia prezentované vo formáte xml, musia byť vnorené do uzla , ktorý zase musí byť vnorený . Všetky parametre sú zapísané vo forme zodpovedajúcich značiek s hodnotou parametra vo vnútri.
Príklad nastavenia

1.0 8 1 1 SIP_PWD Používateľ # 271 1 271 270 109 ADMIN_PWD USER_PWD ru 270 35/grandstream 109 TZc-35 36 109 http://36/provisioning/grandstream tridsať

Yealink T19 a T21

Zariadenia týchto modelov podporujú individuálne konfiguračné súbory pre zariadenia a spoločné pre modely. V mojom prípade som musel všeobecné parametre umiestniť do súborov y000000000031.cfg a y000000000034.cfg. Jednotlivé konfiguračné súbory sú pomenované podľa MAC adresy: 00112233aabb.cfg.

Nastavenia pre yealinky sú uložené v textovom formáte. Jedinými povinnými požiadavkami je prítomnosť verzie súboru v prvom riadku vo formáte #!version:1.0.0.1.

Všetky parametre sú zapísané v tvare parameter = hodnota. Komentáre musia začínať znakom „#“. Názvy parametrov a ich hodnoty nájdete v dokumentácii na webovej stránke výrobcu.
Všeobecné nastavenia#!verzia:1.0.0.1
#Nakonfigurujte typ portu WAN; 0-DHCP (predvolené), 1-PPPoE, 2-Statická IP adresa;
network.internet_port.type = 0
#Nakonfigurujte typ portu PC; 0-Router, 1-Bridge (predvolené);
network.bridge_mode = 1
#Nakonfigurujte typ prístupu webového servera; 0-Zakázané, 1-HTTP & HTTPS (predvolené), 2-Len HTTP, 3-HTTPS;
network.web_server_type = 3
#Nakonfigurujte maximálny lokálny port RTP. Rozsah je od 0 do 65535, predvolená hodnota je 11800.
network.port.max_rtpport = 10100
#Nakonfigurujte minimálny lokálny port RTP. Rozsah je od 0 do 65535, predvolená hodnota je 11780.
network.port.min_rtpport = 10000 XNUMX
security.user_name.admin = root
security.user_password = root:ADMIN_PWD
security.user_name.user = používateľ
security.user_password = používateľ:USER_PWD
#Uveďte jazyk webu, platné hodnoty sú: angličtina, čínština_S, turečtina, portugalčina, španielčina, taliančina, francúzština, ruština, nemčina a čeština.
lang.wui = ruština
#Uveďte jazyk LCD, platné hodnoty sú: angličtina (predvolené), čínština_S, čínština_T, nemčina, francúzština, turečtina, taliančina, poľština, španielčina a portugalčina.
lang.gui = ruština
#Nakonfigurujte časové pásmo a názov časového pásma. Časové pásmo sa pohybuje od -11 do +12, predvolená hodnota je +8.
#Predvolený názov časového pásma je Čína (Peking).
#Viac dostupných časových pásiem a názvov časových pásiem nájdete v používateľskej príručke IP telefónov Yealink.
local_time.time_zone = +11
local_time.time_zone_name = Vladivostok
#Nakonfigurujte názov domény alebo IP adresu servera NTP. Predvolená hodnota je cn.pool.ntp.org.
local_time.ntp_server1 = 10.1.1.4
#Nakonfigurujte režim loga obrazovky LCD; 0-Zakázané (predvolené), 1-Logo systému, 2-Vlastné logo;
phone_setting.lcd_logo.mode = 1
#Nakonfigurujte prístupovú adresu URL a zobrazte názov vzdialeného telefónneho zoznamu. X sa pohybuje od 1 do 5.
remote_phonebook.data.1.url = 10.1.1.50/provisioning/yealink-phonebook.xml
remote_phonebook.data.1.name = Telefónny zoznam
features.remote_phonebook.flash_time = 3600

individuálne nastavenia#!verzia:1.0.0.1
#Povoliť alebo zakázať účet1, 0-Zakázané (predvolené), 1-Povolené;
účet.1.povoliť = 1
#Nakonfigurujte štítok zobrazený na obrazovke LCD pre účet1.
account.1.label = Testovací telefón
#Nakonfigurujte zobrazovaný názov účtu1.
account.1.display_name = Používateľ 998
#Nakonfigurujte používateľské meno a heslo na overenie registrácie.
account.1.auth_name = 998
účet.1.heslo = 998
#Nakonfigurujte používateľské meno registrácie.
account.1.user_name = 998
#Nakonfigurujte adresu servera SIP.
account.1.sip_server_host = 10.1.1.50
#Uveďte port pre server SIP. Predvolená hodnota je 5060.
account.1.sip_server_port = 5060

Výsledkom bolo, že vďaka úžasnej funkcii automatického poskytovania poskytovanej v telefónoch, ktoré som spomínal, neboli žiadne problémy s pripojením nových zariadení k sieti. Všetko prišlo na zistenie MAC adresy telefónu a vygenerovanie konfiguračného súboru pomocou šablóny.

Dúfam, že ste sa dočítali až do konca a z toho, čo ste čítali, máte úžitok.

Ďakujem vám za pozornosť.

Zdroj: hab.com

Pridať komentár