VoIP Hayvanat Bahçesi – Temel Hazırlık

Giriş

Bir gün yönetim, ofisimizde IP telefonunun kullanılmasına yönelik bir deneyi onayladı. Bu alandaki deneyimim yetersiz olduğu için bu görev bende büyük ilgi uyandırdı ve konuyu çeşitli yönleriyle incelemeye koyuldum. Dalışın sonunda edindiğim bilgileri birilerine faydası olur ümidiyle paylaşmaya karar verdim. Bu yüzden…

Ham veriler

Yıldız işareti bir IP PBX olarak seçildi ve dağıtıldı. Telefon filosu Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 ve Dlink DPH-150S(E)/F3, Yealink T19 ve T21 cihazlarından oluşmaktadır. Bu farklılık, deneme kapsamında fiyat/kalite/uygunluk oranı hakkında fikir sahibi olmak için her şeyden biraz denemeye karar verilmesinden kaynaklanmaktadır.

Görev

Yeni cihazların kurulum sürecini mümkün olduğunca basitleştirin ve birleştirin. Tüm telefonların zaman senkronizasyonu olmalı, sunucudan bir telefon rehberi yüklenmeli ve yöneticinin ayarlara erişimi sağlanmalıdır.

Bu sorunun çözümü basit - sözde telefonların otomatik konfigürasyonunu uygulamak. Sağlama. Aslında bu harika işlevi uygulamam tartışılacak.

Tftpd, dhcpd'yi yapılandırma

Ayarları telefonlara dağıtmak için evrensel bir seçenek olarak tüm platformlar tarafından desteklenen, yapılandırılması ve yönetimi kolay tftp'yi seçtim.

Tftp için özel bir yapılandırmaya gerek yoktu. Standart tftpd'yi kurdum ve gerekli tüm dosyaları kök dizinine yerleştirdim.
Ayarlar dosyalarını telefon üreticisine uygun dizinlere yerleştirdim. Doğru, Cisco cihazı hiçbir zaman kendi klasörüne girmedi, bu yüzden onu kökünde saklamak zorunda kaldım.

Telefonları tftp sunucusunun konumuna yönlendirmek için seçenek-66'yı kullandım. Ayrıca bunları imalatçılarına göre ayrı sınıflara ayırdı. Her sınıf, kendi adres bölümünü ve yapılandırma dosyaları için ayrı bir klasörü aldı. Bu arada, dhcp talebinde üretici hakkında bilgi vermedikleri için D-link'teki cihazların MAC adreslerine göre hesaplanması gerekiyordu.

dhcpd.conf parçasını parçala

# Gerekli seçenekleri belirtin seçenek-66 kod 66 = metin; class "panasonic" { alt dizeyle eşleşir (seçenek satıcı-sınıf-tanımlayıcı,0,9) = "Panasonic"; seçenek seçenek-66 "10.1.1.50/panasonic/"; } class "cisco" { match if substring (seçenek satıcı-sınıf-tanımlayıcı,0,36) = "Cisco Systems, Inc. IP Phone CP-7906"; seçenek seçenek-66 "10.1.1.50/cisco/"; } class "grandstream" { match if substring (seçenek satıcı-sınıf-tanımlayıcı,0,11) = "Grandstream"; seçenek seçenek-66 "10.1.1.50/grandstream/"; } class "dlink" { match if (ikili dosyadan ascii'ye (16,8,":",substring(donanım,1,4)) = "c8:d3:a3:8d") veya (ikili dosyadan ascii'ye) (16,8,":",substring(donanım,1,4)) = "90:94:e4:72"); seçenek seçenek-66 "10.1.1.50/dlink/"; } class "yealink" { match if substring (seçenek satıcı-sınıf-tanımlayıcı,0,7) = "Yealink"; seçenek seçenek-66 "10.1.1.50/yealink/"; }

Telefonların zorla genel havuzdan çıkarılması gerekiyordu. Aksi takdirde “çocuk havuzuna” gitmek istemediler.
Alt ağ ayarları örneği

