I-Sonata - iseva yokubonelela nge-SIP

Andazi ukuba ndingathelekisa ntoni na ukubonelela. Mhlawumbi nekati? Kubonakala ngathi kunokwenzeka ngaphandle kwayo, kodwa kunye nayo ingcono kancinci. Ngokukodwa ukuba iyasebenza))

Ukuqulunqwa kwengxaki:

  1. Ndifuna ukuseta iifowuni ze-SIP ngokukhawuleza, ngokulula, nangokukhuselekileyo. Xa ufaka ifowuni, kwaye nangakumbi xa uyiqwalasela kwakhona.
  2. Abathengisi abaninzi banezabo iifomathi zoqwalaselo, izinto zabo eziluncedo ekuveliseni ubumbeko, kunye neendlela zabo zokukhusela uqwalaselo. Kwaye andifuni kujongana nomntu wonke.
  3. Izisombululo ezininzi zokubonelela, a) zijolise kumthengisi omnye okanye inkqubo yefowuni enye, b) kunzima kakhulu ukuphumeza, uninzi lwemibhalo, iiparamitha, brrr...

Ngokumalunga nenqaku lesi-3, ndiza kwenza inkcazo yokuba kukho iinkqubo ezigqwesileyo zokubonelela yeFreePBX, yeFusionPBX, kuba Kazoo, apho iitemplates zeefowuni ezivela kubathengisi abahlukeneyo zifumaneka esidlangalaleni. Kukho izisombululo zentengiso apho ungaphinda uqwalasele ukusebenza kweefowuni ezivela kubakhiqizi abahlukeneyo kwimodyuli yokubonelela, umzekelo, i-Yeastar PBX.

IHabrΓ© ikwagcwele iiresiphi zendlela yokuseta izixhobo ezivela kubathengisi abahlukeneyo: maxesha, Π΄Π²Π°. Kodwa njengoko besitsho, zonke iinkqubo zineziphene ezibulalayo. Ngoko siza kuzenzela eyethu ibhayisekile.

ifomathi yakho

Njengoko besitsho kwi-xkcd, ukuba awufuni kujongana neefomati ezili-14 - yiza ne15. Ke ngoko, sisebenzisa useto ngokubanzi kuyo nayiphi na ifowuni kwaye senze eyethu ifomathi yejson.

Into efana nale:

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

Ngoko ke, kuyo nayiphi na ifowuni kufuneka ulungiselele ixesha lendawo kunye nemigca ye-SIP. Yonke into ilula apha. Ungabona imizekelo emininzi apha.

Unikezelo lwakho lweseva

Kwiincwadana zomenzi ngokuqhelekileyo kukho indawo apho ithi: thatha i-csv, bhala igama lakho lokungena-password-mac-address, uvelise iifayile usebenzisa iskripthi sethu sobunikazi, uzibeke phantsi kwe-Apache web server kwaye yonke into iya kulunga.

Umhlathi olandelayo wencwadi uhlala ukuxelela ukuba ungaphinda ufihle ifayile yoqwalaselo eyenziweyo.

Kodwa zonke ezi zizinto zakudala. Indlela yanamhlanje kunye ne-smoothies kunye ne-Twitter ithi kufuneka wenze iseva yewebhu ekulungeleyo engayi kuba namandla njenge-Apache, kodwa iya kwenza into encinci. Yenza kwaye uthumele i-configs usebenzisa ikhonkco.

Masime apha kwaye sikhumbule ukuba phantse zonke iifowuni ze-SIP ngoku ziyakwazi ukufumana i-configs nge-http / https, ngoko ke asiyi kuqwalasela ezinye izinto zokuphunyezwa (ftp, tftp, ftps). Ke, ifowuni nganye iyayazi idilesi yayo ye-MAC. Ngoko ke, siya kwenza amakhonkco amabini: omnye umntu - esekelwe isitshixo isixhobo, yesibini jikelele, esebenza usebenzisa indibaniselwano uphawu eqhelekileyo kunye nedilesi MAC.

