VoIP Zoo – Provisioning

Indrejse

En dag godkendte ledelsen et eksperiment for at introducere IP-telefoni på vores kontor. Da min erfaring på dette område var sparsom, vakte opgaven stor interesse hos mig, og jeg kastede mig ud i at studere forskellige aspekter af problemstillingen. Ved slutningen af ​​dykket besluttede jeg at dele den viden, jeg havde tilegnet mig, i håb om, at den ville være nyttig for nogen. Så…

Indledende data

Asterisk blev valgt og implementeret som en IP PBX. Telefonflåden består af Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 og Dlink DPH-150S(E)/F3, Yealink T19 og T21 enheder. Denne variation skyldes, at det som en del af eksperimentet blev besluttet at prøve lidt af hvert for at danne sig en mening om forholdet pris/kvalitet/bekvemmelighed.

Opgave

Forenkle og forene processen med at konfigurere nye enheder så meget som muligt. Alle telefoner skal være tidssynkroniseret, have en telefonbog indlæst fra serveren og give adgang til indstillinger for administratoren.

Løsningen på dette problem er enkel - implementer automatisk konfiguration af telefoner, den såkaldte. Forsyning. Faktisk vil min implementering af denne vidunderlige funktion blive diskuteret.

Konfiguration af tftpd,dhcpd

For at distribuere indstillinger til telefoner, valgte jeg tftp som en universel mulighed, understøttet af alle platforme, nem at konfigurere og administrere.

Ingen specifik konfiguration var påkrævet for tftp. Jeg installerede standard tftpd og placerede alle de nødvendige filer i dens rodmappe.
Jeg placerede indstillingsfilerne i mapper i overensstemmelse med telefonproducenten. Sandt nok gik Cisco-enheden aldrig ind i sin mappe, så jeg var nødt til at gemme den i dens rod.

For at pege telefonerne til placeringen af ​​tftp-serveren brugte jeg option-66. Derudover opdelte han dem i separate klasser efter fabrikant. Hver klasse modtog sit eget adressesegment og en individuel mappe til konfigurationsfiler. Enheder fra D-link skulle i øvrigt beregnes efter MAC-adresser, da de ikke giver oplysninger om producenten i dhcp-anmodningen.

Fragment dhcpd.conf

# Angiv de nødvendige muligheder option option-66 kode 66 = tekst; class "panasonic" { match if substring (option vendor-class-identifier,0,9) = "Panasonic"; option option-66 "10.1.1.50/panasonic/"; } klasse "cisco" { match if substring (option vendor-class-identifier,0,36) = "Cisco Systems, Inc. IP-telefon CP-7906"; option option-66 "10.1.1.50/cisco/"; } klasse "grandstream" { match if substring (option vendor-class-identifier,0,11) = "Grandstream"; option option-66 "10.1.1.50/grandstream/"; } klasse "dlink" { match if (binary-to-ascii (16,8,":",substring(hardware,1,4)) = "c8:d3:a3:8d") eller (binary-to-ascii (16,8,":",substring(hardware,1,4)) = "90:94:e4:72"); option option-66 "10.1.1.50/dlink/"; } klasse "yealink" { match if substring (option vendor-class-identifier,0,7) = "Yealink"; option option-66 "10.1.1.50/yealink/"; }

Telefoner måtte med magt udelukkes fra den generelle pulje. Ellers ville de ikke gå til deres "soppebassin".
Eksempel på subnetindstillinger

subnet 10.1.1.0 netmaske 255.255.255.0 { option routere 10.1.1.1; pool { nægte medlemmer af "cisco"; nægte medlemmer af "panasonic"; nægte medlemmer af "dlink"; interval 10.1.1.230 10.1.1.240; } pool { tillad medlemmer af "cisco"; interval 10.1.1.65 10.1.1.69; } pool { tillad medlemmer af "panasonic"; interval 10.1.1.60 10.1.1.64; } pool { tillad medlemmer af "dlink"; interval 10.1.1.55 10.1.1.59; } }

Efter at have genstartet alle de involverede tjenester, gik telefonerne trygt til deres tildelte tftp-server for indstillinger. Det eneste, der er tilbage, er at placere dem der.

cisco 7906

