Sở thú VoIP – Cung cấp

Nhập

Một ngày nọ, ban quản lý đã phê duyệt một thử nghiệm giới thiệu điện thoại IP trong văn phòng của chúng tôi. Vì kinh nghiệm của tôi trong lĩnh vực này còn ít nên nhiệm vụ này đã khơi dậy sự hứng thú lớn trong tôi và tôi đã lao vào nghiên cứu nhiều khía cạnh khác nhau của vấn đề. Khi kết thúc chuyến lặn, tôi quyết định chia sẻ những kiến ​​thức mình có được với hy vọng nó sẽ hữu ích cho ai đó. Vì thế…

Dữ liệu thô

Asterisk đã được chọn và triển khai dưới dạng tổng đài IP. Nhóm điện thoại bao gồm các thiết bị Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 và Dlink DPH-150S(E)/F3, Yealink T19 và T21. Sự khác biệt này là do trong quá trình thử nghiệm, người ta đã quyết định thử một chút mọi thứ để đưa ra ý kiến ​​​​về tỷ lệ giá cả/chất lượng/sự tiện lợi.

Nhiệm vụ

Đơn giản hóa và thống nhất quá trình thiết lập thiết bị mới càng nhiều càng tốt. Tất cả các điện thoại phải được đồng bộ hóa thời gian, tải danh bạ điện thoại từ máy chủ và cung cấp quyền truy cập vào cài đặt cho quản trị viên.

Giải pháp cho vấn đề này rất đơn giản - thực hiện cấu hình tự động của điện thoại, cái gọi là. Cung cấp. Trên thực tế, việc triển khai chức năng tuyệt vời này của tôi sẽ được thảo luận.

Cấu hình tftpd,dhcpd

Để phân phối cài đặt cho điện thoại, tôi chọn tftp là tùy chọn phổ biến, được hỗ trợ bởi tất cả các nền tảng, dễ cấu hình và quản lý.

Không cần cấu hình cụ thể cho tftp. Tôi đã cài đặt tftpd tiêu chuẩn và đặt tất cả các tệp cần thiết vào thư mục gốc của nó.
Tôi đã đặt các tập tin cài đặt vào thư mục theo nhà sản xuất điện thoại. Đúng, thiết bị Cisco không bao giờ được đưa vào thư mục của nó, vì vậy tôi phải lưu nó vào thư mục gốc của nó.

Để trỏ điện thoại đến vị trí của máy chủ tftp, tôi đã sử dụng tùy chọn-66. Ngoài ra, ông còn chia chúng thành các lớp riêng biệt theo nhà sản xuất. Mỗi lớp nhận được đoạn địa chỉ riêng và một thư mục riêng cho các tệp cấu hình. Nhân tiện, các thiết bị từ D-link phải được tính toán theo địa chỉ MAC vì chúng không cung cấp thông tin về nhà sản xuất trong yêu cầu dhcp.

Đoạn dhcpd.conf

# Chỉ định các tùy chọn cần thiết option option-66 code 66 = text; class "panasonic" { khớp nếu chuỗi con (tùy chọn nhà cung cấp-lớp-định danh,0,9) = "Panasonic"; tùy chọn option-66 "10.1.1.50/panasonic/"; } class "cisco" { match if substring (tùy chọn nhà cung cấp-lớp-định danh,0,36) = "Cisco Systems, Inc. Điện thoại IP CP-7906"; tùy chọn tùy chọn-66 "10.1.1.50/cisco/"; } class "grandstream" { khớp nếu chuỗi con (tùy chọn nhà cung cấp-lớp-định danh,0,11) = "Grandstream"; tùy chọn tùy chọn-66 "10.1.1.50/grandstream/"; } class "dlink" { match if (binary-to-ascii (16,8,">,substring(hardware,1,4)) = "c8:d3:a3:8d") hoặc (binary-to-ascii (16,8,">,chuỗi con(phần cứng,1,4)) = "90:94:e4:72"); tùy chọn tùy chọn-66 "10.1.1.50/dlink/"; } class "yealink" { khớp nếu chuỗi con (tùy chọn nhà cung cấp-lớp-định danh,0,7) = "Yealink"; tùy chọn tùy chọn-66 "10.1.1.50/yealink/"; }

Điện thoại buộc phải bị loại khỏi nhóm chung. Nếu không, họ không muốn đến “bể chèo” của mình.
Ví dụ về cài đặt mạng con

