VoIP Zoo - Pruvisioning

Plus

Un ghjornu, a gestione hà appruvatu un esperimentu per intruduce a telefonia IP in u nostru uffiziu. Siccomu a mo spirienza in questu campu era scarsa, u compitu hà suscitatu un grande interessu in mè è mi sò immersi in studià diversi aspetti di u prublema. À a fine di l'immersione, decisu di sparte a cunniscenza ch'e aghju acquistatu in a speranza chì serà utile à qualchissia. Allora…

Dati iniziali

Asterisk hè statu sceltu è implementatu cum'è IP PBX. A flotta di u telefuninu hè custituita da Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 è Dlink DPH-150S(E)/F3, Yealink T19 è T21. Sta variazione hè duvuta à u fattu chì, cum'è parte di l'esperimentu, hè statu decisu di pruvà un pocu di tuttu per fà una opinione nantu à u rapportu prezzu / qualità / cunvenzione.

Objettivu

Simplify and unify the process of set up new devices as much as possible. Tutti i telefoni anu da esse sincronizzati in u tempu, avè un libru telefuninu caricatu da u servitore è furnisce l'accessu à i paràmetri per l'amministratore.

A suluzione à stu prublema hè simplice - implementà a cunfigurazione automatica di i telefoni, u cusì chjamatu. Pruvisioning. In verità, a mo implementazione di sta maravigliosa funzione serà discututa.

Configurazione di tftpd, dhcpd

Per distribuisce i paràmetri à i telefoni, aghju sceltu tftp cum'è una opzione universale, supportata da tutte e plataforme, faciule da cunfigurà è gestisce.

Nisuna cunfigurazione specifica era necessaria per tftp. Aghju installatu tftpd standard è pusatu tutti i schedarii necessarii in u so repertoriu radicali.
Aghju postu i schedarii di paràmetri in cartulari in cunfurmità cù u fabricatore di u telefuninu. True, u dispusitivu Cisco ùn hè mai andatu in u so cartulare, cusì aghju avutu per almacenà in a so radica.

Per indicà i telefoni à u locu di u servitore tftp, aghju utilizatu l'opzione-66. Inoltre, li divisu in classi separati da u fabricatore. Ogni classa hà ricevutu u so propiu segmentu di indirizzu è un cartulare individuale per i schedarii di cunfigurazione. In modu, i dispositi di D-link anu da esse calculatu da l'indirizzi MAC, postu chì ùn furnisce micca infurmazioni nantu à u fabricatore in a dumanda dhcp.

Fragment dhcpd.conf

# Specificate l'opzioni di l'opzioni richieste option-66 code 66 = testu; class "panasonic" { match if substring (option vendor-class-identifier,0,9) = "Panasonic"; opzione option-66 "10.1.1.50/panasonic/"; } class "cisco" { match if substring (option vendor-class-identifier,0,36) = "Cisco Systems, Inc. IP Phone CP-7906"; opzione option-66 "10.1.1.50/cisco/"; } class "grandstream" { match if substring (option vendor-class-identifier,0,11) = "Grandstream"; option option-66 "10.1.1.50/grandstream/"; } class "dlink" { match if (binary-to-ascii (16,8,":",substring (hardware,1,4)) = "c8:d3:a3:8d") o (binary-to-ascii (16,8,":",substring(hardware,1,4)) = "90:94:e4:72"); opzione option-66 "10.1.1.50/dlink/"; } class "yealink" { match if substring (option vendor-class-identifier,0,7) = "Yealink"; option option-66 "10.1.1.50/yealink/"; }

I telefuni anu da esse escluditu da a piscina generale. Altrimenti, ùn vulianu micca andà in a so "piscina".
Esempiu di paràmetri di subnet

subnet 10.1.1.0 netmask 255.255.255.0 { option routers 10.1.1.1; pool { deny membri di "cisco"; ricusà i membri di "panasonic"; ricusà i membri di "dlink"; gamma 10.1.1.230 10.1.1.240; } pool { permettenu i membri di "cisco"; gamma 10.1.1.65 10.1.1.69; } pool { permettenu i membri di "panasonic"; gamma 10.1.1.60 10.1.1.64; } pool { permettenu i membri di "dlink"; gamma 10.1.1.55 10.1.1.59; } }

Dopu avè riavviatu tutti i servizii implicati, i telefoni sò andati cun fiducia à u so servitore tftp assignatu per i paràmetri. Il ne reste plus qu'à les placer là.

Cisco 7906

Aghju ricevutu sti dispusitivi in ​​u so imballaggio originale. Aviu avutu a cambià per fà amici cù l'asteriscu. Ma hè una storia diversa. In un casu specificu, per cunfigurà u dispusitivu, secondu l'istruzzioni, aghju creatu u schedariu SEPAABBCCDDEEFF.cnf.xml in a radica di u servitore tftp. Induve AABBCCDDEEFF hè l'indirizzu MAC di u dispusitivu.

