สวนสัตว์ VoIP – การจัดเตรียม

การเข้า

วันหนึ่ง ฝ่ายบริหารได้อนุมัติการทดลองเพื่อแนะนำระบบโทรศัพท์ IP ในสำนักงานของเรา เนื่องจากประสบการณ์ของฉันในสาขานี้ยังมีน้อย งานนี้จึงทำให้ฉันสนใจอย่างมาก และฉันก็รีบศึกษาแง่มุมต่างๆ ของปัญหานี้ เมื่อสิ้นสุดการดำน้ำ ฉันตัดสินใจแบ่งปันความรู้ที่ได้รับโดยหวังว่าจะเป็นประโยชน์กับใครบางคน ดังนั้น…

ข้อมูลดิบ

เครื่องหมายดอกจันถูกเลือกและใช้งานเป็น IP PBX กลุ่มโทรศัพท์ประกอบด้วยอุปกรณ์ Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 และ Dlink DPH-150S(E)/F3, Yealink T19 และ T21 รูปแบบนี้เกิดจากการที่เป็นส่วนหนึ่งของการทดสอบ มีการตัดสินใจที่จะลองทุกอย่างเพียงเล็กน้อยเพื่อสร้างความคิดเห็นเกี่ยวกับอัตราส่วนราคา/คุณภาพ/ความสะดวกสบาย

งาน

ลดความซับซ้อนและรวมกระบวนการตั้งค่าอุปกรณ์ใหม่ให้มากที่สุด โทรศัพท์ทุกเครื่องต้องซิงโครไนซ์เวลา มีสมุดโทรศัพท์โหลดจากเซิร์ฟเวอร์ และให้สิทธิ์การเข้าถึงการตั้งค่าสำหรับผู้ดูแลระบบ

วิธีแก้ปัญหานี้ง่ายมาก - ใช้การกำหนดค่าอัตโนมัติของโทรศัพท์ที่เรียกว่า การจัดเตรียม จริงๆ แล้ว การนำฟังก์ชันที่ยอดเยี่ยมนี้ไปใช้ของฉันจะมีการหารือกัน

การกำหนดค่า tftpd,dhcpd

เพื่อกระจายการตั้งค่าไปยังโทรศัพท์ ฉันเลือก tftp เป็นตัวเลือกสากล รองรับทุกแพลตฟอร์ม กำหนดค่าและจัดการได้ง่าย

ไม่จำเป็นต้องมีการกำหนดค่าเฉพาะสำหรับ tftp ฉันติดตั้ง tftpd มาตรฐานและวางไฟล์ที่จำเป็นทั้งหมดไว้ในไดเร็กทอรีราก
ฉันวางไฟล์การตั้งค่าไว้ในไดเรกทอรีตามผู้ผลิตโทรศัพท์ จริงอยู่ที่อุปกรณ์ Cisco ไม่เคยเข้าไปในโฟลเดอร์ของมันเลย ดังนั้นฉันจึงต้องจัดเก็บไว้ในรูทของมัน

เพื่อชี้โทรศัพท์ไปยังตำแหน่งของเซิร์ฟเวอร์ tftp ฉันใช้ตัวเลือก -66 นอกจากนี้เขายังแบ่งพวกมันออกเป็นคลาสแยกตามผู้ผลิต แต่ละคลาสได้รับส่วนที่อยู่ของตนเองและแต่ละโฟลเดอร์สำหรับไฟล์การกำหนดค่า อย่างไรก็ตาม อุปกรณ์จาก D-link จะต้องคำนวณตามที่อยู่ MAC เนื่องจากไม่ได้ให้ข้อมูลเกี่ยวกับผู้ผลิตในคำขอ dhcp

ส่วนย่อย dhcpd.conf

