Amaghị m ihe m ga-atụnyere ndokwa. Ma eleghị anya, ya na pusi? O yiri ka ọ ga-ekwe omume na-enweghị ya, mana ya na ọ ka mma karịa. Karịsịa ma ọ bụrụ na ọ na-arụ ọrụ))
Nhazi nke nsogbu:
- Achọrọ m ịtọlite ekwentị SIP ngwa ngwa, dị mfe na n'enweghị nsogbu. Mgbe ị na-etinye ekwentị, na ọbụna karịa mgbe ị na-ahazi ya.
- Ọtụtụ ndị na-ere ahịa nwere usoro nhazi nke ha, akụrụngwa nke ha maka imepụta nhazi, yana ụzọ nke ha si echebe nhazi. Achọghịkwa m ka m na-emeso onye ọ bụla.
- Ọtụtụ ihe ngwọta na-enye, a) na-elekwasị anya na otu onye na-ere ahịa ma ọ bụ otu usoro ekwentị, b) dị nnọọ mfe iji mejuputa, ọtụtụ scripts, parameters, brrr ...
N'ihe gbasara isi 3, m ga-ekwu na e nwere usoro inye ihe dị mma
Habré juputara na ntụzịaka maka otu esi edobe ngwaọrụ sitere na ndị na-ere ahịa dị iche iche:
usoro nke gị
Dị ka ha na-ekwu na xkcd, ọ bụrụ na ịchọghị ịmekọrịta usoro 14 -
Ihe dị ka nke a:
{
"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"
}
]
}
Yabụ, na ekwentị ọ bụla ịkwesịrị ịhazi oge mpaghara na ahịrị SIP. Ihe niile dị mfe ebe a. Ị nwere ike ịhụ ihe atụ ndị ọzọ
ihe nkesa nke gị
N'ime akwụkwọ ntuziaka onye nrụpụta, a na-enwekarị ebe ọ na-ekwu: were csv, detuo adreesị nbanye gị-paswọọdụ-mac, mepụta faịlụ site na iji edemede nke anyị, tinye ha n'okpuru sava weebụ Apache na ihe niile ga-adị mma.
Paragraf na-esote nke akwụkwọ ntuziaka na-agwakarị gị na ị nwekwara ike izochi faịlụ nhazi emepụtara.
Ma ndị a niile bụ oge ochie. Usoro ọgbara ọhụrụ na smoothies na Twitter na-ekwu na ịkwesịrị ịme sava weebụ dị njikere nke na-agaghị adị ike dị ka Apache, mana ọ ga-eme naanị otu obere ihe. Mepụta na zipu nhazi site na iji njikọ.
Ka anyị kwụsị ebe a ma cheta na ihe fọrọ nke nta ka ọ bụrụ ekwentị SIP niile nwere ike ịnweta nhazi site na http/https, yabụ anyị anaghị atụle mmejuputa iwu ndị ọzọ (ftp, tftp, ftps). Mgbe ahụ, ekwentị ọ bụla maara adreesị MAC nke ya. Ya mere, anyị ga-eme ka njikọ abụọ: otu onye - dabere na ngwaọrụ igodo, nke abụọ n'ozuzu, nke na-arụ ọrụ na-eji a Nchikota a nkịtị token na a MAC adreesị.
Ọzọkwa, agaghị m ebi na zero-config, i.e. ịtọlite ekwentị site na mmalite, ya bụ. ị tinye ya na netwọk wee malite ịrụ ọrụ. Mba, n'ọnọdụ m, ị na-agbanye ya na netwọkụ ahụ, mee nhazi nke mbụ (dobe ya ka ọ nweta nhazi site na ihe nkesa na-enye), wee ṅụọ pina colada ma megharịa ekwentị dị ka ọ dị mkpa site na ndokwa. Nkesa Nhọrọ 66 bụ ọrụ nke sava DHCP.
Site n'ụzọ, ike gwụrụ m nke ukwuu n'ịsị "nkwado", ya mere e debere okwu ahụ ka ọ bụrụ "nkwado", biko egbula m.
Na otu ihe ọzọ: ihe nkesa na-enye anyị enweghị UI, ya bụ. interface onye ọrụ. Ikekwe, maka ugbu a, mana ejighị n'aka, n'ihi na ... Achọghị m ya. Ma enwere API maka ịchekwa / ihichapụ ntọala, nweta ndepụta nke ndị na-ere ahịa na-akwado, ụdị, a na-akọwa ihe niile dịka canons nke nkọwa swagger si dị.
Gịnị kpatara API na ọ bụghị UI? N'ihi na Enweela m usoro ekwentị nke m, mgbe ahụ enwere m isi iyi nke nzere, ebe m kwesịrị iwere data a, chịkọta json dị mkpa wee bipụta ya na ihe nkesa na-enye. Na ihe nkesa na-enye, dịka iwu akọwapụtara na faịlụ json, ga-enye ngwaọrụ achọrọ nhazi ya ma ọ bụ ọ gaghị enye ya ma ọ bụrụ na ngwaọrụ ahụ ezighi ezi ma ọ bụ na-emezughị usoro akọwapụtara na json a.
Nke a bụ ka microservice na-enye ọrụ siri pụta. Akpọrọ
Atụmatụ ndị bụ isi:
-
n'ọnọdụ ọ bụla, ohere nwere oke na nhazi site na oge, na ndabara nkeji iri. Ọ bụrụ na ịchọrọ ime ka nhazi ahụ dị ọzọ, bipụtaghachi nhazi ahụ ọzọ.
-
otu usoro maka ndị na-ere ahịa niile, a na-ewepụ mgbanwe niile na sonata, ị na-eziga json ahaziri ahazi, hazie akụrụngwa ọ bụla dị.
-
A na-edebanye aha nhazi niile enyere na ngwaọrụ, enwere ike ịlele mpaghara nsogbu niile na ndekọ na enwere ike ịhụ njehie
-
Ọ ga-ekwe omume iji otu njikọ nke nwere akara; ekwentị ọ bụla na-enweta nhazi nke ya site na ịkọwa adreesị mac. Ma ọ bụ njikọ nkeonwe site na igodo.
-
Eji ọdụ ụgbọ mmiri kewara API maka njikwa (njikwa) yana inye nhazi na ekwentị (inye)
-
Nnwale. Ọ dị ezigbo mkpa ka m dozie usoro nhazi nke enyere ma kpuchie ọnọdụ niile nke ịnye nhazi na ule. Ka ihe niile na-arụ ọrụ nke ọma.
Cons:
Ka ọ dị ugbu a, anaghị eji ezoro ezo n'ụzọ ọ bụla n'ime Sonata. Ndị ahụ. Ị nwere ike ịmalite iji https site na itinye nginx n'ihu sonata dịka ọmụmaatụ. Mana ejibeghị ụzọ ndị nwe ya. Gịnị kpatara? Ihe oru ngo a ka na-eto eto, o ewepụtala ngwaọrụ narị mbụ ya. Na, n'ezie, m na-anakọta echiche na nzaghachi. Ọzọkwa, iji mee ka ihe niile dị nchebe, nke mere na enweghị ike ịmegharị ihe nhazi ahụ na netwọk ahụ, ọ ga-abụ na ọ bara uru na-enye nsogbu na igodo nzuzo, tls na hedgehog na ha, ma nke a ga-abụ ihe na-aga n'ihu.
Enweghị UI. Ikekwe nke a bụ nnukwu mwepu maka onye ọrụ njedebe, mana maka onye na-ahụ maka sistemụ, akụrụngwa njikwa dị mkpa karịa ngwa zuru oke. Enwere atụmatụ ịme ihe njikwa njikwa, mana ejighi m n'aka ma ọ dị mkpa?
Nso ke utịt?
Sava webụ dị obere ma dị mfe maka ịnye ọtụtụ ụdị ekwentị nwere API maka njikwa.
Ọzọkwa, olee otú nke a kwesịrị isi na-arụ ọrụ?
- Ịwụnye sonata.
- Anyị na-emepụta json config wee bipụta ya na sonata.
- Mgbe ahụ, anyị na-enweta njikọ nkwado site na sonata.
- Mgbe ahụ, anyị na-egosi njikọ a na ekwentị.
- Ngwaọrụ na-ebunye nhazi ahụ
Enwere naanị nzọụkwụ abụọ n'ọrụ na-esote:
- Anyị na-emepụta json config wee bipụta ya na sonata
- Ngwaọrụ na-ebunye nhazi ahụ
Kedu ekwentị a ga-akwalite?
Ndị na-ere ahịa Grandstream, Fanvil, Yealink. Nhazi dị n'ime onye na-ere ahịa bụ otu ma ọ bụ na-erughị otu, mana nwere ike ịdị iche dabere na firmware - ọ nwere ike ịdị mkpa ịnwale ọzọ.
Kedu iwu ị nwere ike ịtọ?
Site na oge. Ị nwere ike ịkọwa oge ruo mgbe nhazi ahụ ga-adị.
Site na adreesị Mac. Mgbe ị na-enye nhazi ahụ site na njikọ nke ngwaọrụ ahụ, a ga-enyocha adreesị mac.
Site na ip. Site na adreesị IP site na ebe a rịọrọ arịrịọ ahụ.
Kedu otu esi emekọrịta sonata?
Site na API, na-arịọ arịrịọ http. API ga-adị na ntinye gị. N'ihi na API na-akwado nkọwapụta swagger, ị nwere ike iji
OK, ọmarịcha. Ihe dị mma, kedu maka ịnwale ya?
Ụzọ kachasị mfe bụ ibunye onyonyo docker dabere na ebe nchekwa
Gịnị ma ọ bụrụ na m maara node.js?
Ọ bụrụ na ị nwere ahụmịhe iji Javascript, mgbe ahụ ị ga-achọpụta ngwa ngwa ka ihe niile si arụ ọrụ ebe a.
A ga-enwe mmepe Sonata?
Emezuru m ebumnobi m n'otu akụkụ. Mmepe ọzọ bụ okwu nke ọrụ m na isiokwu nhazi ekwentị akpaaka. Enwekwara ohere iji gbasaa configs iji hazie bọtịnụ ekwentị, tinye akwụkwọ ntinye akwụkwọ adreesị, ikekwe ihe ọzọ, dee na nkwupụta.
Nchịkọta na nkwenye
Ọ ga-atọ m ụtọ ịnweta aro na-ewuli elu / mkpesa / okwu na ajụjụ, n'ihi na ... O nwere ike ịbụ na o kọwara ihe n’ụzọ a na-apụghị ịghọta aghọta.
A na m ekwupụtakwa ekele m nye ndị ọrụ ibe m ndị nyere aka, dụọ ọdụ, nwalee, ma nyekwa/nye ekwentị maka ule. N'ezie, ọtụtụ ndị mụ na ha kparịtara ụka na-arụ ọrụ na-etinye aka na ọrụ ahụ ruo ogo dị iche iche,
isi: www.habr.com