Hè digià statu scrittu più di una volta nantu à a stallazione di i telefoni da Cisco, cusì lascià solu un schedariu di travagliu cù i paràmetri.
Settings per 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

Sè vo site solu per cumprà un telefunu in questa serie, fate attenzione, l'autotuning hè supportatu solu in i dispositi 150S/F3. In u dispusitivu 150S / F2 chì hè ghjuntu in e mo mani, ùn aghju micca truvatu tali funziunalità.

U schedariu di cunfigurazione pò esse in format xml o testu chjaru. Ci hè un requisitu per xml: l'etichetta deve esse à u principiu di a linea, altrimente l'analizzatore l'ignorarà è u valore di u paràmetru currispundente ùn cambia micca.

Dui schedari sò usati per cunfigurà u telefunu. f0D00580000.cfg - per guardà paràmetri per tutti i telefoni è 00112233aabb.cfg (indirizzu MAC in minuscule) per paràmetri individuali. I paràmetri individuali anu naturalmente una priorità più alta.

L'inseme cumpletu di paràmetri cuntene più di milla linee, per ùn sbulicà l'articulu, descriveraghju u minimu minimu di paràmetri.

U node root hè necessariu VOIP_CONFIG_FILE è u nodu nidificatu in ellu versione. I paràmetri seranu applicati solu se a versione di u schedariu hè più altu ch'è i paràmetri attuali in u dispusitivu. Pudete scopre stu valore attraversu l'interfaccia web di u telefunu in a sezione di mantenimentu (gestione di u sistema). Per i telefoni cù paràmetri di fabbrica, in i dui casi hè 2.0002. Inoltre, a versione di u schedariu individuale deve esse più grande di a versione di u schedariu spartutu.

Prima daraghju un schedariu cù una cunfigurazione cumuna per tutti i telefoni. In fatti, guarda tutti i paràmetri; u schedariu individuale serà solu rispunsevuli di u numeru di telefunu è l'inscription nantu à u screnu.

In i dui blocchi sottu, u fusu orariu è i paràmetri di sincronizazione di l'ora sò stabiliti, u portu iniziale per RTP è u ponte di rete trà i connettori WAN è LAN di u dispusitivu hè attivatu.

Frammentu n ° 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>

I nomi attuali di i paràmetri di cunfigurazione sò abbastanza descrittive per evità di descriverà in dettaglio.
SIP per una linea

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

Settings Control Remote

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

Configurazione di u telefunu

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

Tutti l'altri paràmetri restanu "predeterminati". Avà ogni telefuninu Dlink cunnessu à a reta accettà immediatamente un settore cumuni di paràmetri per tutti. Per stabilisce paràmetri individuali per u dispusitivu, hè necessariu un schedariu separatu. In questu hè solu bisognu di specificà i paràmetri necessarii per un abbonatu individuale.
paràmetri di l'abbonatu

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

Sti dispusitivi ricevenu paràmetri secondu un schema pocu sfarente. A cunfigurazione hè guardata in i schedarii di testu. A dimensione massima di u schedariu di cunfigurazione hè 120 KB. Indipendentemente da u numeru di schedari, a so dimensione tutale ùn deve esse più di 120 KB.
U schedariu di cunfigurazione hè custituitu da una serie di linii, chì sò sottumessi à e seguenti cundizioni:

  • A prima linea hè sempre una linea di cumentu, cumprese a seguente sequenza di caratteri (44 bytes):
    # Panasonic SIP Phone Formatu Standard File #
    Rappresentazione esadecimale di sta sequenza:
    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 20F 46E 69 6 65 20 23 XNUMXE XNUMX XNUMX XNUMX XNUMX XNUMX XNUMX XNUMX XNUMX XNUMX XNUMX XNUMX XNUMX XNUMX C XNUMX XNUMX XNUMX
    Per impediscenu cambiamenti accidentali à a sequenza stabilita di caratteri, hè cunsigliatu di inizià u schedariu di cunfigurazione cù a linea:
    # Panasonic SIP Phone Formatu Standard File # NON CAMBIA STA LINEA!
  • I schedarii di cunfigurazione devenu finiscinu cù una linea viota.
  • Ogni linea deve finisce cù a sequenza " ".
  • A lunghezza massima di a stringa hè 537 bytes, cumprese a sequenza " "
  • I seguenti linii sò ignorati:
    • linee chì superanu u limitu di 537 byte;
    • linee viote;
    • linee di cumentu chì cumincianu cù "#";
  • A stringa per ogni paràmetru hè scritta in a forma XXX = "yyy" (XXX: nome di paràmetru, yyy: u so valore). U valore deve esse chjusu in virgulette doppie.
  • Splitting una linea di paràmetru in parechje linee ùn hè micca permessa. Questu risultatu in un errore di processazione di u schedariu di cunfigurazione è, in u risultatu, fallimentu di inizializazione.
  • I valori di certi paràmetri deve esse specificatu separatamente per ogni linea. U paràmetru cù u suffissu "_1" in u nome hè u paràmetru per a linea 1; "_2" - per a linea 2, etc.
  • A lunghezza massima di u nome di u paràmetru hè 32 caratteri.
  • A lunghezza massima di u valore di u paràmetru hè di 500 caratteri eccettu i caratteri di virgulette.
  • Ùn sò micca permessi spazii in a stringa, salvu chì u valore include un caratteru di spaziu.
  • Certi valori di paràmetru ponu esse specificati cum'è "biancu" per stabilisce u paràmetru à un valore viotu.
  • I paràmetri sò specificati in nisun ordine particulari.
  • Se u listessu paràmetru hè specificatu più di una volta in un schedariu di cunfigurazione, u valore specificatu prima hè applicatu.

