การเข้า
วันหนึ่ง ฝ่ายบริหารได้อนุมัติการทดลองเพื่อแนะนำระบบโทรศัพท์ 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="
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 =
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