# ระบุตัวเลือกที่ต้องการ ตัวเลือก option-66 รหัส 66 = ข้อความ; คลาส "panasonic" { จับคู่ถ้าสตริงย่อย (ตัวเลือกผู้ขายคลาส-identifier,0,9) = "Panasonic"; ตัวเลือกตัวเลือก-66 "10.1.1.50/panasonic/"; } คลาส "cisco" { จับคู่ถ้าสตริงย่อย (ตัวเลือก vendor-class-identifier,0,36) = "Cisco Systems, Inc. โทรศัพท์ IP CP-7906"; ตัวเลือก option-66 "10.1.1.50/cisco/"; } คลาส "grandstream" { จับคู่ถ้าสตริงย่อย (ตัวเลือก vendor-class-identifier,0,11) = "Grandstream"; ตัวเลือก option-66 "10.1.1.50/grandstream/"; } คลาส "dlink" { จับคู่ 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"); ตัวเลือก option-66 "10.1.1.50/dlink/"; } คลาส "yealink" { จับคู่ถ้าสตริงย่อย (ตัวเลือก vendor-class-identifier,0,7) = "Yealink"; ตัวเลือก option-66 "10.1.1.50/yealink/"; }

โทรศัพท์ต้องถูกบังคับให้แยกออกจากกลุ่มทั่วไป ไม่เช่นนั้นพวกเขาก็ไม่อยากไปที่ "สระพาย" ของพวกเขา
ตัวอย่างการตั้งค่าซับเน็ต

เครือข่ายย่อย 10.1.1.0 netmask 255.255.255.0 { เราเตอร์ตัวเลือก 10.1.1.1; พูล { ปฏิเสธสมาชิกของ "ซิสโก้"; ปฏิเสธสมาชิกของ "panasonic"; ปฏิเสธสมาชิกของ "dlink"; ช่วง 10.1.1.230 10.1.1.240; } สระว่ายน้ำ { อนุญาตให้สมาชิกของ "ซิสโก้"; ระยะ 10.1.1.65 10.1.1.69; } สระว่ายน้ำ { อนุญาตให้สมาชิกของ "พานาโซนิค"; ระยะ 10.1.1.60 10.1.1.64; } สระว่ายน้ำ { อนุญาตให้สมาชิกของ "dlink"; ระยะ 10.1.1.55 10.1.1.59; } }

หลังจากรีสตาร์ทบริการที่เกี่ยวข้องทั้งหมดแล้ว โทรศัพท์จะไปที่เซิร์ฟเวอร์ tftp ที่ได้รับมอบหมายเพื่อทำการตั้งค่าอย่างมั่นใจ สิ่งที่เหลืออยู่ก็คือการวางไว้ตรงนั้น

ซิสโก้ 7906

ฉันได้รับอุปกรณ์เหล่านี้ในบรรจุภัณฑ์เดิม ฉันต้องเปลี่ยนมันเพื่อให้เป็นเพื่อนกับเครื่องหมายดอกจัน แต่นั่นเป็นอีกเรื่องหนึ่ง ในบางกรณี ในการกำหนดค่าอุปกรณ์ตามคำแนะนำ ฉันได้สร้างไฟล์ SEPAABBCCDDEEFF.cnf.xml ในรูทของเซิร์ฟเวอร์ tftp โดยที่ AABBCCDDEEFF คือที่อยู่ MAC ของอุปกรณ์

มีการเขียนเกี่ยวกับการตั้งค่าโทรศัพท์จาก 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>

ดีลิงค์ DPH-150S/F3

หากคุณกำลังจะซื้อโทรศัพท์ในซีรีส์นี้ โปรดระวัง การปรับอัตโนมัติรองรับเฉพาะในอุปกรณ์ 150S/F3 เท่านั้น บนอุปกรณ์ 150S/F2 ที่ฉันเจอ ฉันไม่พบฟังก์ชันดังกล่าว

ไฟล์การกำหนดค่าสามารถอยู่ในรูปแบบ xml หรือข้อความธรรมดา มีข้อกำหนดหนึ่งประการสำหรับ xml: แท็กต้องอยู่ที่จุดเริ่มต้นของบรรทัด มิฉะนั้น parser จะเพิกเฉยต่อมัน และค่าของพารามิเตอร์ที่เกี่ยวข้องจะไม่เปลี่ยนแปลง

มีการใช้ไฟล์สองไฟล์เพื่อกำหนดค่าโทรศัพท์ 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>

พานาโซนิค UT-KX123B

