VoIP Zoo – Προμήθεια

Είσοδος

Μια μέρα, η διοίκηση ενέκρινε ένα πείραμα για την εισαγωγή της τηλεφωνίας IP στο γραφείο μας. Δεδομένου ότι η εμπειρία μου σε αυτόν τον τομέα ήταν ελάχιστη, το έργο μου προκάλεσε μεγάλο ενδιαφέρον και βυθίστηκα στη μελέτη διαφόρων πτυχών του θέματος. Στο τέλος της κατάδυσης, αποφάσισα να μοιραστώ τη γνώση που είχα αποκτήσει με την ελπίδα ότι θα ήταν χρήσιμη σε κάποιον. Ετσι…

Ακατέργαστα δεδομένα

Το Asterisk επιλέχθηκε και αναπτύχθηκε ως IP PBX. Ο στόλος τηλεφώνων αποτελείται από συσκευές Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 και Dlink DPH-150S(E)/F3, Yealink T19 και T21. Αυτή η παραλλαγή οφείλεται στο γεγονός ότι στο πλαίσιο του πειράματος αποφασίστηκε να δοκιμάσουμε λίγο από όλα προκειμένου να σχηματίσουμε γνώμη για την αναλογία τιμής/ποιότητας/ευκολίας.

Έργο

Απλοποιήστε και ενοποιήστε όσο το δυνατόν περισσότερο τη διαδικασία εγκατάστασης νέων συσκευών. Όλα τα τηλέφωνα πρέπει να είναι χρονικά συγχρονισμένα, να έχουν φορτώσει έναν τηλεφωνικό κατάλογο από τον διακομιστή και να παρέχουν πρόσβαση στις ρυθμίσεις για τον διαχειριστή.

Η λύση σε αυτό το πρόβλημα είναι απλή - εφαρμόστε την αυτόματη ρύθμιση παραμέτρων των τηλεφώνων, το λεγόμενο. Τροφοδοσία. Στην πραγματικότητα, θα συζητηθεί η εφαρμογή μου αυτής της υπέροχης λειτουργίας.

Διαμόρφωση tftpd, dhcpd

Για τη διανομή των ρυθμίσεων σε τηλέφωνα, επέλεξα το tftp ως καθολική επιλογή, που υποστηρίζεται από όλες τις πλατφόρμες, είναι εύκολο στη διαμόρφωση και τη διαχείριση.

Δεν απαιτείται συγκεκριμένη διαμόρφωση για το tftp. Εγκατέστησα το standard tftpd και τοποθέτησα όλα τα απαραίτητα αρχεία στον ριζικό κατάλογο του.
Τοποθέτησα τα αρχεία ρυθμίσεων σε καταλόγους σύμφωνα με τον κατασκευαστή του τηλεφώνου. Είναι αλήθεια ότι η συσκευή Cisco δεν μπήκε ποτέ στον φάκελό της, οπότε έπρεπε να την αποθηκεύσω στο root της.

Για να κατευθύνω τα τηλέφωνα στη θέση του διακομιστή tftp, χρησιμοποίησα την επιλογή-66. Επιπλέον, τα χώρισε σε ξεχωριστές κατηγορίες ανά κατασκευαστή. Κάθε τάξη έλαβε το δικό της τμήμα διευθύνσεων και έναν μεμονωμένο φάκελο για αρχεία διαμόρφωσης. Παρεμπιπτόντως, οι συσκευές από το D-link έπρεπε να υπολογιστούν με διευθύνσεις MAC, καθώς δεν παρέχουν πληροφορίες σχετικά με τον κατασκευαστή στο αίτημα dhcp.

Fragment dhcpd.conf

