Hyrje
Njëherë, drejtoria miratoi një eksperiment për të implementuar telefoninë IP në zyrën tonë. Duke qenë se përvoja ime në këtë fushë ishte shumë e kufizuar, kjo detyrë më nxiti një interes të madh dhe unë u zhyt në studimin e aspekteve të ndryshme të kësaj çështjeje. Pas këtij studimi, vendosa të ndaja njohuritë e fituara — me shpresën që ato t'iu vinë në ndihmë të tjerëve. Ja,…
Të dhënat fillestare
Si sistem IP-PBX u zgjodh dhe u ndërtua Asterisk. Parku i telefonave përbëhet nga aparatura Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 dhe Dlink DPH-150S(E)/F3, Yealink T19 dhe T21. Ky lloj përzgjedhjeje është për shkak se në kuadër të eksperimentit u mor vendimi për të provuar nga pak nga çdo gjë, për të formuar një opinion mbi raportin çmim/cilësi/lehtësie.
Detyra
Të thjeshtohet dhe unifikohet sa më shumë procesi i konfigurimit të aparateve të rinj. Të gjithë telefonat duhet të sinkronizohen sipas kohës, të kenë një libër telefonash, i cili ngarkohet nga server dhe të ofrojnë akses në cilësimet për administratorin.
Zgjidhja e këtij problemi është e thjeshtë — realizimi i konfigurimit automatik të telefonave, e njohur si Provisioning. Në fakt, për këtë funksion të shkëlqyer do të flas.
Konfigurimi i tftpd, dhcpd
Për të shpërndarë konfigurimet Tek telefonat, zgjodha tftp si një opsion universial, të mbështetur nga të gjitha platformat, të lehtë për t'u konfiguruar dhe menaxhuar.
Nuk kërkohej ndonjë konfigurim të veçantë për tftp. Instalova tftpd standard dhe vendosa të gjitha skedarët e nevojshëm në direktorinë e tij rrënjore.
Skedarët me konfigurime i vendosa në katalogë sipas prodhuesit të telefonit. Megjithatë, pajisja nga Cisco nuk gjeti dot dosjen e saj, prandaj duhet ta mbaja në rrënjë.
Për të treguar telefonave vendndodhjen e serverit tftp, përdora opsionin-66. Për më tepër, i ndava ata në klasa të veçanta sipas prodhuesit. Çdo klasë mori një segment të vet adresash dhe një dosje individuale për skedarët e konfigurimeve. Për informacionin e prodhuesit, pajisjet D-link duhej të llogariteshin sipas adresave MAC, pasi ato nuk ofronin informacionin në kërkesën dhcp.
Fraksioni dhcpd.conf
# Указываем необходимые опции
option option-66 code 66 = text;
class "panasonic" {
match if substring (option vendor-class-identifier,0,9) = "Panasonic";
option option-66 "10.1.1.50/panasonic/";
}
class "cisco" {
match if substring (option vendor-class-identifier,0,36) = "Cisco Systems, Inc. IP Phone CP-7906";
option option-66 "10.1.1.50/cisco/";
}
class "grandstream" {
match if substring (option vendor-class-identifier,0,11) = "Grandstream";
option option-66 "10.1.1.50/grandstream/";
}
class "dlink" {
match if (binary-to-ascii (16,8,":",substring(hardware,1,4)) = "c8:d3:a3:8d") or
(binary-to-ascii (16,8,":",substring(hardware,1,4)) = "90:94:e4:72");
option option-66 "10.1.1.50/dlink/";
}
class "yealink" {
match if substring (option vendor-class-identifier,0,7) = "Yealink";
option option-66 "10.1.1.50/yealink/";
}
Telefonat duhej të përjashtoheshin me forcë nga pool-i i përgjithshëm. Përndryshe ata nuk donin të kalonin në ‘lajgën’ e tyre.
Shembuj konfigurimesh të subnetit
subnet 10.1.1.0 netmask 255.255.255.0 {
opsioni router 10.1.1.1;
pool {
moho anëtarët e "cisco";
moho anëtarët e "panasonic";
moho anëtarët e "dlink";
gama 10.1.1.230 10.1.1.240;
}
pool {
lejo anëtarët e "cisco";
gama 10.1.1.65 10.1.1.69;
}
pool {
lejo anëtarët e "panasonic";
gama 10.1.1.60 10.1.1.64;
}
pool {
lejo anëtarët e "dlink";
gama 10.1.1.55 10.1.1.59;
}
}
Pas rindezjes së të gjitha shërbimeve të përfshira, telefonat u drejtuan me siguri për të marrë konfigurimet nga serveri tftp që iu përkiste. Mbeti vetëm t'i vendosja atje.
Cisco 7906
Këto aparatura më erdhën në paketim nga fabrika. Duhej të riprogramoheshin për t'u lidhur me asterisk'in. Por kjo është një histori e veçantë. Në këtë rast, për konfigurimin e aparatit, sipas udhëzimit, krijova një skedar SEPAABBCCDDEEFF.cnf.xml në rrënjë të serverit tftp. Ku AABBCCDDEEFF është adresa MAC e aparatit.
Për konfigurimin e telefonave nga Cisco është shkruar tashmë shumë, prandaj do të lë thjesht skedarin funksional me konfigurimet.
Konfigurimet për 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
Если вам только предстоит приобрести телефон этой серии, будьте внимательны, автонастройка поддерживается только в аппаратах 150S/F3. На аппарате 150S/F2, попавшем мне в руки, такого функционала не обнаружил.
Конфигурационный файл может быть как в формате xml, так и обычном текстовом. Для xml есть одно требование: тэг должен быть в начале строки, иначе парсер его проигнорирует и значение соответствующего параметра не изменится.
Для настройки телефона используются два файла. f0D00580000.cfg — для хранения настроек всех телефонов и 00112233aabb.cfg (MAC-адрес в нижнем регистре) для индивидуальных настроек. Индивидуальные настройки, естественно, имеют больший приоритет.
Полный набор настроек насчитывает более тысячи строк, чтобы не загромождать статью, опишу минимальный достаточный набор настроек.
Обязательными являются корневой узел VOIP_CONFIG_FILE и вложенный в него узел version. Настройки будут применены только если версия файла будет выше, чем у текущих настроек в аппарате. Узнать это значение можно через .web-интерфейс телефона в разделе maintenance (системное управление). Для телефонов с заводскими настройками в обоих случаях это 2.0002. Кроме того, версия индивидуального файла должна быть больше версии общего файла.
Первым приведу файл с общей конфигурацией для всех телефонов. По сути дела, он хранит все настройки, индивидуальный файл будет отвечать только за номер телефона и надпись на экране.
В двух блоках, приведённых ниже, устанавливаются параметры временной зоны и синхронизации времени, начальный порт для RTP и включается сетевой мост между WAN и LAN разъемами аппарата.
Фрагмент№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>
Собственно названия параметров конфигурации достаточно «говорящие», чтобы не описывать их подробно.
SIP для одной линии
<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>
Настройки удаленного управления
<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>
Настройки телефона
<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>
Все остальные настройки останутся «по умолчанию». Теперь любой телефон Dlink, подключённый к сети, сразу примет общий для всех набор параметров. Чтобы задать индивидуальные параметры для аппарата нужен отдельный файл. В нем нужно только указать необходимые настройки для отдельного абонента.
настройки абонента
2.0006 SIP1 User #117 117 5060 117 SIP_PWD 3600 1 5060 117 SIP_PWD
Panasonic UT-KX123B
Këto aparate marrin konfigurimet përmes një mënyre pak më të ndryshme. Konfigurimi ruhet në skedarë tekstualë. Madhësia maksimale e skedarit të konfigurimit është 120 KB. Pavarësisht nga numri i skedarëve, pesha totale e tyre nuk duhet të kalojë 120 KB.
Skedari i konfigurimit përbëhet nga një set rreshtash, të cilat janë të ndikuara nga kushtet e mëposhtme:
- Rreshti i parë është gjithmonë një rresht komentimi, që përfshin sekuencën e mëposhtme të karaktereve (44 byte):
# Panasonic SIP Phone Standard Format File #
Përfaqësimi hexadecimal i kësaj sekuence:
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 6C 65 20 23
Për të parandaluar ndryshimin e rastësishëm të sekuencës së caktuar të karaktereve, rekomandohet që skedari i konfigurimit të fillojë me rreshtin:
# Panasonic SIP Phone Standard Format File # DO NOT CHANGE THIS LINE! - Skedaret e konfigurimit duhet të përfundojnë me një rresht të zbrazët.
- Çdo rresht duhet të përfundojë me sekuencën "".
- Madhësia maksimale e një rreshti është 537 byte, duke përfshirë sekuencën ""
- Rreshtat e mëposhtëm injorohen:
- rreshtat që kalojnë kufizimin e 537 byte;
- rreshta të zbrazët;
- rreshta komentimi që fillojnë me simbolin "#";
- Rreshti i çdo parametri shkruhet në formën XXX="yyy" (XXX: emri i parametrave, yyy: vlera e tij). Vlera duhet të jetë e mbyllur në thonjëza të dyfishta.
- Nuk lejohet ndarja e rreshtave të parametrave në disa rreshta. Kjo do të çojë në një gabim të përpunimit të skedarit të konfigurimit dhe si rezultat - në dështimin e inicializimit.
- Vlerat e disa parametrave duhet të specifikohen veçmas për çdo linjë. Një parametër me sufiksin "_1" në emër është parametër për linjën 1; "_2"— për linjën 2 dhe kështu me radhë.
- Madhësia maksimale e emrit të parametrave është 32 karaktere.
- Madhësia maksimale e vlerës së parametrave është 500 karaktere, përveç simboleve të thonjëzave të dyfishta.
- Hapsirat në rresht nuk lejohet, përveç rasteve kur vlera përfshin simbolin e hapsirës.
- Vlerat e disa parametrave mund të specifikohen "të zbrazëta", për të vendosur një vlerë të zbrazët për parametrin.
- Parametrat specifikohen pa një rend të caktuar.
- Nëse një parametër i njëjtë specifikohet në skedarin e konfigurimit më shumë se një herë, vlera që përcaktohet e para do të aplikohet.
Ky set i kërkesave për skedarin e konfigurimit, sinqerisht, më ka shqetësuar. Në opinionin tim, implementimi i bashkëpunimit me serverin menaxhimin në telefonat Panasonic është jashtëzakonisht i papërshtatshëm. Kjo është një fushë ku telefoni ka disavantazh të dukshëm përballë të tjerëve.
Kur telefoni ndizet për herë të parë (ose pas rifillimit në parametra të fabrikës), ai përpiqet të ngarkojë një skedar produkti të quajtur (në këtë rast KX-UT123RU.cfg), në të cilin duhen të përfshihen rrugët për skedarët e tjerë të konfigurimit.
Skedari i produktit# Panasonic SIP Phone Standard Format File # DO NOT CHANGE THIS LINE!
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"
Pas kësaj, telefoni do të shfaqë një mesazh përfundimi të suksesshëm dhe do të presë që të rinovohet. Pas rinovimit, ai do të fillojë të përpunojë skedaret e caktuara të konfigurimit.
Në skedarin master.cfg, rekomandohet që të specifikohen parametrat e zakonshëm për të gjithë telefonat. Ashtu si me Dlink, do të përmend vetëm disa parametra. Emrat e parametrave të tjerë dhe vlerat e tyre mund të gjenden në dokumentacionin në faqen e prodhuesit.
master.cfg############################################################
# System Settings #
############################################################
## Login Account Settings
ADMIN_ID="admin"
ADMIN_PASS="ADMIN_PWD"
USER_ID="user"
USER_PASS="USER_PWD"
## System Time Settings
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 Settings
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"
## Provisioning Settings
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"
############################################################
# Network Settings #
############################################################
## IP Settings
CONNECTION_TYPE="1"
HOST_NAME="UT123"
DHCP_DNS_ENABLE="Y"
STATIC_IP_ADDRESS=""
STATIC_SUBNET=""
STATIC_GATEWAY=""
USER_DNS1_ADDR=""
USER_DNS2_ADDR=""
## DNS Settings
DNS_QRY_PRLL="Y"
DNS_PRIORITY="N"
DNS1_ADDR="10.1.1.1"
DNS2_ADDR=""
## HTTP Settings
HTTPD_PORTOPEN_AUTO="Y"
HTTP_VER="1"
HTTP_USER_AGENT="Panasonic_{MODEL}/{fwver} ({mac})"
HTTP_SSL_VERIFY="0"
CFG_ROOT_CERTIFICATE_PATH=""
## XML Application Settings
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=""
Në skedarin e konfigurimit të dyerve individuale, traditën e ndjekin vetëm cilësimet e abonentit.
aabbccddeeff.cfgDISPLAY_NAME_1=«Përdorues #168»
PHONE_NUMBER_1=«168»
SIP_URI_1=«168»
LINE_ENABLE_1=«E aktivizuar»
PROFILE_ENABLE_1=«E aktivizuar»
SIP_AUTHID_1=«168»
SIP_PASS_1=«SIP_PWD»
Grandstream GXP-1400
Parametrat e këtyre telefonave ruhet në një skedar xml me emrin cfg{mac}.xml. Ose në një dokument të zakonshëm me emrin cfg{mac}. Ky telefon kërkon vetëm skedarin e konfigurimit individual, kështu që optimizimi i cilësimeve duke i kaluar ato në një skedar të përbashkët nuk është i mundur. Një veçori tjetër e konfigurimit të Grandstream është emërtimi i parametrave. Të gjithë ata janë numerikë dhe shënohen si P###. Për shembull:
P1650 – përgjigjet për ndërfaqen web për menaxhimin e telefonit (0 – HTTPS, 1 – HTTP)
P47 – adresa e serverit SIP për lidhje.
Nëse konfigurimi ruhet në një skedar tekstual, parametrat nuk kërkojnë asnjë grupim dhe shkojnë në çdo rend. Rreshtat që fillojnë me #, konsiderohen si komente.
Në rastin kur cilësimet janë të paraqitura në formatin xml, ato duhet të jenë të futur në nyjën që po ashtu duhet të fusë në . Të gjitha parametrat regjistrohen si etiketa të përkatëshme me vlerën e parametrave brenda.
Shembulli i konfigurimit
1
109
109
109
SIP_PWD
Përdorues# 109
10.1.1.50
2
10.1.1.50
0
ADMIN_PWD
USER_PWD
ru
0
10.1.1.50/grandstream
1
TZc-11
10.1.1.4
1
http://10.1.1.50/provisioning/grandstream
30
Yealink T19 dhe T21
Pajisjet e këtyre modeleve mbështesin skedarë individualë të konfigurimit për pajisjet dhe skedarë të përbashkët për modelet. Në rastin tim, ishte e nevojshme të vendosja parametrat e përbashkët në skedarët y000000000031.cfg dhe y000000000034.cfg përkatësisht. Skedarët e konfigurimit individual emërtohen sipas adresës MAC: 00112233aabb.cfg.
Cilësimet për yealink janë ruajtur në formatin tekstual. Nga kërkesat e detyrueshme vetëm prania e versionit në rreshtin e parë, në formatin #!version:1.0.0.1.
Të gjithë parametrat regjistrohen në formën parametr = vlerë. Komentet duhet të fillojnë me simbolin "#". Emrat e parametrave dhe vlerat e tyre mund të gjenden në dokumentacionin në faqen e prodhuesit.
caktimet e përgjithshme#!version:1.0.0.1
#Configure the WAN port type; 0-DHCP (default), 1-PPPoE, 2-Static IP Address;
network.internet_port.type = 0
#Configure the PC port type; 0-Router, 1-Bridge (default);
network.bridge_mode = 1
#Configure the access type of the web server; 0-Disabled, 1-HTTP & HTTPS(default), 2-HTTP Only, 3-HTTPS Only;
network.web_server_type = 3
#Configure the maximum local RTP port. It ranges from 0 to 65535, the default value is 11800.
network.port.max_rtpport = 10100
#Configure the minimum local RTP port. It ranges from 0 to 65535, the default value is 11780.
network.port.min_rtpport = 10000
security.user_name.admin = root
security.user_password = root:ADMIN_PWD
security.user_name.user = user
security.user_password = user:USER_PWD
#Specify the web language, the valid values are: English, Chinese_S, Turkish, Portuguese, Spanish, Italian, French, Russian, Deutsch and Czech.
lang.wui = Russian
#Specify the LCD language, the valid values are: English (default), Chinese_S, Chinese_T, German, French, Turkish, Italian, Polish, Spanish and Portuguese.
lang.gui = Russian
#Configure the time zone and time zone name. The time zone ranges from -11 to +12, the default value is +8.
#The default time zone name is China(Beijing).
#Refer to Yealink IP Phones User Guide for more available time zones and time zone names.
local_time.time_zone = +11
local_time.time_zone_name = Vladivostok
#Configure the domain name or the IP address of the NTP server. The default value is cn.pool.ntp.org.
local_time.ntp_server1 = 10.1.1.4
#Configure the logo mode of the LCD screen; 0-Disabled (default), 1-System logo, 2-Custom logo;
phone_setting.lcd_logo.mode = 1
#Configure the access URL and dispaly name of the remote phonebook. X ranges from 1 to 5.
remote_phonebook.data.1.url =
remote_phonebook.data.1.name = Libri i Telefonave
features.remote_phonebook.flash_time = 3600
cilësimet individuale#!version:1.0.0.1
#Enable or disable the account1, 0-Disabled (default), 1-Enabled;
account.1.enable = 1
#Configure the label displayed on the LCD screen for account1.
account.1.label = Telefon Test
#Configure the display name of account1.
account.1.display_name = Përdorues 998
#Configure the username and password for register authentication.
account.1.auth_name = 998
account.1.password = 998
#Configure the register user name.
account.1.user_name = 998
#Configure the SIP server address.
account.1.sip_server_host = 10.1.1.50
#Specify the port for the SIP server. The default value is 5060.
account.1.sip_server_port = 5060
Si rezultat, fal funksionit të mrekullueshëm auto-provision, i parashikuar në telefonat që përmenda, lidhja e pajisjeve të reja në rrjet nuk kishte asnjë problem. Çdo gjë përfundoi me identifikimin e adresës MAC të telefonit dhe gjenerimin e skedarit të konfigurimit sipas modelit.
Shpresoj që e keni lexuar deri në fund dhe keni nxjerrë dobi nga ajo që keni lexuar.
Faleminderit për vëmendjen.
Burimi: habr.com