Kwakhona, andiyi kuhlala kwi-zero-config, okt. ukuseta ifowuni ukusuka ekuqaleni, i.e. uyifake kwinethiwekhi kwaye yaqala ukusebenza. Hayi, kwimeko yam, uyifake kuthungelwano, wenze ucwangciso lwangaphambili (uyibeke ukuze ufumane uqwalaselo kumncedisi wonikezelo), uze usele pina colada kwaye uphinde uqwalasele ifowuni njengoko kufuneka ngonikezelo. Ukusasaza iKhetho 66 luxanduva lweseva yeDHCP.

Ngendlela, ndidinwe ngokupheleleyo ngokuthi "ukubonelela", ngoko igama lifutshane "ukubonelela", nceda ungandikhabi.

Kwaye enye into: iseva yethu yokubonelela ayinayo i-UI, okt. Indawo yomsebenzisi. Mhlawumbi, okwangoku, kodwa ungaqinisekanga, kuba... Andiyidingi. Kodwa kukho i-API yokugcina / yokucima izicwangciso, ukufumana uluhlu lwabathengisi abaxhaswayo, iimodeli, yonke into ichazwe ngokwee-canons ze-swagger specifikationer.

Kutheni i-API kwaye ingeyiyo i-UI? Ngokuba Sele ndinayo inkqubo yam yefowuni, ngoko ndinomthombo weziqinisekiso, apho ndifuna nje ukuthatha le datha, ndiqulunqe i-json efunekayo kwaye ndiyipapashe kwi-server yokubonelela. Kwaye umncedisi wokubonelela, ngokwemigaqo echazwe kwifayile ye-json, uya kunika isixhobo esifunekayo ukucwangciswa kwayo okanye akayi kuyinika ukuba isixhobo asichanekanga okanye asihambisani nemilinganiselo echazwe kule json.

I-Sonata - iseva yokubonelela nge-SIP

Le yindlela eyavela ngayo i-microservice yokubonelela. Ifowunelwe Isonata, ikhowudi yomthombo iyafumaneka kwi-GitHub, kukho kwakhona umfanekiso wedocker olungile, umzekelo wokusetyenziswa kwe-docker apha.

Ezona mpawu:

  • kuyo nayiphi na imeko, ukufikelela okulinganiselweyo kwi-config ngexesha, ngokungagqibekanga imizuzu eli-10. Ukuba ufuna ukwenza uqwalaselo lufumaneke kwakhona, phinda upapashe ubumbeko kwakhona.

  • ifomathi enye yabo bonke abathengisi, zonke izilungiso ziyasuswa kwi-sonata, uthumela i-json esemgangathweni, qwalasela naziphi na izixhobo ezikhoyo.

  • zonke iinkqubo ezikhutshelwe izixhobo zilogiwe, zonke iindawo zengxaki zinokujongwa kwilogi kwaye iimpazamo ziyabonwa

  • Kuyenzeka ukuba usebenzise ikhonkco elinye eliqhelekileyo kunye nomqondiso; ifowuni nganye ifumana i-config yayo ngokuchaza idilesi ye-mac. Okanye ikhonkco lobuqu ngeqhosha.

  • APIs zolawulo (ulawulo) kunye nonikezelo configs ukuba phones (ubonelelo) zahlulwe ngamazibuko

  • Iimvavanyo. Kwakubaluleke kakhulu kum ukuba ndilungise ifomathi yoqwalaselo olukhutshiweyo kwaye ndigubungele zonke iimeko eziqhelekileyo zokukhupha i-config kunye neemvavanyo. Ukuze konke oku kusebenze ngokucacileyo.

Umgcini:

Ukuza kuthi ga ngoku, uguqulelo oluntsonkothileyo alusetyenziswanga nangayiphi na indlela ngaphakathi kweSonata. Ezo. ungaqala ukusebenzisa i-https ngokubeka i-nginx phambi kwe-sonata umzekelo. Kodwa iindlela zokuthengisa azikasetyenziswa. Ngoba? Iprojekthi isencinci, iqalise izixhobo zayo ezilikhulu zokuqala. Kwaye, ngokuqinisekileyo, ndiqokelela iingcamango kunye nengxelo. Ngaphaya koko, ukwenzela ukuba yonke into ikhuseleke, ukwenzela ukuba uqwalaselo lungakwazi ukufunxwa kumnatha wothungelwano, kuyafuneka ukuba uzikhathaze ngezitshixo ze-encryption, i-tls kunye ne-hedgehog kunye nabo, kodwa oku kuya kuba kukuqhubekeka.