# Καθορίστε τις απαιτούμενες επιλογές επιλογή επιλογή-66 κωδικός 66 = κείμενο; class "panasonic" { match if substring (option vendor-class-identifier,0,9) = "Panasonic"; επιλογή επιλογή-66 "10.1.1.50/panasonic/"; } class "cisco" { match if substring (option vendor-class-identifier,0,36) = "Cisco Systems, Inc. IP Phone CP-7906"; επιλογή επιλογή-66 "10.1.1.50/cisco/"; } class "grandstream" { match if substring (option vendor-class-identifier,0,11) = "Grandstream"; επιλογή επιλογή-66 "10.1.1.50/grandstream/"; } class "dlink" { match if (binary-to-ascii (16,8,":",substring(hardware,1,4)) = "c8:d3:a3:8d") ή (binary-to-ascii (16,8,":",substring(hardware,1,4)) = "90:94:e4:72"); επιλογή επιλογή-66 "10.1.1.50/dlink/"; } class "yealink" { match if substring (option vendor-class-identifier,0,7) = "Yealink"; επιλογή επιλογή-66 "10.1.1.50/yealink/"; }

Τα τηλέφωνα έπρεπε να αποκλειστούν αναγκαστικά από τη γενική πισίνα. Διαφορετικά, δεν ήθελαν να πάνε στην «πισίνα τους».
Παράδειγμα ρυθμίσεων υποδικτύου

subnet 10.1.1.0 netmask 255.255.255.0 { option routers 10.1.1.1; pool { αρνούνται μέλη του "cisco"; αρνούνται μέλη της "panasonic"? αρνούνται μέλη του "dlink"? εύρος 10.1.1.230 10.1.1.240; } pool { επιτρέπονται μέλη του "cisco"; εύρος 10.1.1.65 10.1.1.69; } pool { επιτρέπονται μέλη του "panasonic"; εύρος 10.1.1.60 10.1.1.64; } pool { επιτρέπονται μέλη του "dlink"; εύρος 10.1.1.55 10.1.1.59; } }

Μετά την επανεκκίνηση όλων των εμπλεκόμενων υπηρεσιών, τα τηλέφωνα πήγαν με σιγουριά στον καθορισμένο διακομιστή tftp για ρυθμίσεις. Το μόνο που μένει είναι να τα τοποθετήσουμε εκεί.

cisco 7906

Παρέλαβα αυτές τις συσκευές στην αρχική τους συσκευασία. Έπρεπε να το αλλάξω για να κάνω φίλους με τον αστερίσκο. Αλλά αυτό είναι μια διαφορετική ιστορία. Σε μια συγκεκριμένη περίπτωση, για να διαμορφώσω τη συσκευή, σύμφωνα με τις οδηγίες, δημιούργησα το αρχείο SEPAABBCCDDEEFF.cnf.xml στο root του διακομιστή tftp. Όπου AABBCCDDEEFF είναι η διεύθυνση MAC της συσκευής.

Έχει γραφτεί ήδη περισσότερες από μία φορές σχετικά με τη ρύθμιση τηλεφώνων από τη Cisco, οπότε θα αφήσω απλώς ένα αρχείο εργασίας με τις ρυθμίσεις.
Ρυθμίσεις για τη 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

Εάν πρόκειται να αγοράσετε ένα τηλέφωνο αυτής της σειράς, να είστε προσεκτικοί, ο αυτόματος συντονισμός υποστηρίζεται μόνο σε συσκευές 150S/F3. Στη συσκευή 150S/F2 που ήρθε στα χέρια μου δεν βρήκα τέτοια λειτουργικότητα.

Το αρχείο διαμόρφωσης μπορεί να είναι σε μορφή xml ή απλού κειμένου. Υπάρχει μία απαίτηση για το xml: η ετικέτα πρέπει να βρίσκεται στην αρχή της γραμμής, διαφορετικά ο αναλυτής θα την αγνοήσει και η τιμή της αντίστοιχης παραμέτρου δεν θα αλλάξει.

Δύο αρχεία χρησιμοποιούνται για τη διαμόρφωση του τηλεφώνου. f0D00580000.cfg - για αποθήκευση ρυθμίσεων για όλα τα τηλέφωνα και 00112233aabb.cfg (διεύθυνση MAC με πεζά γράμματα) για μεμονωμένες ρυθμίσεις. Οι μεμονωμένες ρυθμίσεις έχουν φυσικά υψηλότερη προτεραιότητα.

