VoIP Zoo – Oskrba

Začetek

Nekega dne je vodstvo odobrilo poskus uvedbe IP telefonije v naši pisarni. Ker so bile moje izkušnje na tem področju skromne, je naloga v meni zbudila veliko zanimanje in poglobil sem se v proučevanje različnih vidikov problematike. Ob koncu potopa sem se odločil deliti pridobljeno znanje v upanju, da bo komu koristilo. Torej …

Surovi podatki

Asterisk je bil izbran in nameščen kot IP PBX. Telefonsko floto sestavljajo naprave Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 in Dlink DPH-150S(E)/F3, Yealink T19 in T21. Ta razlika je posledica dejstva, da je bilo v okviru poskusa odločeno, da se poskusi od vsega po malo, da bi se oblikovalo mnenje o razmerju cena/kakovost/udobje.

Naloga

Čim bolj poenostavite in poenotite postopek nastavitve novih naprav. Vsi telefoni morajo biti časovno sinhronizirani, imeti morajo imenik naložen s strežnika in skrbniku omogočiti dostop do nastavitev.

Rešitev te težave je preprosta - implementirajte samodejno konfiguracijo telefonov, tako imenovano. Oskrba. Pravzaprav se bo razpravljalo o moji izvedbi te čudovite funkcije.

Konfiguriranje tftpd,dhcpd

Za distribucijo nastavitev v telefone sem izbral tftp kot univerzalno možnost, ki jo podpirajo vse platforme, ki jo je enostavno konfigurirati in upravljati.

Za tftp ni bila potrebna posebna konfiguracija. Namestil sem standardni tftpd in namestil vse potrebne datoteke v njegov korenski imenik.
Nastavitvene datoteke sem postavil v imenike v skladu s proizvajalcem telefona. Res je, naprava Cisco nikoli ni šla v svojo mapo, zato sem jo moral shraniti v njen koren.

Da sem telefone usmeril na lokacijo tftp strežnika, sem uporabil možnost-66. Poleg tega jih je razdelil v ločene razrede po proizvajalcih. Vsak razred je dobil svoj naslovni segment in posamezno mapo za konfiguracijske datoteke. Mimogrede, naprave iz D-linka je bilo treba izračunati z naslovi MAC, saj v zahtevi dhcp ne zagotavljajo informacij o proizvajalcu.

Fragment dhcpd.conf

# Določite zahtevane možnosti option option-66 koda 66 = besedilo; razred "panasonic" { match if substring (option vendor-class-identifier,0,9) = "Panasonic"; možnost možnost-66 "10.1.1.50/panasonic/"; } class "cisco" { match if string (option vendor-class-identifier,0,36) = "Cisco Systems, Inc. IP Phone CP-7906"; možnost možnost-66 "10.1.1.50/cisco/"; } class "grandstream" { match if substring (option vendor-class-identifier,0,11) = "Grandstream"; možnost možnost-66 "10.1.1.50/grandstream/"; } class "dlink" { match if (binary-to-ascii (16,8,":",substring(hardware,1,4)) = "c8:d3:a3:8d") ali (binary-to-ascii (16,8,":", podniz(strojna oprema,1,4)) = "90:94:e4:72"); možnost možnost-66 "10.1.1.50/dlink/"; } class "yealink" { match if substring (option vendor-class-identifier,0,7) = "Yealink"; možnost možnost-66 "10.1.1.50/yealink/"; }

Telefone je bilo treba na silo izključiti iz splošnega bazena. Sicer pa niso hoteli v njihov »bazen«.
Primer nastavitev podomrežja

podomrežje 10.1.1.0 omrežna maska ​​255.255.255.0 { opcija usmerjevalniki 10.1.1.1; bazen { zavrni člane "cisco"; zavrniti člane "panasonica"; zavrni člane "dlink"; območje 10.1.1.230 10.1.1.240; } bazen { dovoljuje članom "cisco"; območje 10.1.1.65 10.1.1.69; } pool { dovoljuje člane "panasonic"; območje 10.1.1.60 10.1.1.64; } pool { dovoljuje člane "dlink"; območje 10.1.1.55 10.1.1.59; }}

Po ponovnem zagonu vseh vključenih storitev so telefoni samozavestno odšli na svoj dodeljeni tftp strežnik za nastavitve. Vse, kar ostane, je, da jih postavite tja.

Cisco 7906

Te naprave sem prejel v originalni embalaži. Moral sem ga spremeniti, da bi postal prijatelj z zvezdico. Toda to je druga zgodba. V konkretnem primeru sem za konfiguracijo naprave po navodilih ustvaril datoteko SEPAABBCCDDEEFF.cnf.xml v korenu tftp strežnika. Kjer je AABBCCDDEEFF naslov MAC naprave.