mạng con 10.1.1.0 mặt nạ mạng 255.255.255.0 { bộ định tuyến tùy chọn 10.1.1.1; pool { từ chối thành viên của "cisco"; từ chối thành viên của "panasonic"; từ chối thành viên của "dlink"; phạm vi 10.1.1.230 10.1.1.240; } pool { cho phép thành viên của "cisco"; khoảng 10.1.1.65 10.1.1.69; } pool { cho phép thành viên của "panasonic"; khoảng 10.1.1.60 10.1.1.64; } pool { cho phép thành viên của "dlink"; khoảng 10.1.1.55 10.1.1.59; } }

Sau khi khởi động lại tất cả các dịch vụ liên quan, điện thoại tự tin truy cập máy chủ tftp được chỉ định để cài đặt. Tất cả những gì còn lại là đặt chúng ở đó.

cisco 7906

Tôi đã nhận được các thiết bị này trong bao bì gốc. Tôi đã phải thay đổi nó để kết bạn với dấu hoa thị. Nhưng đó là một câu chuyện khác. Trong trường hợp cụ thể, để định cấu hình thiết bị, theo hướng dẫn, tôi đã tạo tệp SEPAABBCCDDEEFF.cnf.xml trong thư mục gốc của máy chủ tftp. Trong đó AABBCCDDEEFF là địa chỉ MAC của thiết bị.

Nó đã được viết nhiều lần về việc thiết lập điện thoại từ Cisco, vì vậy tôi sẽ chỉ để lại một tệp cài đặt đang hoạt động.
Cài đặt cho 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

Nếu bạn sắp mua điện thoại thuộc dòng này, hãy cẩn thận, tính năng tự động dò sóng chỉ được hỗ trợ ở các thiết bị 150S/F3. Trên thiết bị 150S/F2 đến tay tôi, tôi không tìm thấy chức năng như vậy.

Tệp cấu hình có thể ở định dạng xml hoặc văn bản thuần túy. Có một yêu cầu đối với xml: thẻ phải ở đầu dòng, nếu không trình phân tích cú pháp sẽ bỏ qua nó và giá trị của tham số tương ứng sẽ không thay đổi.

Hai tập tin được sử dụng để cấu hình điện thoại. f0D00580000.cfg - để lưu trữ cài đặt cho tất cả điện thoại và 00112233aabb.cfg (địa chỉ MAC viết thường) cho từng cài đặt. Cài đặt riêng lẻ đương nhiên có mức độ ưu tiên cao hơn.

Bộ cài đặt đầy đủ chứa hơn một nghìn dòng, để không làm lộn xộn bài viết, tôi sẽ mô tả bộ cài đặt tối thiểu đủ.

Nút gốc là bắt buộc VOIP_CONFIG_FILE và nút được lồng bên trong nó phiên bản. Cài đặt sẽ chỉ được áp dụng nếu phiên bản tệp cao hơn cài đặt hiện tại trong thiết bị. Bạn có thể tìm hiểu giá trị này thông qua giao diện web của điện thoại trong phần bảo trì (quản lý hệ thống). Đối với điện thoại có cài đặt gốc, trong cả hai trường hợp, giá trị này là 2.0002. Ngoài ra, phiên bản file riêng lẻ phải lớn hơn phiên bản file chia sẻ.

Đầu tiên mình sẽ cung cấp một file cấu hình chung cho tất cả các điện thoại. Trên thực tế, nó lưu trữ tất cả các cài đặt; tệp riêng lẻ sẽ chỉ chịu trách nhiệm về số điện thoại và dòng chữ trên màn hình.

Trong hai khối bên dưới, các tham số đồng bộ hóa múi giờ và thời gian được thiết lập, cổng ban đầu cho RTP và cầu nối mạng giữa các đầu nối WAN và LAN của thiết bị được bật.

Đoạn số 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>

Tên thực tế của các tham số cấu hình mang tính mô tả đầy đủ để tránh mô tả chúng một cách chi tiết.
SIP cho một dòng

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

Cài đặt điều khiển từ xa

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

Cài đặt điện thoại

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

Tất cả các cài đặt khác sẽ vẫn là “mặc định”. Giờ đây, bất kỳ điện thoại Dlink nào được kết nối với mạng sẽ ngay lập tức chấp nhận một bộ thông số chung cho tất cả. Để đặt các tham số riêng cho thiết bị, cần có một tệp riêng. Trong đó bạn chỉ cần chỉ định các cài đặt cần thiết cho từng thuê bao.
cài đặt thuê bao

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

