VoIP Zoo – provisjonering

Entry

En dag godkjente ledelsen et eksperiment for å introdusere IP-telefoni på kontoret vårt. Siden min erfaring på dette feltet var sparsom, vakte oppgaven stor interesse hos meg og jeg kastet meg ut i å studere ulike aspekter ved problemstillingen. På slutten av dykket bestemte jeg meg for å dele kunnskapen jeg hadde tilegnet meg i håp om at den ville være nyttig for noen. Så…

Innledende data

Asterisk ble valgt og distribuert som en IP PBX. Telefonparken består av Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 og Dlink DPH-150S(E)/F3, Yealink T19 og T21 enheter. Denne variasjonen skyldes at det som en del av forsøket ble besluttet å prøve litt av hvert for å danne seg en mening om forholdet pris/kvalitet/bekvemmelighet.

Oppgave

Forenkle og forene prosessen med å sette opp nye enheter så mye som mulig. Alle telefoner må være tidssynkronisert, ha en telefonbok lastet fra serveren og gi tilgang til innstillinger for administrator.

Løsningen på dette problemet er enkel - implementer automatisk konfigurasjon av telefoner, den såkalte. Provisjon. Faktisk vil min implementering av denne fantastiske funksjonen bli diskutert.

Konfigurerer tftpd,dhcpd

For å distribuere innstillinger til telefoner, valgte jeg tftp som et universelt alternativ, støttet av alle plattformer, lett å konfigurere og administrere.

Ingen spesifikk konfigurasjon var nødvendig for tftp. Jeg installerte standard tftpd og plasserte alle nødvendige filer i rotkatalogen.
Jeg plasserte innstillingsfilene i kataloger i samsvar med telefonprodusenten. Det er sant at Cisco-enheten aldri gikk inn i mappen, så jeg måtte lagre den i roten.

For å peke telefonene til plasseringen av tftp-serveren brukte jeg alternativ-66. I tillegg delte han dem inn i separate klasser etter produsent. Hver klasse fikk sitt eget adressesegment og en individuell mappe for konfigurasjonsfiler. Forresten, enheter fra D-link måtte beregnes etter MAC-adresser, siden de ikke gir informasjon om produsenten i dhcp-forespørselen.

Fragment dhcpd.conf

# Spesifiser de nødvendige alternativene alternativ alternativ-66 kode 66 = tekst; class "panasonic" { match if substring (opsjon vendor-class-identifier,0,9) = "Panasonic"; alternativ alternativ-66 "10.1.1.50/panasonic/"; } class "cisco" { match if substring (option vendor-class-identifier,0,36) = "Cisco Systems, Inc. IP-telefon CP-7906"; alternativ alternativ-66 "10.1.1.50/cisco/"; } klasse "grandstream" { match if substring (opsjon vendor-class-identifier,0,11) = "Grandstream"; alternativ alternativ-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(maskinvare,1,4)) = "90:94:e4:72"); alternativ alternativ-66 "10.1.1.50/dlink/"; } klasse "yealink" { match if substring (opsjon vendor-class-identifier,0,7) = "Yealink"; alternativ alternativ-66 "10.1.1.50/yealink/"; }

Telefoner måtte ekskluderes med tvang fra det generelle bassenget. Ellers ønsket de ikke å gå til "padlebassenget" deres.
Eksempel på subnettinnstillinger

subnett 10.1.1.0 nettmaske 255.255.255.0 { opsjonsrutere 10.1.1.1; pool { nekte medlemmer av "cisco"; nekte medlemmer av "panasonic"; nekte medlemmer av "dlink"; område 10.1.1.230 10.1.1.240; } pool { tillate medlemmer av "cisco"; område 10.1.1.65 10.1.1.69; } pool { tillate medlemmer av "panasonic"; område 10.1.1.60 10.1.1.64; } pool { tillate medlemmer av "dlink"; område 10.1.1.55 10.1.1.59; } }

Etter å ha startet alle de involverte tjenestene på nytt, gikk telefonene trygt til sin tilordnede tftp-server for innstillinger. Det gjenstår bare å plassere dem der.

cisco 7906

