Sonata - SIP server-ka bixinta

Ma garanayo waxa lagu barbar dhigo bixinta. Malaha bisad? Waxay u muuqataa inay suurtogal tahay la'aanteed, laakiin iyada oo ay la socoto wax yar ayaa ka fiican. Gaar ahaan haddii ay shaqeyso))

Samaynta dhibaatada:

  1. Waxaan rabaa inaan u dejiyo taleefannada SIP si degdeg ah, fudud, oo ammaan ah. Markaad rakibayso taleefanka, iyo xitaa ka sii badan marka dib loo habeynayo.
  2. Iibiyeyaal badan ayaa leh qaab-habayn u gaar ah, adeegyadooda u gaarka ah ee soo saarista qaabaynta, iyo habab iyaga u gaar ah oo ay u ilaaliyaan configs. Runtiina ma rabo inaan qof walba la macaamilo.
  3. Xalal bixin badan oo badan, a) waxay diiradda saarayaan hal iibiye ama hal nidaam telefoon, b) aad bay u adag tahay in la hirgeliyo, qoraallo badan, cabbirro, brrr ...

Marka la eego qodobka 3, waxaan ka bixin doonaa faallo ah inay jiraan habab waxbixineed oo heer sare ah ee FreePBX, ee FusionPBX, ee Kazoo, halkaas oo qaab-dhismeedka taleefannada laga helo iibiyeyaasha kala duwan ay si guud diyaar ugu yihiin. Waxaa jira xalal ganacsi oo aad sidoo kale habayn karto hawlgalka telefoonada ka soo saarayaasha kala duwan ee qaybta bixinta, tusaale ahaan, Yeastar PBX.

HabrΓ© waxa kale oo ka buuxa cuntooyin ku saabsan sida loo dejiyo aaladaha iibiyayaal kala duwan: jeer, Π΄Π²Π°. Laakiin sida ay yiraahdaan, dhammaan nidaamyada waxay leeyihiin cillad dhimasho leh. Markaa waxaan samayn doonaa baaskiil noo gaar ah.

qaabkaaga

Sida ay yiraahdaan xkcd, haddii aadan rabin inaad wax ka qabato 14 qaab - la imaada 15-ka. Sidaa darteed, waxaan u isticmaalnaa goobaha guud ee taleefan kasta waxaanan sameynaa qaab qaabeynta json noo gaar ah.

Wax sidan oo kale ah:

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

Markaa, telefoon kasta waxaad u baahan tahay inaad ku habayso wakhtiga deegaanka iyo khadadka SIP. Wax walba waa sahlan yihiin halkan. Waxaad arki kartaa tusaalooyin badan halkan.

bixinta server-kaaga

Buug-gacmeedka wax-soo-saarka inta badan waxaa jira meel ay ku leedahay: qaado csv, qor login-password-mac-cinwaanka, soo saar faylal adiga oo isticmaalaya qoraalkayaga gaarka ah, ku dheji server-ka Apache wax walbana way fiicnaan doonaan.

Cutubka xiga ee buug-gacmeedku wuxuu inta badan kuu sheegayaa inaad sidoo kale qarin karto faylka habaynta la sameeyay.

Laakiin kuwan oo dhan waa classics. Habka casriga ah ee smoothies iyo Twitter ayaa sheegaya in aad u baahan tahay inaad sameyso shabakad diyaarsan oo diyaarsan oo aan awood u yeelan doonin sida Apache, laakiin kaliya waxay sameyn doontaa hal shay oo yar. Samee oo dir qaabaynta adoo isticmaalaya isku xirka

Aan halkaan ku joogno oo aan xasuusanno in ku dhawaad ​​dhammaan taleefannada SIP ay hadda heli karaan qaabeynta iyada oo loo marayo http/https, markaa ma tixgelineyno hirgelinta kale (ftp, tftp, ftps). Markaas, telefoon kasta waa yaqaan ciwaanka MAC u gaar ah. Sidaa darteed, waxaan sameyn doonaa laba xiriiriye: hal shakhsi - oo ku salaysan furaha qalabka, guud ahaan labaad, kaas oo ka shaqeeya isticmaalka isku-dar ah calaamad caadi ah iyo cinwaanka MAC.

