VoIP Zoo – Paglalaan

Pagpasok

Isang araw, inaprubahan ng management ang isang eksperimento para ipakilala ang IP telephony sa aming opisina. Dahil kakaunti ang aking karanasan sa larangang ito, ang gawain ay pumukaw ng malaking interes sa akin at ako ay bumulusok sa pag-aaral ng iba't ibang aspeto ng isyu. Sa pagtatapos ng pagsisid, nagpasya akong ibahagi ang kaalaman na nakuha ko sa pag-asang ito ay magiging kapaki-pakinabang sa isang tao. Kaya…

Raw data

Ang Asterisk ay pinili at na-deploy bilang isang IP PBX. Ang fleet ng telepono ay binubuo ng Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 at Dlink DPH-150S(E)/F3, Yealink T19 at T21 na mga device. Ang pagkakaiba-iba na ito ay dahil sa katotohanan na bilang bahagi ng eksperimento, napagpasyahan na subukan ang kaunti sa lahat upang makabuo ng opinyon sa ratio ng presyo/kalidad/kaginhawaan.

Gawain

Pasimplehin at pag-isahin ang proseso ng pag-set up ng mga bagong device hangga't maaari. Ang lahat ng mga telepono ay dapat na naka-synchronize sa oras, may naka-load na phone book mula sa server at magbigay ng access sa mga setting para sa administrator.

Ang solusyon sa problemang ito ay simple - ipatupad ang awtomatikong pagsasaayos ng mga telepono, ang tinatawag na. Paglalaan. Sa totoo lang, tatalakayin ang aking pagpapatupad ng napakagandang function na ito.

Pag-configure ng tftpd,dhcpd

Upang ipamahagi ang mga setting sa mga telepono, pinili ko ang tftp bilang isang pangkalahatang opsyon, suportado ng lahat ng mga platform, madaling i-configure at pamahalaan.

Walang kinakailangang tiyak na configuration para sa tftp. Nag-install ako ng karaniwang tftpd at inilagay ang lahat ng kinakailangang file sa root directory nito.
Inilagay ko ang mga file ng mga setting sa mga direktoryo alinsunod sa tagagawa ng telepono. Totoo, ang Cisco device ay hindi kailanman napunta sa folder nito, kaya kailangan kong iimbak ito sa ugat nito.

Upang ituro ang mga telepono sa lokasyon ng tftp server, ginamit ko ang opsyon-66. Bilang karagdagan, hinati niya ang mga ito sa magkakahiwalay na klase ayon sa tagagawa. Nakatanggap ang bawat klase ng sarili nitong segment ng address at isang indibidwal na folder para sa mga configuration file. Sa pamamagitan ng paraan, ang mga aparato mula sa D-link ay kailangang kalkulahin ng mga MAC address, dahil hindi sila nagbibigay ng impormasyon tungkol sa tagagawa sa kahilingan ng dhcp.

Fragment dhcpd.conf

# Tukuyin ang mga kinakailangang opsyon opsyon na opsyon-66 code 66 = text; class "panasonic" { match if substring (option vendor-class-identifier,0,9) = "Panasonic"; opsyon na opsyon-66 "10.1.1.50/panasonic/"; } class "cisco" { match if substring (option vendor-class-identifier,0,36) = "Cisco Systems, Inc. IP Phone CP-7906"; opsyon na opsyon-66 "10.1.1.50/cisco/"; } class "grandstream" { match if substring (option vendor-class-identifier,0,11) = "Grandstream"; opsyon na opsyon-66 "10.1.1.50/grandstream/"; } class "dlink" { match if (binary-to-ascii (16,8,":",substring(hardware,1,4)) = "c8:d3:a3:8d") o (binary-to-ascii (16,8,":",substring(hardware,1,4)) = "90:94:e4:72"); opsyon na opsyon-66 "10.1.1.50/dlink/"; } class "yealink" { match if substring (option vendor-class-identifier,0,7) = "Yealink"; opsyon na opsyon-66 "10.1.1.50/yealink/"; }

Kinailangang puwersahang ibukod ang mga telepono sa pangkalahatang pool. Kung hindi, ayaw nilang pumunta sa kanilang “paddling pool”.
Halimbawa ng mga setting ng subnet