Jeg mottok disse enhetene i originalemballasjen. Jeg måtte endre den for å bli venner med stjerne. Men det er en annen historie. I et spesifikt tilfelle, for å konfigurere enheten, i henhold til instruksjonene, opprettet jeg filen SEPAABBCCDDEEFF.cnf.xml i roten til tftp-serveren. Der AABBCCDDEEFF er MAC-adressen til enheten.

Det har allerede blitt skrevet mer enn en gang om å sette opp telefoner fra Cisco, så jeg vil bare legge igjen en fungerende fil med innstillingene.
Innstillinger 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 akkurat skal kjøpe en telefon i denne serien, vær forsiktig, automatisk tuning støttes kun på 150S/F3-enheter. På 150S/F2-enheten som kom i mine hender, fant jeg ikke slik funksjonalitet.

Konfigurasjonsfilen kan være i xml- eller ren tekstformat. Det er ett krav for xml: taggen må være på begynnelsen av linjen, ellers vil parseren ignorere den og verdien til den tilsvarende parameteren vil ikke endres.

To filer brukes til å konfigurere telefonen. f0D00580000.cfg - for lagring av innstillinger for alle telefoner og 00112233aabb.cfg (MAC-adresse med små bokstaver) for individuelle innstillinger. Individuelle innstillinger har naturligvis høyere prioritet.

Hele settet med innstillinger inneholder mer enn tusen linjer, for ikke å rote opp artikkelen, vil jeg beskrive det minste tilstrekkelige settet med innstillinger.

Rotnoden er nødvendig VOIP_CONFIG_FILE og noden nestet i den versjon. Innstillingene brukes bare hvis filversjonen er høyere enn gjeldende innstillinger på enheten. Du kan finne ut denne verdien gjennom telefonens nettgrensesnitt i vedlikeholdsdelen (systemadministrasjon). For telefoner med fabrikkinnstillinger er det i begge tilfeller 2.0002. I tillegg må den enkelte filversjonen være større enn den delte filversjonen.

Først vil jeg gi en fil med en felles konfigurasjon for alle telefoner. Faktisk lagrer den alle innstillingene; den enkelte filen vil kun være ansvarlig for telefonnummeret og inskripsjonen på skjermen.

I de to blokkene nedenfor angis tidssone- og tidssynkroniseringsparametere, startporten for RTP og nettverksbroen mellom WAN- og LAN-kontaktene til enheten er aktivert.

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 navnene på konfigurasjonsparametrene er tilstrekkelig beskrivende til å unngå å beskrive dem i detalj.
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>

Fjernkontrollinnstillinger

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

Telefon-instillinger

<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 innstillinger forblir "standard". Nå vil enhver Dlink-telefon som er koblet til nettverket umiddelbart godta et felles sett med parametere for alle. For å angi individuelle parametere for enheten, er det nødvendig med en egen fil. I den trenger du bare å spesifisere de nødvendige innstillingene for en individuell abonnent.
abonnentinnstillinger

<?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 enhetene mottar innstillinger i henhold til et litt annet opplegg. Konfigurasjonen lagres i tekstfiler. Maksimal størrelse på konfigurasjonsfilen er 120 KB. Uavhengig av antall filer, bør deres totale størrelse ikke overstige 120 KB.
Konfigurasjonsfilen består av et sett med linjer, som er underlagt følgende betingelser:

  • Den første linjen er alltid en kommentarlinje, inkludert følgende tegnsekvens (44 byte):
    # Panasonic SIP-telefon Standardformat fil #
    Heksadesimal representasjon av denne sekvensen:
    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 å forhindre utilsiktede endringer i den etablerte sekvensen av tegn, anbefales det å starte konfigurasjonsfilen med linjen:
    # Panasonic SIP Phone Standard Format Fil # IKKE ENDRE DENNE LINJEN!
  • Konfigurasjonsfiler må avsluttes med en tom linje.
  • Hver linje må slutte med sekvensen " ".
  • Maksimal strenglengde er 537 byte, inkludert sekvensen " "
  • Følgende linjer ignoreres:
    • linjer som overskrider grensen på 537 byte;
    • tomme linjer;
    • kommentarlinjer som starter med "#";
  • Strengen for hver parameter skrives i formen XXX=“ååå” (XXX: parameternavn, ååå: verdien). Verdien må stå i doble anførselstegn.
  • Det er ikke tillatt å dele en parameterlinje i flere linjer. Dette vil resultere i en feil under behandling av konfigurasjonsfilen og, som et resultat, initialiseringsfeil.
  • Verdiene til noen parametere må spesifiseres separat for hver linje. Parameteren med suffikset "_1" i navnet er parameteren for linje 1; "_2" – for linje 2 osv.
  • Maksimal lengde på parameternavnet er 32 tegn.
  • Maksimal lengde på parameterverdien er 500 tegn unntatt doble anførselstegn.
  • Ingen mellomrom er tillatt i strengen med mindre verdien inkluderer et mellomromstegn.
  • Noen parameterverdier kan spesifiseres som "blanke" for å sette parameteren til en tom verdi.
  • Parametrene er spesifisert i ingen spesiell rekkefølge.
  • Hvis den samme parameteren er spesifisert mer enn én gang i en konfigurasjonsfil, brukes verdien som er spesifisert først.

