Zoo de VoIP: aprovisionament

Entrada

Un dia, la direcció va aprovar un experiment per introduir la telefonia IP a la nostra oficina. Com que la meva experiència en aquest camp era escassa, la tasca em va despertar un gran interès i em vaig endinsar en l'estudi de diversos aspectes del tema. Al final de la immersió, vaig decidir compartir els coneixements que havia adquirit amb l'esperança que fossin útils a algú. Tan…

Dades primeres

Asterisk es va seleccionar i desplegar com a IP PBX. La flota de telèfons està formada per dispositius Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 i Dlink DPH-150S(E)/F3, Yealink T19 i T21. Aquesta variació es deu al fet que com a part de l'experiment, es va decidir provar una mica de tot per tal de formar una opinió sobre la relació preu/qualitat/comoditat.

Tasca

Simplifica i unifica el procés de configuració de nous dispositius tant com sigui possible. Tots els telèfons han d'estar sincronitzats amb l'hora, tenir una agenda carregada des del servidor i proporcionar accés a la configuració per a l'administrador.

La solució a aquest problema és senzilla: implementar la configuració automàtica dels telèfons, l'anomenada. Aprovisionament. De fet, es comentarà la meva implementació d'aquesta meravellosa funció.

Configuració de tftpd,dhcpd

Per distribuir la configuració als telèfons, vaig triar tftp com a opció universal, compatible amb totes les plataformes, fàcil de configurar i gestionar.

No calia cap configuració específica per a tftp. Vaig instal·lar tftpd estàndard i vaig col·locar tots els fitxers necessaris al seu directori arrel.
Vaig col·locar els fitxers de configuració als directoris d'acord amb el fabricant del telèfon. És cert que el dispositiu Cisco no va entrar mai a la seva carpeta, així que vaig haver d'emmagatzemar-lo a l'arrel.

Per tal d'apuntar els telèfons a la ubicació del servidor tftp, vaig utilitzar l'opció-66. A més, els va dividir en classes separades per fabricant. Cada classe va rebre el seu propi segment d'adreces i una carpeta individual per als fitxers de configuració. Per cert, els dispositius de D-link s'havien de calcular per adreces MAC, ja que no proporcionen informació sobre el fabricant a la sol·licitud dhcp.

Fragment dhcpd.conf

# Especifiqueu l'opció d'opcions requerides opció-66 codi 66 = text; class "panasonic" { match if substring (option vendor-class-identifier,0,9) = "Panasonic"; opció opció-66 "10.1.1.50/panasonic/"; } class "cisco" { match if substring (option vendor-class-identifier,0,36) = "Telèfon IP de Cisco Systems, Inc. CP-7906"; opció opció-66 "10.1.1.50/cisco/"; } class "grandstream" { match if substring (opció vendor-class-identifier,0,11) = "Grandstream"; opció opció-66 "10.1.1.50/grandstream/"; } classe "dlink" { coincideix si (binari a ascii (16,8,":",substring (maquinari,1,4)) = "c8:d3:a3:8d") o (binari a ascii (16,8,":",substring(maquinari,1,4)) = "90:94:e4:72"); opció opció-66 "10.1.1.50/dlink/"; } class "yealink" { match if substring (option vendor-class-identifier,0,7) = "Yealink"; opció opció-66 "10.1.1.50/yealink/"; }

Els telèfons van haver de ser exclosos per la força de la piscina general. En cas contrari, no volien anar a la seva "piscina".
Exemple de configuració de subxarxa

