Ez dakit hornidura zerekin alderatu. Agian katu batekin? Hori gabe posible dela dirudi, baina horrekin pixka bat hobea da. Batez ere funtzionatzen badu))
Arazoaren formulazioa:
- SIP telefonoak azkar, erraz eta seguru konfiguratu nahi ditut. Telefono bat instalatzerakoan, eta are gehiago birkonfiguratzerakoan.
- Saltzaile askok beren konfigurazio formatuak dituzte, konfigurazioak sortzeko beren utilitateak eta konfigurazioak babesteko moduak. Eta ez dut denekin tratatu nahi.
- Hornidura-soluzio asko, a) hornitzaile edo telefono-sistema batera bideratzen dira, b) inplementatzeko nahiko astunak dira, script, parametro, brrr... asko.
3. puntuari dagokionez, hornidura sistema bikainak daudelako iruzkin bat egingo dut
HabrΓ© hainbat saltzailetako gailuak konfiguratzeko errezetaz beteta dago:
zure formatua
Xkcd-n esaten den bezala, 14 formatuekin jorratu nahi ez baduzu -
Honelako zerbait:
{
"key": "sdgjdeu9443908",
"token": "590sfdsf8u984",
"model": "gxp1620",
"vendor": "grandstream",
"mac": "001565113af8",
"timezone_offset": "GMT+03",
"ntp_server": "pool.ntp.org",
"status": true,
"accounts": [
{
"name": "ΠΠΎΠ±ΠΈΠ»ΠΎΠ½",
"line": 1,
"sip_register": "sip.mobilonsip.ru",
"sip_name": "sip102",
"sip_user": "sip102",
"sip_password": "4321",
"sip_auth": "sip102"
}
]
}
Beraz, edozein telefonotan tokiko ordua eta SIP lineak konfiguratu behar dituzu. Hemen dena sinplea da. Adibide gehiago ikus ditzakezu
zure zerbitzaria hornitzea
Fabrikatzailearen eskuliburuetan egon ohi da puntu bat non esaten duena: hartu csv bat, idatzi zure login-password-mac-helbidea, sortu fitxategiak gure jabedun script erabiliz, jarri Apache web zerbitzariaren azpian eta dena ondo egongo da.
Eskuliburuaren hurrengo paragrafoak normalean esaten dizu sortutako konfigurazio fitxategia ere enkriptatu dezakezula.
Baina hauek guztiak klasikoak dira. Irabiatuak eta Twitterren ikuspegi modernoak dio prest egindako web zerbitzari bat egin behar duzula, Apache bezain indartsua izango ez dena, baina gauza txiki bat bakarrik egingo duena. Sortu eta bidali konfigurazioak esteka erabiliz.
Geldi gaitezen hemen eta gogoratu SIP telefono ia guztiek gaur egun http/https bidez konfigurazioak jaso ditzaketela, beraz, ez ditugu kontuan hartzen beste inplementazio batzuk (ftp, tftp, ftps). Orduan, telefono bakoitzak bere MAC helbidea ezagutzen du. Hori dela eta, bi esteka egingo ditugu: bat pertsonala - gailuaren gakoan oinarritutakoa, bigarrena orokorra, token arrunt baten eta MAC helbide baten konbinazioa erabiliz funtzionatzen duena.
Gainera, ez naiz zero-config-en gainean geratuko, hau da. telefonoa hutsetik konfiguratzea, hau da. sarera konektatu zenuen eta lanean hasi zen. Ez, nire eszenatokian, sarera konektatzen duzu, aurretiazko konfigurazioa egiten duzu (hornikuntza-zerbitzariaren konfigurazioa jasotzeko konfiguratu), eta gero pina kolada edan eta telefonoa birkonfiguratu behar duzu hornikuntzaren bidez. 66 aukera banatzea DHCP zerbitzariaren ardura da.
Bide batez, guztiz nekatuta nago "hornikuntza" esateaz, beraz, hitza "hornidura" moduan laburtu zen, mesedez, ez nazazu ostikorik eman.
Eta gauza bat gehiago: gure hornikuntza zerbitzariak ez du UIrik, hau da. erabiltzailearen interfazea. Agian, oraingoz, baina ez ziur, zeren... Ez dut behar. Baina ezarpenak gordetzeko / ezabatzeko API bat dago, onartzen diren saltzaileen, ereduen zerrenda lortzeko, dena swagger zehaztapenaren kanonen arabera deskribatzen da.
Zergatik APIa eta ez UI? Zeren Dagoeneko badut nire telefono sistema, orduan kredentzial iturri bat daukat, non datu hauek hartu, beharrezko json-a konpilatu eta hornikuntza zerbitzarian argitaratu behar dudan. Eta hornikuntza zerbitzariak, json fitxategian zehaztutako arauen arabera, beharrezko gailuari bere konfigurazioa emango dio edo ez du emango gailua zuzena ez bada edo json honetan ere zehaztutako irizpideak betetzen ez baditu.
Honela atera zen horniketa mikrozerbitzua. Deitua
Ezaugarri nagusiak:
-
nolanahi ere, konfiguraziorako sarbide mugatua denboraren arabera, lehenespenez 10 minutu. Konfigurazioa berriro erabilgarri jarri nahi baduzu, argitaratu berriro konfigurazioa.
-
formatu bat saltzaile guztientzat, doikuntza guztiak kentzen dira sonataz, json estandarizatua bidaltzen duzu, erabilgarri dagoen edozein ekipo konfiguratu.
-
Gailuei emandako konfigurazio guztiak erregistratuta daude, arazo-eremu guztiak erregistroan ikus daitezke eta akatsak ikus daitezke.
-
Token batekin esteka komun bat erabil daiteke; telefono bakoitzak bere konfigurazioa jasotzen du mac helbidea zehaztuta. Edo esteka pertsonal bat giltza bidez.
-
Kudeatzeko (kudeaketa) eta telefonoetarako konfigurazioak hornitzeko APIak (hornikuntza) portuen arabera banatzen dira
-
Probak. Niretzat oso garrantzitsua izan zen jaulkitako konfigurazioaren formatua konpontzea eta konfigurazio bat igortzeko ohiko egoera guztiak testekin estaltzea. Hori guztia argi eta garbi funtziona dezan.
Cons:
Orain arte, enkriptatzea ez da inola ere erabiltzen Sonata barruan. Horiek. https erabiltzen has zaitezke, noski, adibidez, nginx sonataren aurrean jarriz. Baina jabedun metodoak ez dira oraindik erabili. Zergatik? Proiektua oraindik gaztea da, bere lehen ehun gailu jarri ditu martxan. Eta, noski, ideiak eta iritziak biltzen ditut. Gainera, dena segurua izan dadin, konfigurazioak sarean usnatu ezin daitezen, ziurrenik merezi du enkriptazio-gakoekin, tls-ekin eta trikuarekin nahastea, baina hau jarraipena izango da.
UI falta. Beharbada, azken erabiltzailearentzako desabantaila nabarmena da, baina sistema-administratzaile batentzat, kontsola-erabilgarritasun bat osoko aplikazio bat baino garrantzitsuagoa da. Kontsola erabilgarritasun bat egiteko asmoa zegoen, baina ez nago ziur beharrezkoa den?
Emaitza?
Web zerbitzari txiki eta sinple bat hainbat telefono modelo hornitzeko kudeaketarako API batekin.
Berriro ere, nola funtzionatu behar du honek?
- Sonata instalatzea.
- Json konfigurazioa sortzen dugu eta sonata batean argitaratzen dugu.
- Ondoren, hornidura-esteka bat jasotzen dugu sonatatik.
- Ondoren, esteka hau telefonoan adierazten dugu.
- Gailua konfigurazioa kargatzen ari da
Bi urrats besterik ez daude ondorengo funtzionamenduan:
- Json konfigurazioa sortzen dugu eta sonata batean argitaratzen dugu
- Gailua konfigurazioa kargatzen ari da
Zein telefono sustatuko dira?
Saltzaileak Grandstream, Fanvil, Yealink. Saltzailearen barneko konfigurazioak gutxi gorabehera berdinak dira, baina firmwarearen arabera desberdinak izan daitezke; baliteke proba gehiago egitea beharrezkoa izatea.
Zein arau ezar ditzakezu?
Denboraren arabera. Konfigurazioa erabilgarri egongo den denbora zehaztu dezakezu.
Mac helbidearen arabera. Konfigurazioa gailuaren esteka pertsonalaren bidez bidaltzean, mac helbidea ere egiaztatuko da.
ip bidez. Eskaera egin den IP helbidearen arabera.
Nola jokatu sonatarekin?
API bidez, http eskaerak eginez. APIa erabilgarri egongo da zure instalazioan. Zeren APIak swagger zehaztapena onartzen du, erabil dezakezu
Ados, bikaina. Gauza politak, zer moduz probatzea?
Modurik errazena biltegi batean oinarritutako docker irudi bat zabaltzea da
Zer gertatzen da node.js ezagutzen badut?
JavaScript erabiltzen esperientzia baduzu, hemen dena nola funtzionatzen duen azkar ikusiko duzu.
Sonata garapenik izango al da?
Nere helburuak partzialki lortu ditut. Garapen gehiago telefonoaren konfigurazioa automatizatzeari buruzko nire zereginen kontua da. Telefonoaren botoiak konfiguratzeko konfigurazioak zabaltzeko aukera ere badago, helbide-liburuaren hornidura gehitzeko, agian beste zerbait, iruzkinetan idatzi.
Laburpena eta eskerrak
Pozik egongo naiz iradokizun/eragozpen/iruzkin eta galdera eraikitzaileak izateaz, zeren... Baliteke zerbait ulertezin deskribatzea.
Gainera, nire esker ona adierazten diet probak egiteko telefonoak lagundu, aholkatu, probatu eta eman/oparitu dituzten lankide guztiei. Egia esan, lanean komunikatuta egon naizen jende askok maila ezberdinetan parte hartzen du proiektuan,
Iturria: www.habr.com