Jeg modtog disse enheder i deres originale emballage. Jeg var nødt til at ændre det for at blive venner med en stjerne. Men det er en anden historie. I et specifikt tilfælde, for at konfigurere enheden i henhold til instruktionerne, oprettede jeg filen SEPAABBCCDDEEFF.cnf.xml i roden af ​​tftp-serveren. Hvor AABBCCDDEEFF er enhedens MAC-adresse.

Der er allerede skrevet mere end én gang om opsætning af telefoner fra Cisco, så jeg efterlader bare en arbejdsfil med indstillingerne.
Indstillinger for 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

Hvis du lige skal købe en telefon i denne serie, skal du være forsigtig, automatisk tuning understøttes kun i 150S/F3-enheder. På 150S/F2-enheden, der kom i mine hænder, fandt jeg ikke en sådan funktionalitet.

Konfigurationsfilen kan være i xml- eller almindeligt tekstformat. Der er et krav til xml: tagget skal være i begyndelsen af ​​linjen, ellers vil parseren ignorere det, og værdien af ​​den tilsvarende parameter ændres ikke.

To filer bruges til at konfigurere telefonen. f0D00580000.cfg - til lagring af indstillinger for alle telefoner og 00112233aabb.cfg (MAC-adresse med små bogstaver) for individuelle indstillinger. Individuelle indstillinger har naturligvis højere prioritet.

Det fulde sæt af indstillinger indeholder mere end tusind linjer, for ikke at rode i artiklen, vil jeg beskrive det mindste tilstrækkelige sæt indstillinger.

Rodnoden er påkrævet VOIP_CONFIG_FILE og noden indlejret i den udgave. Indstillingerne vil kun blive anvendt, hvis filversionen er højere end de aktuelle indstillinger på enheden. Du kan finde ud af denne værdi gennem telefonens webgrænseflade i vedligeholdelsesafsnittet (systemstyring). For telefoner med fabriksindstillinger er det i begge tilfælde 2.0002. Derudover skal den enkelte filversion være større end den delte filversion.

Først vil jeg levere en fil med en fælles konfiguration for alle telefoner. Faktisk gemmer den alle indstillinger; den enkelte fil vil kun være ansvarlig for telefonnummeret og inskriptionen på skærmen.

I de to blokke nedenfor er tidszonen og tidssynkroniseringsparametrene indstillet, den indledende port for RTP og netværksbroen mellem enhedens WAN- og LAN-stik er aktiveret.

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>

De faktiske navne på konfigurationsparametrene er tilstrækkeligt beskrivende til at undgå at beskrive dem i detaljer.
SIP for en linje

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

Fjernbetjeningsindstillinger

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

Telefonindstillinger

<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 andre indstillinger forbliver "standard". Nu vil enhver Dlink-telefon, der er tilsluttet netværket, straks acceptere et fælles sæt parametre for alle. For at indstille individuelle parametre for enheden er en separat fil nødvendig. I den behøver du kun at angive de nødvendige indstillinger for en individuel abonnent.
abonnentindstillinger

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

Disse enheder modtager indstillinger i henhold til en lidt anderledes ordning. Konfigurationen gemmes i tekstfiler. Den maksimale konfigurationsfilstørrelse er 120 KB. Uanset antallet af filer bør deres samlede størrelse ikke overstige 120 KB.
Konfigurationsfilen består af et sæt linjer, som er underlagt følgende betingelser:

  • Den første linje er altid en kommentarlinje, inklusive følgende sekvens af tegn (44 bytes):
    # Panasonic SIP-telefon Standardformat Fil #
    Hexadecimal repræsentation af denne sekvens:
    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 6 65 20 C 23 XNUMX XNUMX
    For at forhindre utilsigtede ændringer af den etablerede sekvens af tegn, anbefales det at starte konfigurationsfilen med linjen:
    # Panasonic SIP Phone Standard Format Fil # ÆNDRING IKKE DENNE LINJE!
  • Konfigurationsfiler skal slutte med en tom linje.
  • Hver linje skal slutte med sekvensen " ".
  • Den maksimale strenglængde er 537 bytes, inklusive sekvensen " "
  • Følgende linjer ignoreres:
    • linjer, der overskrider grænsen på 537 byte;
    • tomme linjer;
    • kommentarlinjer der starter med "#";
  • Strengen for hver parameter skrives i formen XXX="yyy" (XXX: parameternavn, yyy: dens værdi). Værdien skal stå i dobbelte anførselstegn.
  • Det er ikke tilladt at opdele en parameterlinje i flere linjer. Dette vil resultere i en fejl under behandling af konfigurationsfilen og som følge heraf en initialiseringsfejl.
  • Værdierne for nogle parametre skal angives separat for hver linje. Parameteren med suffikset "_1" i navnet er parameteren for linje 1; "_2" – for linje 2 osv.
  • Den maksimale længde af parameternavnet er 32 tegn.
  • Den maksimale længde af parameterværdien er 500 tegn eksklusive dobbelte anførselstegn.
  • Ingen mellemrum er tilladt i strengen, medmindre værdien indeholder et mellemrum.
  • Nogle parameterværdier kan angives som "blanke" for at indstille parameteren til en tom værdi.
  • Parametrene er angivet i nogen bestemt rækkefølge.
  • Hvis den samme parameter er angivet mere end én gang i en konfigurationsfil, anvendes den først angivne værdi.

