VoIP зоолошка градина – обезбедување

Влегување

Еден ден, раководството одобри експеримент за воведување на IP телефонија во нашата канцеларија. Бидејќи моето искуство во оваа област беше скудно, задачата предизвика голем интерес кај мене и се втурнав во проучувањето на различни аспекти на прашањето. На крајот од нуркањето, решив да го споделам знаењето што го стекнав со надеж дека некому ќе му биде корисно. Така…

Сурови податоци

Ѕвездичката беше избрана и распоредена како IP PBX. Флотата на телефони се состои од уреди Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 и Dlink DPH-150S(E)/F3, Yealink T19 и T21. Оваа варијација се должи на фактот што како дел од експериментот беше одлучено да се проба малку од се за да се формира мислење за односот цена/квалитет/погодност.

Задача

Поедноставете го и обединете го процесот на поставување нови уреди што е можно повеќе. Сите телефони мора да бидат временски синхронизирани, да имаат именик вчитан од серверот и да обезбедат пристап до поставките за администраторот.

Решението за овој проблем е едноставно - имплементирајте автоматска конфигурација на телефоните, т.н. Обезбедување. Всушност, ќе се дискутира за мојата имплементација на оваа прекрасна функција.

Конфигурирање на tftpd, dhcpd

За да ги дистрибурам поставките на телефоните, го избрав tftp како универзална опција, поддржана од сите платформи, лесна за конфигурирање и управување.

Не беше потребна специфична конфигурација за tftp. Инсталирав стандарден tftpd и ги ставив сите потребни датотеки во неговиот root директориум.
Ги сместив датотеките за поставки во директориуми во согласност со производителот на телефонот. Точно, уредот Cisco никогаш не влезе во неговата папка, па морав да го складирам во неговиот корен.

За да ги насочам телефоните на локацијата на серверот tftp, користев опција-66. Покрај тоа, тој ги подели во посебни класи по производител. Секоја класа доби свој адресен сегмент и индивидуална папка за конфигурациските датотеки. Патем, уредите од D-link мораа да се пресметуваат со MAC адреси, бидејќи тие не даваат информации за производителот во барањето dhcp.

Фрагмент dhcpd.conf

# Наведете ги потребните опции опција опција-66 код 66 = текст; class "panasonic" { match if substring (опција vendor-class-identifier,0,9) = "Panasonic"; опција опција-66 "10.1.1.50/panasonic/"; } class "cisco" { match if substring (опција vendor-class-identifier,0,36) = "Cisco Systems, Inc. IP телефон CP-7906"; опција опција-66 "10.1.1.50/cisco/"; } class "grandstream" { match if substring (опција vendor-class-identifier,0,11) = "Grandstream"; опција опција-66 "10.1.1.50/grandstream/"; } class "dlink" { match if (binary-to-ascii (16,8,":",substring(hardware,1,4)) = "c8:d3:a3:8d") или (binary-to-ascii (16,8,":",substring(хардвер,1,4)) = "90:94:e4:72"); опција опција-66 "10.1.1.50/dlink/"; } class "yealink" { match if substring (опција vendor-class-identifier,0,7) = "Yealink"; опција опција-66 "10.1.1.50/yealink/"; }

Телефоните мораше насилно да се исклучат од општиот базен. Во спротивно, тие не сакаа да одат на нивниот „веслачки базен“.
Пример за поставки за подмрежа

подмрежа 10.1.1.0 мрежна маска 255.255.255.0 { опција рутери 10.1.1.1; базен { негираат членови на "cisco"; негираат членови на "panasonic"; негираат членови на "dlink"; опсег 10.1.1.230 10.1.1.240; } pool { дозволи членови на „cisco“; опсег 10.1.1.65 10.1.1.69; } pool { дозволи членови на „panasonic“; опсег 10.1.1.60 10.1.1.64; } pool { дозволи членови на „dlink“; опсег 10.1.1.55 10.1.1.59; } }

По рестартирање на сите вклучени услуги, телефоните самоуверено отидоа до нивниот доделен tftp сервер за поставки. Останува само да ги сместиме таму.

Cisco 7906