Et så alvorlig sett med krav til konfigurasjonsfilen, ærlig talt, opprørte meg. Etter min mening er implementeringen av interaksjon med kontrollserveren på Panasonic-telefoner ekstremt upraktisk. I denne parameteren er telefonen betydelig dårligere enn de andre.
Når du slår på enheten for første gang (eller etter å ha tilbakestilt den til fabrikkinnstillinger), prøver den å laste den såkalte produktfilen (i dette tilfellet er det KX-UT123RU.cfg), som skal inneholde banene til gjenværende konfigurasjonsfiler.
Produktfil# Panasonic SIP Phone Standard Format Fil # IKKE ENDRE DENNE LINJEN!

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"

Etter dette vil telefonen vise en melding om vellykket fullføring av forberedelsen og vil vente til den startes på nytt. Og etter omstart begynner den å behandle konfigurasjonsfilene som er tildelt den.

Det anbefales å angi generelle innstillinger for alle telefoner i master.cfg-filen. Som med Dlink vil jeg bare spesifisere noen parametere. Navnene på de resterende parameterne og deres verdier finner du i dokumentasjonen på produsentens nettsted.
master.cfg############################################### ##########
#Systeminnstillinger#
############################################### ##########
## Logg inn kontoinnstillinger
ADMIN_ID="admin"
ADMIN_PASS="ADMIN_PWD"
USER_ID="bruker"
USER_PASS="USER_PWD"

## Systemtidsinnstillinger
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-innstillinger
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"

## Klargjøringsinnstillinger
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"

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

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

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

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

Tradisjonelt forblir bare abonnentens innstillinger i konfigurasjonsfilen for den enkelte enheten.
aabbccddeeff.cfgDISPLAY_NAME_1="Bruker #168"

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

Grandstream GXP-1400

Parametrene til disse telefonene er lagret i én xml-fil kalt cfg{mac}.xml. Eller i ren tekst med navnet cfg{mac}. Denne telefonen ber bare om en individuell konfigurasjonsfil, så det vil ikke fungere å optimalisere innstillingene ved å flytte dem til en felles fil. En annen funksjon ved å sette opp Grandstreams er navngivning av parametere. De er alle nummerert og betegnet som P###. For eksempel:

P1650 – ansvarlig for nettgrensesnittet for å administrere telefonen (0 – HTTPS, 1 – HTTP)
P47 – SIP-serveradresse for tilkobling.

Hvis konfigurasjonen er lagret i en tekstfil, krever ikke parameterne noen gruppering og er i hvilken som helst rekkefølge. Linjer som begynner med # behandles som kommentarer.

Hvis innstillingene presenteres i xml-format, må de nestes i en node , som igjen må nestes inn . Alle parametere skrives i form av tilsvarende tagger med parameterverdien inni.
Sett eksempel

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

Yealink T19 og T21

Enheter av disse modellene støtter individuelle konfigurasjonsfiler for enheter og vanlige for modeller. I mitt tilfelle måtte jeg plassere de generelle parameterne i filene y000000000031.cfg og y000000000034.cfg, henholdsvis. Individuelle konfigurasjonsfiler navngis i henhold til MAC-adressen: 00112233aabb.cfg.

