Zoo VoIP – Peruntukan

Entry

Pada suatu hari, pihak pengurusan meluluskan percubaan untuk memperkenalkan telefon IP di pejabat kami. Memandangkan pengalaman saya dalam bidang ini sedikit, tugas itu menimbulkan minat yang besar dalam diri saya dan saya terjun ke dalam mengkaji pelbagai aspek isu tersebut. Di penghujung aktiviti menyelam, saya memutuskan untuk berkongsi ilmu yang saya perolehi dengan harapan ia berguna kepada seseorang. Jadi…

Data mentah

Asterisk telah dipilih dan digunakan sebagai IP PBX. Armada telefon terdiri daripada peranti Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 dan Dlink DPH-150S(E)/F3, Yealink T19 dan T21. Variasi ini disebabkan oleh fakta bahawa sebagai sebahagian daripada percubaan, ia telah memutuskan untuk mencuba sedikit daripada segala-galanya untuk membentuk pendapat tentang nisbah harga/kualiti/kemudahan.

Petugas

Permudahkan dan satukan proses menyediakan peranti baharu sebanyak mungkin. Semua telefon mesti disegerakkan masa, mempunyai buku telefon dimuatkan dari pelayan dan menyediakan akses kepada tetapan untuk pentadbir.

Penyelesaian kepada masalah ini adalah mudah - melaksanakan konfigurasi automatik telefon, yang dipanggil. Peruntukan. Sebenarnya, pelaksanaan fungsi hebat ini saya akan dibincangkan.

Mengkonfigurasi tftpd,dhcpd

Untuk mengedarkan tetapan kepada telefon, saya memilih tftp sebagai pilihan universal, disokong oleh semua platform, mudah dikonfigurasikan dan diurus.

Tiada konfigurasi khusus diperlukan untuk tftp. Saya memasang tftpd standard dan meletakkan semua fail yang diperlukan dalam direktori rootnya.
Saya meletakkan fail tetapan dalam direktori mengikut pengeluar telefon. Benar, peranti Cisco tidak pernah masuk ke dalam foldernya, jadi saya terpaksa menyimpannya dalam akarnya.

Untuk menghalakan telefon ke lokasi pelayan tftp, saya menggunakan pilihan-66. Di samping itu, dia membahagikannya kepada kelas berasingan mengikut pengilang. Setiap kelas menerima segmen alamatnya sendiri dan folder individu untuk fail konfigurasi. By the way, peranti dari D-link terpaksa dikira oleh alamat MAC, kerana mereka tidak memberikan maklumat tentang pengilang dalam permintaan dhcp.

Serpihan dhcpd.conf

# Tentukan pilihan pilihan yang diperlukan pilihan-66 kod 66 = teks; class "panasonic" { match if substring (option vendor-class-identifier,0,9) = "Panasonic"; pilihan pilihan-66 "10.1.1.50/panasonic/"; } class "cisco" { match if substring (option vendor-class-identifier,0,36) = "Cisco Systems, Inc. IP Phone CP-7906"; pilihan pilihan-66 "10.1.1.50/cisco/"; } class "grandstream" { match if substring (option vendor-class-identifier,0,11) = "Grandstream"; pilihan pilihan-66 "10.1.1.50/grandstream/"; } class "dlink" { match if (binary-to-ascii (16,8,":",substring(hardware,1,4)) = "c8:d3:a3:8d") atau (binary-to-ascii (16,8,":",substring(perkakasan,1,4)) = "90:94:e4:72"); pilihan pilihan-66 "10.1.1.50/dlink/"; } class "yealink" { match if substring (option vendor-class-identifier,0,7) = "Yealink"; pilihan pilihan-66 "10.1.1.50/yealink/"; }

Telefon terpaksa dikecualikan secara paksa daripada kumpulan umum. Jika tidak, mereka tidak mahu pergi ke "kolam dayung" mereka.
Contoh tetapan subnet

subnet 10.1.1.0 netmask 255.255.255.0 { option routers 10.1.1.1; pool { menafikan ahli "cisco"; menafikan ahli "panasonic"; menafikan ahli "dlink"; julat 10.1.1.230 10.1.1.240; } pool { benarkan ahli "cisco"; julat 10.1.1.65 10.1.1.69; } pool { benarkan ahli "panasonic"; julat 10.1.1.60 10.1.1.64; } pool { benarkan ahli "dlink"; julat 10.1.1.55 10.1.1.59; } }

Selepas memulakan semula semua perkhidmatan yang terlibat, telefon dengan yakin pergi ke pelayan tftp yang diberikan mereka untuk tetapan. Yang tinggal hanyalah meletakkan mereka di sana.

cisco 7906

