VoIP Zoo – Voorsiening

Entry

Eendag het die bestuur 'n eksperiment goedgekeur om IP-telefonie in ons kantoor in te stel. Aangesien my ondervinding op hierdie gebied skraps was, het die taak groot belangstelling by my gewek en het ek gedompel om verskeie aspekte van die kwessie te bestudeer. Aan die einde van die duik het ek besluit om die kennis wat ek opgedoen het te deel in die hoop dat dit vir iemand nuttig sou wees. So…

Aanvanklike gegewens

Asterisk is gekies en as 'n IP PBX ontplooi. Die telefoonvloot bestaan ​​uit Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 en Dlink DPH-150S(E)/F3, Yealink T19 en T21 toestelle. Hierdie variasie is te wyte aan die feit dat daar as deel van die eksperiment besluit is om 'n bietjie van alles te probeer om 'n mening te vorm oor die prys/gehalte/gerief-verhouding.

Taak

Vereenvoudig en verenig die proses van die opstel van nuwe toestelle soveel as moontlik. Alle fone moet tyd gesinchroniseer wees, 'n telefoonboek moet vanaf die bediener gelaai word en toegang tot instellings vir die administrateur verskaf.

Die oplossing vir hierdie probleem is eenvoudig - implementeer outomatiese konfigurasie van fone, die sogenaamde. Voorsiening. Eintlik sal my implementering van hierdie wonderlike funksie bespreek word.

Konfigureer tftpd, dhcpd

Om instellings na fone te versprei, het ek tftp as 'n universele opsie gekies, ondersteun deur alle platforms, maklik om te konfigureer en te bestuur.

Geen spesifieke konfigurasie was nodig vir tftp nie. Ek het standaard tftpd geïnstalleer en al die nodige lêers in sy wortelgids geplaas.
Ek het die instellingslêers in gidse geplaas in ooreenstemming met die foonvervaardiger. Dit is waar, die Cisco-toestel het nooit in sy gids gegaan nie, so ek moes dit in sy wortel stoor.

Om die fone na die ligging van die tftp-bediener te wys, het ek opsie-66 gebruik. Daarbenewens het hy hulle volgens vervaardiger in aparte klasse verdeel. Elke klas het sy eie adressegment en 'n individuele vouer vir konfigurasielêers ontvang. Terloops, toestelle van D-link moes volgens MAC-adresse bereken word, aangesien hulle nie inligting oor die vervaardiger in die dhcp-versoek verskaf nie.

Fragment dhcpd.conf

# Spesifiseer die vereiste opsies opsie opsie-66 kode 66 = teks; klas "panasonic" { match if substring (opsie vendor-class-identifier,0,9) = "Panasonic"; opsie opsie-66 "10.1.1.50/panasonic/"; } klas "cisco" { match if substring (option vendor-class-identifier,0,36) = "Cisco Systems, Inc. IP Phone CP-7906"; opsie opsie-66 "10.1.1.50/cisco/"; } klas "grandstream" { match if substring (opsie vendor-class-identifier,0,11) = "Grandstream"; opsie opsie-66 "10.1.1.50/grandstream/"; } klas "dlink" { match if (binary-to-ascii (16,8,":",substring(hardware,1,4)) = "c8:d3:a3:8d") of (binary-to-ascii) (16,8,":",substring(hardeware,1,4)) = "90:94:e4:72"); opsie opsie-66 "10.1.1.50/dlink/"; } klas "yealink" { match if substring (opsie vendor-class-identifier,0,7) = "Yealink"; opsie opsie-66 "10.1.1.50/yealink/"; }

Telefone moes met geweld uit die algemene swembad uitgesluit word. Andersins wou hulle nie na hul “kleuterbad” toe gaan nie.
Voorbeeld van subnet instellings