Innstillinger for yealinks lagres i tekstformat. De eneste obligatoriske kravene er tilstedeværelsen av filversjonen på første linje, i formatet #!versjon:1.0.0.1.

Alle parametere skrives i formen parameter = verdi. Kommentarer må begynne med et "#". Navnene på parameterne og deres verdier finner du i dokumentasjonen på produsentens nettsted.
Generelle innstillinger#!versjon:1.0.0.1
#Konfigurer WAN-porttypen; 0-DHCP (standard), 1-PPPoE, 2-statisk IP-adresse;
network.internet_port.type = 0
#Konfigurer PC-porttypen; 0-ruter, 1-bro (standard);
network.bridge_mode = 1
#Konfigurer tilgangstypen til webserveren; 0-Deaktivert, 1-HTTP & HTTPS(standard), 2-HTTP Only, 3-HTTPS Only;
network.web_server_type = 3
#Konfigurer den maksimale lokale RTP-porten. Den varierer fra 0 til 65535, standardverdien er 11800.
network.port.max_rtpport = 10100
#Konfigurer minimum lokale RTP-port. Den varierer fra 0 til 65535, standardverdien er 11780.
network.port.min_rtpport = 10000
security.user_name.admin = rot
security.user_password = rot:ADMIN_PWD
security.user_name.user = bruker
security.user_password = bruker:USER_PWD
#Spesifiser nettspråket, de gyldige verdiene er: engelsk, kinesisk_S, tyrkisk, portugisisk, spansk, italiensk, fransk, russisk, tysk og tsjekkisk.
lang.wui = russisk
#Spesifiser LCD-språket, de gyldige verdiene er: engelsk (standard), kinesisk_S, kinesisk_T, tysk, fransk, tyrkisk, italiensk, polsk, spansk og portugisisk.
lang.gui = russisk
#Konfigurer tidssonen og tidssonenavnet. Tidssonen varierer fra -11 til +12, standardverdien er +8.
#Standard tidssonenavn er Kina(Beijing).
#Se brukerhåndboken for Yealink IP-telefoner for flere tilgjengelige tidssoner og tidssonenavn.
lokal_tid.tidssone = +11
local_time.time_zone_name = Vladivostok
#Konfigurer domenenavnet eller IP-adressen til NTP-serveren. Standardverdien er cn.pool.ntp.org.
local_time.ntp_server1 = 10.1.1.4
#Konfigurer logomodusen til LCD-skjermen; 0-Deaktivert (standard), 1-Systemlogo, 2-Egendefinert logo;
phone_setting.lcd_logo.mode = 1
#Konfigurer tilgangs-URLen og visningsnavnet til den eksterne telefonboken. X varierer fra 1 til 5.
remote_phonebook.data.1.url = 10.1.1.50/provisioning/yealink-phonebook.xml
remote_phonebook.data.1.name = Telefonbok
features.remote_phonebook.flash_time = 3600

individuelle innstillinger#!versjon:1.0.0.1
#Aktiver eller deaktiver kontoen1, 0-Deaktivert (standard), 1-Aktivert;
account.1.enable = 1
#Konfigurer etiketten som vises på LCD-skjermen for konto1.
account.1.label = Testtelefon
#Konfigurer visningsnavnet til konto1.
account.1.display_name = Bruker 998
#Konfigurer brukernavn og passord for registerautentisering.
account.1.auth_name = 998
konto.1.passord = 998
#Konfigurer registerbrukernavnet.
account.1.user_name = 998
#Konfigurer SIP-serveradressen.
account.1.sip_server_host = 10.1.1.50
#Spesifiser porten for SIP-serveren. Standardverdien er 5060.
account.1.sip_server_port = 5060

Som et resultat, takket være den fantastiske autoprovision-funksjonen i telefonene jeg nevnte, var det ingen problemer med å koble nye enheter til nettverket. Det hele gikk ut på å finne ut MAC-adressen til telefonen og generere en konfigurasjonsfil ved hjelp av en mal.

Jeg håper du leste til slutten og hadde nytte av det du leste.

Takk for oppmerksomheten.

Kilde: www.habr.com

Legg til en kommentar