subnet 10.1.1.0 netmask 255.255.255.0 { option routers 10.1.1.1; pool { tanggihan ang mga miyembro ng "cisco"; tanggihan ang mga miyembro ng "panasonic"; tanggihan ang mga miyembro ng "dlink"; saklaw 10.1.1.230 10.1.1.240; } pool { payagan ang mga miyembro ng "cisco"; saklaw 10.1.1.65 10.1.1.69; } pool { payagan ang mga miyembro ng "panasonic"; saklaw 10.1.1.60 10.1.1.64; } pool { payagan ang mga miyembro ng "dlink"; saklaw 10.1.1.55 10.1.1.59; } }

Pagkatapos i-restart ang lahat ng mga serbisyong kasangkot, ang mga telepono ay kumpiyansa na pumunta sa kanilang nakatalagang tftp server para sa mga setting. Ang natitira na lang ay ilagay sila doon.

cisco 7906

Natanggap ko ang mga device na ito sa kanilang orihinal na packaging. Kinailangan kong baguhin ito para makipagkaibigan sa asterisk. Pero ibang kwento yan. Sa isang partikular na kaso, upang i-configure ang device, ayon sa mga tagubilin, nilikha ko ang file na SEPAABBCCDDEEFF.cnf.xml sa root ng tftp server. Kung saan ang AABBCCDDEEFF ay ang MAC address ng device.

Naisulat na ito nang higit sa isang beses tungkol sa pag-set up ng mga telepono mula sa Cisco, kaya mag-iiwan na lang ako ng gumaganang file kasama ang mga setting.
Mga setting para sa 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

Kung bibili ka pa lang ng telepono sa seryeng ito, mag-ingat, sinusuportahan lang ang auto-tuning sa mga 150S/F3 na device. Sa 150S/F2 device na dumating sa aking mga kamay, wala akong nakitang ganoong functionality.

Ang configuration file ay maaaring nasa xml o plain text na format. Mayroong isang kinakailangan para sa xml: ang tag ay dapat na nasa simula ng linya, kung hindi, babalewalain ito ng parser at hindi magbabago ang halaga ng kaukulang parameter.

Dalawang file ang ginagamit para i-configure ang telepono. f0D00580000.cfg - para sa pag-iimbak ng mga setting para sa lahat ng telepono at 00112233aabb.cfg (MAC address sa lower case) para sa mga indibidwal na setting. Ang mga indibidwal na setting ay natural na may mas mataas na priyoridad.

Ang buong hanay ng mga setting ay naglalaman ng higit sa isang libong linya, upang hindi makalat ang artikulo, ilalarawan ko ang pinakamababang sapat na hanay ng mga setting.

Kinakailangan ang root node VOIP_CONFIG_FILE at ang node ay nakapugad sa loob nito bersyon. Ang mga setting ay ilalapat lamang kung ang bersyon ng file ay mas mataas kaysa sa kasalukuyang mga setting sa device. Malalaman mo ang halagang ito sa pamamagitan ng web interface ng telepono sa seksyon ng pagpapanatili (pamamahala ng system). Para sa mga teleponong may mga factory setting, sa parehong mga kaso ito ay 2.0002. Bilang karagdagan, ang indibidwal na bersyon ng file ay dapat na mas malaki kaysa sa nakabahaging bersyon ng file.

Magbibigay muna ako ng file na may karaniwang configuration para sa lahat ng mga telepono. Sa katunayan, iniimbak nito ang lahat ng mga setting; ang indibidwal na file ay magiging responsable lamang para sa numero ng telepono at ang inskripsyon sa screen.

Sa dalawang bloke sa ibaba, nakatakda ang time zone at mga parameter ng pag-synchronize ng oras, ang paunang port para sa RTP at ang network bridge sa pagitan ng WAN at LAN connectors ng device ay pinagana.

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

Ang mga aktwal na pangalan ng mga parameter ng pagsasaayos ay sapat na naglalarawan upang maiwasan ang paglalarawan sa kanila nang detalyado.
SIP para sa isang linya

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

Mga Setting ng Remote Control

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

Mga setting ng telepono

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

