Tsy fantatro izay hampitahaina amin'ny fanomezana. Angamba miaraka amin'ny saka? Toa azo atao izany raha tsy misy azy, fa miaraka aminy dia tsara kokoa. Indrindra raha miasa izany))
Famolavolana ny olana:
- Te-hametraka finday SIP haingana sy mora ary azo antoka aho. Rehefa mametraka telefaonina, ary vao mainka izany rehefa reconfiguring azy.
- Mpivarotra maro no manana ny endrika config azy manokana, ny fampiasany manokana amin'ny famoronana config, ary ny fomba fiarovana azy manokana. Ary tsy te hifandray amin'ny olona rehetra aho.
- Vahaolana famatsiana maro, a) mifantoka amin'ny mpivarotra iray na rafitra telefaona iray, b) saro-takarina ny fampiharana, sora-baventy maro, paramètre, brrr...
Momba ny teboka faha-3 dia hanao fanamarihana aho fa misy rafitra famatsiana tena tsara , , , izay misy ny maodely ho an'ny finday avy amin'ny mpivarotra isan-karazany. Misy vahaolana ara-barotra izay ahafahanao manamboatra ny fiasan'ny telefaona avy amin'ny mpanamboatra samihafa ao amin'ny module provisioning, ohatra, Yeastar PBX.
Habré koa dia feno fomba fanamboarana momba ny fomba fametrahana fitaovana avy amin'ny mpivarotra isan-karazany: , . Saingy araka ny filazan'izy ireo, ny rafitra rehetra dia manana lesoka mahafaty. Noho izany dia hanao ny bisikiletanay manokana izahay.
ny endrikao manokana
Araka ny lazain'izy ireo ao amin'ny xkcd, raha tsy te-hiatrika endrika 14 ianao - . Noho izany, mampiasa fika ankapobe ho an'ny telefaona rehetra izahay ary manao ny format json config anay.
Misy zavatra toy izao:
{
"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"
}
]
}Noho izany, amin'ny telefaona rehetra dia mila manitsy ny fotoana eo an-toerana sy ny tsipika SIP ianao. Tsotra ny zava-drehetra eto. Afaka mahita ohatra bebe kokoa ianao .
famatsiana mpizara anao manokana
Ao amin'ny bokin'ny mpanamboatra dia matetika misy teboka iray milaza hoe: makà csv, soraty ny adiresy login-password-mac-adiresy-nao, mamorona rakitra amin'ny alàlan'ny script proprietary, apetraho eo ambanin'ny server web Apache izy ireo dia ho tsara ny zava-drehetra.
Ny fehintsoratra manaraka amin'ny boky dia matetika milaza aminao fa azonao atao ihany koa ny manisy encryption ny rakitra config natsangana.
Fa klasika daholo ireo. Ny fomba fiasa maoderina miaraka amin'ny smoothies sy ny Twitter dia milaza fa mila manao mpizara tranonkala efa vonona ianao izay tsy ho mahery toa an'i Apache, fa hanao zavatra kely fotsiny. Mamorona sy mandefa configs mampiasa rohy.
Aleo mijanona eto ary tsarovy fa saika ny finday SIP rehetra izao dia afaka mahazo config amin'ny http/https, ka tsy mandinika fampiharana hafa izahay (ftp, tftp, ftps). Avy eo, ny telefaona tsirairay dia mahafantatra ny adiresy MAC manokana. Noho izany, hanao rohy roa izahay: ny iray manokana - mifototra amin'ny fanalahidin'ny fitaovana, ny jeneraly faharoa, izay miasa amin'ny fampiasana marika mahazatra sy adiresy MAC.
Ary koa, tsy hieritreritra momba ny zero-config aho, i.e. mametraka ny telefaona manomboka amin'ny scratch, i.e. nampiditra azy tamin'ny tambajotra ianao ary nanomboka niasa. Tsia, amin'ny toe-javatra misy ahy, ampidiro ao amin'ny tambajotra izany, ataovy ny setup santatra (amboary mba handraisana ny config avy amin'ny server provisioning), ary misotroa pina colada ary amboary ny telefaona araka izay ilaina amin'ny alàlan'ny provisioning. Ny fizarana safidy 66 dia andraikitry ny mpizara DHCP.
Etsy ankilany, leo tanteraka aho amin'ny filazana hoe "fanomezana", ka nohafohezina ho "fanomezana" ny teny, azafady, aza dakana aho.
Ary zavatra iray hafa: tsy manana UI ny mpizara mpamatsy anay, i.e. mpampiasa interface tsara. Angamba, amin'izao fotoana izao, saingy tsy azo antoka, satria ... Tsy mila izany aho. Saingy misy API ho an'ny fitehirizana / famafana ny toe-javatra, hahazoana lisitry ny mpivarotra tohanana, modely, ny zava-drehetra dia voafaritra araka ny kanona amin'ny famaritana swagger.
Nahoana no API fa tsy UI? SATRIA Efa manana ny rafitra an-telefaoniko manokana aho, avy eo dia manana loharanon'ny fahazoan-dàlana aho, izay ilako fotsiny ny maka an'io data io, manangona ny json ilaina ary mamoaka izany amin'ny mpizara provisioning. Ary ny mpizara manome, araka ny fitsipika voalaza ao amin'ny rakitra json, dia hanome ny fitaovana ilaina ny config na tsia raha toa ka tsy mety ny fitaovana na tsy mahafeno ny fepetra voalaza ao amin'ity json ity.

Toy izany no nivoahan'ny microservice. ANTSOINA , ny kaody loharano dia hita ao amin'ny GitHub, misy koa , ohatra fampiasana docker .
Lafin-javatra fototra:
Na ahoana na ahoana, voafetra ny fidirana amin'ny config amin'ny fotoana, amin'ny alàlan'ny default 10 minitra. Raha te-hametraka indray ny config ianao dia avereno avoaka indray ny config.
endrika iray ho an'ny mpivarotra rehetra, esorina amin'ny sonata ny fanitsiana rehetra, mandefa json manara-penitra ianao, amboary izay fitaovana misy.
ny config rehetra navoaka tamin'ny fitaovana dia voarakitra, ny faritra misy olana rehetra dia azo jerena ao amin'ny log ary hita ny fahadisoana
Azo atao ny mampiasa rohy mahazatra miaraka amin'ny marika iray; Ny telefaona tsirairay dia mahazo ny config azy manokana amin'ny famaritana ny adiresy mac. Na rohy manokana amin'ny alàlan'ny fanalahidy.
Ny API ho an'ny fitantanana (fitantanana) sy ny fanomezana ny configs amin'ny telefaona (fanomezana) dia zaraina amin'ny seranana
Fitsapana. Tena zava-dehibe tamiko ny nanamboatra ny endrika config navoaka ary nandrakotra ny toe-javatra mahazatra rehetra amin'ny famoahana config miaraka amin'ny fitsapana. Mba mandeha tsara daholo izany rehetra izany.
maharatsy ny mifampiresaka:
Hatreto, tsy ampiasaina amin'ny fomba rehetra ny fanafenana ao amin'ny Sonata. Ireo. Mazava ho azy fa afaka manomboka mampiasa https ianao amin'ny fametrahana nginx eo anoloan'ny sonata ohatra. Saingy mbola tsy nampiasaina ny fomba fananan-tany. Nahoana? Mbola tanora ny tetikasa, efa namoaka ireo fitaovana an-jatony voalohany. Ary mazava ho azy, manangona hevitra sy hevitra aho. Fanampin'izay, mba ho azo antoka ny zava-drehetra, mba tsy ho sniffs ny configs ao amin'ny tambajotra, dia mendrika ny hanahirana amin'ny fanalahidin'ny encryption, tls sy ny sokina miaraka amin'izy ireo, fa izany dia ho tohiny.
Tsy fahampian'ny UI. Angamba izany dia fatiantoka lehibe ho an'ny mpampiasa farany, fa ho an'ny mpitantana ny rafitra, ny fampitaovana fampiononana dia manan-danja kokoa noho ny fampiharana feno. Nisy ny fikasana hanao fitaovana fampiononana, saingy tsy azoko antoka raha ilaina izany?
Inona amin'ny farany?
Mpizara tranonkala kely sy tsotra amin'ny fanomezana modely finday maromaro misy API ho an'ny fitantanana.
Indray mandeha, ahoana no fomba fiasa?
- Fametrahana sonata.
- Mamorona config json izahay ary mamoaka azy amin'ny sonata.
- Avy eo isika dia mahazo rohy manome avy amin'ny sonata.
- Avy eo dia asehontsika amin'ny telefaona ity rohy ity.
- Ny fitaovana dia mametraka ny config
Misy dingana roa ihany amin'ny asa manaraka:
- Mamorona config json izahay ary mamoaka azy amin'ny sonata
- Ny fitaovana dia mametraka ny config
Iza amin'ireo finday no hampandroso?
Vendor Grandstream, Fanvil, Yealink. Ny configs ao amin'ny mpivarotra dia mitovy na latsaka, fa mety tsy mitovy arakaraka ny firmware - mety ilaina ny fitsapana fanampiny.
Inona no fitsipika azonao apetraka?
Amin'ny fotoana. Azonao atao ny mamaritra ny fotoana hahatongavan'ny config.
Amin'ny adiresy mac. Rehefa mandefa ny config amin'ny alàlan'ny rohy manokana an'ny fitaovana dia hojerena ihany koa ny adiresy mac.
Amin'ny ip. Amin'ny adiresy IP izay nanaovana ny fangatahana.
Ahoana ny fifandraisana amin'ny sonata?
Amin'ny alàlan'ny API, manao fangatahana http. Ny API dia ho hita ao amin'ny fametrahanao. SATRIA Ny API dia manohana ny famaritana swagger, azonao ampiasaina ho an'ny fangatahana fitsapana amin'ny API.
OK, mahafinaritra. Zavatra mahafinaritra, ahoana raha manandrana azy?
Ny fomba tsotra indrindra dia ny fametrahana sary docker mifototra amin'ny tahiry . Ny tahiry dia misy torolàlana fametrahana.
Ahoana raha fantatro ny node.js?
Raha manana traikefa amin'ny fampiasana JavaScript ianao dia ho hitanao haingana ny fomba fiasan'ny zava-drehetra eto.
Hisy ve ny fampandrosoana ny Sonata?
Tratrako tamin'ny ampahany ny tanjoko. Ny fivoarana bebe kokoa dia resaka momba ny asako amin'ny lohahevitry ny fametrahana telefaona automatique. Misy ihany koa ny fahafahana hanitarana ny configs hanitsy ny bokotra an-telefaona, ampio ny fanomezana boky adiresy, angamba zavatra hafa, soraty ao amin'ny fanehoan-kevitra.
Famintinana sy fankasitrahana
Ho faly aho manana soso-kevitra / fanoherana / fanehoan-kevitra ary fanontaniana, satria ... Mety ho nilaza zavatra tsy takatry ny saina izy.
Maneho fisaorana ihany koa aho amin'ireo mpiara-miasa amiko rehetra izay nanampy, nanoro hevitra, nanao fitiliana, ary nanome / nanome finday ho an'ny fitsapana. Raha ny zava-misy dia maro ireo olona nifaneraserako tany am-piasana no mandray anjara amin'ny tetikasa amin'ny ambaratonga samihafa, 'e, amin'ny chat sy mailaka. Misaotra amin'ny hevitra sy hevitra.
Source: www.habr.com