Các thiết bị này nhận cài đặt theo sơ đồ hơi khác. Cấu hình được lưu trữ trong các tập tin văn bản. Kích thước tệp cấu hình tối đa là 120 KB. Bất kể số lượng tệp, tổng kích thước của chúng không được vượt quá 120 KB.
Tệp cấu hình bao gồm một tập hợp các dòng, tuân theo các điều kiện sau:

  • Dòng đầu tiên luôn là dòng chú thích, bao gồm chuỗi ký tự sau (44 byte):
    # Tệp định dạng chuẩn điện thoại SIP của Panasonic #
    Biểu diễn thập lục phân của chuỗi này:
    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 46F 6 72D 6 61 74 20 46 69C 6 65 20
    Để ngăn chặn những thay đổi ngẫu nhiên đối với chuỗi ký tự đã thiết lập, bạn nên bắt đầu tệp cấu hình bằng dòng:
    # File định dạng chuẩn điện thoại SIP của Panasonic # KHÔNG THAY ĐỔI DÒNG NÀY!
  • Các tập tin cấu hình phải kết thúc bằng một dòng trống.
  • Mỗi dòng phải kết thúc bằng chuỗi " ".
  • Độ dài chuỗi tối đa là 537 byte, bao gồm cả chuỗi " "
  • Các dòng sau đây bị bỏ qua:
    • dòng vượt quá giới hạn 537 byte;
    • dòng trống;
    • dòng chú thích bắt đầu bằng "#";
  • Chuỗi cho mỗi tham số được viết dưới dạng XXX=“yyy” (XXX: tên tham số, yyy: giá trị của nó). Giá trị phải được đặt trong dấu ngoặc kép.
  • Không được phép chia một dòng tham số thành nhiều dòng. Điều này sẽ dẫn đến lỗi khi xử lý tệp cấu hình và dẫn đến lỗi khởi tạo.
  • Giá trị của một số tham số phải được chỉ định riêng cho từng dòng. Tham số có hậu tố “_1” trong tên là tham số cho dòng 1; "_2"—dành cho dòng 2, v.v.
  • Độ dài tối đa của tên tham số là 32 ký tự.
  • Độ dài tối đa của giá trị tham số là 500 ký tự không bao gồm các ký tự trích dẫn kép.
  • Không được phép có khoảng trắng trong chuỗi trừ khi giá trị bao gồm ký tự khoảng trắng.
  • Một số giá trị tham số có thể được chỉ định là “trống” để đặt tham số thành giá trị trống.
  • Các tham số được chỉ định không theo thứ tự cụ thể.
  • Nếu cùng một tham số được chỉ định nhiều lần trong tệp cấu hình thì giá trị được chỉ định đầu tiên sẽ được áp dụng.

Thành thật mà nói, một bộ yêu cầu nghiêm túc như vậy đối với tệp cấu hình đã làm tôi khó chịu. Theo tôi, việc thực hiện tương tác với máy chủ điều khiển trên điện thoại Panasonic là vô cùng bất tiện. Ở thông số này, điện thoại kém hơn đáng kể so với các điện thoại khác.
Khi bạn bật thiết bị lần đầu tiên (hoặc sau khi đặt lại thiết bị về cài đặt gốc), thiết bị sẽ cố tải cái gọi là tệp sản phẩm (trong trường hợp này là KX-UT123RU.cfg), tệp này sẽ chứa các đường dẫn đến các tập tin cấu hình còn lại.
Tệp sản phẩm# File định dạng chuẩn điện thoại SIP của Panasonic # KHÔNG THAY ĐỔI DÒNG NÀ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"

Sau đó, điện thoại sẽ hiển thị thông báo hoàn tất quá trình chuẩn bị thành công và sẽ đợi cho đến khi khởi động lại. Và sau khi khởi động lại, nó sẽ bắt đầu xử lý các tệp cấu hình được gán cho nó.

Bạn nên chỉ định cài đặt chung cho tất cả điện thoại trong tệp master.cfg. Như với Dlink, tôi sẽ chỉ xác định một số thông số. Tên của các tham số còn lại và giá trị của chúng có thể được tìm thấy trong tài liệu trên trang web của nhà sản xuất.
master.cfg##################################################### ##########
#Cài đặt hệ thống#
##################################################### ##########
## Đăng nhập Cài đặt tài khoản
ADMIN_ID="quản trị viên"
ADMIN_PASS="ADMIN_PWD"
USER_ID="người dùng"
USER_PASS="USER_PWD"