alt ağ 10.1.1.0 ağ maskesi 255.255.255.0 { seçenek yönlendiricileri 10.1.1.1; havuz { "cisco" üyelerini reddet; "panasonic" üyelerini reddetmek; "dlink" üyelerini reddet; aralık 10.1.1.230 10.1.1.240; } havuz { "cisco" üyelerine izin ver; aralık 10.1.1.65 10.1.1.69; } havuz { "panasonic" üyelerine izin ver; aralık 10.1.1.60 10.1.1.64; } havuz { "dlink" üyelerine izin ver; aralık 10.1.1.55 10.1.1.59; } }

İlgili tüm hizmetleri yeniden başlattıktan sonra telefonlar, ayarlar için güvenle kendilerine atanan tftp sunucusuna gitti. Geriye kalan tek şey onları oraya yerleştirmek.

cisco 7906

Bu cihazları orijinal ambalajlarında teslim aldım. Yıldız işaretiyle arkadaş olmak için onu değiştirmek zorunda kaldım. Ama bu farklı bir hikaye. Belirli bir durumda, cihazı talimatlara göre yapılandırmak için tftp sunucusunun kökünde SEPAABBCCDDEEFF.cnf.xml dosyasını oluşturdum. Burada AABBCCDDEEFF cihazın MAC adresidir.

Cisco'dan telefon kurulumu hakkında zaten bir kereden fazla yazıldı, bu yüzden ayarların bulunduğu bir çalışma dosyası bırakacağım.
Cisco ayarları

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

Bu seriden bir telefon almayı planlıyorsanız dikkatli olun, otomatik ayarlama yalnızca 150S/F3 cihazlarda desteklenir. Elime geçen 150S/F2 cihazında böyle bir işlevselliğe rastlamadım.

Yapılandırma dosyası xml veya düz metin biçiminde olabilir. Xml için bir gereklilik vardır: etiket satırın başında olmalıdır, aksi takdirde ayrıştırıcı onu görmezden gelecek ve karşılık gelen parametrenin değeri değişmeyecektir.

Telefonu yapılandırmak için iki dosya kullanılır. f0D00580000.cfg - tüm telefonların ayarlarını saklamak için ve bireysel ayarlar için 00112233aabb.cfg (MAC adresi küçük harflerle). Bireysel ayarlar doğal olarak daha yüksek önceliğe sahiptir.

Tam ayar seti binden fazla satır içeriyor, makaleyi karmaşıklaştırmamak için yeterli minimum ayar setini anlatacağım.

Kök düğüm gerekli VOIP_CONFIG_FILE ve onun içine yerleştirilmiş düğüm versiyon. Ayarlar yalnızca dosya sürümü cihazdaki geçerli ayarlardan daha yüksekse uygulanacaktır. Bu değeri telefonun web arayüzünden bakım bölümünden (sistem yönetimi) öğrenebilirsiniz. Fabrika ayarlarına sahip telefonlar için her iki durumda da 2.0002'dir. Ayrıca bireysel dosya sürümünün, paylaşılan dosya sürümünden daha büyük olması gerekir.

Öncelikle tüm telefonlar için ortak konfigürasyona sahip bir dosya sunacağım. Aslında tüm ayarları saklar; bireysel dosya yalnızca telefon numarasından ve ekrandaki yazıdan sorumlu olacaktır.

Aşağıdaki iki blokta saat dilimi ve zaman senkronizasyonu parametreleri ayarlanır, RTP için başlangıç ​​bağlantı noktası ve cihazın WAN ve LAN konnektörleri arasındaki ağ köprüsü etkinleştirilir.

1 numaralı parça

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

Yapılandırma parametrelerinin gerçek adları, bunların ayrıntılı olarak açıklanmasını gerektirmeyecek kadar yeterince açıklayıcıdır.
Bir hat için SIP

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

Uzaktan Kumanda Ayarları

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

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

Diğer tüm ayarlar “varsayılan” olarak kalacaktır. Artık ağa bağlı herhangi bir Dlink telefonu, herkes için ortak bir parametre kümesini anında kabul edecektir. Cihaz için ayrı parametreleri ayarlamak için ayrı bir dosya gereklidir. İçinde yalnızca bireysel bir abone için gerekli ayarları belirtmeniz gerekir.
abone ayarları

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