O nastavljanju telefonov iz Cisca je bilo že večkrat napisano, zato bom pustil samo delovno datoteko z nastavitvami.
Nastavitve za 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

Če ste tik pred nakupom telefona iz te serije, bodite previdni, samodejna nastavitev je podprta samo v napravah 150S/F3. Na napravi 150S/F2, ki mi je prišla v roke, take funkcionalnosti nisem našel.

Konfiguracijska datoteka je lahko v formatu xml ali navadnega besedila. Za xml obstaja ena zahteva: oznaka mora biti na začetku vrstice, sicer jo bo razčlenjevalnik prezrl in vrednost ustreznega parametra se ne bo spremenila.

Za konfiguracijo telefona se uporabljata dve datoteki. f0D00580000.cfg - za shranjevanje nastavitev za vse telefone in 00112233aabb.cfg (MAC naslov z malimi črkami) za posamezne nastavitve. Posamezne nastavitve imajo seveda višjo prednost.

Celoten nabor nastavitev vsebuje več kot tisoč vrstic, zato bom opisal minimalni zadostni nabor nastavitev, da ne bi preobremenil članka.

Potrebno je korensko vozlišče VOIP_CONFIG_FILE in vozlišče, ugnezdeno v njem različica. Nastavitve bodo uporabljene samo, če je različica datoteke višja od trenutnih nastavitev v napravi. To vrednost lahko ugotovite prek spletnega vmesnika telefona v razdelku vzdrževanje (upravljanje sistema). Pri telefonih s tovarniškimi nastavitvami je v obeh primerih 2.0002. Poleg tega mora biti različica posamezne datoteke večja od različice datoteke v skupni rabi.

Najprej bom zagotovil datoteko s skupno konfiguracijo za vse telefone. Pravzaprav shranjuje vse nastavitve, posamezna datoteka bo odgovorna le za telefonsko številko in napis na zaslonu.

V spodnjih dveh blokih so nastavljeni parametri časovnega pasu in časovne sinhronizacije, omogočena so začetna vrata za RTP in omrežni most med priključkoma WAN in LAN naprave.

Fragment št. 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>

Dejanska imena konfiguracijskih parametrov so dovolj opisna, da se izognemo njihovemu podrobnemu opisovanju.
SIP za eno vrstico

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

Nastavitve daljinskega upravljalnika

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

Nastavitve telefona

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

Vse druge nastavitve bodo ostale »privzete«. Zdaj bo vsak telefon Dlink, povezan z omrežjem, takoj sprejel skupen niz parametrov za vse. Za nastavitev posameznih parametrov za napravo je potrebna posebna datoteka. V njem morate samo določiti potrebne nastavitve za posameznega naročnika.
nastavitve naročnika

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

Te naprave prejemajo nastavitve po nekoliko drugačni shemi. Konfiguracija je shranjena v besedilnih datotekah. Največja velikost konfiguracijske datoteke je 120 KB. Ne glede na število datotek njihova skupna velikost ne sme presegati 120 KB.
Konfiguracijska datoteka je sestavljena iz niza vrstic, za katere veljajo naslednji pogoji:

  • Prva vrstica je vedno vrstica za komentar, vključno z naslednjim zaporedjem znakov (44 bajtov):
    # Datoteka standardnega formata telefona SIP Panasonic #
    Šestnajstiška predstavitev tega zaporedja:
    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
    Da preprečite nenamerne spremembe vzpostavljenega zaporedja znakov, je priporočljivo zagnati konfiguracijsko datoteko z vrstico:
    # Datoteka v standardnem formatu telefona Panasonic SIP # NE SPREMINJAJTE TE VRSTICE!
  • Konfiguracijske datoteke se morajo končati s prazno vrstico.
  • Vsaka vrstica se mora končati z zaporedjem " ".
  • Največja dolžina niza je 537 bajtov, vključno z zaporedjem " "
  • Naslednje vrstice so prezrte:
    • vrstice, ki presegajo omejitev 537 bajtov;
    • prazne vrstice;
    • vrstice komentarjev, ki se začnejo z "#";
  • Niz za vsak parameter je zapisan v obliki XXX=“yyy” (XXX: ime parametra, yyy: njegova vrednost). Vrednost mora biti v dvojnih narekovajih.
  • Razdelitev vrstice parametra na več vrstic ni dovoljena. To bo povzročilo napako pri obdelavi konfiguracijske datoteke in posledično neuspešno inicializacijo.
  • Vrednosti nekaterih parametrov je treba določiti ločeno za vsako vrstico. Parameter s pripono "_1" v imenu je parameter za vrstico 1; "_2"—za vrstico 2 itd.
  • Največja dolžina imena parametra je 32 znakov.
  • Največja dolžina vrednosti parametra je 500 znakov brez dvojnih narekovajev.
  • V nizu niso dovoljeni presledki, razen če vrednost vključuje presledek.
  • Nekatere vrednosti parametrov lahko določite kot "prazne", da nastavite parameter na prazno vrednost.
  • Parametri so navedeni brez posebnega vrstnega reda.
  • Če je isti parameter podan večkrat v konfiguracijski datoteki, se uporabi prva navedena vrednost.