Ги добив овие уреди во нивното оригинално пакување. Морав да го сменам за да се дружам со ѕвездичка. Но, тоа е друга приказна. Во конкретен случај, за да го конфигурирам уредот, според упатствата, ја создадов датотеката SEPAABBCCDDEEFF.cnf.xml во коренот на серверот tftp. Каде што AABBCCDDEEFF е MAC адресата на уредот.

Веќе е напишано повеќе од еднаш за поставување телефони од Cisco, па јас само ќе оставам работна датотека со поставките.
Поставки за 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 а јазолот вгнезден во него верзија. Поставките ќе се применат само ако верзијата на датотеката е повисока од тековните поставки на уредот. Оваа вредност можете да ја дознаете преку веб-интерфејсот на телефонот во делот за одржување (управување со системот). За телефони со фабрички поставки и во двата случаи е 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 телефон поврзан на мрежата веднаш ќе прифати заеднички сет на параметри за сите. За да поставите поединечни параметри за уредот, потребна е посебна датотека. Во него треба само да ги наведете потребните поставки за индивидуален претплатник.
поставки за претплатници

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

Овие уреди добиваат поставки според малку поинаква шема. Конфигурацијата е зачувана во текстуални датотеки. Максималната големина на конфигурациската датотека е 120 KB. Без оглед на бројот на датотеки, нивната вкупна големина не треба да надминува 120 KB.
Конфигурациската датотека се состои од збир на линии, кои подлежат на следниве услови:

  • Првата линија е секогаш линија за коментари, вклучувајќи ја следната низа знаци (44 бајти):
    # Датотека со стандарден формат на телефон SIP на Panasonic #
    Хексадецимално претставување на оваа низа:
    23 20 50 61 6E 61 73 6F 6E 69 63 20 53 49 50 20 50 68 6F 6 65 20 53 74 61E 6 64 61 72 64 20 46 6D 72 6
    За да спречите случајни промени во воспоставената низа знаци, се препорачува да ја стартувате конфигурациската датотека со линијата:
    # Датотека со стандарден формат на телефон SIP на Panasonic # НЕ МЕНУВАЈ ЈА ОВАА ЛИНИЈА!
  • Конфигурациските датотеки мора да завршуваат со празна линија.
  • Секоја линија мора да заврши со низата " “.
  • Максималната должина на низата е 537 бајти, вклучувајќи ја и низата " "
  • Следниве линии се игнорираат:
    • линии што ја надминуваат границата од 537 бајти;
    • празни линии;
    • линии за коментари кои почнуваат со „#“;
  • Низата за секој параметар е напишана во форма XXX=„ггг“ (XXX: име на параметарот, ггг: неговата вредност). Вредноста мора да биде затворена во двојни наводници.
  • Не е дозволено делење линија на параметри на неколку линии. Ова ќе резултира со грешка при обработката на конфигурациската датотека и, како резултат на тоа, неуспех на иницијализацијата.
  • Вредностите на некои параметри мора да се наведат посебно за секоја линија. Параметарот со наставката „_1“ во името е параметарот за линијата 1; "_2" - за линија 2, итн.
  • Максималната должина на името на параметарот е 32 знаци.
  • Максималната должина на вредноста на параметарот е 500 знаци со исклучок на знаците со двојни наводници.
  • Не се дозволени празни места во низата освен ако вредноста не вклучува знак празно место.
  • Некои вредности на параметрите може да се наведат како „празни“ за да го поставите параметарот на празна вредност.
  • Параметрите се специфицирани без посебен редослед.
  • Ако истиот параметар е наведен повеќе од еднаш во конфигурациската датотека, се применува прво наведената вредност.

Таков сериозен сет на барања за конфигурациската датотека, искрено кажано, ме вознемири. Според мое мислење, спроведувањето на интеракција со контролниот сервер на телефоните Panasonic е крајно незгодно. Во овој параметар, телефонот е значително инфериорен во однос на другите.
Кога ќе го вклучите уредот за прв пат (или откако ќе го ресетирате на фабрички поставки), тој се обидува да ја вчита таканаречената датотека на производот (во овој случај тоа е KX-UT123RU.cfg), која треба да ги содржи патеките до преостанатите конфигурациски датотеки.
Датотека со производ# Датотека со стандарден формат на телефон SIP на Panasonic # НЕ МЕНУВАЈ ЈА ОВАА ЛИНИЈА!

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"