Ang lahat ng iba pang mga setting ay mananatiling "default". Ngayon ang anumang Dlink na telepono na konektado sa network ay agad na tatanggap ng isang karaniwang hanay ng mga parameter para sa lahat. Upang magtakda ng mga indibidwal na parameter para sa device, kailangan ng hiwalay na file. Dito kailangan mo lamang tukuyin ang mga kinakailangang setting para sa isang indibidwal na subscriber.
mga setting ng subscriber

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

Ang mga device na ito ay tumatanggap ng mga setting ayon sa isang bahagyang naiibang scheme. Ang configuration ay naka-imbak sa mga text file. Ang maximum na laki ng configuration file ay 120 KB. Anuman ang bilang ng mga file, ang kabuuang sukat ng mga ito ay hindi dapat lumampas sa 120 KB.
Ang configuration file ay binubuo ng isang hanay ng mga linya, na napapailalim sa mga sumusunod na kundisyon:

  • Ang unang linya ay palaging isang linya ng komento, kasama ang sumusunod na pagkakasunud-sunod ng mga character (44 bytes):
    # Panasonic SIP Phone Standard Format File #
    Hexadecimal na representasyon ng sequence na ito:
    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 C 61 74 20
    Upang maiwasan ang mga hindi sinasadyang pagbabago sa itinatag na pagkakasunud-sunod ng mga character, inirerekumenda na simulan ang configuration file gamit ang linya:
    # Panasonic SIP Phone Standard Format File # HUWAG PALITAN ANG LINYA NA ITO!
  • Ang mga configuration file ay dapat magtapos sa isang walang laman na linya.
  • Ang bawat linya ay dapat magtapos sa pagkakasunud-sunod " ".
  • Ang maximum na haba ng string ay 537 bytes, kasama ang sequence " "
  • Binabalewala ang mga sumusunod na linya:
    • mga linyang lumalampas sa 537 byte na limitasyon;
    • walang laman na mga linya;
    • mga linya ng komento na nagsisimula sa "#";
  • Ang string para sa bawat parameter ay nakasulat sa form na XXX=“yyy” (XXX: pangalan ng parameter, yyy: halaga nito). Ang halaga ay dapat na nakapaloob sa dobleng panipi.
  • Hindi pinapayagan ang paghahati ng linya ng parameter sa ilang linya. Magreresulta ito sa isang error sa pagproseso ng configuration file at, bilang resulta, pagkabigo sa pagsisimula.
  • Ang mga halaga ng ilang mga parameter ay dapat na tinukoy nang hiwalay para sa bawat linya. Ang parameter na may suffix na "_1" sa pangalan ay ang parameter para sa linya 1; "_2"—para sa linya 2, atbp.
  • Ang maximum na haba ng pangalan ng parameter ay 32 character.
  • Ang maximum na haba ng value ng parameter ay 500 character hindi kasama ang mga double quote character.
  • Walang puwang ang pinapayagan sa string maliban kung ang value ay may kasamang space character.
  • Ang ilang mga halaga ng parameter ay maaaring tukuyin bilang "blangko" upang itakda ang parameter sa isang walang laman na halaga.
  • Ang mga parameter ay tinukoy sa walang partikular na pagkakasunud-sunod.
  • Kung ang parehong parameter ay tinukoy nang higit sa isang beses sa isang configuration file, ang halagang unang tinukoy ay ilalapat.

Ang ganitong seryosong hanay ng mga kinakailangan para sa file ng pagsasaayos, tapat na pagsasalita, ay nagpagalit sa akin. Sa palagay ko, ang pagpapatupad ng pakikipag-ugnayan sa control server sa mga teleponong Panasonic ay lubhang hindi maginhawa. Sa parameter na ito, ang telepono ay makabuluhang mas mababa kaysa sa iba.
Kapag binuksan mo ang device sa unang pagkakataon (o pagkatapos i-reset ito sa mga factory setting), sinusubukan nitong i-load ang tinatawag na file ng produkto (sa kasong ito ito ay KX-UT123RU.cfg), na dapat maglaman ng mga landas patungo sa natitirang mga configuration file.
File ng Produkto# Panasonic SIP Phone Standard Format File # HUWAG PALITAN ANG LINYA NA ITO!

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"