Το πλήρες σύνολο ρυθμίσεων περιέχει περισσότερες από χίλιες γραμμές, για να μην μπερδεύω το άρθρο, θα περιγράψω το ελάχιστο επαρκές σύνολο ρυθμίσεων.

Απαιτείται ο ριζικός κόμβος VOIP_CONFIG_FILE και ο κόμβος φωλιάζει μέσα του εκδοχή. Οι ρυθμίσεις θα εφαρμοστούν μόνο εάν η έκδοση του αρχείου είναι υψηλότερη από τις τρέχουσες ρυθμίσεις στη συσκευή. Μπορείτε να μάθετε αυτήν την τιμή μέσω της διεπαφής web του τηλεφώνου στην ενότητα συντήρησης (διαχείριση συστήματος). Για τηλέφωνα με εργοστασιακές ρυθμίσεις και στις δύο περιπτώσεις είναι 2.0002. Επιπλέον, η έκδοση μεμονωμένου αρχείου πρέπει να είναι μεγαλύτερη από την έκδοση κοινόχρηστου αρχείου.

Πρώτα θα παράσχω ένα αρχείο με μια κοινή διαμόρφωση για όλα τα τηλέφωνα. Στην πραγματικότητα, αποθηκεύει όλες τις ρυθμίσεις· το μεμονωμένο αρχείο θα είναι υπεύθυνο μόνο για τον αριθμό τηλεφώνου και την επιγραφή στην οθόνη.

Στα δύο μπλοκ παρακάτω, ορίζονται οι παράμετροι ζώνης ώρας και συγχρονισμού ώρας, ενεργοποιείται η αρχική θύρα για RTP και η γέφυρα δικτύου μεταξύ των υποδοχών WAN και LAN της συσκευής.

Θραύσμα Νο. 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>

Τα πραγματικά ονόματα των παραμέτρων διαμόρφωσης είναι επαρκώς περιγραφικά για να αποφευχθεί η λεπτομερής περιγραφή τους.
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>

Ρυθμίσεις τηλεχειριστηρίου

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

Ρυθμίσεις τηλεφώνου

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

Όλες οι άλλες ρυθμίσεις θα παραμείνουν "προεπιλεγμένες". Τώρα κάθε τηλέφωνο Dlink που είναι συνδεδεμένο στο δίκτυο θα δέχεται αμέσως ένα κοινό σύνολο παραμέτρων για όλους. Για να ορίσετε μεμονωμένες παραμέτρους για τη συσκευή, απαιτείται ξεχωριστό αρχείο. Σε αυτό χρειάζεται μόνο να καθορίσετε τις απαραίτητες ρυθμίσεις για έναν μεμονωμένο συνδρομητή.
ρυθμίσεις συνδρομητή

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