Saya menerima peranti ini dalam pembungkusan asalnya. Saya terpaksa menukarnya untuk berkawan dengan asterisk. Tetapi itu cerita yang berbeza. Dalam kes tertentu, untuk mengkonfigurasi peranti, mengikut arahan, saya mencipta fail SEPAABBCCDDEEFF.cnf.xml dalam akar pelayan tftp. Di mana AABBCCDDEEFF ialah alamat MAC peranti.

Ia telah ditulis lebih daripada sekali tentang menyediakan telefon daripada Cisco, jadi saya hanya akan meninggalkan fail yang berfungsi dengan tetapan.
Tetapan untuk 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

Jika anda baru hendak membeli telefon dalam siri ini, berhati-hati, penalaan automatik hanya disokong dalam peranti 150S/F3. Pada peranti 150S/F2 yang datang ke tangan saya, saya tidak menemui fungsi sedemikian.

Fail konfigurasi boleh dalam format xml atau teks biasa. Terdapat satu keperluan untuk xml: teg mesti berada di permulaan baris, jika tidak, penghurai akan mengabaikannya dan nilai parameter yang sepadan tidak akan berubah.

Dua fail digunakan untuk mengkonfigurasi telefon. f0D00580000.cfg - untuk menyimpan tetapan untuk semua telefon dan 00112233aabb.cfg (alamat MAC dalam huruf kecil) untuk tetapan individu. Tetapan individu secara semula jadi mempunyai keutamaan yang lebih tinggi.

Set penuh tetapan mengandungi lebih daripada seribu baris, supaya tidak mengacaukan artikel, saya akan menerangkan set tetapan minimum yang mencukupi.

Nod akar diperlukan VOIP_CONFIG_FILE dan nod bersarang di dalamnya versi. Tetapan akan digunakan hanya jika versi fail lebih tinggi daripada tetapan semasa dalam peranti. Anda boleh mengetahui nilai ini melalui antara muka web telefon di bahagian penyelenggaraan (pengurusan sistem). Untuk telefon dengan tetapan kilang, dalam kedua-dua kes ia adalah 2.0002. Selain itu, versi fail individu mestilah lebih besar daripada versi fail kongsi.

Mula-mula saya akan menyediakan fail dengan konfigurasi biasa untuk semua telefon. Malah, ia menyimpan semua tetapan; fail individu hanya akan bertanggungjawab untuk nombor telefon dan tulisan pada skrin.

Dalam dua blok di bawah, zon masa dan parameter penyegerakan masa ditetapkan, port awal untuk RTP dan jambatan rangkaian antara penyambung WAN dan LAN peranti didayakan.

Serpihan No. 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>

Nama sebenar parameter konfigurasi adalah cukup deskriptif untuk mengelak daripada menerangkannya secara terperinci.
SIP untuk satu baris

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

Tetapan Kawalan Jauh

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

Aturan telefon

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

Semua tetapan lain akan kekal sebagai "lalai". Kini mana-mana telefon Dlink yang disambungkan ke rangkaian akan segera menerima set parameter biasa untuk semua. Untuk menetapkan parameter individu untuk peranti, fail berasingan diperlukan. Di dalamnya anda hanya perlu menentukan tetapan yang diperlukan untuk pelanggan individu.
tetapan pelanggan

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

Peranti ini menerima tetapan mengikut skema yang sedikit berbeza. Konfigurasi disimpan dalam fail teks. Saiz fail konfigurasi maksimum ialah 120 KB. Tidak kira bilangan fail, jumlah saiznya tidak boleh melebihi 120 KB.
Fail konfigurasi terdiri daripada satu set baris, yang tertakluk kepada syarat berikut:

  • Baris pertama sentiasa menjadi baris ulasan, termasuk urutan aksara berikut (44 bait):
    # Fail Format Standard Telefon SIP Panasonic #
    Perwakilan heksadesimal bagi urutan ini:
    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 20D 46 6 72 6 C 61 74 20
    Untuk mengelakkan perubahan yang tidak disengajakan pada urutan aksara yang telah ditetapkan, adalah disyorkan untuk memulakan fail konfigurasi dengan baris:
    # Fail Format Standard Telefon SIP Panasonic # JANGAN TUKAR TALIAN INI!
  • Fail konfigurasi mesti berakhir dengan baris kosong.
  • Setiap baris mesti berakhir dengan urutan " ".
  • Panjang rentetan maksimum ialah 537 bait, termasuk urutan " "
  • Baris berikut diabaikan:
    • baris melebihi had 537 bait;
    • baris kosong;
    • baris ulasan bermula dengan "#";
  • Rentetan untuk setiap parameter ditulis dalam bentuk XXX=“yyy” (XXX: nama parameter, yyy: nilainya). Nilai mesti disertakan dalam petikan berganda.
  • Memisahkan baris parameter kepada beberapa baris tidak dibenarkan. Ini akan mengakibatkan ralat memproses fail konfigurasi dan, akibatnya, kegagalan permulaan.
  • Nilai beberapa parameter mesti dinyatakan secara berasingan untuk setiap baris. Parameter dengan akhiran "_1" dalam nama ialah parameter untuk baris 1; "_2"—untuk baris 2, dsb.
  • Panjang maksimum nama parameter ialah 32 aksara.
  • Panjang maksimum nilai parameter ialah 500 aksara tidak termasuk aksara petikan berganda.
  • Tiada ruang dibenarkan dalam rentetan melainkan nilai itu termasuk aksara ruang.
  • Beberapa nilai parameter boleh ditentukan sebagai "kosong" untuk menetapkan parameter kepada nilai kosong.
  • Parameter ditentukan tanpa susunan tertentu.
  • Jika parameter yang sama dinyatakan lebih daripada sekali dalam fail konfigurasi, nilai yang dinyatakan dahulu digunakan.