subnet 10.1.1.0 netmasker 255.255.255.0 { opsie routers 10.1.1.1; swembad { ontken lede van "cisco"; lede van "panasonic" ontken; ontken lede van "dlink"; reeks 10.1.1.230 10.1.1.240; } swembad { laat lede van "cisco" toe; reeks 10.1.1.65 10.1.1.69; } swembad { laat lede van "panasonic" toe; reeks 10.1.1.60 10.1.1.64; } poel { laat lede van "dlink" toe; reeks 10.1.1.55 10.1.1.59; } }

Nadat al die betrokke dienste herbegin is, het die fone met selfvertroue na hul toegewysde tftp-bediener gegaan vir instellings. Al wat oorbly is om hulle daar te plaas.

cisco 7906

Ek het hierdie toestelle in hul oorspronklike verpakking ontvang. Ek moes dit verander om vriende te maak met asterisk. Maar dit is 'n ander storie. In 'n spesifieke geval, om die toestel volgens die instruksies te konfigureer, het ek die lêer SEPAABBCCDDEEFF.cnf.xml in die wortel van die tftp-bediener geskep. Waar AABBCCDDEEFF die MAC-adres van die toestel is.

Dit is al meer as een keer geskryf oor die opstel van fone vanaf Cisco, so ek sal net 'n werkende lêer met die instellings los.
Instellings vir 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

As jy net op die punt is om 'n foon in hierdie reeks te koop, wees versigtig, outo-instelling word slegs in 150S/F3-toestelle ondersteun. Op die 150S/F2-toestel wat in my hande gekom het, het ek nie sulke funksionaliteit gevind nie.

Die konfigurasielêer kan in xml- of gewone teksformaat wees. Daar is een vereiste vir xml: die merker moet aan die begin van die reël wees, anders sal die ontleder dit ignoreer en die waarde van die ooreenstemmende parameter sal nie verander nie.

Twee lêers word gebruik om die telefoon op te stel. f0D00580000.cfg - vir die stoor van instellings vir alle fone en 00112233aabb.cfg (MAC-adres in kleinletters) vir individuele instellings. Individuele instellings het natuurlik hoër prioriteit.

Die volledige stel instellings bevat meer as 'n duisend reëls, om nie die artikel te rommel nie, sal ek die minimum voldoende stel instellings beskryf.

Die wortelknoop word vereis VOIP_CONFIG_FILE en die nodus daarin geneste weergawe. Die instellings sal slegs toegepas word as die lêerweergawe hoër is as die huidige instellings in die toestel. Jy kan hierdie waarde uitvind deur die foon se webkoppelvlak in die onderhoudsafdeling (stelselbestuur). Vir fone met fabrieksinstellings is dit in beide gevalle 2.0002. Daarbenewens moet die individuele lêerweergawe groter as die gedeelde lêerweergawe wees.

Eerstens sal ek 'n lêer verskaf met 'n algemene konfigurasie vir alle fone. Trouens, dit stoor al die instellings; die individuele lêer sal slegs verantwoordelik wees vir die telefoonnommer en die inskripsie op die skerm.

In die twee blokke hieronder word die tydsone- en tydsinchronisasieparameters ingestel, die aanvanklike poort vir RTP en die netwerkbrug tussen die WAN- en LAN-verbindings van die toestel is geaktiveer.

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

Die werklike name van die konfigurasieparameters is voldoende beskrywend om te verhoed dat dit in detail beskryf word.
SIP vir een lyn

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

Afstandbeheer-instellings

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

Telefooninstellings

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

Alle ander instellings sal "verstek" bly. Nou sal enige Dlink-foon wat aan die netwerk gekoppel is, onmiddellik 'n algemene stel parameters vir almal aanvaar. Om individuele parameters vir die toestel in te stel, is 'n aparte lêer nodig. Daarin hoef u slegs die nodige instellings vir 'n individuele intekenaar te spesifiseer.
intekenaarinstellings

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