Αυτές οι συσκευές λαμβάνουν ρυθμίσεις σύμφωνα με ένα ελαφρώς διαφορετικό σχήμα. Η διαμόρφωση αποθηκεύεται σε αρχεία κειμένου. Το μέγιστο μέγεθος αρχείου ρύθμισης παραμέτρων είναι 120 KB. Ανεξάρτητα από τον αριθμό των αρχείων, το συνολικό τους μέγεθος δεν πρέπει να υπερβαίνει τα 120 KB.
Το αρχείο διαμόρφωσης αποτελείται από ένα σύνολο γραμμών, οι οποίες υπόκεινται στις ακόλουθες προϋποθέσεις:

  • Η πρώτη γραμμή είναι πάντα μια γραμμή σχολίων, συμπεριλαμβανομένης της ακόλουθης ακολουθίας χαρακτήρων (44 byte):
    # Αρχείο τυπικής μορφής τηλεφώνου SIP Panasonic #
    Δεκαεξαδική αναπαράσταση αυτής της ακολουθίας:
    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 C 72 6 61
    Για να αποτρέψετε τυχαίες αλλαγές στην καθιερωμένη ακολουθία χαρακτήρων, συνιστάται να ξεκινήσετε το αρχείο διαμόρφωσης με τη γραμμή:
    # Αρχείο τυπικής μορφής τηλεφώνου Panasonic SIP # ΜΗΝ ΑΛΛΑΞΕΤΕ ΑΥΤΗ ΤΗ ΓΡΑΜΜΗ!
  • Τα αρχεία διαμόρφωσης πρέπει να τελειώνουν με κενή γραμμή.
  • Κάθε γραμμή πρέπει να τελειώνει με την ακολουθία " ".
  • Το μέγιστο μήκος συμβολοσειράς είναι 537 byte, συμπεριλαμβανομένης της ακολουθίας " "
  • Οι ακόλουθες γραμμές αγνοούνται:
    • γραμμές που υπερβαίνουν το όριο των 537 byte.
    • κενές γραμμές?
    • γραμμές σχολίων που ξεκινούν με "#".
  • Η συμβολοσειρά για κάθε παράμετρο γράφεται με τη μορφή XXX=“εεε” (XXX: όνομα παραμέτρου, εεε: η τιμή της). Η τιμή πρέπει να περικλείεται σε διπλά εισαγωγικά.
  • Δεν επιτρέπεται ο διαχωρισμός μιας γραμμής παραμέτρων σε πολλές γραμμές. Αυτό θα οδηγήσει σε σφάλμα κατά την επεξεργασία του αρχείου διαμόρφωσης και, ως αποτέλεσμα, αποτυχία προετοιμασίας.
  • Οι τιμές ορισμένων παραμέτρων πρέπει να προσδιορίζονται ξεχωριστά για κάθε γραμμή. Η παράμετρος με το επίθημα "_1" στο όνομα είναι η παράμετρος για τη γραμμή 1. "_2"—για τη γραμμή 2, κ.λπ.
  • Το μέγιστο μήκος του ονόματος της παραμέτρου είναι 32 χαρακτήρες.
  • Το μέγιστο μήκος της τιμής της παραμέτρου είναι 500 χαρακτήρες εξαιρουμένων των χαρακτήρων διπλού εισαγωγικού.
  • Δεν επιτρέπονται κενά στη συμβολοσειρά εκτός εάν η τιμή περιλαμβάνει χαρακτήρα διαστήματος.
  • Ορισμένες τιμές παραμέτρων μπορούν να καθοριστούν ως "κενές" για να ορίσετε την παράμετρο σε κενή τιμή.
  • Οι παράμετροι προσδιορίζονται χωρίς συγκεκριμένη σειρά.
  • Εάν η ίδια παράμετρος έχει καθοριστεί περισσότερες από μία φορές σε ένα αρχείο διαμόρφωσης, εφαρμόζεται η τιμή που καθορίστηκε πρώτα.

Ένα τόσο σοβαρό σύνολο απαιτήσεων για το αρχείο διαμόρφωσης, ειλικρινά μιλώντας, με αναστάτωσε. Κατά τη γνώμη μου, η υλοποίηση της αλληλεπίδρασης με τον διακομιστή ελέγχου στα τηλέφωνα Panasonic είναι εξαιρετικά άβολη. Σε αυτήν την παράμετρο, το τηλέφωνο είναι σημαντικά κατώτερο από άλλα.
Όταν ενεργοποιείτε τη συσκευή για πρώτη φορά (ή αφού την επαναφέρετε στις εργοστασιακές ρυθμίσεις), προσπαθεί να φορτώσει το λεγόμενο αρχείο προϊόντος (στην περίπτωση αυτή είναι το KX-UT123RU.cfg), το οποίο θα πρέπει να περιέχει τις διαδρομές προς το τα υπόλοιπα αρχεία διαμόρφωσης.
Αρχείο προϊόντος# Αρχείο τυπικής μορφής τηλεφώνου Panasonic SIP # ΜΗΝ ΑΛΛΑΞΕΤΕ ΑΥΤΗ ΤΗ ΓΡΑΜΜΗ!

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"