Bu cihazlar ayarları biraz farklı bir şemaya göre alır. Yapılandırma metin dosyalarında saklanır. Maksimum yapılandırma dosyası boyutu 120 KB'dir. Dosya sayısı ne olursa olsun toplam boyutları 120 KB'ı geçmemelidir.
Yapılandırma dosyası, aşağıdaki koşullara tabi olan bir dizi satırdan oluşur:

  • İlk satır her zaman bir yorum satırıdır ve aşağıdaki karakter dizisini (44 bayt) içerir:
    # Panasonic SIP Telefon Standart Format Dosyası #
    Bu dizinin onaltılık gösterimi:
    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 46F 6 72D 6 61 74 20 46 69C 6 65
    Belirlenen karakter dizisinde yanlışlıkla değişiklik yapılmasını önlemek için, yapılandırma dosyasının şu satırla başlatılması önerilir:
    # Panasonic SIP Telefon Standart Format Dosyası # BU SATIRI DEĞİŞTİRMEYİN!
  • Yapılandırma dosyaları boş bir satırla bitmelidir.
  • Her satır "" dizisiyle bitmelidir ".
  • Maksimum dize uzunluğu, " dizisi dahil 537 bayttır. "
  • Aşağıdaki satırlar dikkate alınmaz:
    • 537 bayt sınırını aşan satırlar;
    • boş satırlar;
    • "#" ile başlayan yorum satırları;
  • Her parametrenin dizisi XXX=“yyy” (XXX: parametre adı, yyy: değeri) biçiminde yazılır. Değer çift tırnak içine alınmalıdır.
  • Bir parametre satırının birden fazla satıra bölünmesine izin verilmez. Bu, yapılandırma dosyasının işlenmesinde bir hataya ve bunun sonucunda da başlatma hatasına neden olur.
  • Bazı parametrelerin değerlerinin her satır için ayrı ayrı belirtilmesi gerekir. Adında "_1" sonekini taşıyan parametre 1. satıra ait parametredir; "_2"—satır 2 vb. için.
  • Parametre adının maksimum uzunluğu 32 karakterdir.
  • Parametre değerinin maksimum uzunluğu çift tırnak karakterleri hariç 500 karakterdir.
  • Değer bir boşluk karakteri içermediği sürece dizede boşluklara izin verilmez.
  • Parametreyi boş bir değere ayarlamak için bazı parametre değerleri “boş” olarak belirtilebilir.
  • Parametreler belirli bir sıraya göre belirtilmemiştir.
  • Aynı parametre bir konfigürasyon dosyasında birden fazla belirtilirse ilk belirtilen değer uygulanır.