Hierdie toestelle ontvang instellings volgens 'n effens ander skema. Die konfigurasie word in tekslêers gestoor. Die maksimum konfigurasielêergrootte is 120 KB. Ongeag die aantal lêers, moet hul totale grootte nie 120 KB oorskry nie.
Die konfigurasielêer bestaan ​​uit 'n stel lyne, wat onderhewig is aan die volgende voorwaardes:

  • Die eerste reël is altyd 'n opmerkingreël, insluitend die volgende volgorde van karakters (44 grepe):
    # Panasonic SIP-telefoon standaardformaat lêer #
    Heksadesimale voorstelling van hierdie ry:
    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 72 6 61 74 20 46 69 C 6 65 20
    Om toevallige veranderinge aan die gevestigde volgorde van karakters te voorkom, word dit aanbeveel om die konfigurasielêer met die reël te begin:
    # Panasonic SIP Phone Standaardformaat Lêer # MOENIE HIERDIE LYN VERANDER NIE!
  • Konfigurasielêers moet met 'n leë reël eindig.
  • Elke reël moet eindig met die volgorde " ".
  • Die maksimum stringlengte is 537 grepe, insluitend die volgorde " "
  • Die volgende reëls word geïgnoreer:
    • lyne wat die limiet van 537 grepe oorskry;
    • leë lyne;
    • kommentaar reëls wat begin met "#";
  • Die string vir elke parameter word geskryf in die vorm XXX=“yyy” (XXX: parameternaam, yyy: sy waarde). Die waarde moet in dubbele aanhalingstekens ingesluit word.
  • Die verdeling van 'n parameterlyn in verskeie lyne word nie toegelaat nie. Dit sal lei tot 'n fout met die verwerking van die konfigurasielêer en as gevolg daarvan 'n inisialiseringsfout.
  • Die waardes van sommige parameters moet afsonderlik vir elke reël gespesifiseer word. Die parameter met die agtervoegsel "_1" in die naam is die parameter vir reël 1; "_2"—vir reël 2, ens.
  • Die maksimum lengte van die parameternaam is 32 karakters.
  • Die maksimum lengte van die parameterwaarde is 500 karakters, dubbele aanhalingstekens uitgesluit.
  • Geen spasies word in die string toegelaat nie, tensy die waarde 'n spasiekarakter insluit.
  • Sommige parameterwaardes kan as "leeg" gespesifiseer word om die parameter op 'n leë waarde te stel.
  • Die parameters word in geen spesifieke volgorde gespesifiseer nie.
  • As dieselfde parameter meer as een keer in 'n konfigurasielêer gespesifiseer word, word die waarde wat eerste gespesifiseer is toegepas.

So 'n ernstige stel vereistes vir die konfigurasielêer, eerlik gesproke, het my ontstel. Na my mening is die implementering van interaksie met die beheerbediener op Panasonic-fone uiters ongerieflik. In hierdie parameter is die telefoon aansienlik minderwaardig aan die ander.
Wanneer jy die toestel vir die eerste keer aanskakel (of nadat jy dit na fabrieksinstellings teruggestel het), probeer dit om die sogenaamde produklêer te laai (in hierdie geval is dit KX-UT123RU.cfg), wat die paaie na die oorblywende konfigurasielêers.
Produklêer# Panasonic SIP Phone Standaardformaat Lêer # MOENIE HIERDIE LYN VERANDER NIE!

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"

Hierna sal die telefoon 'n boodskap vertoon oor die suksesvolle voltooiing van voorbereiding en sal wag totdat dit herlaai word. En na die herlaai, sal dit begin om die konfigurasielêers wat daaraan toegewys is, te verwerk.

Dit word aanbeveel om algemene instellings vir alle fone in die master.cfg-lêer te spesifiseer. Soos met Dlink, sal ek net 'n paar parameters spesifiseer. Die name van die oorblywende parameters en hul waardes kan gevind word in die dokumentasie op die vervaardiger se webwerf.
meester.cfg############################################## ##########
#Stelselinstellings#
############################################## ##########
## Teken in rekeninginstellings
ADMIN_ID="admin"
ADMIN_PASS="ADMIN_PWD"
USER_ID="gebruiker"
USER_PASS="USER_PWD"