Μετά από αυτό, το τηλέφωνο θα εμφανίσει ένα μήνυμα σχετικά με την επιτυχή ολοκλήρωση της προετοιμασίας και θα περιμένει μέχρι να επανεκκινηθεί. Και μετά την επανεκκίνηση, θα αρχίσει να επεξεργάζεται τα αρχεία ρυθμίσεων που του έχουν ανατεθεί.

Συνιστάται να καθορίσετε γενικές ρυθμίσεις για όλα τα τηλέφωνα στο αρχείο master.cfg. Όπως και με το Dlink, θα καθορίσω μόνο ορισμένες παραμέτρους. Τα ονόματα των υπόλοιπων παραμέτρων και οι τιμές τους βρίσκονται στην τεκμηρίωση στον ιστότοπο του κατασκευαστή.
master.cfg################################################################### ##########
#Ρυθμίσεις συστήματος#
################################################################### ##########
## Ρυθμίσεις λογαριασμού σύνδεσης
ADMIN_ID="διαχειριστής"
ADMIN_PASS="ADMIN_PWD"
USER_ID="χρήστης"
USER_PASS="USER_PWD"

## Ρυθμίσεις ώρας συστήματος
NTP_ADDR="10.1.1.4"
TIME_ZONE="660"
DST_ENABLE="N"
DST_OFFSET="60"
DST_START_MONTH="3"
DST_START_ORDINAL_DAY="2"
DST_START_DAY_OF_WEEK="0"
DST_START_TIME="120"
DST_STOP_MONTH="10"
DST_STOP_ORDINAL_DAY="2"
DST_STOP_DAY_OF_WEEK="0"
DST_STOP_TIME="120"
LOCAL_TIME_ZONE_POSIX=""

## Ρυθμίσεις καταγραφής συστήματος
SYSLOG_ADDR="10.1.1.50"
SYSLOG_PORT="514"
SYSLOG_EVENT_SIP="6"
SYSLOG_EVENT_CFG="6"
SYSLOG_EVENT_VOIP="6"
SYSLOG_EVENT_TEL="6"

## Ρυθμίσεις παροχής
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"

################################################################### ##########
#Ρυθμίσεις δικτύου#
################################################################### ##########
## Ρυθμίσεις IP
CONNECTION_TYPE="1"
HOST_NAME="UT123"
DHCP_DNS_ENABLE="Y"
STATIC_IP_ADDRESS=""
STATIC_SUBNET=""
STATIC_GATEWAY=""
USER_DNS1_ADDR=""
USER_DNS2_ADDR=""

## Ρυθμίσεις DNS
DNS_QRY_PRLL="Y"
DNS_PRIORITY="N"
DNS1_ADDR="10.1.1.1"
DNS2_ADDR=""

## Ρυθμίσεις HTTP
HTTPD_PORTOPEN_AUTO="Y"
HTTP_VER="1"
HTTP_USER_AGENT="Panasonic_{MODEL}/{fwver} ({mac})"
HTTP_SSL_VERIFY="0"
CFG_ROOT_CERTIFICATE_PATH=""

## Ρυθμίσεις εφαρμογής 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=""

Παραδοσιακά, μόνο οι ρυθμίσεις του συνδρομητή παραμένουν στο μεμονωμένο αρχείο διαμόρφωσης συσκευής.
aabbccddeeff.cfgDISPLAY_NAME_1="Χρήστης #168"

PHONE_NUMBER_1="168"
SIP_URI_1="168"
LINE_ENABLE_1="Ενεργοποιημένο"
PROFILE_ENABLE_1="Ενεργοποιημένο"
SIP_AUTHID_1="168"
SIP_PASS_1="SIP_PWD"

Grandstream GXP-1400

Οι παράμετροι αυτών των τηλεφώνων αποθηκεύονται σε ένα αρχείο xml με το όνομα cfg{mac}.xml. Ή σε απλό κείμενο με το όνομα cfg{mac}. Αυτό το τηλέφωνο ζητά μόνο ένα μεμονωμένο αρχείο διαμόρφωσης, επομένως η βελτιστοποίηση των ρυθμίσεων μεταφέροντάς τες σε ένα κοινό αρχείο δεν θα λειτουργήσει. Ένα άλλο χαρακτηριστικό της ρύθμισης του Grandstreams είναι η ονομασία των παραμέτρων. Είναι όλα αριθμημένα και χαρακτηρίζονται ως P###. Για παράδειγμα:

P1650 – υπεύθυνος για τη διεπαφή ιστού για τη διαχείριση του τηλεφώνου (0 – HTTPS, 1 – HTTP)
P47 – Διεύθυνση διακομιστή SIP για σύνδεση.

Εάν η διαμόρφωση είναι αποθηκευμένη σε αρχείο κειμένου, οι παράμετροι δεν απαιτούν καμία ομαδοποίηση και είναι σε οποιαδήποτε σειρά. Οι γραμμές που ξεκινούν με # αντιμετωπίζονται ως σχόλια.

Εάν οι ρυθμίσεις παρουσιάζονται σε μορφή xml, πρέπει να είναι ένθετες σε έναν κόμβο , το οποίο με τη σειρά του πρέπει να είναι φωλιασμένο . Όλες οι παράμετροι γράφονται με τη μορφή αντίστοιχων ετικετών με την τιμή της παραμέτρου μέσα.
Παράδειγμα ρύθμισης

1.0 8 1 1 SIP_PWD Χρήστης # 271 1 271 270 109 ADMIN_PWD USER_PWD ru 270 35/grandstream 109 TZc-35 36 109 http://36/provisioning/grandstream τριάντα

Yealink T19 και T21

Οι συσκευές αυτών των μοντέλων υποστηρίζουν μεμονωμένα αρχεία διαμόρφωσης για συσκευές και κοινά για μοντέλα. Στην περίπτωσή μου, έπρεπε να τοποθετήσω τις γενικές παραμέτρους στα αρχεία y000000000031.cfg και y000000000034.cfg, αντίστοιχα. Τα μεμονωμένα αρχεία διαμόρφωσης ονομάζονται σύμφωνα με τη διεύθυνση MAC: 00112233aabb.cfg.

Οι ρυθμίσεις για τους yealinks αποθηκεύονται σε μορφή κειμένου. Οι μόνες υποχρεωτικές απαιτήσεις είναι η παρουσία της έκδοσης του αρχείου στην πρώτη γραμμή, σε μορφή #!έκδοση:1.0.0.1.