Sådan et seriøst sæt krav til konfigurationsfilen gjorde mig ærlig talt ked af det. Efter min mening er implementeringen af ​​interaktion med kontrolserveren på Panasonic-telefoner ekstremt ubelejlig. I denne parameter er telefonen væsentligt ringere end andre.
Når du tænder for enheden for første gang (eller efter at have nulstillet den til fabriksindstillinger), forsøger den at indlæse den såkaldte produktfil (i dette tilfælde er det KX-UT123RU.cfg), som skal indeholde stierne til resterende konfigurationsfiler.
Produkt fil# Panasonic SIP Phone Standard Format Fil # ÆNDRING IKKE DENNE LINJE!

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"

Herefter vil telefonen vise en meddelelse om vellykket afslutning af forberedelsen og vil vente, indtil den genstartes. Og efter genstarten begynder den at behandle de konfigurationsfiler, der er tildelt den.

Det anbefales at angive generelle indstillinger for alle telefoner i master.cfg-filen. Som med Dlink vil jeg kun angive nogle parametre. Navnene på de resterende parametre og deres værdier kan findes i dokumentationen på producentens hjemmeside.
master.cfg################################################ ##########
#Systemindstillinger#
################################################ ##########
## Login-kontoindstillinger
ADMIN_ID="admin"
ADMIN_PASS="ADMIN_PWD"
USER_ID="bruger"
USER_PASS="USER_PWD"

## Systemtidsindstillinger
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-indstillinger
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"

## Indstillinger for klargøring
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"

################################################ ##########
#Netværks indstillinger#
################################################ ##########
## IP-indstillinger
CONNECTION_TYPE="1"
HOST_NAME="UT123"
DHCP_DNS_ENABLE="Y"
STATIC_IP_ADDRESS=""
STATIC_SUBNET=""
STATIC_GATEWAY=""
USER_DNS1_ADDR=""
USER_DNS2_ADDR=""

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

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

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

Traditionelt forbliver kun abonnentens indstillinger i den individuelle enhedskonfigurationsfil.
aabbccddeeff.cfgDISPLAY_NAME_1="Bruger #168"

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

Grandstream GXP-1400

Parametrene for disse telefoner er gemt i en xml-fil med navnet cfg{mac}.xml. Eller i almindelig tekst med navnet cfg{mac}. Denne telefon anmoder kun om en individuel konfigurationsfil, så det virker ikke at optimere indstillingerne ved at flytte dem til en fælles fil. Et andet træk ved opsætning af Grandstreams er navngivningen af ​​parametre. De er alle nummereret og betegnet som P###. For eksempel:

P1650 – ansvarlig for webgrænsefladen til styring af telefonen (0 – HTTPS, 1 – HTTP)
P47 – SIP-serveradresse til forbindelse.

Hvis konfigurationen er gemt i en tekstfil, kræver parametrene ingen gruppering og er i vilkårlig rækkefølge. Linjer, der starter med #, behandles som kommentarer.

Hvis indstillingerne præsenteres i xml-format, skal de indlejres i en node , som igen skal indlejres i . Alle parametre skrives i form af tilsvarende tags med parameterværdien indeni.
Sæt eksempel

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

Yealink T19 og T21

