條目
有一天,管理層批准了在我們辦公室引入 IP 電話的實驗。 由於我在這方面的經驗還很少,所以這個任務引起了我的極大興趣,我開始對這個問題的各個方面進行研究。 潛水結束時,我決定分享我所獲得的知識,希望它對某人有用。 所以…
初始數據
Asterisk 被選取並部署為 IP PBX。 此電話機群包括 Cisco 7906g、Panasonic UT-KX123B、Grandstream GXP1400 和 Dlink DPH-150S(E)/F3、Yealink T19 和 T21 裝置。 這種差異是由於以下事實:作為實驗的一部分,決定嘗試一些東西,以便對價格/品質/便利比形成意見。
任務
盡可能簡化和統一設定新設備的過程。 所有電話必須進行時間同步,從伺服器載入電話簿,並為管理員提供設定存取權限。
解決這個問題的方法很簡單──實現手機的自動配置,也就是所謂的。 供應。 實際上,我將討論這個奇妙功能的實作。
配置 tftpd、dhcpd
為了將設定分發到手機,我選擇了 tftp 作為通用選項,並由所有平台支持,易於配置和管理。
tftp 不需要特定配置。 我安裝了標準 tftpd 並將所有必需的檔案放在其根目錄中。
我將設定檔放置在與手機製造商一致的目錄中。 確實,思科設備從未進入其資料夾,因此我必須將其儲存在其根目錄中。
為了將電話指向 tftp 伺服器的位置,我使用了 option-66。 此外,他還按製造商將它們分為不同的類別。 每個類別都有自己的地址段和一個單獨的設定檔資料夾。 順便說一句,D-link 的設備必須透過 MAC 位址計算,因為它們在 dhcp 請求中不提供有關製造商的資訊。
dhcpd.conf 片段
# 指定需要的選項 option option-66 code 66 = text; 類別「松下」{匹配如果子字串(選項供應商類別標識符,0,9)=「松下」; 選項選項-66“10.1.1.50/panasonic/”; } class "cisco" { match if substring (optionvendor-class-identifier,0,36) = "Cisco Systems, Inc. IP Phone CP-7906"; 選項選項-66“10.1.1.50/cisco/”; } class "grandstream" { match if substring (optionvendor-class-identifier,0,11) = "Grandstream"; 選項 option-66 "10.1.1.50/grandstream/"; } class "dlink" { match if (二進位轉ascii (16,8,":",substring(硬體,1,4)) = "c8:d3:a3:8d") 或 (二進位轉ascii (16,8 ,":",子字串(硬體,1,4)) = "90:94:e4:72"); 選項選項66“10.1.1.50/dlink/”; } class "yealink" { match if substring (optionvendor-class-identifier,0,7) = "Yealink"; option option-66 "10.1.1.50/yealink/"; }
手機必須被強行排除在通用池之外。 否則,他們就不想去他們的「戲水池」了。
子網路設定範例
子網路 10.1.1.0 網路遮罩 255.255.255.0 { 選項路由器 10.1.1.1; pool { 拒絕「cisco」的成員; 拒絕「松下」成員; 拒絕「dlink」成員; 範圍 10.1.1.230 10.1.1.240; } pool { 允許「cisco」成員; 範圍 10.1.1.65 10.1.1.69; } pool { 允許「panasonic」的成員; 範圍 10.1.1.60 10.1.1.64; } pool { 允許「dlink」成員; 範圍 10.1.1.55 10.1.1.59; } }
重新啟動所有涉及的服務後,手機自信地前往指定的 tftp 伺服器進行設定。 剩下的就是將它們放置在那裡。
思科7906
我收到的這些設備均採用原包裝。 我必須改變它才能與星號交朋友。 但那是另一回事了。 在特定情況下,為了配置設備,根據說明,我在 tftp 伺服器的根目錄中建立了檔案 SEPAABCCDDEEFF.cnf.xml。 其中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>
D-Link DPH-150S/F3
如果您剛購買該系列手機,請注意,僅 150S/F3 裝置支援自動調諧。 在我手中的150S/F2設備上,我沒有發現這樣的功能。
設定檔可以是xml或純文字格式。 對xml有一個要求:標籤必須位於行首,否則解析器會忽略它,而對應參數的值也不會改變。
兩個檔案用於配置電話。 f0D00580000.cfg - 用於儲存所有電話的設置,00112233aabb.cfg(小寫的 MAC 位址)用於單一設定。 個人設定自然有較高的優先權。
全套設定包含一千多行,為了不讓文章混亂,我將描述最少的足夠設定。
需要根節點 VOIP_配置_文件 以及嵌套在其中的節點 版本。 只有當檔案版本高於裝置中的目前設定時,才會套用這些設定。 您可以透過話機網路介面的維護部分(系統管理)找到該值。 對於出廠設定的手機,這兩種情況都是 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 個位元組):
#松下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 6 72E 6 61 74 20F 46F 69F 6F 65F 20F 23F XNUMXF XNUMXF XNUMXF XNUMX C XNUMX XNUMX XNUMX
為了防止意外變更已建立的字元序列,建議使用下列行啟動設定檔:
# Panasonic SIP 電話標準格式檔案 # 不要更改此行! - 設定檔必須以空白行結尾。
- 每行必須以序列“結束” 」。
- 最大字串長度為 537 位元組,包括序列“ 」
- 以下行將被忽略:
- 行數超過 537 位元組限制;
- 空行;
- 以“#”開頭的註解行;
- 每個參數的字串以 XXX=“yyy” 的形式編寫(XXX:參數名稱,yyy:其值)。 該值必須用雙引號引起來。
- 不允許將參數行拆分為多行。 這將導致處理設定檔時出錯,從而導致初始化失敗。
- 某些參數的值必須為每一行單獨指定。 名稱中帶有後綴「_1」的參數是第1行的參數; “_2”—用於第 2 行等。
- 參數名稱的最大長度為 32 個字元。
- 參數值的最大長度為 500 個字元(不包括雙引號字元)。
- 字串中不允許有空格,除非該值包含空格字元。
- 有些參數值可以指定為“blank”,將參數設定為空值。
- 這些參數沒有特定的順序指定。
- 如果在設定檔中多次指定相同參數,則會套用第一個指定的值。
對設定檔如此嚴格的要求,坦白說讓我很不爽。 在我看來,在松下手機上實現與控制伺服器的互動是極其不方便的。 在這個參數上,該手機明顯遜色於其他手機。
當您第一次開啟裝置時(或將其重設為原廠設定後),它會嘗試載入所謂的產品檔案(在本例中為 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 一樣,我只會指定一些參數。 其餘參數的名稱及其值可以在製造商網站的文件中找到。
主控設定檔########################################################### ## ##########
#系統設定#
########################################################### ## ##########
## 登入帳號設定
ADMIN_ID="管理員"
ADMIN_PASS="ADMIN_PWD"
USER_ID=“用戶”
USER_PASS="USER_PWD"
## 系統時間設定
NTP_ADDR="10.1.1.4"
時區=“660”
DST_ENABLE=“N”
DST_OFFSET=“60”
DST_START_MONTH="3"
DST_START_ORDINAL_DAY="2"
DST_START_DAY_OF_WEEK="0"
DST_START_TIME="120"
DST_STOP_MONTH=“10”
DST_STOP_ORDINAL_DAY="2"
DST_STOP_DAY_OF_WEEK="0"
DST_STOP_TIME="120"
LOCAL_TIME_ZONE_POSIX=""
## 系統日誌設定
SYSLOG_ADDR="10.1.1.50"
系統日誌連接埠=“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”
HOST_NAME=“UT123”
DHCP_DNS_ENABLE="是"
STATIC_IP_ADDRESS=""
STATIC_SUBNET=""
STATIC_GATEWAY=""
USER_DNS1_ADDR=""
USER_DNS2_ADDR=""
## DNS 設定
DNS_QRY_PRLL="是"
DNS_PRIORITY=“N”
DNS1_ADDR =“10.1.1.1”
DNS2_ADDR=""
## HTTP 設定
HTTPD_PORTOPEN_AUTO="是"
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
這些電話的參數儲存在一個名為 cfg{mac}.xml 的 xml 檔案中。 或以純文字形式命名為 cfg{mac}。 該手機僅請求單獨的配置文件,因此透過將它們移動到通用文件來優化設定是行不通的。 設定 Grandstreams 的另一個特點是參數的命名。 它們都被編號並指定為 P###。 例如:
P1650 – 負責管理電話的 Web 介面(0 – HTTPS,1 – HTTP)
P47 – 用於連線的 SIP 伺服器位址。
如果配置儲存在文字檔案中,則參數不需要任何分組並且可以按任意順序排列。 以 # 開頭的行被視為註解。
如果設定以 xml 格式呈現,則它們必須嵌套在節點中,而它又必須嵌套在。 所有參數都以對應標籤的形式寫入,裡面有參數值。
設定範例
1.0 8 1 1 SIP_密碼用戶#271 1 271 270 109 管理者密碼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。
所有參數均以參數=值的形式編寫。 註解必須以“#”字元開頭。 參數的名稱及其值可以在製造商網站的文檔中找到。
通用設置#!版本:1.0.0.1
#配置WAN口類型; 0-DHCP(預設)、1-PPPoE、2-靜態IP位址;
網路.internet_port.type = 0
#配置PC連接埠類型; 0-路由器,1-網橋(預設);
網路.bridge_mode = 1
#配置Web伺服器的存取類型; 0-禁用,1-HTTP 和 HTTPS(預設),2-僅 HTTP,3-僅 HTTPS;
網路.web_server_type = 3
#配置本機RTP最大連接埠。 範圍為 0 至 65535,預設值為 11800。
網路連接埠.max_rtpport = 10100
#配置最小本機RTP連接埠。 範圍為 0 至 65535,預設值為 11780。
網路連接埠.min_rtpport = 10000
安全.使用者名稱.admin = root
security.user_password = root:ADMIN_PWD
安全.用戶名.用戶=用戶
security.user_password = 使用者:USER_PWD
#指定網頁語言,有效值為:English、Chinese_S、土耳其語、葡萄牙語、西班牙語、義大利語、法語、俄語、德語和捷克語。
lang.wui = 俄語
#指定LCD語言,有效值為:English(預設)、Chinese_S、Chinese_T、德語、法語、土耳其語、義大利語、波蘭語、西班牙語和葡萄牙語。
lang.gui = 俄語
#配置時區和時區名稱。 時區範圍為-11到+12,預設值為+8。
#預設時區名稱為中國(北京)。
#更多可用時區和時區名稱,請參閱Yealink IP話機使用者指南。
本地時間.時區 = +11
local_time.time_zone_name = 海參崴
#配置NTP伺服器的網域名稱或IP位址。 預設值為 cn.pool.ntp.org。
本地時間.ntp_server1 = 10.1.1.4
#配置液晶螢幕的標誌模式; 0-停用(預設),1-系統徽標,2-自訂徽標;
電話設定.lcd_logo.模式 = 1
#配置遠端電話本的存取URL和顯示名稱。 X 的值範圍是 1 到 5。
遠端電話簿.data.1.url =
remote_phonebook.data.1.name = 電話簿
features.remote_phonebook.flash_time = 3600
個人設定#!版本:1.0.0.1
#啟用或停用帳戶1,0-停用(預設),1-啟用;
帳戶.1.啟用 = 1
#配置account1在液晶螢幕上顯示的標籤。
account.1.label = 測試手機
#配置account1的顯示名稱。
account.1.display_name = 使用者 998
#配置註冊認證的使用者名稱和密碼。
帳號.1.auth_name = 998
帳號.1.密碼 = 998
#配置註冊用戶名。
帳戶.1.用戶名 = 998
#配置SIP伺服器位址。
帳號.1.sip_server_host = 10.1.1.50
#指定SIP伺服器的連接埠。 預設值為 5060。
帳戶.1.sip_server_port = 5060
結果,由於我提到的手機中提供的出色的自動配置功能,將新設備連接到網路上沒有任何問題。 這一切都歸結為找出電話的 MAC 位址並使用範本產生設定檔。
我希望您能讀到最後並從中受益。
感謝您的關注。
來源: www.habr.com