По ова, телефонот ќе прикаже порака за успешно завршување на подготовката и ќе почека додека не се рестартира. И по рестартирањето, ќе почне да ги обработува конфигурациските датотеки што му се доделени.

Се препорачува да наведете општи поставки за сите телефони во датотеката master.cfg. Како и со Dlink, ќе наведам само некои параметри. Имињата на преостанатите параметри и нивните вредности може да се најдат во документацијата на веб-страницата на производителот.
господар.cfg############################################### ##########
#System Settings#
############################################### ##########
## Поставки за најава за сметка
ADMIN_ID = "админ"
ADMIN_PASS="ADMIN_PWD"
USER_ID = "корисник"
USER_PASS="USER_PWD"

## Поставки за време на системот
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
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"

## Поставки за обезбедување
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"

############################################### ##########
#мрежни поставки#
############################################### ##########
## Поставки за IP
CONNECTION_TYPE = "1"
HOST_NAME = "UT123"
DHCP_DNS_ENABLE="Y"
STATIC_IP_ADDRESS=""
STATIC_SUBNET=""
STATIC_GATEWAY=""
USER_DNS1_ADDR=""
USER_DNS2_ADDR=""

## Поставки за DNS
DNS_QRY_PRLL="Y"
DNS_PRIORITY="N"
DNS1_ADDR="10.1.1.1"
DNS2_ADDR=""

## Поставки за HTTP
HTTPD_PORTOPEN_AUTO="Y"
HTTP_VER="1"
HTTP_USER_AGENT="Panasonic_{MODEL}/{fwver} ({mac})"
HTTP_SSL_VERIFY="0"
CFG_ROOT_CERTIFICATE_PATH=""

## Поставки за апликација за 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=""

Традиционално, само поставките на претплатникот остануваат во индивидуалната конфигурациска датотека на уредот.
aabbccddeeff.cfgDISPLAY_NAME_1="Корисник #168"

PHONE_NUMBER_1="168"
SIP_URI_1="168"
LINE_ENABLE_1="Овозможено"
PROFILE_ENABLE_1="Овозможено"
SIP_AUTHID_1="168"
SIP_PASS_1="SIP_PWD"

Grandstream GXP-1400

Параметрите на овие телефони се зачувани во една xml датотека со име cfg{mac}.xml. Или во обичен текст со името cfg{mac}. Овој телефон бара само индивидуална конфигурациска датотека, така што оптимизирањето на поставките со нивно преместување во заедничка датотека нема да работи. Друга карактеристика на поставувањето Grandstreams е именувањето на параметрите. Сите тие се нумерирани и означени како P###. На пример:

P1650 – одговорен за веб-интерфејсот за управување со телефонот (0 – HTTPS, 1 – HTTP)
P47 – SIP адреса на серверот за поврзување.

Ако конфигурацијата е зачувана во текстуална датотека, параметрите не бараат никакво групирање и се по кој било редослед. Редовите што почнуваат со # се третираат како коментари.

Ако поставките се претставени во формат xml, тие мора да бидат вгнездени во јазол , кој пак мора да биде вгнезден . Сите параметри се напишани во форма на соодветни ознаки со вредноста на параметарот внатре.
Пример за поставување

1.0 8 1 1 SIP_PWD Корисник # 271 1 271 270 109 ADMIN_PWD USER_PWD ru 270 35/grandstream 109 ТЗц-35 36 109 http://36/provisioning/grandstream триесет

Yealink T19 и T21

Уредите од овие модели поддржуваат индивидуални конфигурациски датотеки за уредите и вообичаените за моделите. Во мојот случај, морав да ги поставам општите параметри во датотеките y000000000031.cfg и y000000000034.cfg, соодветно. Индивидуалните конфигурациски датотеки се именувани според MAC адресата: 00112233aabb.cfg.

Поставките за yealinks се чуваат во текстуален формат. Единствените задолжителни барања се присуството на верзијата на датотеката во првата линија, во формат #!верзија:1.0.0.1.