Ukunqongophala kwe-UI. Mhlawumbi oku kungalunganga okubalulekileyo kumsebenzisi wokugqibela, kodwa kumlawuli wenkqubo, i-console eluncedo ibaluleke ngaphezu kwesicelo esipheleleyo. Kwakukho izicwangciso zokwenza i-console utility, kodwa andiqinisekanga ukuba iyafuneka?

Uba yintoni umphumo?

Iseva yewebhu encinci kwaye elula yokubonelela ngeemodeli ezininzi zefowuni nge-API yolawulo.

Kwakhona, kufuneka kusebenze njani oku?

  1. Ukufakela i-sonata.
  2. Senza i-json config kwaye siyipapashe kwi-sonata.
  3. Emva koko sifumana ikhonkco lokubonelela kwi-sonata.
  4. Emva koko sibonisa le khonkco kwifowuni.
  5. Isixhobo silayisha uqwalaselo

Kukho amanyathelo amabini kuphela ekusebenzeni okulandelayo:

  1. Senza i-json config kwaye siyipapashe kwi-sonata
  2. Isixhobo silayisha uqwalaselo

Zeziphi iifowuni eziza kukhuthazwa?

Abathengisi Grandstream, Fanvil, Yealink. I-configs ngaphakathi komthengisi ingaphezulu okanye ingaphantsi okufanayo, kodwa inokwahluka ngokuxhomekeke kwi-firmware - kunokuba yimfuneko ukuvavanya okongeziweyo.

Yeyiphi imigaqo onokuyibeka?

Ngexesha. Ungakhankanya ixesha de uqwalaselo lufumaneke.
Ngedilesi ye-mac. Xa uthumela uqwalaselo ngekhonkco lobuqu lesixhobo, idilesi ye-mac nayo iya kujongwa.
Nge ip. Ngedilesi ye-IP apho isicelo senziwe khona.

Indlela yokunxibelelana noSonata?

Nge-API, ukwenza izicelo ze-http. I-API iya kufumaneka kufakelo lwakho. Ngokuba I-API ixhasa ukucaciswa kwe-swagger, ungasebenzisa into eluncedo kwi-intanethi kwizicelo zovavanyo kwi-API.

Kulungile, kuhle. Izinto ezipholileyo, kuthekani ngokuzama?

Eyona ndlela ilula kukuhambisa umfanekiso wedocker esekwe kwindawo yokugcina I-sonata-isampulu. Indawo yokugcina iqulethe imiyalelo yokufakela.

Kuthekani ukuba ndiyazi i-node.js?

Ukuba unamava usebenzisa iJavaScript, ngoko uya kuqonda ngokukhawuleza ukuba yonke into isebenza njani apha.

Ngaba kuya kubakho uphuhliso lwe-Sonata?

Ndalufikelela ngokuyinxenye usukelo lwam. Uphuhliso olongezelelweyo ngumcimbi wemisebenzi yam kwisihloko sokuseta ifowuni ngokuzenzekelayo. Kukho nethuba lokwandisa i-configs ukuqwalasela amaqhosha efowuni, ukongeza ukunikezelwa kwencwadi yeedilesi, mhlawumbi enye into, bhala kwizimvo.

Isishwankathelo kunye nombulelo

Ndiya kuvuya ukuba neengcebiso ezakhayo/izichaso/izimvo kunye nemibuzo, kuba... Kusenokwenzeka ukuba uchaze into engaqondakaliyo.

Ndikwavakalisa umbulelo wam kubo bonke oogxa bam abandincedileyo, bacebisa, bavavanya, kwaye banikezela ngeefowuni zovavanyo. Enyanisweni, abantu abaninzi endinxibelelane nabo emsebenzini babandakanyeka kwiprojekthi ngokwamanqanaba ahlukeneyo, AsterConf'e, kwiincoko kunye nee-imeyile. Enkosi ngeengcinga kunye neengcinga.

umthombo: www.habr.com

Yongeza izimvo