Tako resen nabor zahtev za konfiguracijsko datoteko me je, odkrito povedano, razburil. Po mojem mnenju je izvedba interakcije z nadzornim strežnikom na telefonih Panasonic izjemno neprijetna. V tem parametru je telefon bistveno slabši od drugih.
Ko napravo prvič vklopite (ali po ponastavitvi na tovarniške nastavitve), ta poskuša naložiti tako imenovano datoteko izdelka (v tem primeru je to KX-UT123RU.cfg), ki naj vsebuje poti do preostale konfiguracijske datoteke.
Datoteka izdelka# Datoteka v standardnem formatu telefona Panasonic SIP # NE SPREMINJAJTE TE VRSTICE!

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"

Po tem bo telefon prikazal sporočilo o uspešnem zaključku priprave in počakal, da se znova zažene. In po ponovnem zagonu bo začel obdelovati konfiguracijske datoteke, ki so mu dodeljene.

Priporočljivo je, da v datoteki master.cfg določite splošne nastavitve za vse telefone. Kot pri Dlinku bom navedel samo nekatere parametre. Imena preostalih parametrov in njihove vrednosti najdete v dokumentaciji na spletni strani proizvajalca.
master.cfg##################################################### ##########
#Sistemske nastavitve#
##################################################### ##########
## Prijava Nastavitve računa
ADMIN_ID="skrbnik"
ADMIN_PASS="ADMIN_PWD"
USER_ID="uporabnik"
USER_PASS="USER_PWD"

## Nastavitve sistemskega časa
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=""

## Nastavitve sistemskega dnevnika
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"

## Nastavitve zagotavljanja
OPTION66_ENABLE="DA"
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"

##################################################### ##########
#Omrežne nastavitve#
##################################################### ##########
## Nastavitve IP
CONNECTION_TYPE="1"
HOST_NAME="UT123"
DHCP_DNS_ENABLE="DA"
STATIC_IP_ADDRESS=""
STATIC_SUBNET=""
STATIC_GATEWAY=""
USER_DNS1_ADDR=""
USER_DNS2_ADDR=""

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

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

## Nastavitve aplikacije 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=""

Običajno v konfiguracijski datoteki posamezne naprave ostanejo samo nastavitve naročnika.
aabbccddeeff.cfgDISPLAY_NAME_1="Uporabnik št. 168"

PHONE_NUMBER_1="168"
SIP_URI_1="168"
LINE_ENABLE_1="Omogočeno"
PROFILE_ENABLE_1="Omogočeno"
SIP_AUTHID_1="168"
SIP_PASS_1="SIP_PWD"

Grandstream GXP-1400

Parametri teh telefonov so shranjeni v eni xml datoteki z imenom cfg{mac}.xml. Ali v navadnem besedilu z imenom cfg{mac}. Ta telefon zahteva samo posamezno konfiguracijsko datoteko, zato optimizacija nastavitev s premikanjem v skupno datoteko ne bo delovala. Druga značilnost nastavitve Grandstreams je poimenovanje parametrov. Vsi so oštevilčeni in označeni kot P###. Na primer:

P1650 – odgovoren za spletni vmesnik za upravljanje telefona (0 – HTTPS, 1 – HTTP)
P47 – naslov strežnika SIP za povezavo.

Če je konfiguracija shranjena v besedilni datoteki, parametrov ni treba razvrščati v skupine in so v poljubnem vrstnem redu. Vrstice, ki se začnejo z #, se obravnavajo kot komentarji.

Če so nastavitve predstavljene v formatu xml, morajo biti ugnezdene v vozlišču , ki mora biti vgnezdena . Vsi parametri so zapisani v obliki ustreznih oznak z vrednostjo parametra znotraj.
Nastavitev primera

1.0 8 1 1 SIP_PWD Uporabnik št. 271 1 271 270 109 ADMIN_PWD USER_PWD ru 270 35/grandstream 109 TZc-35 36 109 http://36/provisioning/grandstream trideset

Yealink T19 in T21

