Sonata - frithealaiche solair SIP

Chan eil fios agam dè a nì mi coimeas eadar solarachd. 'S dòcha le cat? Tha e coltach gu bheil e comasach às aonais, ach leis tha e beagan nas fheàrr. Gu sònraichte ma tha e ag obair))

Cruthachadh na duilgheadas:

  1. Tha mi airson fònaichean SIP a stèidheachadh gu luath, gu furasta, agus gu sàbhailte. Nuair a bhios tu a 'stàladh fòn, agus eadhon nas motha nuair a bhios tu ga ath-dhealbhadh.
  2. Tha na cruthan rèiteachaidh aca fhèin aig mòran de luchd-reic, na goireasan aca fhèin airson configs a ghineadh, agus na dòighean aca fhèin air configs a dhìon. Agus chan eil mi dha-rìribh ag iarraidh dèiligeadh ris a h-uile duine.
  3. Tha mòran de fhuasglaidhean solarachaidh, a) ag amas air aon reiceadair no aon shiostam fòn, b) gu math duilich a chuir an gnìomh, tòrr sgriobtaichean, paramadairean, brrr ...

A thaobh puing 3, nì mi beachd gu bheil siostaman solair sàr-mhath ann Airson PBX saor an asgaidh, airson FusionPBX, airson Kazoo, far a bheil teamplaidean airson fònaichean bho dhiofar luchd-reic rim faighinn gu poblach. Tha fuasglaidhean malairteach ann far an urrainn dhut cuideachd obrachadh fònaichean bho luchd-saothrachaidh eadar-dhealaichte a rèiteachadh anns a ’mhodal solarachaidh, mar eisimpleir, Yeastar PBX.

Tha Habré cuideachd làn reasabaidhean air mar a chuireas tu innealan air dòigh bho dhiofar luchd-reic: amannan, два. Ach mar a chanas iad, tha lochdan marbhtach aig a h-uile siostam. Mar sin nì sinn ar baidhsagal fhèin.

an cruth agad fhèin

Mar a chanas iad ann an xkcd, mura h-eil thu airson dèiligeadh ri 14 cruthan - tighinn suas leis an 15mh. Mar sin, bidh sinn a’ cleachdadh roghainnean coitcheann airson fòn sam bith agus a’ dèanamh ar cruth config json fhèin.

Rud mar seo:

{
   "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"
      }
   ]
}

Mar sin, ann am fòn sam bith feumaidh tu loidhnichean ùine ionadail agus SIP a rèiteachadh. Tha a h-uile dad sìmplidh an seo. Chì thu barrachd eisimpleirean an seo.

solarachadh an fhrithealaiche agad fhèin

Ann an leabhraichean-làimhe an neach-dèanamh mar as trice bidh puing ann far a bheil e ag ràdh: gabh csv, sgrìobh sìos do sheòladh logadh a-steach-password-mac-address, cruthaich faidhlichean a’ cleachdadh an sgriobt seilbh againn, cuir iad fo fhrithealaiche lìn Apache agus bidh a h-uile dad gu math.

Mar as trice bidh an ath pharagraf den leabhar-làimhe ag innse dhut gun urrainn dhut cuideachd am faidhle config a chaidh a chruthachadh a chrioptachadh.

Ach tha iad seo uile clasaigeach. Tha an dòigh-obrach ùr-nodha le smoothies agus Twitter ag ràdh gum feum thu frithealaiche lìn deiseil a dhèanamh nach bi cho cumhachdach ri Apache, ach nach dèan ach aon rud beag. Cruthaich agus cuir configs a 'cleachdadh ceangal.

Stadaidh sinn an seo agus cuimhnich gum faod cha mhòr a h-uile fòn SIP a-nis configs fhaighinn tro http/https, agus mar sin chan eil sinn a’ beachdachadh air buileachadh eile (ftp, tftp, ftps). An uairsin, tha fios aig gach fòn air a sheòladh MAC fhèin. Mar sin, nì sinn dà cheangal: aon pearsanta - stèidhichte air iuchair an uidheim, an dàrna fear coitcheann, a bhios ag obair a’ cleachdadh measgachadh de thòcan cumanta agus seòladh MAC.