Pagkatapos nito, magpapakita ang telepono ng mensahe tungkol sa matagumpay na pagkumpleto ng paghahanda at maghihintay hanggang sa ito ay i-reboot. At pagkatapos ng pag-reboot, magsisimula itong iproseso ang mga file ng pagsasaayos na nakatalaga dito.

Inirerekomenda na tukuyin ang mga pangkalahatang setting para sa lahat ng mga telepono sa master.cfg file. Tulad ng sa Dlink, tutukoy lang ako ng ilang parameter. Ang mga pangalan ng natitirang mga parameter at ang kanilang mga halaga ay matatagpuan sa dokumentasyon sa website ng gumawa.
master.cfg###################################################### ##########
#SystemSettings#
###################################################### ##########
## Mga Setting ng Login Account
ADMIN_ID="admin"
ADMIN_PASS="ADMIN_PWD"
USER_ID="user"
USER_PASS="USER_PWD"

## Mga Setting ng Oras ng System
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=""

## Mga Setting ng 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"

## Mga Setting ng Provisioning
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"

###################################################### ##########
#NetworkSettings#
###################################################### ##########
## Mga Setting ng IP
CONNECTION_TYPE="1"
HOST_NAME="UT123"
DHCP_DNS_ENABLE="Y"
STATIC_IP_ADDRESS=""
STATIC_SUBNET=""
STATIC_GATEWAY=""
USER_DNS1_ADDR=""
USER_DNS2_ADDR=""

## Mga Setting ng DNS
DNS_QRY_PRLL="Y"
DNS_PRIORITY="N"
DNS1_ADDR="10.1.1.1"
DNS2_ADDR=""

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

## Mga Setting ng XML Application
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=""

Ayon sa kaugalian, tanging ang mga setting ng subscriber ang nananatili sa indibidwal na file ng configuration ng device.
aabbbccddeeff.cfgDISPLAY_NAME_1="User #168"

PHONE_NUMBER_1="168"
SIP_URI_1="168"
LINE_ENABLE_1="Pinagana"
PROFILE_ENABLE_1="Pinagana"
SIP_AUTHID_1="168"
SIP_PASS_1="SIP_PWD"

Grandstream GXP-1400

Ang mga parameter ng mga teleponong ito ay nakaimbak sa isang xml file na pinangalanang cfg{mac}.xml. O sa plain text na may pangalang cfg{mac}. Ang teleponong ito ay humihiling lamang ng isang indibidwal na configuration file, kaya ang pag-optimize ng mga setting sa pamamagitan ng paglipat ng mga ito sa isang karaniwang file ay hindi gagana. Ang isa pang tampok ng pag-set up ng Grandstreams ay ang pagbibigay ng pangalan sa mga parameter. Lahat sila ay binilang at itinalaga bilang P###. Halimbawa:

P1650 – responsable para sa web interface para sa pamamahala ng telepono (0 – HTTPS, 1 – HTTP)
P47 – SIP server address para sa koneksyon.

Kung ang configuration ay nakaimbak sa isang text file, ang mga parameter ay hindi nangangailangan ng anumang pagpapangkat at nasa anumang pagkakasunud-sunod. Ang mga linyang nagsisimula sa # ay itinuturing bilang mga komento.

Kung ang mga setting ay ipinakita sa xml na format, dapat na naka-nest ang mga ito sa isang node , na dapat naman ay naka-nest . Ang lahat ng mga parameter ay nakasulat sa anyo ng mga kaukulang tag na may halaga ng parameter sa loob.
Pagtatakda ng halimbawa

1.0 8 1 1 SIP_PWD User # 271 1 271 270 109 ADMIN_PWD USER_PWD ru 270 35/grandstream 109 TZc-35 36 109 http://36/provisioning/grandstream tatlumpu

Yealink T19 at T21

Sinusuportahan ng mga device ng mga modelong ito ang mga indibidwal na configuration file para sa mga device at mga karaniwang para sa mga modelo. Sa aking kaso, kailangan kong ilagay ang mga pangkalahatang parameter sa mga file na y000000000031.cfg at y000000000034.cfg, ayon sa pagkakabanggit. Ang mga indibidwal na configuration file ay pinangalanan ayon sa MAC address: 00112233aabb.cfg.