Sidoo kale, kuma noolaan doono eber-config, i.e. dejinta telefoonka meel eber ah, i.e. waxaad ku xidhatay shabkada oo ay shaqa bilowday. Maya, xaaladdeyda, waxaad ku xireysaa shabakadda, samee dejinta hordhaca ah (u deji si aad u hesho qaabeynta server-ka bixinta), ka dibna cab pina colada oo dib u habeyn taleefanka sida loogu baahdo. Qaybinta Doorashada 66 waa mas'uuliyadda serverka DHCP.

Jid ahaan, gabi ahaanba waan ka daalay inaan dhaho "bixinta", markaa kelmada waxaa lagu soo koobay "bixinta", fadlan ha i laadin.

Iyo hal shay oo kale: server-kayagu ma laha UI, i.e. interface user. Waxaa laga yaabaa, hadda, laakiin ma hubo, sababtoo ah ... Uma baahni Laakiin waxaa jira API loogu talagalay badbaadinta / tirtiridda goobaha, helitaanka liiska iibiyeyaasha la taageeray, moodooyinka, wax walba waxaa lagu sifeeyaa si waafaqsan canons ee qeexitaanka swagger.

Waa maxay sababta API oo aan ahayn UI? Sababtoo ah Waxaan horey u haystay nidaamka taleefankayga, ka dib waxaan haystaa isha aqoonsiga, halkaas oo aan kaliya u baahanahay inaan qaato xogtan, ururiyo json lagama maarmaanka ah oo aan ku daabaco server-ka bixinta. Iyo server-ka bixinta, marka loo eego qawaaniinta lagu qeexay faylka json, ayaa siin doona aaladda loo baahan yahay qaabkeeda ama ma siin doono haddi qalabku aanu sax ahayn ama aanu buuxin shuruudaha sidoo kale lagu sheegay json-kan.

Sonata - SIP server-ka bixinta

Tani waa sida adeeg-bixinta yar-yar ay noqotay. loo yeedhay sonata, Koodhka isha ayaa laga heli karaa GitHub, sidoo kale waxaa jira sawir docker diyaar ah, tusaale isticmaalka docker halkan.

Tilmaamaha muhiimka ah:

  • si kastaba ha ahaatee, helitaan xaddidan oo ku saabsan habaynta wakhtiga, sida caadiga ah 10 daqiiqo. Haddii aad rabto in aad habaynta mar kale samayso, dib u daabac qaabaynta mar kale.

  • hal qaab oo loogu talagalay iibiyeyaasha oo dhan, dhammaan hagaajinta ayaa laga saaray sonata, waxaad soo dirtaa json heersare ah, hagaajiso wixii qalab ah ee la heli karo.

  • dhammaan qaab-dhismeedka la soo saaray aaladaha waa la galiyay, dhammaan meelaha dhibka leh waxaa lagu arki karaa log-ka khaladaadkana waa la arki karaa

  • Waa suurtagal in la isticmaalo hal xiriiriye oo caadi ah oo leh calaamad, telefoon kastaa wuxuu helayaa qaab-dhismeedkiisa isagoo tilmaamaya ciwaanka mac. Ama isku xirka shakhsi ahaaneed ee furaha.

  • API-yada maamulka (maamulka) iyo bixinta habaynta telefoonada (bixinta) waxa loo qaybiyaa dekedo

  • Tijaabooyin Aad bay muhiim iigu ahayd inaan hagaajiyo qaabka qaabaynta la soo saaray oo aan daboolo dhammaan xaaladaha caadiga ah ee soo saarista qaabaynta imtixaannada. Si tan oo dhan ay si cad u shaqeyso.

Ogolaansho:

Ilaa hadda, sirta looma isticmaalo sinaba gudaha Sonata. Kuwaas. Dabcan waxaad bilaabi kartaa isticmaalka https adigoo ku dhejinaya nginx hortiisa sonata tusaale ahaan. Laakiin hababka gaarka ah weli lama isticmaalin. Waa maxay sababtu? Mashruucu wali wuu yar yahay, wuxuu bilaabay boqolkii qalab ee ugu horeeyay. Iyo, dabcan, waxaan ururiyaa fikrado iyo jawaab celin. Dheeraad ah, si loo sameeyo wax kasta oo ammaan ah, si aan qaab-dhismeedyada aan loogu urin shabakadda, waxay u badan tahay inay mudan tahay in lagu dhibo furayaasha sirta ah, tls iyo hedgehog iyaga, laakiin tani waxay noqon doontaa sii socosho.