subxarxa 10.1.1.0 màscara de xarxa 255.255.255.0 { encaminadors d'opció 10.1.1.1; pool { deny membres de "cisco"; negar membres de "panasonic"; denegar els membres de "dlink"; rang 10.1.1.230 10.1.1.240; } pool { permet als membres de "cisco"; rang 10.1.1.65 10.1.1.69; } pool { permet als membres de "panasonic"; rang 10.1.1.60 10.1.1.64; } pool { permet als membres de "dlink"; rang 10.1.1.55 10.1.1.59; } }

Després de reiniciar tots els serveis implicats, els telèfons van anar amb confiança al servidor tftp assignat per a la configuració. Només queda col·locar-los allà.

Cisco 7906

Vaig rebre aquests dispositius en el seu embalatge original. Vaig haver de canviar-ho per fer amistat amb asterisc. Però això és una història diferent. En un cas concret, per configurar el dispositiu, segons les instruccions, he creat el fitxer SEPAABBCCDDEEFF.cnf.xml a l'arrel del servidor tftp. On AABBCCDDEEFF és l'adreça MAC del dispositiu.

Ja s'ha escrit més d'una vegada sobre la configuració de telèfons des de Cisco, així que només deixaré un fitxer de treball amb la configuració.
Configuració per a 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

Si esteu a punt de comprar un telèfon d'aquesta sèrie, aneu amb compte, l'ajust automàtic només és compatible amb els dispositius 150S/F3. Al dispositiu 150S/F2 que va arribar a les meves mans, no vaig trobar aquesta funcionalitat.

El fitxer de configuració pot estar en format xml o text pla. Hi ha un requisit per a xml: l'etiqueta ha d'estar al principi de la línia, en cas contrari l'analitzador l'ignorarà i el valor del paràmetre corresponent no canviarà.

S'utilitzen dos fitxers per configurar el telèfon. f0D00580000.cfg: per emmagatzemar la configuració de tots els telèfons i 00112233aabb.cfg (adreça MAC en minúscules) per a la configuració individual. Naturalment, els paràmetres individuals tenen una prioritat més alta.

El conjunt complet de paràmetres conté més de mil línies, per tal de no desordenar l'article, descriuré el conjunt mínim de configuracions suficients.

El node arrel és necessari VOIP_CONFIG_FILE i el node niu dins d'ell versió. La configuració només s'aplicarà si la versió del fitxer és superior a la configuració actual del dispositiu. Podeu esbrinar aquest valor a través de la interfície web del telèfon a la secció de manteniment (gestió del sistema). Per als telèfons amb configuració de fàbrica, en ambdós casos és 2.0002. A més, la versió del fitxer individual ha de ser superior a la versió del fitxer compartit.

Primer proporcionaré un fitxer amb una configuració comuna per a tots els telèfons. De fet, emmagatzema tota la configuració l'arxiu individual només serà responsable del número de telèfon i de la inscripció a la pantalla.

En els dos blocs següents, s'estableixen la zona horària i els paràmetres de sincronització horària, s'habilita el port inicial per a RTP i el pont de xarxa entre els connectors WAN i LAN del dispositiu.

Fragment núm. 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>

Els noms reals dels paràmetres de configuració són prou descriptius per evitar descriure'ls amb detall.
SIP per a una línia

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

Configuració del control remot

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

Configuració del telèfon

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

La resta de paràmetres es mantindran "per defecte". Ara qualsevol telèfon Dlink connectat a la xarxa acceptarà immediatament un conjunt comú de paràmetres per a tots. Per establir paràmetres individuals per al dispositiu, cal un fitxer separat. Només cal que especifiqueu la configuració necessària per a un subscriptor individual.
configuració del subscriptor

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

Aquests dispositius reben la configuració segons un esquema lleugerament diferent. La configuració s'emmagatzema en fitxers de text. La mida màxima del fitxer de configuració és de 120 KB. Independentment del nombre de fitxers, la seva mida total no hauria de superar els 120 KB.
El fitxer de configuració consta d'un conjunt de línies, que estan subjectes a les condicions següents:

  • La primera línia és sempre una línia de comentari, que inclou la següent seqüència de caràcters (44 bytes):
    # Fitxer de format estàndard del telèfon SIP de Panasonic #
    Representació hexadecimal d'aquesta seqüència:
    23 20 50 61 6E 61 73 6F 6E 69 63 20 53 49 50 20 50 68 6F 6 65 20 53 74 61E 6 64 61 72 64 20 46 6 72 6 61D 74D 20 46 69 6D 65 20
    Per evitar canvis accidentals en la seqüència de caràcters establerta, es recomana iniciar el fitxer de configuració amb la línia:
    # Fitxer de format estàndard del telèfon SIP Panasonic # NO CANVIA AQUESTA LÍNIA!
  • Els fitxers de configuració han d'acabar amb una línia buida.
  • Cada línia ha d'acabar amb la seqüència " ".
  • La longitud màxima de la cadena és de 537 bytes, inclosa la seqüència " "
  • S'ignoren les línies següents:
    • línies que superen el límit de 537 bytes;
    • línies buides;
    • línies de comentari que comencen amb "#";
  • La cadena de cada paràmetre s'escriu en la forma XXX=“yyy” (XXX: nom del paràmetre, yyy: el seu valor). El valor s'ha d'incloure entre cometes dobles.
  • No es permet dividir una línia de paràmetres en diverses línies. Això provocarà un error en processar el fitxer de configuració i, com a resultat, un error d'inicialització.
  • Els valors d'alguns paràmetres s'han d'especificar per separat per a cada línia. El paràmetre amb el sufix "_1" al nom és el paràmetre de la línia 1; "_2": per a la línia 2, etc.
  • La longitud màxima del nom del paràmetre és de 32 caràcters.
  • La longitud màxima del valor del paràmetre és de 500 caràcters, sense incloure els caràcters de cometes dobles.
  • No es permeten espais a la cadena tret que el valor inclogui un caràcter d'espai.
  • Alguns valors dels paràmetres es poden especificar com a "en blanc" per establir el paràmetre en un valor buit.
  • Els paràmetres s'especifiquen sense cap ordre particular.
  • Si el mateix paràmetre s'especifica més d'una vegada en un fitxer de configuració, s'aplica el valor especificat primer.

Un conjunt tan seriós de requisits per al fitxer de configuració, francament, em va molestar. Al meu entendre, la implementació de la interacció amb el servidor de control als telèfons Panasonic és extremadament incòmode. En aquest paràmetre, el telèfon és significativament inferior als altres.
Quan engegueu el dispositiu per primera vegada (o després de restablir-lo a la configuració de fàbrica), intenta carregar l'anomenat fitxer de producte (en aquest cas és KX-UT123RU.cfg), que hauria de contenir els camins cap a la els fitxers de configuració restants.
Fitxa de producte# Fitxer de format estàndard del telèfon SIP Panasonic # NO CANVIA AQUESTA LÍNIA!

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"

Després d'això, el telèfon mostrarà un missatge sobre la finalització correcta de la preparació i esperarà fins que es reiniciï. I després del reinici, començarà a processar els fitxers de configuració assignats.

Es recomana especificar la configuració general per a tots els telèfons al fitxer master.cfg. Igual que amb Dlink, només especificaré alguns paràmetres. Els noms dels paràmetres restants i els seus valors es poden trobar a la documentació del lloc web del fabricant.
mestre.cfg##################################################### ##########
#Ajustos del sistema#
##################################################### ##########
## Configuració del compte d'inici de sessió
ADMIN_ID="administrador"
ADMIN_PASS="ADMIN_PWD"
USER_ID="usuari"
USER_PASS="USER_PWD"

## Configuració de l'hora del 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=""

## Configuració de 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"

## Configuració d'aprovisionament
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"

##################################################### ##########
#Configuració de la xarxa#
##################################################### ##########
## Configuració IP
CONNECTION_TYPE="1"
HOST_NAME="UT123"
DHCP_DNS_ENABLE="Y"
STATIC_IP_ADDRESS=""
STATIC_SUBNET=""
STATIC_GATEWAY=""
USER_DNS1_ADDR=""
USER_DNS2_ADDR=""

## Configuració DNS
DNS_QRY_PRLL="Y"
DNS_PRIORITY="N"
DNS1_ADDR="10.1.1.1"
DNS2_ADDR=""

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

## Configuració de l'aplicació 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=""

Tradicionalment, només la configuració de l'abonat roman al fitxer de configuració del dispositiu individual.
aabbccddeeff.cfgDISPLAY_NAME_1="Usuari #168"

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

Grandstream GXP-1400

Els paràmetres d'aquests telèfons s'emmagatzemen en un fitxer xml anomenat cfg{mac}.xml. O en text sense format amb el nom cfg{mac}. Aquest telèfon només sol·licita un fitxer de configuració individual, de manera que optimitzar la configuració movent-los a un fitxer comú no funcionarà. Una altra característica de la configuració de Grandstreams és la denominació dels paràmetres. Tots estan numerats i designats com a P###. Per exemple:

P1650: responsable de la interfície web per gestionar el telèfon (0 - HTTPS, 1 - HTTP)
P47 – Adreça del servidor SIP per a la connexió.

Si la configuració s'emmagatzema en un fitxer de text, els paràmetres no requereixen cap agrupació i estan en qualsevol ordre. Les línies que comencen per # es tracten com a comentaris.

Si els paràmetres es presenten en format xml, s'han d'imbricar en un node , que al seu torn s'han d'imbricar . Tots els paràmetres s'escriuen en forma d'etiquetes corresponents amb el valor del paràmetre dins.
Exemple de configuració

1.0 8 1 1 SIP_PWD Usuari # 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 i T21

Els dispositius d'aquests models admeten fitxers de configuració individuals per als dispositius i els habituals per als models. En el meu cas, vaig haver de col·locar els paràmetres generals als fitxers y000000000031.cfg i y000000000034.cfg, respectivament. Els fitxers de configuració individuals s'anomenen segons l'adreça MAC: 00112233aabb.cfg.

La configuració dels yealinks s'emmagatzemen en format de text. Els únics requisits obligatoris són la presència de la versió del fitxer a la primera línia, en el format #!version:1.0.0.1.

Tots els paràmetres s'escriuen en la forma paràmetre = valor. Els comentaris han de començar amb un caràcter "#". Els noms dels paràmetres i els seus valors es poden trobar a la documentació del lloc web del fabricant.
Configuració general#!versió:1.0.0.1
#Configura el tipus de port WAN; 0-DHCP (per defecte), 1-PPPoE, 2-adreça IP estàtica;
network.internet_port.type = 0
#Configura el tipus de port del PC; 0-encaminador, 1-pont (per defecte);
network.bridge_mode = 1
#Configurar el tipus d'accés del servidor web; 0-Desactivat, 1-HTTP i HTTPS (per defecte), només 2-HTTP, només 3-HTTPS;
network.web_server_type = 3
#Configura el port RTP local màxim. Oscil·la entre 0 i 65535, el valor predeterminat és 11800.
network.port.max_rtpport = 10100
#Configura el port RTP local mínim. Oscil·la entre 0 i 65535, el valor predeterminat és 11780.
network.port.min_rtpport = 10000
security.user_name.admin = root
security.user_password = arrel:ADMIN_PWD
security.user_name.user = usuari
security.user_password = usuari:USER_PWD
#Especifiqueu l'idioma web, els valors vàlids són: anglès, xinès_S, turc, portuguès, espanyol, italià, francès, rus, alemany i txec.
lang.wui = rus
#Especifiqueu l'idioma de la pantalla LCD, els valors vàlids són: anglès (per defecte), xinès_S, xinès_T, alemany, francès, turc, italià, polonès, espanyol i portuguès.
lang.gui = rus
#Configura la zona horària i el nom de la zona horària. La zona horària oscil·la entre -11 i +12, el valor predeterminat és +8.
#El nom de la zona horària predeterminada és Xina (Beijing).
#Consulteu la Guia d'usuari de telèfons IP de Yealink per obtenir més zones horàries i noms de zones horàries disponibles.
hora_local.zona_horària = +11
local_time.time_zone_name = Vladivostok
#Configura el nom de domini o l'adreça IP del servidor NTP. El valor predeterminat és cn.pool.ntp.org.
local_time.ntp_server1 = 10.1.1.4
#Configurar el mode de logotip de la pantalla LCD; 0-Desactivat (predeterminat), 1-logotip del sistema, 2-logotip personalitzat;
phone_setting.lcd_logo.mode = 1
#Configura l'URL d'accés i el nom de visualització de l'agenda remota. X oscil·la entre 1 i 5.
remote_phonebook.data.1.url = 10.1.1.50/provisioning/yealink-phonebook.xml
remote_phonebook.data.1.name = Agenda
features.remote_phonebook.flash_time = 3600

configuracions individuals#!versió:1.0.0.1
#Habilita o desactiva el compte1, 0-Desactivat (per defecte), 1-Activat;
compte.1.activar = 1
#Configura l'etiqueta que es mostra a la pantalla LCD per al compte1.
account.1.label = Telèfon de prova
#Configura el nom de visualització del compte1.
account.1.display_name = Usuari 998
#Configura el nom d'usuari i la contrasenya per a l'autenticació del registre.
account.1.auth_name = 998
compte.1.contrasenya = 998
#Configura el nom d'usuari de registre.
compte.1.nom_usuari = 998
#Configura l'adreça del servidor SIP.
account.1.sip_server_host = 10.1.1.50
#Especifiqueu el port per al servidor SIP. El valor predeterminat és 5060.
account.1.sip_server_port = 5060

Com a resultat, gràcies a la meravellosa funció de subministrament automàtic proporcionada als telèfons que he esmentat, no hi va haver problemes per connectar nous dispositius a la xarxa. Tot es va reduir a esbrinar l'adreça MAC del telèfon i generar un fitxer de configuració mitjançant una plantilla.

Espero que llegiu fins al final i que us hagi beneficiat del que llegiu.

Gràcies per la seva atenció.

Font: www.habr.com

Afegeix comentari