Satu set keperluan yang serius untuk fail konfigurasi, terus terang, membuatkan saya kecewa. Pada pendapat saya, pelaksanaan interaksi dengan pelayan kawalan pada telefon Panasonic amat menyusahkan. Dalam parameter ini, telefon adalah jauh lebih rendah daripada yang lain.
Apabila anda menghidupkan peranti buat kali pertama (atau selepas menetapkannya semula kepada tetapan kilang), ia cuba memuatkan fail produk yang dipanggil (dalam kes ini ialah KX-UT123RU.cfg), yang sepatutnya mengandungi laluan ke baki fail konfigurasi.
Fail Produk# Fail Format Standard Telefon SIP Panasonic # JANGAN TUKAR TALIAN INI!

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"

Selepas ini, telefon akan memaparkan mesej tentang kejayaan menyiapkan penyediaan dan akan menunggu sehingga ia dibut semula. Dan selepas but semula, ia akan mula memproses fail konfigurasi yang diberikan kepadanya.

Adalah disyorkan untuk menentukan tetapan umum untuk semua telefon dalam fail master.cfg. Seperti Dlink, saya hanya akan menentukan beberapa parameter. Nama parameter yang tinggal dan nilainya boleh didapati dalam dokumentasi di laman web pengeluar.
tuan.cfg#################################################### ##########
#Tetapan sistem#
#################################################### ##########
## Tetapan Akaun Log Masuk
ADMIN_ID="admin"
ADMIN_PASS="ADMIN_PWD"
USER_ID="pengguna"
USER_PASS="USER_PWD"

## Tetapan Masa Sistem
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=""

## Tetapan 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"

## Tetapan Peruntukan
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"

#################################################### ##########
#Tetapan rangkaian#
#################################################### ##########
## Tetapan IP
CONNECTION_TYPE="1"
HOST_NAME="UT123"
DHCP_DNS_ENABLE="Y"
STATIC_IP_ADDRESS=""
STATIC_SUBNET=""
STATIC_GATEWAY=""
USER_DNS1_ADDR=""
USER_DNS2_ADDR=""

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

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

## Tetapan Aplikasi 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=""

Secara tradisinya, hanya tetapan pelanggan kekal dalam fail konfigurasi peranti individu.
aabbbccddeeff.cfgDISPLAY_NAME_1="Pengguna #168"

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

Grandstream GXP-1400

Parameter telefon ini disimpan dalam satu fail xml bernama cfg{mac}.xml. Atau dalam teks biasa dengan nama cfg{mac}. Telefon ini hanya meminta fail konfigurasi individu, jadi mengoptimumkan tetapan dengan mengalihkannya ke fail biasa tidak akan berfungsi. Ciri lain untuk menyediakan Grandstreams ialah penamaan parameter. Kesemuanya bernombor dan ditetapkan sebagai P###. Sebagai contoh:

P1650 – bertanggungjawab untuk antara muka web untuk menguruskan telefon (0 – HTTPS, 1 – HTTP)
P47 – Alamat pelayan SIP untuk sambungan.

Jika konfigurasi disimpan dalam fail teks, parameter tidak memerlukan sebarang kumpulan dan berada dalam sebarang susunan. Baris bermula dengan # dianggap sebagai ulasan.

Jika tetapan dibentangkan dalam format xml, ia mesti bersarang dalam nod , yang seterusnya mesti bersarang . Semua parameter ditulis dalam bentuk tag yang sepadan dengan nilai parameter di dalamnya.
Menetapkan contoh

1.0 8 1 1 SIP_PWD Pengguna # 271 1 271 270 109 ADMIN_PWD USER_PWD ru 270 35/arus besar 109 TZc-35 36 109 http://36/provisioning/grandstream tiga puluh

Yealink T19 dan T21