## Stelseltydinstellings
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=""

## Syslog-instellings
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"

## Voorsiening-instellings
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"

############################################## ##########
#Netwerkstellings#
############################################## ##########
## IP-instellings
CONNECTION_TYPE="1"
HOST_NAME="UT123"
DHCP_DNS_ENABLE="Y"
STATIC_IP_ADDRESS=""
STATIC_SUBNET=""
STATIC_GATEWAY=""
USER_DNS1_ADDR=""
USER_DNS2_ADDR=""

## DNS-instellings
DNS_QRY_PRLL="Y"
DNS_PRIORITY="N"
DNS1_ADDR="10.1.1.1"
DNS2_ADDR=""

## HTTP-instellings
HTTPD_PORTOPEN_AUTO="Y"
HTTP_VER="1"
HTTP_USER_AGENT="Panasonic_{MODEL}/{fwver} ({mac})"
HTTP_SSL_VERIFY="0"
CFG_ROOT_CERTIFICATE_PATH=""

## XML-toepassingsinstellings
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=""

Tradisioneel bly slegs die intekenaar se instellings in die individuele toestelkonfigurasielêer oor.
aabbccddeeff.cfgDISPLAY_NAME_1="Gebruiker #168"

PHONE_NUMBER_1="168"
SIP_URI_1="168"
LINE_ENABLE_1="Geaktiveer"
PROFILE_ENABLE_1="Geaktiveer"
SIP_AUTHID_1="168"
SIP_PASS_1="SIP_PWD"

Grandstream GXP-1400

Die parameters van hierdie fone word gestoor in een xml-lêer genaamd cfg{mac}.xml. Of in gewone teks met die naam cfg{mac}. Hierdie foon versoek slegs 'n individuele konfigurasielêer, dus sal dit nie werk om die instellings te optimaliseer deur dit na 'n algemene lêer te skuif nie. Nog 'n kenmerk van die opstel van Grandstreams is die benaming van parameters. Hulle is almal genommer en aangewys as P###. Byvoorbeeld:

P1650 – verantwoordelik vir die webkoppelvlak vir die bestuur van die telefoon (0 – HTTPS, 1 – HTTP)
P47 – SIP-bedieneradres vir verbinding.

As die konfigurasie in 'n tekslêer gestoor word, benodig die parameters geen groepering nie en is dit in enige volgorde. Reëls wat met # begin, word as opmerkings hanteer.

As die instellings in xml-formaat aangebied word, moet hulle in 'n nodus geneste wees , wat op sy beurt in geneste moet word . Alle parameters word geskryf in die vorm van ooreenstemmende etikette met die parameterwaarde binne.
Stel voorbeeld

1.0 8 1 1 SIP_PWD Gebruiker # 271 1 271 270 109 ADMIN_PWD USER_PWD ru 270 35/grootstroom 109 TZc-35 36 109 http://36/provisioning/grandstream dertig

Yealink T19 en T21

Toestelle van hierdie modelle ondersteun individuele konfigurasielêers vir toestelle en algemenes vir modelle. In my geval moes ek die algemene parameters onderskeidelik in die lêers y000000000031.cfg en y000000000034.cfg plaas. Individuele konfigurasielêers word benoem volgens die MAC-adres: 00112233aabb.cfg.

Instellings vir yealinks word in teksformaat gestoor. Die enigste verpligte vereistes is die teenwoordigheid van die lêerweergawe in die eerste reël, in die formaat #!weergawe:1.0.0.1.