อุปกรณ์เหล่านี้ได้รับการตั้งค่าตามรูปแบบที่แตกต่างกันเล็กน้อย การกำหนดค่าจะถูกเก็บไว้ในไฟล์ข้อความ ขนาดไฟล์การกำหนดค่าสูงสุดคือ 120 KB ขนาดรวมของไฟล์ไม่ควรเกิน 120 KB ไม่ว่าไฟล์จะมีจำนวนเท่าใด
ไฟล์การกำหนดค่าประกอบด้วยชุดบรรทัดซึ่งอยู่ภายใต้เงื่อนไขต่อไปนี้:

  • บรรทัดแรกจะเป็นบรรทัดแสดงความคิดเห็นเสมอ รวมถึงลำดับอักขระต่อไปนี้ (44 ไบต์):
    # ไฟล์รูปแบบมาตรฐานโทรศัพท์ Panasonic SIP #
    การแสดงเลขฐานสิบหกของลำดับนี้:
    23 20 50 61 6E 61 73 6F 6E 69 63 20 53 49 50 20 50 68 6F 6E 65 20 53 74 61 6E 64 61 72 64 20 46 6F 72 6D 61 74 20 46 69 6 ค 65 20 23
    เพื่อป้องกันการเปลี่ยนแปลงลำดับอักขระที่กำหนดไว้โดยไม่ตั้งใจ ขอแนะนำให้เริ่มไฟล์การกำหนดค่าด้วยบรรทัด:
    # ไฟล์รูปแบบมาตรฐานของโทรศัพท์ Panasonic SIP # อย่าเปลี่ยนบรรทัดนี้!
  • ไฟล์การกำหนดค่าต้องลงท้ายด้วยบรรทัดว่าง
  • แต่ละบรรทัดจะต้องลงท้ายด้วยลำดับ " ".
  • ความยาวสตริงสูงสุดคือ 537 ไบต์ รวมถึงลำดับ " "
  • บรรทัดต่อไปนี้จะถูกละเว้น:
    • บรรทัดเกินขีดจำกัด 537 ไบต์
    • เส้นว่าง;
    • บรรทัดความคิดเห็นที่ขึ้นต้นด้วย "#";
  • สตริงสำหรับแต่ละพารามิเตอร์เขียนในรูปแบบ XXX=“yyy” (XXX: ชื่อพารามิเตอร์, yyy: ค่าของมัน) ค่าจะต้องอยู่ในเครื่องหมายคำพูดคู่
  • ไม่อนุญาตให้แยกบรรทัดพารามิเตอร์ออกเป็นหลายบรรทัด ซึ่งจะส่งผลให้เกิดข้อผิดพลาดในการประมวลผลไฟล์การกำหนดค่า และเป็นผลให้การเริ่มต้นล้มเหลว
  • ต้องระบุค่าของพารามิเตอร์บางตัวแยกกันสำหรับแต่ละบรรทัด พารามิเตอร์ที่มีส่วนต่อท้าย "_1" ในชื่อคือพารามิเตอร์สำหรับบรรทัดที่ 1 "_2"—สำหรับบรรทัดที่ 2 ฯลฯ
  • ความยาวสูงสุดของชื่อพารามิเตอร์คือ 32 อักขระ
  • ความยาวสูงสุดของค่าพารามิเตอร์คือ 500 อักขระ ไม่รวมอักขระเครื่องหมายคำพูดคู่
  • ไม่อนุญาตให้มีช่องว่างในสตริง เว้นแต่ว่าค่าจะมีอักขระเว้นวรรค
  • ค่าพารามิเตอร์บางค่าสามารถระบุเป็น “ว่าง” เพื่อตั้งค่าพารามิเตอร์ให้เป็นค่าว่างได้
  • พารามิเตอร์ไม่ได้ระบุตามลำดับโดยเฉพาะ
  • หากมีการระบุพารามิเตอร์เดียวกันมากกว่าหนึ่งครั้งในไฟล์การกำหนดค่า ระบบจะใช้ค่าที่ระบุเป็นอันดับแรก