Peranti model ini menyokong fail konfigurasi individu untuk peranti dan yang biasa untuk model. Dalam kes saya, saya terpaksa meletakkan parameter umum dalam fail y000000000031.cfg dan y000000000034.cfg, masing-masing. Fail konfigurasi individu dinamakan mengikut alamat MAC: 00112233aabb.cfg.

Tetapan untuk yealinks disimpan dalam format teks. Satu-satunya keperluan mandatori ialah kehadiran versi fail dalam baris pertama, dalam format #!version:1.0.0.1.

Semua parameter ditulis dalam parameter bentuk = nilai. Komen mesti bermula dengan aksara "#". Nama parameter dan nilainya boleh didapati dalam dokumentasi di laman web pengeluar.
Tetapan umum#!versi:1.0.0.1
#Konfigurasikan jenis port WAN; 0-DHCP (lalai), 1-PPPoE, 2-Alamat IP Statik;
network.internet_port.type = 0
#Konfigurasikan jenis port PC; 0-Router, 1-Bridge (lalai);
rangkaian.mod_jambatan = 1
#Konfigurasikan jenis akses pelayan web; 0-Dilumpuhkan, 1-HTTP & HTTPS(lalai), 2-HTTP Sahaja, 3-HTTPS Sahaja;
network.web_server_type = 3
#Konfigurasikan port RTP tempatan maksimum. Ia berkisar antara 0 hingga 65535, nilai lalai ialah 11800.
network.port.max_rtpport = 10100
#Konfigurasikan port RTP tempatan minimum. Ia berkisar antara 0 hingga 65535, nilai lalai ialah 11780.
network.port.min_rtpport = 10000
security.user_name.admin = root
security.user_password = root:ADMIN_PWD
keselamatan.nama_pengguna.pengguna = pengguna
security.user_password = pengguna:USER_PWD
#Tentukan bahasa web, nilai yang sah ialah: Inggeris, Chinese_S, Turki, Portugis, Sepanyol, Itali, Perancis, Rusia, Deutsch dan Czech.
lang.wui = Rusia
#Nyatakan bahasa LCD, nilai yang sah ialah: Inggeris (lalai), Chinese_S, Chinese_T, Jerman, Perancis, Turki, Itali, Poland, Sepanyol dan Portugis.
lang.gui = Rusia
#Konfigurasikan zon waktu dan nama zon waktu. Zon waktu berjulat dari -11 hingga +12, nilai lalai ialah +8.
#Nama zon waktu lalai ialah China(Beijing).
#Rujuk Panduan Pengguna Telefon IP Yealink untuk lebih banyak zon waktu dan nama zon waktu yang tersedia.
local_time.time_zone = +11
local_time.time_zone_name = Vladivostok
#Konfigurasikan nama domain atau alamat IP pelayan NTP. Nilai lalai ialah cn.pool.ntp.org.
local_time.ntp_server1 = 10.1.1.4
#Konfigurasikan mod logo skrin LCD; 0-Dilumpuhkan (lalai), 1-Logo sistem, 2-Logo tersuai;
phone_setting.lcd_logo.mode = 1
#Konfigurasikan URL akses dan nama dispaly buku telefon jauh. X berkisar antara 1 hingga 5.
remote_phonebook.data.1.url = 10.1.1.50/provisioning/yealink-phonebook.xml
remote_phonebook.data.1.name = Buku telefon
features.remote_phonebook.flash_time = 3600

tetapan individu#!versi:1.0.0.1
#Dayakan atau lumpuhkan akaun1, 0-Dilumpuhkan (lalai), 1-Didayakan;
akaun.1.dayakan = 1
#Konfigurasikan label yang dipaparkan pada skrin LCD untuk akaun1.
akaun.1.label = Uji telefon
#Konfigurasikan nama paparan akaun1.
akaun.1.display_name = Pengguna 998
#Konfigurasikan nama pengguna dan kata laluan untuk pengesahan pendaftaran.
akaun.1.auth_name = 998
akaun.1.kata laluan = 998
#Konfigurasikan nama pengguna daftar.
akaun.1.nama_pengguna = 998
#Konfigurasikan alamat pelayan SIP.
akaun.1.host_server_sip = 10.1.1.50
#Nyatakan port untuk pelayan SIP. Nilai lalai ialah 5060.
akaun.1.sip_server_port = 5060

Akibatnya, terima kasih kepada fungsi auto-peruntukan yang hebat yang disediakan dalam telefon yang saya nyatakan, tiada masalah menyambungkan peranti baharu ke rangkaian. Semuanya datang untuk mengetahui alamat MAC telefon dan menjana fail konfigurasi menggunakan templat.

Saya harap anda membaca sehingga habis dan mendapat manfaat daripada apa yang anda baca.

Terima kasih atas perhatian anda.

Sumber: www.habr.com

Tambah komen