Alle parameters word geskryf in die vorm parameter = waarde. Opmerkings moet met 'n "#"-karakter begin. Die name van die parameters en hul waardes kan gevind word in die dokumentasie op die vervaardiger se webwerf.
Algemene instellings#!weergawe:1.0.0.1
#Konfigureer die tipe WAN-poort; 0-DHCP (verstek), 1-PPPoE, 2-Statiese IP-adres;
network.internet_port.type = 0
#Konfigureer die tipe rekenaarpoort; 0-Roeter, 1-Brug (verstek);
netwerk.brug_modus = 1
#Konfigureer die toegangstipe van die webbediener; 0-Gedeaktiveer, 1-HTTP & HTTPS (verstek), Slegs 2-HTTP, Slegs 3-HTTPS;
netwerk.webbediener_tipe = 3
#Konfigureer die maksimum plaaslike RTP-poort. Dit wissel van 0 tot 65535, die verstekwaarde is 11800.
network.port.max_rtpport = 10100
#Konfigureer die minimum plaaslike RTP-poort. Dit wissel van 0 tot 65535, die verstekwaarde is 11780.
network.port.min_rtpport = 10000
security.user_name.admin = wortel
security.user_password = root:ADMIN_PWD
security.user_name.user = gebruiker
security.user_password = gebruiker:USER_PWD
#Spesifiseer die webtaal, die geldige waardes is: Engels, Chinese_S, Turks, Portugees, Spaans, Italiaans, Frans, Russies, Duits en Tsjeggies.
lang.wui = Russies
#Spesifiseer die LCD-taal, die geldige waardes is: Engels (verstek), Chinese_S, Chinese_T, Duits, Frans, Turks, Italiaans, Pools, Spaans en Portugees.
lang.gui = Russies
#Konfigureer die tydsone en tydsonenaam. Die tydsone wissel van -11 tot +12, die verstekwaarde is +8.
#Die verstek tydsonenaam is China (Beijing).
#Verwys na Yealink IP-fone-gebruikersgids vir meer beskikbare tydsones en tydsonename.
plaaslike_tyd.tydsone = +11
local_time.time_zone_name = Vladivostok
#Konfigureer die domeinnaam of die IP-adres van die NTP-bediener. Die verstekwaarde is cn.pool.ntp.org.
local_time.ntp_server1 = 10.1.1.4
#Konfigureer die logo-modus van die LCD-skerm; 0-Gedeaktiveer (verstek), 1-Stelsellogo, 2-Gepasmaakte logo;
phone_setting.lcd_logo.mode = 1
#Konfigureer die toegangs-URL en vertoonnaam van die afgeleë telefoonboek. X wissel van 1 tot 5.
remote_phonebook.data.1.url = 10.1.1.50/provisioning/yealink-phonebook.xml
remote_phonebook.data.1.name = Telefoonboek
features.remote_phonebook.flash_time = 3600

individuele instellings#!weergawe:1.0.0.1
#Aktiveer of deaktiveer die rekening1, 0-Gedeaktiveer (verstek), 1-Geaktiveer;
rekening.1.aktiveer = 1
#Konfigureer die etiket wat op die LCD-skerm vertoon word vir rekening1.
account.1.label = Toetsfoon
#Konfigureer die vertoonnaam van rekening1.
account.1.display_name = Gebruiker 998
#Konfigureer die gebruikersnaam en wagwoord vir registerverifikasie.
rekening.1.auth_name = 998
rekening.1.wagwoord = 998
#Konfigureer die register gebruikersnaam.
rekening.1.gebruikernaam = 998
#Konfigureer die SIP-bedieneradres.
rekening.1.sip_bediener_gasheer = 10.1.1.50
#Spesifiseer die poort vir die SIP-bediener. Die verstekwaarde is 5060.
rekening.1.sip_bediener_poort = 5060

As gevolg hiervan, danksy die wonderlike outomatiese voorsieningsfunksie wat in die fone wat ek genoem is, was daar geen probleme om nuwe toestelle aan die netwerk te koppel nie. Dit het alles daarop neergekom om die MAC-adres van die telefoon uit te vind en 'n konfigurasielêer te genereer met behulp van 'n sjabloon.

Ek hoop jy het tot die einde gelees en baat gevind by wat jy gelees het.

Dankie vir jou aandag.

Bron: will.com

Voeg 'n opmerking