Cuideachd, cha bhith mi a’ fuireach air neoni-config, i.e. stèidheachadh am fòn bhon toiseach, i.e. chuir thu a-steach don lìonra e agus thòisich e ag obair. Chan e, anns an t-suidheachadh agam, bidh thu ga phutadh a-steach don lìonra, dèan an suidheachadh tòiseachaidh (cuir air dòigh e gus an rèiteachadh fhaighinn bhon t-seirbheisiche solair), agus an uairsin òl pina colada agus ath-dhealbhaich am fòn mar a dh’ fheumar tron ​​​​t-solar. Tha cuairteachadh Roghainn 66 an urra ris an t-seirbheisiche DHCP.

Co-dhiù, tha mi gu tur sgìth de bhith ag ràdh “solar”, agus mar sin chaidh am facal a ghiorrachadh gu “solar”, feuch nach breab thu mi.

Agus aon rud eile: chan eil UI aig an t-seirbheisiche solarachaidh againn, i.e. eadar-aghaidh cleachdaiche. Is dòcha, airson a-nis, ach chan eil mi cinnteach, oir ... Chan eil feum agam air. Ach tha API ann airson sàbhaladh / cuir às do roghainnean, a ’faighinn liosta de luchd-reic le taic, modalan, tha a h-uile dad air a mhìneachadh a rèir canan an t-sònrachadh swagger.

Carson API agus chan e UI? Air sgàth Tha an siostam fòn agam fhèin mu thràth, agus an uairsin tha stòr theisteanasan agam, far nach fheum mi ach an dàta seo a ghabhail, an json riatanach a chuir ri chèile agus fhoillseachadh air an t-seirbheisiche solair. Agus bheir an frithealaiche solarachaidh, a rèir nan riaghailtean a tha air an sònrachadh ann am faidhle json, an rèiteachadh don inneal a tha a dhìth no cha toir e seachad e mura h-eil an inneal ceart no mura h-eil e a’ coinneachadh ris na slatan-tomhais a tha air an sònrachadh san json seo cuideachd.

Sonata - frithealaiche solair SIP

Seo mar a thionndaidh am microservice solair a-mach. Glaodh sonata, tha an còd stòr ri fhaighinn air GitHub, tha cuideachd dealbh docker deiseil, eisimpleir cleachdadh docker an seo.

Prìomh fheartan:

  • co-dhiù, ruigsinneachd cuibhrichte air an config le ùine, gu bunaiteach 10 mionaidean. Ma tha thu airson an rèiteachadh a dhèanamh ri fhaighinn a-rithist, ath-fhoillseachadh an rèiteachadh a-rithist.

  • aon chruth airson a h-uile neach-reic, thèid a h-uile atharrachadh a thoirt air falbh ann an sonata, cuiridh tu json àbhaisteach, rèitich uidheamachd sam bith a tha ri fhaighinn.

  • tha a h-uile configs a chaidh a chuir a-mach gu innealan air an logadh, faodar a h-uile raon duilgheadas fhaicinn sa log agus chithear mearachdan

  • Tha e comasach aon cheangal cumanta a chleachdadh le comharra; bidh gach fòn a’ faighinn a config fhèin le bhith a’ sònrachadh seòladh Mac. No ceangal pearsanta tro iuchair.

  • Tha APIan airson riaghladh (riaghladh) agus solar configs gu fònaichean (solar) air an roinn le puirt

  • Deuchainnean. Bha e glè chudromach dhomh cruth an config a chaidh a chuir a-mach a chàradh agus a h-uile suidheachadh àbhaisteach a thaobh a bhith a’ cur a-mach config le deuchainnean a chòmhdach. Gus am bi seo uile ag obair gu soilleir.

Cons:

Gu ruige seo, chan eil crioptachadh air a chleachdadh ann an dòigh sam bith taobh a-staigh Sonata. An fheadhainn sin. faodaidh tu gu dearbh tòiseachadh a’ cleachdadh https le bhith a’ cur nginx air beulaibh sonata mar eisimpleir. Ach cha deach dòighean seilbh a chleachdadh fhathast. Carson? Tha am pròiseact fhathast òg, tha e air a chiad ceud inneal a chuir air bhog. Agus, gu dearbh, bidh mi a 'tional bheachdan agus fios air ais. A bharrachd air an sin, gus a h-uile càil a dhèanamh tèarainte, gus nach bi na configs air an snìomh air an lìonra, is dòcha gum b ’fhiach dragh a chuir orra le iuchraichean crioptachaidh, tls agus an gràineag leotha, ach bidh seo a’ leantainn.