Ang mga setting para sa mga yealink ay naka-imbak sa format ng teksto. Ang tanging mandatoryong kinakailangan ay ang pagkakaroon ng bersyon ng file sa unang linya, sa format na #!version:1.0.0.1.

Ang lahat ng mga parameter ay nakasulat sa form na parameter = halaga. Ang mga komento ay dapat magsimula sa isang "#" na character. Ang mga pangalan ng mga parameter at ang kanilang mga halaga ay matatagpuan sa dokumentasyon sa website ng gumawa.
Pangkalahatang mga Setting#!bersyon:1.0.0.1
#I-configure ang uri ng port ng WAN; 0-DHCP (default), 1-PPPoE, 2-Static IP Address;
network.internet_port.type = 0
#I-configure ang uri ng PC port; 0-Router, 1-Bridge (default);
network.bridge_mode = 1
#I-configure ang uri ng pag-access ng web server; 0-Disabled, 1-HTTP & HTTPS(default), 2-HTTP Only, 3-HTTPS Only;
network.web_server_type = 3
#I-configure ang maximum na lokal na RTP port. Ito ay mula 0 hanggang 65535, ang default na halaga ay 11800.
network.port.max_rtpport = 10100
#I-configure ang minimum na lokal na RTP port. Ito ay mula 0 hanggang 65535, ang default na halaga ay 11780.
network.port.min_rtpport = 10000
security.user_name.admin = ugat
security.user_password = ugat:ADMIN_PWD
security.user_name.user = user
security.user_password = user:USER_PWD
#Tukuyin ang wika sa web, ang mga wastong halaga ay: English, Chinese_S, Turkish, Portuguese, Spanish, Italian, French, Russian, Deutsch at Czech.
lang.wui = Russian
#Tukuyin ang wikang LCD, ang mga wastong halaga ay: English (default), Chinese_S, Chinese_T, German, French, Turkish, Italian, Polish, Spanish at Portuguese.
lang.gui = Ruso
#I-configure ang time zone at pangalan ng time zone. Ang time zone ay mula -11 hanggang +12, ang default na halaga ay +8.
#Ang default na pangalan ng time zone ay China(Beijing).
#Sumangguni sa Gabay sa Gumagamit ng Yealink IP Phones para sa higit pang magagamit na mga time zone at pangalan ng time zone.
local_time.time_zone = +11
local_time.time_zone_name = Vladivostok
#I-configure ang domain name o ang IP address ng NTP server. Ang default na halaga ay cn.pool.ntp.org.
local_time.ntp_server1 = 10.1.1.4
#I-configure ang logo mode ng LCD screen; 0-Disabled (default), 1-System logo, 2-Custom na logo;
phone_setting.lcd_logo.mode = 1
#I-configure ang access URL at dispaly name ng remote phonebook. Ang X ay mula 1 hanggang 5.
remote_phonebook.data.1.url = 10.1.1.50/provisioning/yealink-phonebook.xml
remote_phonebook.data.1.name = Phonebook
features.remote_phonebook.flash_time = 3600

mga indibidwal na setting#!bersyon:1.0.0.1
#Paganahin o huwag paganahin ang account1, 0-Disabled (default), 1-Enabled;
account.1.enable = 1
#I-configure ang label na ipinapakita sa LCD screen para sa account1.
account.1.label = Subukan ang telepono
#I-configure ang display name ng account1.
account.1.display_name = User 998
#I-configure ang username at password para sa pagpapatunay ng pagpaparehistro.
account.1.auth_name = 998
account.1.password = 998
#I-configure ang register user name.
account.1.user_name = 998
#I-configure ang address ng SIP server.
account.1.sip_server_host = 10.1.1.50
#Tukuyin ang port para sa SIP server. Ang default na halaga ay 5060.
account.1.sip_server_port = 5060

Bilang resulta, salamat sa kahanga-hangang auto-provision function na ibinigay sa mga teleponong nabanggit ko, walang mga problema sa pagkonekta ng mga bagong device sa network. Ang lahat ay dumating sa paghahanap ng MAC address ng telepono at pagbuo ng isang configuration file gamit ang isang template.

Sana basahin niyo hanggang dulo at nakinabang kayo sa nabasa niyo.

Salamat sa iyo para sa iyong pansin.

Pinagmulan: www.habr.com

Magdagdag ng komento