ข้อกำหนดที่ร้ายแรงเช่นนี้สำหรับไฟล์การกำหนดค่าพูดตามตรงทำให้ฉันไม่พอใจ ในความคิดของฉัน การใช้งานการโต้ตอบกับเซิร์ฟเวอร์ควบคุมบนโทรศัพท์ Panasonic นั้นไม่สะดวกอย่างยิ่ง ในพารามิเตอร์นี้โทรศัพท์จะด้อยกว่าผู้อื่นอย่างมาก
เมื่อคุณเปิดอุปกรณ์เป็นครั้งแรก (หรือหลังจากรีเซ็ตเป็นการตั้งค่าจากโรงงาน) อุปกรณ์จะพยายามโหลดไฟล์ผลิตภัณฑ์ที่เรียกว่า (ในกรณีนี้คือ KX-UT123RU.cfg) ซึ่งควรมีเส้นทางไปยัง ไฟล์การกำหนดค่าที่เหลือ
ไฟล์สินค้า# ไฟล์รูปแบบมาตรฐานของโทรศัพท์ Panasonic SIP # อย่าเปลี่ยนบรรทัดนี้!

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 ฉันจะระบุเพียงพารามิเตอร์บางตัวเท่านั้น ชื่อของพารามิเตอร์ที่เหลือและค่าสามารถดูได้จากเอกสารประกอบบนเว็บไซต์ของผู้ผลิต
master.cfg#################################################### ##########
#การตั้งค่าระบบ#
#################################################### ##########
## การตั้งค่าบัญชีเข้าสู่ระบบ
ADMIN_ID="ผู้ดูแลระบบ"
ADMIN_PASS="ADMIN_PWD"
USER_ID="ผู้ใช้"
USER_PASS="USER_PWD"

## การตั้งค่าเวลาของระบบ
NTP_ADDR="10.1.1.4"
TIME_ZONE="660"
DST_ENABLE="เอ็น"
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="ใช่"
OPTION66_REBOOT="N"
PROVISION_ENABLE="ใช่"
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"
โฮสต์_NAME="UT123"
DHCP_DNS_ENABLE="ใช่"
STATIC_IP_ADDRESS=""
STATIC_SUBNET = ""
STATIC_GATEWAY = ""
USER_DNS1_ADDR=""
USER_DNS2_ADDR=""

## การตั้งค่า DNS
DNS_QRY_PRLL = "ใช่"
DNS_PRIORITY="เอ็น"
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="ใช่"
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"

แกรนด์สตรีม 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 รุ 270 35/แกรนด์สตรีม 109 TZc-35 36 109 http://36/provisioning/grandstream สามสิบ

ยีลิงค์ T19 และ T21

อุปกรณ์ในรุ่นเหล่านี้รองรับไฟล์การกำหนดค่าแต่ละไฟล์สำหรับอุปกรณ์และไฟล์ทั่วไปสำหรับรุ่นต่างๆ ในกรณีของฉัน ฉันต้องวางพารามิเตอร์ทั่วไปในไฟล์ y000000000031.cfg และ y000000000034.cfg ตามลำดับ ไฟล์การกำหนดค่าส่วนบุคคลจะถูกตั้งชื่อตามที่อยู่ MAC: 00112233aabb.cfg

การตั้งค่าสำหรับ yealinks จะถูกจัดเก็บในรูปแบบข้อความ ข้อกำหนดบังคับเพียงอย่างเดียวคือการมีเวอร์ชันของไฟล์อยู่ในบรรทัดแรก ในรูปแบบ #!version:1.0.0.1