Dìth UI. Is dòcha gu bheil seo na ana-cothrom mòr don neach-cleachdaidh deireannach, ach airson rianadair siostam, tha goireas tòcan nas cudromaiche na tagradh làn-chuimseach. Bha planaichean ann goireas tòcan a dhèanamh, ach chan eil mi cinnteach a bheil feum air?

Dè anns a 'cheann thall?

Frithealaiche lìn beag is sìmplidh airson grunn mhodalan fòn a sholarachadh le API airson riaghladh.

A-rithist, ciamar a bu chòir seo a bhith ag obair?

  1. Stàladh air uidheam sonata.
  2. Bidh sinn a’ cruthachadh config json agus ga fhoillseachadh ann an sonata.
  3. An uairsin gheibh sinn ceangal solarachaidh bho sonata.
  4. An uairsin bidh sinn a 'comharrachadh a' cheangal seo air a 'fòn.
  5. Tha an inneal a 'luchdachadh an config

Chan eil ach dà cheum ann an obrachadh an dèidh làimhe:

  1. Bidh sinn a’ cruthachadh config json agus ga fhoillseachadh ann an sonata
  2. Tha an inneal a 'luchdachadh an config

Dè na fònaichean a thèid a bhrosnachadh?

Luchd-reic Grandstream, Fanvil, Yealink. Tha na configs taobh a-staigh an reiceadair an aon rud no nas lugha, ach faodaidh iad a bhith eadar-dhealaichte a rèir a’ firmware - is dòcha gum feumar deuchainn a bharrachd.

Dè na riaghailtean as urrainn dhut a shuidheachadh?

Le ùine. Faodaidh tu an ùine a shònrachadh gus am bi an config ri fhaighinn.
Le seòladh mac. Nuair a chuireas tu a-steach an config tro cheangal pearsanta an inneil, thèid seòladh mac a sgrùdadh cuideachd.
Le ip. Le seòladh IP bhon deach an t-iarrtas a dhèanamh.

Ciamar a bhith ag eadar-obrachadh le sonata?

Tro API, a’ dèanamh iarrtasan http. Bidh an API ri fhaighinn san stàladh agad. Air sgàth Tha an API a’ toirt taic don t-sònrachadh swagger, faodaidh tu a chleachdadh goireas air-loidhne airson iarrtasan deuchainn don API.

OK, sgoinneil. Stuthan fionnar, dè mu dheidhinn feuchainn air?

Is e an dòigh as fhasa ìomhaigh docker a chleachdadh stèidhichte air stòr sonata-eisimpleir. Tha stiùireadh stàlaidh anns an stòr.

Dè ma tha fios agam node.js?

Ma tha eòlas agad air JavaScript a chleachdadh, gheibh thu a-mach gu sgiobalta mar a tha a h-uile càil ag obair an seo.

Am bi leasachadh Sonata ann?

Choilean mi na h-amasan agam gu ìre. Tha tuilleadh leasachaidh na chùis de na gnìomhan agam air a’ chuspair fèin-ghluasad suidheachadh fòn. Tha cothrom ann cuideachd na configs a leudachadh gus putanan fòn a rèiteachadh, solar leabhar seòlaidh a chuir ris, is dòcha rudeigin eile, sgrìobh na beachdan.

Geàrr-chunntas agus taing

Bidh mi toilichte molaidhean / gearanan / beachdan agus ceistean cuideachail a bhith agam, oir ... Is dòcha gu bheil e a’ toirt cunntas air rudeigin do-thuigsinn.

Tha mi cuideachd a’ toirt mo thaing dha mo cho-obraichean uile a chuidich, a thug comhairle, a rinn deuchainn, agus a thug seachad / a thug seachad fònaichean airson deuchainnean. Gu fìrinneach, tha mòran dhaoine ris an do bhruidhinn mi aig an obair an sàs sa phròiseact gu diofar ìrean, AsterConf' e, ann an cabadaich agus puist-d. Tapadh leibh airson na beachdan agus na smuaintean.

Source: www.habr.com

Cuir beachd ann