Сите параметри се запишани во форма параметар = вредност. Коментарите мора да започнуваат со знакот „#“. Имињата на параметрите и нивните вредности може да се најдат во документацијата на веб-страницата на производителот.
Општи поставувања#!верзија:1.0.0.1
#Конфигурирајте го типот на WAN порта; 0-DHCP (стандардно), 1-PPPoE, 2-статичка IP адреса;
network.internet_port.type = 0
#Конфигурирајте го типот на порта за компјутер; 0-Рутер, 1-Мост (стандардно);
мрежа.bridge_mode = 1
#Конфигурирајте го типот на пристап на веб-серверот; 0-Оневозможено, 1-HTTP & HTTPS (стандардно), само 2-HTTP, само 3-HTTPS;
network.web_server_type = 3
#Конфигурирајте ја максималната локална RTP порта. Се движи од 0 до 65535, стандардната вредност е 11800.
network.port.max_rtpport = 10100
#Конфигурирајте ја минималната локална RTP порта. Се движи од 0 до 65535, стандардната вредност е 11780.
network.port.min_rtpport = 10000
security.user_name.admin = root
безбедност.user_password = root:ADMIN_PWD
безбедност.user_name.user = корисник
безбедност.user_password = корисник:USER_PWD
#Наведете го веб-јазикот, важечките вредности се: англиски, кинески_S, турски, португалски, шпански, италијански, француски, руски, германски и чешки.
lang.wui = руски
#Наведете го јазикот на LCD, важечките вредности се: англиски (стандардно), кинески_S, кинески_Т, германски, француски, турски, италијански, полски, шпански и португалски.
lang.gui = руски
#Конфигурирајте ја временската зона и името на временската зона. Временската зона се движи од -11 до +12, стандардната вредност е +8.
#Стандардното име на временската зона е Кина (Пекинг).
#Погледнете во Упатството за користење на Yealink IP Phones за повеќе достапни временски зони и имиња на временски зони.
local_time.time_zone = +11
local_time.time_zone_name = Владивосток
#Конфигурирајте го името на доменот или IP адресата на серверот NTP. Стандардната вредност е cn.pool.ntp.org.
local_time.ntp_server1 = 10.1.1.4
#Конфигурирајте го режимот на лого на LCD екранот; 0-Оневозможено (стандардно), 1-Системско лого, 2-Прилагодено лого;
phone_setting.lcd_logo.mode = 1
#Конфигурирајте ја пристапната URL-адреса и распоредете го името на далечинскиот именик. X се движи од 1 до 5.
remote_phonebook.data.1.url = 10.1.1.50/provisioning/yealink-phonebook.xml
remote_phonebook.data.1.name = Именик
features.remote_phonebook.flash_time = 3600

индивидуални поставки#!верзија:1.0.0.1
#Овозможи или оневозможи сметка1, 0-Оневозможено (стандардно), 1-Овозможено;
сметка.1.овозможи = 1
#Конфигурирајте ја етикетата прикажана на LCD екранот за сметка1.
сметка.1.етикета = Телефон за тестирање
#Конфигурирајте го приказното име на сметката1.
account.1.display_name = Корисник 998
#Конфигурирајте ги корисничкото име и лозинката за автентикација на регистарот.
сметка.1.авто_име = 998
сметка.1.лозинка = 998
#Конфигурирајте го корисничкото име на регистарот.
сметка.1.корисничко име = 998
#Конфигурирајте ја адресата на SIP серверот.
сметка.1.sip_server_host = 10.1.1.50
#Наведете ја портата за SIP серверот. Стандардната вредност е 5060.
сметка.1.sip_server_port = 5060

Како резултат на тоа, благодарение на прекрасната функција за автоматско обезбедување обезбедена во телефоните што ги споменав, немаше проблеми со поврзувањето на новите уреди на мрежата. Сè се сведе на откривање на MAC адресата на телефонот и генерирање на конфигурациска датотека со помош на шаблон.

Се надевам дека прочитавте до крај и добивте корист од тоа што го прочитавте.

Ви благодариме за вашето внимание.

Извор: www.habr.com

Додадете коментар