## Cài đặt thời gian hệ thống
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=""

## Cài đặt nhật ký hệ thống
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"

## Cài đặt cấp phép
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"

##################################################### ##########
#Thiết lạp mạng lưới#
##################################################### ##########
## Cài đặt IP
CONNECTION_TYPE="1"
HOST_NAME="UT123"
DHCP_DNS_ENABLE="Y"
STATIC_IP_ADDRESS=""
STATIC_SUBNET=""
STATIC_GATEWAY=""
USER_DNS1_ADDR=""
USER_DNS2_ADDR=""

## Cài đặt DNS
DNS_QRY_PRLL="Y"
DNS_PRIORITY="N"
DNS1_ADDR="10.1.1.1"
DNS2_ADDR=""

## Cài đặt HTTP
HTTPD_PORTOPEN_AUTO="Y"
HTTP_VER="1"
HTTP_USER_AGENT="Panasonic_{MODEL}/{fwver} ({mac})"
HTTP_SSL_VERIFY="0"
CFG_ROOT_CERTIFICATE_PATH=""

## Cài đặt ứng dụng 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=""

Theo truyền thống, chỉ có cài đặt của người đăng ký còn lại trong tệp cấu hình thiết bị riêng lẻ.
aabbccddeeff.cfgDISPLAY_NAME_1="Người dùng #168"

PHONE_NUMBER_1="168"
SIP_URI_1="168"
LINE_ENABLE_1="Đã bật"
PROFILE_ENABLE_1="Đã bật"
SIP_AUTHID_1="168"
SIP_PASS_1="SIP_PWD"

Grandstream GXP-1400

Thông số của những điện thoại này được lưu trữ trong một tệp xml có tên cfg{mac}.xml. Hoặc ở dạng văn bản thuần túy có tên cfg{mac}. Điện thoại này chỉ yêu cầu một tệp cấu hình riêng lẻ, vì vậy việc tối ưu hóa cài đặt bằng cách di chuyển chúng sang một tệp chung sẽ không hiệu quả. Một tính năng khác của việc thiết lập Grandstreams là đặt tên cho các tham số. Tất cả chúng đều được đánh số và ký hiệu là P###. Ví dụ:

P1650 – chịu trách nhiệm về giao diện web để quản lý điện thoại (0 – HTTPS, 1 – HTTP)
P47 – Địa chỉ máy chủ SIP để kết nối.

Nếu cấu hình được lưu trữ trong một tệp văn bản, các tham số không yêu cầu bất kỳ nhóm nào và theo bất kỳ thứ tự nào. Các dòng bắt đầu bằng # được coi là nhận xét.

Nếu cài đặt được trình bày ở định dạng xml thì chúng phải được lồng trong một nút , do đó phải được lồng vào . Tất cả các tham số được viết dưới dạng thẻ tương ứng với giá trị tham số bên trong.
Ví dụ cài đặt

1.0 8 1 1 SIP_PWD Người dùng # 271 1 271 270 109 ADMIN_PWD USER_PWD ru 270 35/lớn 109 TZc-35 36 109 http://36/provisioning/grandstream ba mươi

Yealink T19 và T21

Thiết bị của các model này hỗ trợ các tệp cấu hình riêng cho thiết bị và tệp cấu hình chung cho các model. Trong trường hợp của tôi, tôi phải đặt các tham số chung trong các tệp y000000000031.cfg và y000000000034.cfg, tương ứng. Các tệp cấu hình riêng lẻ được đặt tên theo địa chỉ MAC: 00112233aabb.cfg.

Cài đặt cho liên kết yealink được lưu trữ ở định dạng văn bản. Yêu cầu bắt buộc duy nhất là sự hiện diện của phiên bản tệp ở dòng đầu tiên, ở định dạng #!version:1.0.0.1.