Un tali seriu seriu di esigenze per u schedariu di cunfigurazione, francamente, mi dispiace. In u mo parè, l'implementazione di l'interazzione cù u servitore di cuntrollu nantu à i telefoni Panasonic hè estremamente inconveniente. In questu paràmetru, u telefunu hè significativamente inferior à l'altri.
Quandu accende u dispusitivu per a prima volta (o dopu avè resettatu à i paràmetri di fabbrica), prova di carricà u chjamatu schedariu di produttu (in questu casu hè KX-UT123RU.cfg), chì deve cuntene i percorsi di u pruduttu. i schedarii di cunfigurazione rimanenti.
File di u produttu# Panasonic SIP Phone Formatu Standard File # NON CAMBIA STA LINEA!

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"

Dopu à questu, u telefunu mostrarà un missaghju nantu à u successu di a preparazione è aspittàrà finu à chì hè riavviatu. È dopu à u reboot, hà da cumincià à processà i schedarii di cunfigurazione assignati.

Hè ricumandemu di specificà paràmetri generale per tutti i telefoni in u schedariu master.cfg. Cum'è cù Dlink, solu specificà certi parametri. I nomi di i paràmetri rimanenti è i so valori ponu esse truvati in a documentazione in u situ web di u fabricatore.
maestru.cfg##################################################### ##########
#Parametri di sistema#
##################################################### ##########
## Configurazione di u contu di login
ADMIN_ID = "amministratore"
ADMIN_PASS="ADMIN_PWD"
USER_ID = "utilizatori"
USER_PASS="USER_PWD"

## Impostazioni di u tempu di u Sistema
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=""

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

## Impostazioni di Pruvisioning
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"

##################################################### ##########
#Impostazioni di rete#
##################################################### ##########
## Impostazioni IP
CONNECTION_TYPE = "1"
HOST_NAME="UT123"
DHCP_DNS_ENABLE = "Y"
STATIC_IP_ADDRESS=""
STATIC_SUBNET=""
STATIC_GATEWAY=""
USER_DNS1_ADDR=""
USER_DNS2_ADDR=""

## Impostazioni DNS
DNS_QRY_PRLL="Y"
DNS_PRIORITY="N"
DNS1_ADDR = "10.1.1.1"
DNS2_ADDR=""

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

## Impostazioni di l'applicazione XML
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=""

Tradizionalmente, solu i paràmetri di l'abbonatu restanu in u schedariu di cunfigurazione di u dispusitivu individuale.
aabbccddeeff.cfgDISPLAY_NAME_1="Usuariu #168"

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

Grandstream GXP-1400

I paràmetri di sti telefoni sò guardati in un schedariu xml chjamatu cfg{mac}.xml. O in testu chjaru cù u nome cfg {mac}. Stu telefuninu dumanda solu un schedariu di cunfigurazione individuale, cusì ottimisà i paràmetri movenduli in un schedariu cumuni ùn funziona micca. Un'altra caratteristica di a creazione di Grandstreams hè a denominazione di i paràmetri. Sò tutti numerati è designati cum'è P###. Per esempiu:

P1650 - rispunsevuli di l'interfaccia web per a gestione di u telefunu (0 - HTTPS, 1 - HTTP)
P47 - Indirizzu di u servitore SIP per a cunnessione.

Se a cunfigurazione hè guardata in un schedariu di testu, i paràmetri ùn anu micca bisognu di un gruppu è sò in ogni ordine. E linee chì cumincianu cù # sò trattate cum'è cumenti.

Se i paràmetri sò presentati in formatu xml, devenu esse nidificatu in u node , chì à u turnu deve esse nidificatu . Tutti i paràmetri sò scritti in forma di tag currispondenti cù u valore di u paràmetru in l'internu.
Esempiu di stallazione

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