Όλες οι παράμετροι γράφονται με τη μορφή παράμετρος = τιμή. Τα σχόλια πρέπει να ξεκινούν με χαρακτήρα "#". Τα ονόματα των παραμέτρων και οι τιμές τους βρίσκονται στην τεκμηρίωση στον ιστότοπο του κατασκευαστή.
Γενικές Ρυθμίσεις#!έκδοση:1.0.0.1
#Διαμόρφωση του τύπου θύρας WAN. 0-DHCP (προεπιλογή), 1-PPPoE, 2-Στατική διεύθυνση IP.
network.internet_port.type = 0
#Διαμόρφωση του τύπου θύρας υπολογιστή. 0-Δρομολογητής, 1-Γέφυρα (προεπιλογή).
network.bridge_mode = 1
#Διαμόρφωση του τύπου πρόσβασης του διακομιστή ιστού. 0-Απενεργοποιημένο, 1-HTTP & HTTPS (προεπιλογή), 2-HTTP Μόνο, 3-HTTPS μόνο.
network.web_server_type = 3
#Διαμόρφωση της μέγιστης τοπικής θύρας RTP. Κυμαίνεται από 0 έως 65535, η προεπιλεγμένη τιμή είναι 11800.
network.port.max_rtpport = 10100
#Διαμόρφωση της ελάχιστης τοπικής θύρας RTP. Κυμαίνεται από 0 έως 65535, η προεπιλεγμένη τιμή είναι 11780.
network.port.min_rtpport = 10000
security.user_name.admin = root
security.user_password = root:ADMIN_PWD
security.user_name.user = χρήστης
security.user_password = χρήστης:USER_PWD
#Καθορίστε τη γλώσσα ιστού, οι έγκυρες τιμές είναι: Αγγλικά, Κινέζικα_S, Τουρκικά, Πορτογαλικά, Ισπανικά, Ιταλικά, Γαλλικά, Ρωσικά, Γερμανικά και Τσεχικά.
lang.wui = Ρώσος
#Καθορίστε τη γλώσσα LCD, οι έγκυρες τιμές είναι: Αγγλικά (προεπιλογή), Κινέζικα_S, Κινέζικα_Τ, Γερμανικά, Γαλλικά, Τουρκικά, Ιταλικά, Πολωνικά, Ισπανικά και Πορτογαλικά.
lang.gui = Ρώσος
#Διαμόρφωση της ζώνης ώρας και του ονόματος ζώνης ώρας. Η ζώνη ώρας κυμαίνεται από -11 έως +12, η ​​προεπιλεγμένη τιμή είναι +8.
#Το προεπιλεγμένο όνομα ζώνης ώρας είναι Κίνα (Πεκίνο).
#Ανατρέξτε στον Οδηγό χρήστη Yealink IP Phones για περισσότερες διαθέσιμες ζώνες ώρας και ονόματα ζωνών ώρας.
local_time.time_zone = +11
local_time.time_zone_name = Βλαδιβοστόκ
#Ρυθμίστε το όνομα τομέα ή τη διεύθυνση IP του διακομιστή NTP. Η προεπιλεγμένη τιμή είναι cn.pool.ntp.org.
local_time.ntp_server1 = 10.1.1.4
#Διαμόρφωση της λειτουργίας λογότυπου της οθόνης LCD. 0-Απενεργοποιημένο (προεπιλογή), 1-Λογότυπο συστήματος, 2-Προσαρμοσμένο λογότυπο.
phone_setting.lcd_logo.mode = 1
#Ρυθμίστε τη διεύθυνση URL πρόσβασης και το όνομα του απομακρυσμένου τηλεφωνικού καταλόγου. Το Χ κυμαίνεται από 1 έως 5.
remote_phonebook.data.1.url = 10.1.1.50/provisioning/yealink-phonebook.xml
remote_phonebook.data.1.name = Ευρετήριο
features.remote_phonebook.flash_time = 3600

μεμονωμένες ρυθμίσεις#!έκδοση:1.0.0.1
#Ενεργοποίηση ή απενεργοποίηση του λογαριασμού1, 0-Disabled (προεπιλογή), 1-Enabled;
account.1.enable = 1
#Διαμορφώστε την ετικέτα που εμφανίζεται στην οθόνη LCD για λογαριασμό1.
account.1.label = Δοκιμαστικό τηλέφωνο
#Ρυθμίστε το εμφανιζόμενο όνομα του λογαριασμού1.
account.1.display_name = Χρήστης 998
#Ρυθμίστε το όνομα χρήστη και τον κωδικό πρόσβασης για έλεγχο ταυτότητας εγγραφής.
account.1.auth_name = 998
λογαριασμός.1.κωδικός πρόσβασης = 998
#Ρυθμίστε το όνομα χρήστη εγγραφής.
account.1.user_name = 998
#Διαμόρφωση της διεύθυνσης διακομιστή SIP.
account.1.sip_server_host = 10.1.1.50
#Καθορίστε τη θύρα για τον διακομιστή SIP. Η προεπιλεγμένη τιμή είναι 5060.
account.1.sip_server_port = 5060

Ως αποτέλεσμα, χάρη στην υπέροχη λειτουργία αυτόματης παροχής που παρέχεται στα τηλέφωνα που ανέφερα, δεν υπήρχαν προβλήματα στη σύνδεση νέων συσκευών στο δίκτυο. Όλα κατέληξαν στην εύρεση της διεύθυνσης MAC του τηλεφώνου και στη δημιουργία ενός αρχείου διαμόρφωσης χρησιμοποιώντας ένα πρότυπο.

Ελπίζω να διαβάσατε μέχρι το τέλος και να επωφεληθήκατε από αυτά που διαβάσατε.

Σας ευχαριστώ για την προσοχή σας.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο