Ieraksts
Kādu dienu vadība apstiprināja eksperimentu, lai mūsu birojā ieviestu IP telefoniju. Tā kā mana pieredze šajā jomā bija niecīga, uzdevums manī izraisīja lielu interesi, un es iesaistījos dažādu šī jautājuma aspektu pētīšanā. Niršanas beigās nolēmu padalīties ar iegūtajām zināšanām cerībā, ka tās kādam noderēs. Tātad…
Neapstrādāti dati
Zvaigznīte tika atlasīta un izvietota kā IP PBX. Tālruņu parku veido Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 un Dlink DPH-150S(E)/F3, Yealink T19 un T21 ierīces. Šāda variācija ir saistīta ar to, ka eksperimenta ietvaros tika nolemts izmēģināt mazliet no visa, lai veidotu viedokli par cenas/kvalitātes/ērtības attiecību.
Uzdevums
Pēc iespējas vienkāršojiet un standartizējiet jaunu ierīču iestatīšanas procesu. Visiem tālruņiem ir jābūt sinhronizētiem ar laiku un tiem jābūt lejupielādējamai tālruņu grāmatai no serveris un nodrošināt administratoram piekļuvi iestatījumiem.
Šīs problēmas risinājums ir vienkāršs – ieviesiet automātisko tālruņu konfigurēšanu, t.s. Nodrošināšana. Patiesībā tiks apspriests, kā es īstenoju šo brīnišķīgo funkciju.
Tftpd, dhcpd konfigurēšana
Lai izplatītu iestatījumus tālruņiem, es izvēlējos tftp kā universālu opciju, ko atbalsta visas platformas, viegli konfigurējams un pārvaldāms.
Tftp nebija nepieciešama īpaša konfigurācija. Es instalēju standarta tftpd un ievietoju visus nepieciešamos failus tā saknes direktorijā.
Iestatījumu failus ievietoju direktorijos saskaņā ar tālruņa ražotāju. Tiesa, Cisco ierīce nekad neiekļuva tās mapē, tāpēc man tā bija jāglabā tās saknē.
Lai norādītu tālruņus uz tftp servera atrašanās vietu, es izmantoju opciju-66. Turklāt viņš tos sadalīja atsevišķās klasēs pēc ražotāja. Katra klase saņēma savu adreses segmentu un atsevišķu mapi konfigurācijas failiem. Starp citu, ierīces no D-link bija jāaprēķina pēc MAC adresēm, jo tās nesniedz informāciju par ražotāju dhcp pieprasījumā.
Fragments dhcpd.conf
# Norādiet nepieciešamo opciju opciju option-66 kods 66 = teksts; class "panasonic" { match if substring (opcija vendor-class-identifier,0,9) = "Panasonic"; opcija opcija-66 "10.1.1.50/panasonic/"; } class "cisco" { match if substring (opcija vendor-class-identifier,0,36) = "Cisco Systems, Inc. IP tālrunis CP-7906"; opcija opcija-66 "10.1.1.50/cisco/"; } class "grandstream" { match if substring (opcija vendor-class-identifier,0,11) = "Grandstream"; opcija opcija-66 "10.1.1.50/grandstream/"; } class "dlink" { match if (binary-to-ascii (16,8,":",substring(hardware,1,4)) = "c8:d3:a3:8d") vai (binary-to-ascii (16,8",:",apakšvirkne(hardware,1,4)) = "90:94:e4:72"); opcija opcija-66 "10.1.1.50/dlink/"; } class "yealink" { match if substring (opcija vendor-class-identifier,0,7) = "Yealink"; opcija opcija-66 "10.1.1.50/yealink/"; }
Telefonus nācās piespiedu kārtā izslēgt no kopējā pulka. Citādi viņi negribēja iet uz savu “brokbaseinu”.
Apakštīkla iestatījumu piemērs
apakštīkls 10.1.1.0 tīkla maska 255.255.255.0 { opcija maršrutētāji 10.1.1.1; pool { noliegt "cisco" dalībniekus; noliegt "panasonic" dalībniekus; noliegt "dlink" dalībniekus; diapazons 10.1.1.230 10.1.1.240; } pūls { atļaut "cisco" dalībniekiem; diapazons 10.1.1.65 10.1.1.69; } baseins { atļaut "panasonic" dalībniekiem; diapazons 10.1.1.60 10.1.1.64; } pūls { atļaut "dlink" dalībniekiem; diapazons 10.1.1.55 10.1.1.59; } }
Pēc visu iesaistīto pakalpojumu restartēšanas tālruņi pārliecinoši devās uz tiem piešķirto tftp serveri, lai veiktu iestatījumus. Atliek tikai tos tur novietot.
cisco 7906
Šīs ierīces saņēmu oriģinālajā iepakojumā. Man tas bija jāmaina, lai sadraudzētos ar zvaigznīti. Bet tas ir cits stāsts. Konkrētā gadījumā, lai konfigurētu ierīci, saskaņā ar instrukcijām tftp servera saknē izveidoju failu SEPAABBCCDDEEFF.cnf.xml. Kur AABBBCCDDEEFF ir ierīces MAC adrese.
Par tālruņu iestatīšanu no Cisco jau ir rakstīts vairāk nekā vienu reizi, tāpēc atstāšu tikai darba failu ar iestatījumiem.
Cisco iestatījumi
<?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
Ja jūs tikai gatavojaties iegādāties šīs sērijas tālruni, esiet piesardzīgs, jo automātiskā regulēšana tiek atbalstīta tikai 150S/F3 ierīcēs. Manā rokās nonākušajā 150S/F2 ierīcē tādu funkcionalitāti neatradu.
Konfigurācijas fails var būt xml vai vienkārša teksta formātā. Xml ir viena prasība: tagam jāatrodas rindas sākumā, pretējā gadījumā parsētājs to ignorēs un atbilstošā parametra vērtība nemainīsies.
Tālruņa konfigurēšanai tiek izmantoti divi faili. f0D00580000.cfg - visu tālruņu iestatījumu saglabāšanai un 00112233aabb.cfg (MAC adrese ar mazajiem burtiem) atsevišķiem iestatījumiem. Atsevišķiem iestatījumiem, protams, ir augstāka prioritāte.
Pilnajā iestatījumu komplektā ir vairāk nekā tūkstotis rindiņu, lai nepārblīvētu rakstu, aprakstīšu minimāli pietiekamu iestatījumu komplektu.
Nepieciešams saknes mezgls VOIP_CONFIG_FILE un tajā ievietotais mezgls versija. Iestatījumi tiks lietoti tikai tad, ja faila versija ir augstāka par pašreizējiem ierīces iestatījumiem. Šo vērtību varat uzzināt, izmantojot tālruņa tīmekļa saskarni apkopes sadaļā (sistēmas pārvaldība). Tālruņiem ar rūpnīcas iestatījumiem abos gadījumos tas ir 2.0002. Turklāt atsevišķa faila versijai ir jābūt lielākai par koplietotā faila versiju.
Vispirms es nodrošināšu failu ar kopēju konfigurāciju visiem tālruņiem. Faktiski tajā tiek saglabāti visi iestatījumi; atsevišķais fails būs atbildīgs tikai par tālruņa numuru un uzrakstu uz ekrāna.
Divos zemāk esošajos blokos ir iestatīti laika joslas un laika sinhronizācijas parametri, ir iespējots sākotnējais RTP ports un tīkla tilts starp ierīces WAN un LAN savienotājiem.
Fragments 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>
Konfigurācijas parametru faktiskie nosaukumi ir pietiekami aprakstoši, lai izvairītos no to detalizētas aprakstīšanas.
SIP vienai līnijai
<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>
Tālvadības pults iestatījumi
<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>
Tālruņa iestatījumi
<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>
Visi pārējie iestatījumi paliks “noklusējuma”. Tagad jebkurš Dlink tālrunis, kas savienots ar tīklu, nekavējoties pieņems kopīgu parametru kopu visiem. Lai iestatītu atsevišķus ierīces parametrus, ir nepieciešams atsevišķs fails. Tajā jums ir jānorāda tikai nepieciešamie iestatījumi individuālam abonentam.
abonenta iestatījumi
<?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
Šīs ierīces saņem iestatījumus pēc nedaudz atšķirīgas shēmas. Konfigurācija tiek saglabāta teksta failos. Maksimālais konfigurācijas faila lielums ir 120 KB. Neatkarīgi no failu skaita to kopējais izmērs nedrīkst pārsniegt 120 KB.
Konfigurācijas fails sastāv no rindu kopas, uz kurām attiecas šādi nosacījumi:
- Pirmā rindiņa vienmēr ir komentāru rindiņa, kas ietver šādu rakstzīmju secību (44 baiti):
# Panasonic SIP tālruņa standarta formāta fails #
Šīs secības heksadecimālais attēlojums:
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 6 72 6 61 74 20 46 69 6 65 20 C 23 XNUMX XNUMX
Lai novērstu nejaušas izmaiņas izveidotajā rakstzīmju secībā, ieteicams konfigurācijas failu sākt ar rindiņu:
# Panasonic SIP tālruņa standarta formāta fails # NEMAINIET ŠO RINDU! - Konfigurācijas failiem jābeidzas ar tukšu rindiņu.
- Katrai rindai jābeidzas ar secību " ".
- Maksimālais virknes garums ir 537 baiti, ieskaitot secību " "
- Šādas rindas tiek ignorētas:
- līnijas, kas pārsniedz 537 baitu ierobežojumu;
- tukšas rindas;
- komentāru rindas, kas sākas ar "#";
- Katra parametra virkne tiek rakstīta šādā formā: XXX=“yyy” (XXX: parametra nosaukums, yyy: tā vērtība). Vērtība jāiekļauj dubultpēdiņās.
- Parametru rindas sadalīšana vairākās rindās nav atļauta. Tā rezultātā radīsies kļūda, apstrādājot konfigurācijas failu, un rezultātā inicializācijas kļūme.
- Dažu parametru vērtības katrai rindai jānorāda atsevišķi. Parametrs ar sufiksu "_1" nosaukumā ir 1. rindas parametrs; "_2" — 2. rindiņai utt.
- Parametra nosaukuma maksimālais garums ir 32 rakstzīmes.
- Parametra vērtības maksimālais garums ir 500 rakstzīmes, izņemot pēdiņu rakstzīmes.
- Virknē nav atļautas atstarpes, ja vien vērtībā nav iekļauta atstarpes rakstzīme.
- Dažas parametru vērtības var norādīt kā “tukšas”, lai iestatītu parametru uz tukšu vērtību.
- Parametri nav norādīti noteiktā secībā.
- Ja viens un tas pats parametrs konfigurācijas failā ir norādīts vairāk nekā vienu reizi, tiek lietota vispirms norādītā vērtība.
Atklāti sakot, mani sarūgtināja tik nopietnas prasības konfigurācijas failam. Manuprāt, mijiedarbības ieviešana ar serveris Panasonic tālruņiem ir ārkārtīgi neērta vadība. Šajā ziņā tālrunis ir ievērojami sliktāks par citiem.
Pirmo reizi ieslēdzot ierīci (vai pēc rūpnīcas iestatījumu atiestatīšanas), tā mēģina ielādēt tā saukto produkta failu (šajā gadījumā tas ir KX-UT123RU.cfg), kurā jāietver ceļi uz atlikušie konfigurācijas faili.
Produkta fails# Panasonic SIP tālruņa standarta formāta fails # NEMAINIET ŠO RINDU!
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ēc tam tālrunis parādīs ziņojumu par veiksmīgu sagatavošanās pabeigšanu un gaidīs, līdz tas tiks restartēts. Un pēc atsāknēšanas tas sāks apstrādāt tam piešķirtos konfigurācijas failus.
Vispārīgos iestatījumus visiem tālruņiem ieteicams norādīt master.cfg failā. Tāpat kā ar Dlink, es norādīšu tikai dažus parametrus. Atlikušo parametru nosaukumus un to vērtības var atrast dokumentācijā ražotāja vietnē.
master.cfg################################################# ##########
#Sistēmas iestatījumi#
################################################# ##########
## Pieteikšanās konta iestatījumi
ADMIN_ID="administrators"
ADMIN_PASS="ADMIN_PWD"
USER_ID="lietotājs"
USER_PASS="USER_PWD"
## Sistēmas laika iestatījumi
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=""
## Syslog iestatījumi
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"
## Nodrošinājuma iestatījumi
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"
################################################# ##########
#Tīkla iestatījumi#
################################################# ##########
## IP iestatījumi
CONNECTION_TYPE="1"
HOST_NAME = "UT123"
DHCP_DNS_ENABLE="Y"
STATIC_IP_ADDRESS=""
STATIC_SUBNET=""
STATIC_GATEWAY=""
USER_DNS1_ADDR=""
USER_DNS2_ADDR=""
## DNS iestatījumi
DNS_QRY_PRLL="Y"
DNS_PRIORITY="N"
DNS1_ADDR="10.1.1.1"
DNS2_ADDR=""
## HTTP iestatījumi
HTTPD_PORTOPEN_AUTO="Y"
HTTP_VER="1"
HTTP_USER_AGENT="Panasonic_{MODEL}/{fwver} ({mac})"
HTTP_SSL_VERIFY="0"
CFG_ROOT_CERTIFICATE_PATH=""
## XML lietojumprogrammas iestatījumi
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="»
XMLAPP_LDAP_USERID=""
XMLAPP_LDAP_USERPASS=""
Tradicionāli atsevišķās ierīces konfigurācijas failā paliek tikai abonenta iestatījumi.
aabbccddeeff.cfgDISPLAY_NAME_1="Lietotājs Nr. 168"
PHONE_NUMBER_1="168"
SIP_URI_1 = "168"
LINE_ENABLE_1="Iespējots"
PROFILE_ENABLE_1="Iespējots"
SIP_AUTHID_1 = "168"
SIP_PASS_1="SIP_PWD"
Grandstream GXP-1400
Šo tālruņu parametri tiek glabāti vienā xml failā ar nosaukumu cfg{mac}.xml. Vai arī vienkāršā tekstā ar nosaukumu cfg{mac}. Šis tālrunis pieprasa tikai atsevišķu konfigurācijas failu, tāpēc iestatījumu optimizēšana, pārvietojot tos uz kopīgu failu, nedarbosies. Vēl viena Grandstreams iestatīšanas iezīme ir parametru nosaukšana. Tie visi ir numurēti un apzīmēti ar P###. Piemēram:
P1650 – atbild par tīmekļa saskarni tālruņa pārvaldībai (0 – HTTPS, 1 – HTTP)
P47 – SIP servera adrese savienojumam.
Ja konfigurācija tiek saglabāta teksta failā, parametriem nav nepieciešama grupēšana un tie ir jebkurā secībā. Rindas, kas sākas ar #, tiek uzskatītas par komentāriem.
Ja iestatījumi tiek parādīti xml formātā, tiem jābūt ligzdotiem mezglā , kas savukārt ir jāievieto . Visi parametri ir uzrakstīti atbilstošo tagu veidā ar parametra vērtību iekšpusē.
Iestatīšanas piemērs
1.0 8 1 1 SIP_PWD Lietotājs Nr. 271 1 271 270 109 ADMIN_PWD LIETOTĀJA_PAROLE en 270 35/grandstream 109 TZc-35 36 109 http://36/provisioning/grandstream 34
Yealink T19 un T21
Šo modeļu ierīces atbalsta atsevišķus ierīču konfigurācijas failus un modeļu kopējos konfigurācijas failus. Manā gadījumā vispārējie parametri bija jāievieto attiecīgi failos y000000000031.cfg un y000000000034.cfg. Atsevišķi konfigurācijas faili tiek nosaukti atbilstoši MAC adresei: 00112233aabb.cfg.
Yealinks iestatījumi tiek saglabāti teksta formātā. Vienīgās obligātās prasības ir faila versijas klātbūtne pirmajā rindā formātā #!version:1.0.0.1.
Visi parametri ir rakstīti formā parametrs = vērtība. Komentāri jāsākas ar "#" rakstzīmi. Parametru nosaukumus un to vērtības var atrast dokumentācijā ražotāja vietnē.
Vispārīgie iestatījumi#!versija: 1.0.0.1
#Konfigurējiet WAN porta veidu; 0-DHCP (noklusējums), 1-PPPoE, 2-statiskā IP adrese;
network.internet_port.type = 0
#Konfigurējiet datora porta veidu; 0-maršrutētājs, 1-tilts (noklusējums);
network.bridge_mode = 1
#Konfigurējiet tīmekļa servera piekļuves veidu; 0-Atspējots, 1-HTTP un HTTPS (noklusējums), 2-Tikai HTTP, 3-Tikai HTTPS;
network.web_server_type = 3
#Konfigurējiet maksimālo vietējo RTP portu. Tas svārstās no 0 līdz 65535, noklusējuma vērtība ir 11800.
network.port.max_rtpport = 10100
#Konfigurējiet minimālo vietējo RTP portu. Tas svārstās no 0 līdz 65535, noklusējuma vērtība ir 11780.
network.port.min_rtpport = 10000
security.user_name.admin = root
security.user_password = root:ADMIN_PWD
security.user_name.user = lietotājs
security.user_password = lietotājs:USER_PWD
#Norādiet tīmekļa valodu, derīgās vērtības ir: angļu, ķīniešu_S, turku, portugāļu, spāņu, itāļu, franču, krievu, vācu un čehu.
lang.wui = krievu valoda
#Norādiet LCD valodu, derīgās vērtības ir: angļu (noklusējums), Chinese_S, Chinese_T, vācu, franču, turku, itāļu, poļu, spāņu un portugāļu.
lang.gui = krievu valoda
#Konfigurējiet laika joslu un laika joslas nosaukumu. Laika josla svārstās no -11 līdz +12, noklusējuma vērtība ir +8.
#Noklusējuma laika joslas nosaukums ir Ķīna (Pekina).
#Skatiet Yealink IP Phones lietotāja rokasgrāmatu, lai uzzinātu vairāk pieejamo laika joslu un laika joslu nosaukumus.
local_time.time_zone = +11
local_time.time_zone_name = Vladivostoka
#Konfigurējiet NTP servera domēna nosaukumu vai IP adresi. Noklusējuma vērtība ir cn.pool.ntp.org.
local_time.ntp_server1 = 10.1.1.4
#Konfigurējiet LCD ekrāna logotipa režīmu; 0-Atspējots (noklusējums), 1-Sistēmas logotips, 2-Pielāgots logotips;
phone_setting.lcd_logo.mode = 1
#Konfigurējiet attālās tālruņu grāmatas piekļuves URL un displeja nosaukumu. X svārstās no 1 līdz 5.
remote_phonebook.data.1.url =
remote_phonebook.data.1.name = Tālruņu grāmata
features.remote_phonebook.flash_time = 3600
individuālie iestatījumi#!versija: 1.0.0.1
#Iespējot vai atspējot kontu1, 0-Atspējots (noklusējums), 1-Iespējots;
konts.1.iespējot = 1
#Konfigurējiet LCD ekrānā redzamo etiķeti kontam1.
account.1.label = Pārbaudīt tālruni
#Konfigurējiet konta 1 parādāmo nosaukumu.
account.1.display_name = Lietotājs 998
#Konfigurējiet lietotājvārdu un paroli reģistra autentifikācijai.
account.1.auth_name = 998
konts.1.parole = 998
#Konfigurējiet reģistra lietotājvārdu.
account.1.user_name = 998
#Konfigurējiet SIP servera adresi.
account.1.sip_server_host = 10.1.1.50
#Norādiet SIP servera portu. Noklusējuma vērtība ir 5060.
account.1.sip_server_port = 5060
Rezultātā, pateicoties brīnišķīgajai automātiskās nodrošināšanas funkcijai, kas tika nodrošināta manis pieminētajos tālruņos, nebija problēmu ar jaunu ierīču pievienošanu tīklam. Tas viss bija saistīts ar tālruņa MAC adreses noskaidrošanu un konfigurācijas faila ģenerēšanu, izmantojot veidni.
Ceru, ka izlasījāt līdz galam un lasījāt kādu labumu.
Paldies par uzmanību.
Avots: www.habr.com