Tất cả các tham số đều được viết dưới dạng tham số = value. Nhận xét phải bắt đầu bằng ký tự "#". Tên của các tham số và giá trị của chúng có thể được tìm thấy trong tài liệu trên trang web của nhà sản xuất.
Cài đặt chung#!phiên bản:1.0.0.1
#Định cấu hình loại cổng WAN; 0-DHCP (mặc định), 1-PPPoE, 2-Địa chỉ IP tĩnh;
mạng.internet_port.type = 0
#Định cấu hình loại cổng PC; 0-Bộ định tuyến, 1-Bridge (mặc định);
mạng.bridge_mode = 1
#Định cấu hình kiểu truy cập của máy chủ web; 0-Đã tắt, 1-HTTP & HTTPS (mặc định), Chỉ 2-HTTP, Chỉ 3-HTTPS;
mạng.web_server_type = 3
#Định cấu hình cổng RTP cục bộ tối đa. Nó nằm trong khoảng từ 0 đến 65535, giá trị mặc định là 11800.
mạng.port.max_rtpport = 10100
#Định cấu hình cổng RTP cục bộ tối thiểu. Nó nằm trong khoảng từ 0 đến 65535, giá trị mặc định là 11780.
mạng.port.min_rtpport = 10000
security.user_name.admin = root
security.user_password = root:ADMIN_PWD
security.user_name.user = người dùng
security.user_password = người dùng:USER_PWD
#Chỉ định ngôn ngữ web, các giá trị hợp lệ là: tiếng Anh, tiếng Trung_S, tiếng Thổ Nhĩ Kỳ, tiếng Bồ Đào Nha, tiếng Tây Ban Nha, tiếng Ý, tiếng Pháp, tiếng Nga, tiếng Đức và tiếng Séc.
lang.wui = tiếng Nga
#Chỉ định ngôn ngữ LCD, các giá trị hợp lệ là: tiếng Anh (mặc định), tiếng Trung_S, tiếng Trung_T, tiếng Đức, tiếng Pháp, tiếng Thổ Nhĩ Kỳ, tiếng Ý, tiếng Ba Lan, tiếng Tây Ban Nha và tiếng Bồ Đào Nha.
lang.gui = tiếng Nga
#Định cấu hình múi giờ và tên múi giờ. Múi giờ dao động từ -11 đến +12, giá trị mặc định là +8.
#Tên múi giờ mặc định là Trung Quốc(Bắc Kinh).
#Tham khảo Hướng dẫn sử dụng Điện thoại IP Yealink để biết thêm các múi giờ và tên múi giờ khả dụng.
local_time.time_zone = +11
local_time.time_zone_name = Vladivostok
#Định cấu hình tên miền hoặc địa chỉ IP của máy chủ NTP. Giá trị mặc định là cn.pool.ntp.org.
local_time.ntp_server1 = 10.1.1.4
#Định cấu hình chế độ logo của màn hình LCD; 0-Đã tắt (mặc định), 1-Logo hệ thống, 2-Logo tùy chỉnh;
phone_setting.lcd_logo.mode = 1
#Định cấu hình URL truy cập và tên hiển thị của danh bạ từ xa. X nằm trong khoảng từ 1 đến 5.
remote_phonebook.data.1.url = 10.1.1.50/cung cấp/yealink-phonebook.xml
remote_phonebook.data.1.name = Danh bạ
tính năng.remote_phonebook.flash_time = 3600

cài đặt riêng lẻ#!phiên bản:1.0.0.1
#Kích hoạt hoặc vô hiệu hóa tài khoản1, 0-Đã tắt (mặc định), 1-Đã bật;
tài khoản.1.enable = 1
#Định cấu hình nhãn hiển thị trên màn hình LCD cho tài khoản1.
account.1.label = Điện thoại thử nghiệm
#Định cấu hình tên hiển thị của tài khoản1.
account.1.display_name = Người dùng 998
#Định cấu hình tên người dùng và mật khẩu để xác thực đăng ký.
account.1.auth_name = 998
tài khoản.1.password = 998
#Định cấu hình tên người dùng đăng ký.
account.1.user_name = 998
#Định cấu hình địa chỉ máy chủ SIP.
account.1.sip_server_host = 10.1.1.50
#Chỉ định cổng cho máy chủ SIP. Giá trị mặc định là 5060.
account.1.sip_server_port = 5060

Kết quả là, nhờ chức năng tự động cung cấp tuyệt vời được cung cấp trong các điện thoại mà tôi đã đề cập, không có vấn đề gì khi kết nối các thiết bị mới với mạng. Tất cả đều phụ thuộc vào việc tìm ra địa chỉ MAC của điện thoại và tạo tệp cấu hình bằng mẫu.

Tôi hy vọng bạn đọc đến cuối và được hưởng lợi từ những gì bạn đọc.

Cảm ơn bạn đã quan tâm của bạn.

Nguồn: www.habr.com

Thêm một lời nhận xét