Enheder af disse modeller understøtter individuelle konfigurationsfiler for enheder og almindelige for modeller. I mit tilfælde var jeg nødt til at placere de generelle parametre i filerne henholdsvis y000000000031.cfg og y000000000034.cfg. Individuelle konfigurationsfiler navngives i henhold til MAC-adressen: 00112233aabb.cfg.

Indstillinger for yealinks gemmes i tekstformat. De eneste obligatoriske krav er tilstedeværelsen af ​​filversionen i første linje i formatet #!version:1.0.0.1.

Alle parametre skrives i formen parameter = værdi. Kommentarer skal begynde med et "#". Navnene på parametrene og deres værdier kan findes i dokumentationen på producentens hjemmeside.
Generelle indstillinger#!version:1.0.0.1
#Konfigurer WAN-porttypen; 0-DHCP (standard), 1-PPPoE, 2-statisk IP-adresse;
netværk.internet_port.type = 0
#Konfigurer pc-porttypen; 0-router, 1-bro (standard);
network.bridge_mode = 1
#Konfigurer adgangstypen for webserveren; 0-Deaktiveret, 1-HTTP & HTTPS(standard), 2-HTTP Kun, 3-HTTPS Kun;
network.web_server_type = 3
#Konfigurer den maksimale lokale RTP-port. Den går fra 0 til 65535, standardværdien er 11800.
network.port.max_rtpport = 10100
#Konfigurer den minimale lokale RTP-port. Den går fra 0 til 65535, standardværdien er 11780.
network.port.min_rtpport = 10000
security.user_name.admin = root
security.user_password = root:ADMIN_PWD
security.user_name.user = bruger
security.user_password = bruger:USER_PWD
#Specificer websproget, de gyldige værdier er: engelsk, kinesisk_S, tyrkisk, portugisisk, spansk, italiensk, fransk, russisk, tysk og tjekkisk.
lang.wui = russisk
#Specificer LCD-sproget, de gyldige værdier er: Engelsk (standard), kinesisk_S, kinesisk_T, tysk, fransk, tyrkisk, italiensk, polsk, spansk og portugisisk.
lang.gui = russisk
#Konfigurer tidszonen og tidszonenavnet. Tidszonen går fra -11 til +12, standardværdien er +8.
#Standardtidszonenavnet er Kina(Beijing).
#Se brugervejledningen til Yealink IP-telefoner for flere tilgængelige tidszoner og tidszonenavne.
lokal_tid.tidszone = +11
local_time.time_zone_name = Vladivostok
#Konfigurer domænenavnet eller IP-adressen på NTP-serveren. Standardværdien er cn.pool.ntp.org.
local_time.ntp_server1 = 10.1.1.4
#Konfigurer logotilstanden på LCD-skærmen; 0-Deaktiveret (standard), 1-Systemlogo, 2-Custom logo;
phone_setting.lcd_logo.mode = 1
#Konfigurer adgangs-URL'en og displaynavnet på fjerntelefonbogen. X går fra 1 til 5.
remote_phonebook.data.1.url = 10.1.1.50/provisioning/yealink-phonebook.xml
remote_phonebook.data.1.name = Telefonbog
features.remote_phonebook.flash_time = 3600

individuelle indstillinger#!version:1.0.0.1
#Aktiver eller deaktiver kontoen1, 0-Deaktiveret (standard), 1-Aktiveret;
konto.1.aktiver = 1
#Konfigurer etiketten vist på LCD-skærmen for konto1.
account.1.label = Testtelefon
#Konfigurer visningsnavnet for konto1.
account.1.display_name = Bruger 998
#Konfigurer brugernavn og adgangskode til registreringsgodkendelse.
account.1.auth_name = 998
konto.1.adgangskode = 998
#Konfigurer registerbrugernavnet.
account.1.user_name = 998
#Konfigurer SIP-serveradressen.
account.1.sip_server_host = 10.1.1.50
#Specificer porten til SIP-serveren. Standardværdien er 5060.
account.1.sip_server_port = 5060

Som følge heraf var der ingen problemer med at forbinde nye enheder til netværket takket være den vidunderlige automatiske leveringsfunktion, der er tilvejebragt i de telefoner, jeg nævnte. Det hele kom ned til at finde ud af telefonens MAC-adresse og generere en konfigurationsfil ved hjælp af en skabelon.

Jeg håber du læste til ende og fik gavn af det du læste.

Tak for din opmærksomhed.

Kilde: www.habr.com

Tilføj en kommentar