Naprave teh modelov podpirajo posamezne konfiguracijske datoteke za naprave in skupne za modele. V mojem primeru sem moral postaviti splošne parametre v datoteki y000000000031.cfg oziroma y000000000034.cfg. Posamezne konfiguracijske datoteke so poimenovane glede na naslov MAC: 00112233aabb.cfg.

Nastavitve za yealinks so shranjene v besedilni obliki. Edina obvezna zahteva je prisotnost različice datoteke v prvi vrstici v formatu #!version:1.0.0.1.

Vsi parametri so zapisani v obliki parameter = vrednost. Komentarji se morajo začeti z znakom "#". Imena parametrov in njihove vrednosti najdete v dokumentaciji na spletni strani proizvajalca.
Splošne nastavitve#!različica:1.0.0.1
#Konfigurirajte vrsto vrat WAN; 0-DHCP (privzeto), 1-PPPoE, 2-statični naslov IP;
network.internet_port.type = 0
#Konfigurirajte vrsto vrat računalnika; 0-usmerjevalnik, 1-most (privzeto);
network.bridge_mode = 1
#Konfigurirajte vrsto dostopa do spletnega strežnika; 0-Onemogočeno, 1-HTTP & HTTPS (privzeto), 2-Samo HTTP, 3-Samo HTTPS;
network.web_server_type = 3
#Konfigurirajte največja lokalna vrata RTP. Razpon je od 0 do 65535, privzeta vrednost je 11800.
network.port.max_rtpport = 10100
#Konfigurirajte najmanjša lokalna vrata RTP. Razpon je od 0 do 65535, privzeta vrednost je 11780.
network.port.min_rtpport = 10000
security.user_name.admin = root
security.user_password = root:ADMIN_PWD
security.user_name.user = uporabnik
security.uporabniško_geslo = uporabnik:USER_PWD
#Določite spletni jezik, veljavne vrednosti so: angleški, kitajski_S, turški, portugalski, španski, italijanski, francoski, ruski, nemški in češki.
lang.wui = ruščina
#Določite jezik LCD-ja, veljavne vrednosti so: angleščina (privzeto), kitajski_S, kitajski_T, nemški, francoski, turški, italijanski, poljski, španski in portugalski.
lang.gui = ruski
#Konfigurirajte časovni pas in ime časovnega pasu. Časovni pas je od -11 do +12, privzeta vrednost je +8.
#Privzeto ime časovnega pasu je Kitajska (Peking).
#Za več razpoložljivih časovnih pasov in imen časovnih pasov glejte uporabniški priročnik za IP telefone Yealink.
lokalni_čas.časovni_pas = +11
local_time.time_zone_name = Vladivostok
#Konfigurirajte ime domene ali naslov IP strežnika NTP. Privzeta vrednost je cn.pool.ntp.org.
lokalni_čas.ntp_strežnik1 = 10.1.1.4
#Konfigurirajte način logotipa LCD zaslona; 0-onemogočeno (privzeto), 1-sistemski logotip, 2-logotip po meri;
phone_setting.lcd_logo.mode = 1
#Konfigurirajte URL za dostop in prikazno ime oddaljenega imenika. X se giblje od 1 do 5.
remote_phonebook.data.1.url = 10.1.1.50/provisioning/yealink-phonebook.xml
remote_phonebook.data.1.name = Imenik
features.remote_phonebook.flash_time = 3600

posamezne nastavitve#!različica:1.0.0.1
#Omogoči ali onemogoči račun1, 0-Onemogočeno (privzeto), 1-Omogočeno;
account.1.enable = 1
#Konfigurirajte oznako, prikazano na LCD zaslonu za account1.
account.1.label = Testni telefon
#Konfigurirajte prikazno ime računa1.
account.1.display_name = Uporabnik 998
#Konfigurirajte uporabniško ime in geslo za preverjanje pristnosti registra.
account.1.auth_name = 998
račun.1.geslo = 998
#Konfigurirajte uporabniško ime registra.
account.1.user_name = 998
#Konfigurirajte naslov strežnika SIP.
account.1.sip_server_host = 10.1.1.50
#Določite vrata za strežnik SIP. Privzeta vrednost je 5060.
account.1.sip_server_port = 5060

Kot rezultat, zahvaljujoč čudoviti funkciji samodejnega zagotavljanja, ki je na voljo v telefonih, ki sem jih omenil, ni bilo težav pri povezovanju novih naprav v omrežje. Vse se je zmanjšalo na iskanje naslova MAC telefona in ustvarjanje konfiguracijske datoteke s pomočjo predloge.

Upam, da ste prebrali do konca in da vam je prebrano koristilo.

Hvala za vašo pozornost.

Vir: www.habr.com

Dodaj komentar