พารามิเตอร์ทั้งหมดเขียนในรูปแบบ parameter = value ความคิดเห็นต้องขึ้นต้นด้วยอักขระ “#” ชื่อของพารามิเตอร์และค่าสามารถดูได้จากเอกสารประกอบบนเว็บไซต์ของผู้ผลิต
การตั้งค่าทั่วไป#!เวอร์ชั่น:1.0.0.1
#Configure ประเภทพอร์ต WAN 0-DHCP (ค่าเริ่มต้น), 1-PPPoE, ที่อยู่ IP 2 แบบคงที่;
เครือข่ายinternet_port.type = 0
#Configure ประเภทพอร์ตพีซี 0-เราเตอร์, 1-Bridge (ค่าเริ่มต้น);
เครือข่าย.bridge_mode = 1
#Configure ประเภทการเข้าถึงของเว็บเซิร์ฟเวอร์ 0-ปิดการใช้งาน, 1-HTTP & HTTPS (ค่าเริ่มต้น), 2-HTTP เท่านั้น, 3-HTTPS เท่านั้น;
เครือข่าย.web_server_type = 3
#Configure พอร์ต RTP ภายในเครื่องสูงสุด มีตั้งแต่ 0 ถึง 65535 ค่าเริ่มต้นคือ 11800
network.port.max_rtpport = 10100
#Configure พอร์ต RTP ท้องถิ่นขั้นต่ำ มีตั้งแต่ 0 ถึง 65535 ค่าเริ่มต้นคือ 11780
network.port.min_rtpport = 10000
security.user_name.admin = รูท
security.user_password = รูท:ADMIN_PWD
security.user_name.user = ผู้ใช้
security.user_password = ผู้ใช้:USER_PWD
#ระบุภาษาเว็บ ค่าที่ถูกต้อง ได้แก่ อังกฤษ, Chinese_S, ตุรกี, โปรตุเกส, สเปน, อิตาลี, ฝรั่งเศส, รัสเซีย, เยอรมัน และเช็ก
lang.wui = ภาษารัสเซีย
#ระบุภาษา LCD ค่าที่ถูกต้องคือ: อังกฤษ (ค่าเริ่มต้น), Chinese_S, Chinese_T, เยอรมัน, ฝรั่งเศส, ตุรกี, อิตาลี, โปแลนด์, สเปน และโปรตุเกส
lang.gui = ภาษารัสเซีย
#กำหนดค่าโซนเวลาและชื่อโซนเวลา โซนเวลาอยู่ระหว่าง -11 ถึง +12 ค่าเริ่มต้นคือ +8
#ชื่อโซนเวลาเริ่มต้นคือจีน (ปักกิ่ง)
#อ้างอิงถึงคู่มือผู้ใช้โทรศัพท์ IP Yealink สำหรับโซนเวลาและชื่อโซนเวลาที่มีเพิ่มเติม
local_time.time_zone = +11
local_time.time_zone_name = วลาดิวอสต็อก
#กำหนดค่าชื่อโดเมนหรือที่อยู่ IP ของเซิร์ฟเวอร์ NTP ค่าเริ่มต้นคือ cn.pool.ntp.org
local_time.ntp_server1 = 10.1.1.4
#Configure โหมดโลโก้ของหน้าจอ LCD 0-ปิดใช้งาน (ค่าเริ่มต้น), โลโก้ 1 ระบบ, 2-โลโก้ที่กำหนดเอง;
phone_setting.lcd_logo.mode = 1
#Configure 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
account.1.label = โทรศัพท์ทดสอบ
#กำหนดค่าชื่อที่แสดงของบัญชี1.
account.1.display_name = ผู้ใช้ 998
#กำหนดชื่อผู้ใช้และรหัสผ่านสำหรับการตรวจสอบการลงทะเบียน
account.1.auth_name = 998
บัญชี1.รหัสผ่าน = 998
#กำหนดชื่อผู้ใช้ที่ลงทะเบียน
account.1.user_name = 998
#Configure ที่อยู่เซิร์ฟเวอร์ SIP
account.1.sip_server_host = 10.1.1.50
#ระบุพอร์ตสำหรับเซิร์ฟเวอร์ SIP ค่าเริ่มต้นคือ 5060
บัญชี1.sip_server_port = 5060

ด้วยเหตุนี้ ต้องขอบคุณฟังก์ชันการจัดเตรียมอัตโนมัติที่ยอดเยี่ยมในโทรศัพท์ที่ฉันพูดถึง ทำให้ไม่มีปัญหาในการเชื่อมต่ออุปกรณ์ใหม่เข้ากับเครือข่าย ทั้งหมดนี้อยู่ที่การค้นหาที่อยู่ MAC ของโทรศัพท์และสร้างไฟล์การกำหนดค่าโดยใช้เทมเพลต

ฉันหวังว่าคุณจะอ่านจนจบและได้รับประโยชน์จากสิ่งที่คุณอ่าน

ขอบคุณสำหรับความสนใจของคุณ

ที่มา: will.com

เพิ่มความคิดเห็น