Yealink T19 è T21

I dispusitivi di sti mudelli supportanu i schedarii di cunfigurazione individuali per i dispositi è quelli cumuni per i mudelli. In u mo casu, aghju avutu à mette i paràmetri generale in i schedari y000000000031.cfg è y000000000034.cfg, rispettivamente. I schedarii di cunfigurazione individuali sò chjamati secondu l'indirizzu MAC: 00112233aabb.cfg.

I paràmetri per i yealinks sò guardati in u furmatu di testu. L'unicu requisitu obligatoriu hè a prisenza di a versione di u schedariu in a prima linea, in u formatu #!version:1.0.0.1.

Tutti i paràmetri sò scritti in a forma paràmetru = valore. I cumenti devenu principià cù un caratteru "#". I nomi di i parametri è i so valori ponu esse truvati in a documentazione nantu à u situ web di u fabricatore.
Paràmetri generale#!versione:1.0.0.1
# Configurate u tipu di portu WAN; 0-DHCP (default), 1-PPPoE, 2-Static IP Address;
network.internet_port.type = 0
# Configurate u tipu di portu di PC; 0-Router, 1-Bridge (default);
network.bridge_mode = 1
# Configurate u tipu d'accessu di u servitore web; 0-Disabilitatu, 1-HTTP & HTTPS (predeterminatu), 2-HTTP Solu, 3-HTTPS Solu;
network.web_server_type = 3
# Configurate u portu RTP locale massimu. Va da 0 à 65535, u valore predeterminatu hè 11800.
network.port.max_rtpport = 10100
# Configurate u portu RTP locale minimu. Hè da 0 à 65535, u valore predeterminatu hè 11780.
network.port.min_rtpport = 10000
security.user_name.admin = root
security.user_password = root:ADMIN_PWD
security.user_name.user = utilizatore
security.user_password = usu:USER_PWD
#Specificate a lingua web, i valori validi sò: inglese, cinese_S, turcu, portoghese, spagnolu, talianu, francese, russu, tedesco è cecu.
lang.wui = Russu
#Specificate a lingua LCD, i valori validi sò: Inglese (predefinitu), Chinese_S, Chinese_T, Tedesco, Francese, Turcu, Talianu, Polaccu, Spagnolu è Portoghese.
lang.gui = Russu
# Configurate u fusu orariu è u nome di u fusu orariu. U fusu orariu varieghja da -11 à +12, u valore predeterminatu hè +8.
#U nome di u fusu orariu predeterminatu hè Cina (Beijing).
#Refer to Yealink IP Phones User Guide per più fusi orari dispunibili è nomi di fusi orari.
Local_time.time_zone = +11
local_time.time_zone_name = Vladivostok
# Configurate u nome di duminiu o l'indirizzu IP di u servitore NTP. U valore predeterminatu hè cn.pool.ntp.org.
local_time.ntp_server1 = 10.1.1.4
# Configurate u modu di logu di u screnu LCD; 0-Disabilitatu (predeterminatu), 1-Logo di u sistema, 2-Logo persunalizatu;
phone_setting.lcd_logo.mode = 1
# Configurate l'URL d'accessu è mostra u nome di a rubrica remota. X varieghja da 1 à 5.
remote_phonebook.data.1.url = 10.1.1.50/provisioning/yealink-phonebook.xml
remote_phonebook.data.1.name = Rubrica
features.remote_phonebook.flash_time = 3600

paràmetri individuali#!versione:1.0.0.1
#Abilita o disattiveghjanu u account1, 0-Disabled (predeterminatu), 1-Enabled;
account.1.enable = 1
# Configurate l'etichetta affissata nantu à u screnu LCD per account1.
account.1.label = Testu di u telefunu
# Configurate u nome di visualizazione di u contu1.
account.1.display_name = User 998
# Configurate u nome d'utilizatore è a password per l'autentificazione di registru.
account.1.auth_name = 998
contu.1.password = 998
# Configurate u nome d'utilizatore registratu.
account.1.user_name = 998
# Configurate l'indirizzu di u servitore SIP.
account.1.sip_server_host = 10.1.1.50
#Specifica u portu per u servitore SIP. U valore predeterminatu hè 5060.
account.1.sip_server_port = 5060

In u risultatu, grazia à a maravigliosa funzione d'auto-provisione furnita in i telefoni chì aghju citatu, ùn ci era micca prublemi per cunnette novi dispositi à a reta. Tuttu hè vinutu per truvà l'indirizzu MAC di u telefunu è generà un schedariu di cunfigurazione cù un mudellu.

Spergu chì leghjite finu à a fine è prufittà di ciò chì avete lettu.

ti ringraziu per u vostru attinzioni.

Source: www.habr.com

Add a comment