La'aanta UI. Waxaa laga yaabaa in tani ay faa'iido darro weyn u tahay isticmaalaha ugu dambeeya, laakiin maamulaha nidaamka, utility console ayaa aad uga muhimsan codsi buuxa. Waxaa jiray qorshayaal lagu samaynayo utility console, laakiin ma hubo in loo baahan yahay?

Maxaa dhacaya?

Seerer shabakad yar oo fudud oo loogu talagalay bixinta noocyo taleefan oo dhowr ah oo leh API-ga maamulka.

Mar labaad, sidee loo malaynayaa inay tani u shaqeyso?

  1. Ku rakibida sonata
  2. Waxaan abuurnaa qaabeynta json oo ku daabacnaa sonata.
  3. Kadibna waxaan ka helnaa xiriirinta bixinta sonata.
  4. Kadibna waxaan ku tusinaa xiriirkan taleefanka.
  5. Qalabku waxa uu soo shubayaa habaynta

Waxaa jira laba tillaabo oo keliya hawlgalka xiga:

  1. Waxaan abuurnaa qaabeynta json oo ku daabacnaa sonata
  2. Qalabku waxa uu soo shubayaa habaynta

Telefoonkee ayaa la dalacsiin doonaa?

Iibiyeyaasha Grandstream, Fanvil, Yealink. Hababka ku jira iibiyuhu waa isku mid ama ka yar yihiin, laakiin way kala duwanaan karaan iyadoo ku xidhan firmware-ka waxa laga yaabaa inay lagama maarmaan noqoto in la tijaabiyo.

Xeerkee dejin kartaa?

Waqtiga. Waxaad cayimi kartaa wakhtiga ilaa laga helayo habayntu.
By mac address. Markaad soo gudbinayso qaabaynta iyada oo loo marayo isku xirka gaarka ah ee aaladda, cinwaanka mac sidoo kale waa la hubin doonaa.
By ip. Ciwaanka IP-ga ee laga keenay meesha codsiga laga soo jeediyay.

Sidee loola macaamilaa sonata?

Iyada oo loo marayo API, samaynta codsiyada http. API-ga ayaa laga heli doonaa rakibaadaada. Sababtoo ah API waxay taageertaa qeexida swagger, waad isticmaali kartaa utility online codsiyada tijaabada API.

OK, weyn. Waxyaabo qabow, ka waran tijaabinta?

Habka ugu fudud ayaa ah in la geeyo sawirka docker ee ku salaysan kaydka sonata-sample. Kaydka waxaa ku jira tilmaamaha rakibidda.

Maxaa dhacaya haddii aan aqaan node.js?

Haddii aad khibrad u leedahay isticmaalka JavaScript, markaa waxaad si dhakhso ah u ogaan doontaa sida wax walba u shaqeeyaan halkan.

Ma jiri doonaa horumar Sonata?

Qeyb ahaan waan gaaray hadafkeygii. Horumarinta dheeraadka ah waa arrin ku saabsan hawlahayga mawduuca ah habaynta telefoonka. Waxa kale oo jirta fursad lagu balaadhiyo qaabaynta si loo habeeyo badhamada telefoonka, lagu daro bixinta buuga ciwaanka, laga yaabee wax kale, ku qor faallooyinka.

Soo koobid iyo mahadnaq

Waan ku farxi doonaa inaan helo talooyin/diidmo/faallo iyo su'aalo wax ku ool ah, sababtoo ah... Waxaa laga yaabaa in uu si aan la fahmi karin u sifeeyay wax.

Waxaan sidoo kale u mahadcelinayaa dhammaan asxaabtayda gacan ka geystay, waaniyay, tijaabiyay, oo bixiyay / ku deeqay taleefannada imtixaannada. Dhab ahaantii, dad badan oo aan kala hadlay shaqada ayaa ku lug leh mashruuca heerar kala duwan, AsterConfe, ku jira sheekeysiga iyo iimaylka. Waad ku mahadsan tahay fikradaha iyo fikradaha.

Source: www.habr.com

Add a comment