VoIP Zoo – 配置

输入

有一天,管理层批准了一项在我们办公室引入 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 6F 72 6D 61 74 20 46 69 6 C 65 20 23
    为了防止意外更改已建立的字符序列,建议使用以下行启动配置文件:
    # 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 一样,我只会指定一些参数。 其余参数的名称及其值可以在制造商网站的文档中找到。
大师.cfg############################################### ###########
#系统设置#
############################################### ###########
## 登录账户设置
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="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

这些电话的参数存储在一个名为 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 中。 各个配置文件根据 MA​​C 地址命名: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 = 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
#配置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 地址并使用模板生成配置文件。

我希望您能读到最后并从中受益。

感谢您的关注。

来源: habr.com

添加评论