Açıkçası, yapılandırma dosyası için bu kadar ciddi gereksinimler beni üzdü. Bana göre Panasonic telefonlarda kontrol sunucusuyla etkileşimin uygulanması son derece sakıncalıdır. Bu parametrede telefon diğerlerinden önemli ölçüde daha düşüktür.
Cihazı ilk kez açtığınızda (veya fabrika ayarlarına sıfırladıktan sonra), ürün dosyasını (bu durumda KX-UT123RU.cfg'dir) yüklemeye çalışır; bu dosya, ürün dosyasına giden yolları içerir. kalan yapılandırma dosyaları.
Ürün Dosyası# Panasonic SIP Telefon Standart Format Dosyası # BU SATIRI DEĞİŞTİRMEYİN!

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"

Bundan sonra telefon, hazırlığın başarıyla tamamlandığına dair bir mesaj görüntüleyecek ve yeniden başlatılana kadar bekleyecektir. Yeniden başlatmanın ardından kendisine atanan yapılandırma dosyalarını işlemeye başlayacaktır.

Master.cfg dosyasında tüm telefonlar için genel ayarların belirtilmesi tavsiye edilir. Dlink'te olduğu gibi sadece bazı parametreleri belirteceğim. Kalan parametrelerin adları ve değerleri üreticinin web sitesindeki belgelerde bulunabilir.
master.cfg################################################# ##########
#Sistem ayarları#
################################################# ##########
## Giriş Hesabı Ayarları
ADMIN_ID = "yönetici"
ADMIN_PASS = "ADMIN_PWD"
USER_ID = "kullanıcı"
USER_PASS = "USER_PWD"

## Sistem Saati Ayarları
NTP_ADDR = "10.1.1.4"
TIME_ZONE = "660"
DST_ENABLE = "H"
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 = ""

## Sistem Günlüğü Ayarları
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"

## Temel Hazırlık Ayarları
OPTION66_ENABLE = "Y"
OPTION66_REBOOT = "H"
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"

################################################# ##########
#Ağ ayarları#
################################################# ##########
## IP Ayarları
CONNECTION_TYPE = "1"
HOST_NAME = "UT123"
DHCP_DNS_ENABLE="Y"
STATIC_IP_ADDRESS = ""
STATIC_SUBNET = ""
STATIC_GATEWAY = ""
USER_DNS1_ADDR = ""
USER_DNS2_ADDR = ""

## DNS Ayarları
DNS_QRY_PRLL = "Y"
DNS_PRIORITY = "H"
DNS1_ADDR = "10.1.1.1"
DNS2_ADDR = ""

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

## XML Uygulama Ayarları
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 = ""

Geleneksel olarak, bireysel cihaz konfigürasyon dosyasında yalnızca abonenin ayarları kalır.
aabbccddeeff.cfgDISPLAY_NAME_1="Kullanıcı #168"

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

Grandstream GXP-1400

Bu telefonların parametreleri cfg{mac}.xml adlı bir xml dosyasında saklanır. Veya cfg{mac} adıyla düz metin olarak. Bu telefon yalnızca bireysel bir yapılandırma dosyası talep ettiğinden, ayarları ortak bir dosyaya taşıyarak optimize etmek işe yaramayacaktır. Grandstreams kurulumunun bir diğer özelliği de parametrelerin adlandırılmasıdır. Hepsi numaralandırılmıştır ve P### olarak belirtilmiştir. Örneğin:

P1650 – telefonu yönetmek için web arayüzünden sorumludur (0 – HTTPS, 1 – HTTP)
P47 – Bağlantı için SIP sunucusu adresi.

Yapılandırma bir metin dosyasında saklanıyorsa parametreler herhangi bir gruplandırma gerektirmez ve herhangi bir sıradadır. # ile başlayan satırlar yorum olarak kabul edilir.

Ayarlar xml formatında sunuluyorsa bir düğümde iç içe yerleştirilmelidirler , bunun da iç içe yerleştirilmesi gerekir . Tüm parametreler, içinde parametre değeri bulunan ilgili etiketler şeklinde yazılır.
Örnek ayarlama

1.0 8 1 1 SIP_PWD Kullanıcı # 271 1 271 270 109 ADMIN_PWD USER_PWD ru 270 35/büyük akış 109 TZc-35 36 109 http://36/provisioning/grandstream otuz

Yealink T19 ve T21

Bu modellerin cihazları, cihazlar için ayrı konfigürasyon dosyalarını ve modeller için ortak konfigürasyon dosyalarını destekler. Benim durumumda, genel parametreleri sırasıyla y000000000031.cfg ve y000000000034.cfg dosyalarına yerleştirmek zorunda kaldım. Bireysel konfigürasyon dosyaları MAC adresine göre adlandırılır: 00112233aabb.cfg.

Yealinks ayarları metin biçiminde saklanır. Zorunlu olan tek gereksinim, ilk satırda #!version:1.0.0.1 biçimindeki dosya sürümünün bulunmasıdır.

Tüm parametreler parametre = değer şeklinde yazılır. Yorumlar "#" karakteriyle başlamalıdır. Parametrelerin adları ve değerleri üreticinin web sitesindeki belgelerde bulunabilir.
Genel Ayarlar#!versiyon:1.0.0.1
#WAN bağlantı noktası türünü yapılandırın; 0-DHCP (varsayılan), 1-PPPoE, 2-Statik IP Adresi;
network.internet_port.type = 0
#PC bağlantı noktası türünü yapılandır; 0-Yönlendirici, 1-Köprü (varsayılan);
ağ.köprü_modu = 1
#Web sunucusunun erişim türünü yapılandırın; 0-Devre Dışı, 1-HTTP ve HTTPS(varsayılan), Yalnızca 2-HTTP, Yalnızca 3-HTTPS;
network.web_server_type = 3
#Maksimum yerel RTP bağlantı noktasını yapılandır. 0 ile 65535 arasında değişir, varsayılan değer 11800'dür.
network.port.max_rtpport = 10100
#Minimum yerel RTP bağlantı noktasını yapılandır. 0 ile 65535 arasında değişir, varsayılan değer 11780'dir.
network.port.min_rtpport = 10000
güvenlik.kullanıcı_adı.admin = kök
güvenlik.user_password = kök:ADMIN_PWD
güvenlik.user_name.user = kullanıcı
güvenlik.user_password = kullanıcı:USER_PWD
#Web dilini belirtin, geçerli değerler şunlardır: İngilizce, Çince_S, Türkçe, Portekizce, İspanyolca, İtalyanca, Fransızca, Rusça, Almanca ve Çekçe.
lang.wui = Rusça
#LCD dilini belirtin, geçerli değerler şunlardır: İngilizce (varsayılan), Çince_S, Çince_T, Almanca, Fransızca, Türkçe, İtalyanca, Lehçe, İspanyolca ve Portekizce.
lang.gui = Rusça
#Saat dilimini ve saat dilimi adını yapılandır. Saat dilimi -11 ila +12 arasındadır, varsayılan değer +8'dir.
#Varsayılan saat dilimi adı Çin'dir (Pekin).
#Daha fazla mevcut saat dilimi ve saat dilimi adı için Yealink IP Telefonları Kullanım Kılavuzu'na bakın.
local_time.time_zone = +11
local_time.time_zone_name = Vladivostok
#NTP sunucusunun alan adını veya IP adresini yapılandır. Varsayılan değer cn.pool.ntp.org'dur.
local_time.ntp_server1 = 10.1.1.4
#LCD ekranın logo modunu yapılandırın; 0-Devre Dışı (varsayılan), 1-Sistem logosu, 2-Özel logo;
phone_setting.lcd_logo.mode = 1
#Uzak telefon rehberinin erişim URL'sini ve görünen adını yapılandır. X, 1'den 5'e kadar değişir.
Remote_phonebook.data.1.url = 10.1.1.50/provisioning/yealink-phonebook.xml
Remote_phonebook.data.1.name = Telefon Rehberi
feature.remote_phonebook.flash_time = 3600

bireysel ayarlar#!versiyon:1.0.0.1
#Hesabı etkinleştirin veya devre dışı bırakın1, 0-Devre Dışı (varsayılan), 1-Etkin;
hesap.1.enable = 1
#Hesap1 için LCD ekranda görüntülenen etiketi yapılandırın.
account.1.label = Telefonu test et
#Hesap1'in görünen adını yapılandır.
account.1.display_name = Kullanıcı 998
#Kayıt kimlik doğrulaması için kullanıcı adını ve şifreyi yapılandır.
account.1.auth_name = 998
hesap.1.şifre = 998
#Kayıt kullanıcı adını yapılandır.
account.1.user_name = 998
#SIP sunucusu adresini yapılandır.
account.1.sip_server_host = 10.1.1.50
#SIP sunucusu için bağlantı noktasını belirt. Varsayılan değer 5060'tır.
account.1.sip_server_port = 5060

Sonuç olarak bahsettiğim telefonlarda sağlanan harika otomatik provizyon fonksiyonu sayesinde yeni cihazların ağa bağlanmasında herhangi bir sorun yaşanmadı. Her şey telefonun MAC adresini bulmaya ve bir şablon kullanarak bir yapılandırma dosyası oluşturmaya geldi.

Umarım sonuna kadar okursunuz ve okuduklarınızdan faydalanırsınız.

İlginiz için teşekkür ederiz.

Kaynak: habr.com

Yorum ekle