ሶናታ - የ SIP አቅርቦት አገልጋይ

አቅርቦትን ከምን ጋር ማወዳደር እንዳለብኝ አላውቅም። ምናልባት ከድመት ጋር? ያለሱ የሚቻል ይመስላል, ነገር ግን ከእሱ ጋር ትንሽ የተሻለ ነው. በተለይም የሚሰራ ከሆነ))

የችግሩ መፈጠር;

  1. የSIP ስልኮችን በፍጥነት፣ በቀላሉ እና ደህንነቱ በተጠበቀ ሁኔታ ማዋቀር እፈልጋለሁ። ስልኩን በሚጭኑበት ጊዜ እና እንደገና ሲያዋቅሩት የበለጠ።
  2. ብዙ አቅራቢዎች የራሳቸው የውቅር ቅርጸቶች፣ የራሳቸው ውቅረቶችን ለማመንጨት የራሳቸው መገልገያዎች እና ውቅሮችን ለመጠበቅ የራሳቸው መንገዶች አሏቸው። እና ከሁሉም ሰው ጋር በትክክል መገናኘት አልፈልግም.
  3. ብዙ አቅርቦት መፍትሄዎች፣ ሀ) በአንድ አቅራቢ ወይም በአንድ የስልክ ስርዓት ላይ ያተኮሩ ናቸው፣ ለ) ለመተግበር በጣም አስቸጋሪ ናቸው፣ ብዙ ስክሪፕቶች፣ መለኪያዎች፣ ብሬር...

ነጥብ 3ን በተመለከተ በጣም ጥሩ የአቅርቦት ስርዓቶች እንዳሉ አስተያየት እሰጣለሁ ለFreePBX, ለ FusionPBX, ለካዙከተለያዩ አቅራቢዎች የስልኮች አብነቶች በይፋ የሚገኙበት። እንዲሁም ከተለያዩ አምራቾች የመጡ ስልኮችን በአቅርቦት ሞጁል ለምሳሌ Yeastar PBX ማዋቀር የሚችሉባቸው የንግድ መፍትሄዎች አሉ።

ሀብሬ ከተለያዩ አቅራቢዎች መሳሪያዎችን እንዴት ማዋቀር እንደሚቻል በሚገልጹ የምግብ አዘገጃጀት መመሪያዎችም የተሞላ ነው። ጊዜ, два. ነገር ግን እነሱ እንደሚሉት, ሁሉም ስርዓቶች ገዳይ ጉድለት አለባቸው. ስለዚህ የራሳችንን ብስክሌት እንሰራለን.

የእራስዎ ቅርጸት

በ xkcd ውስጥ እንዳሉት፣ 14 ቅርጸቶችን ማስተናገድ ካልፈለግክ - ከ 15 ኛው ጋር ይምጡ. ስለዚህ ለማንኛውም ስልክ አጠቃላይ ሴቲንግ እንጠቀማለን እና የራሳችንን json config ፎርማት እንሰራለን።

እንደዚህ ያለ ነገር፡-

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

ስለዚህ, በማንኛውም ስልክ ውስጥ የአካባቢ ሰዓት እና የ SIP መስመሮችን ማዋቀር ያስፈልግዎታል. እዚህ ሁሉም ነገር ቀላል ነው. ተጨማሪ ምሳሌዎችን ማየት ይችላሉ እዚህ.

የእራስዎ አገልጋይ አቅርቦት

በአምራች ማኑዋሎች ውስጥ ብዙውን ጊዜ የሚከተለው አንድ ነጥብ አለ-ሲኤስቪ ይውሰዱ ፣ የመግቢያ-ይለፍ ቃል-ማክ-አድራሻዎን ይፃፉ ፣ የኛን የባለቤትነት ስክሪፕት በመጠቀም ፋይሎችን ይፍጠሩ ፣ በ Apache ድር አገልጋይ ስር ያድርጓቸው እና ሁሉም ነገር ጥሩ ይሆናል።

የመመሪያው ቀጣዩ አንቀጽ አብዛኛውን ጊዜ የሚነግሮት የመነጨውን የውቅር ፋይል ማመስጠር ይችላሉ።

ግን እነዚህ ሁሉ ክላሲኮች ናቸው። ለስላሳዎች እና ትዊተር ያለው ዘመናዊ አቀራረብ እንደ Apache ኃይለኛ ያልሆነ ነገር ግን አንድ ትንሽ ነገር ብቻ የሚያደርግ ዝግጁ የሆነ የድር አገልጋይ መስራት ያስፈልግዎታል ይላል። ማገናኛን በመጠቀም አወቃቀሮችን ይፍጠሩ እና ይላኩ።

እዚህ ላይ እናቆም እና ሁሉም ማለት ይቻላል SIP ስልኮች አሁን በ http/https በኩል ውቅሮችን ሊቀበሉ እንደሚችሉ እናስታውስ ስለዚህ ሌሎች አተገባበርን (ftp, tftp, ftps) ግምት ውስጥ አይገባንም. ከዚያ እያንዳንዱ ስልክ የራሱን MAC አድራሻ ያውቃል። ስለዚህ, ሁለት አገናኞችን እናደርጋለን-አንድ ግላዊ - በመሳሪያው ቁልፍ ላይ በመመስረት, ሁለተኛው አጠቃላይ, የጋራ ቶከን እና የ MAC አድራሻ ጥምረት በመጠቀም ይሰራል.

እንዲሁም፣ በዜሮ-ውቅር ላይ አልቆይም፣ ማለትም፣ ስልኩን ከባዶ ማዋቀር, ማለትም. ወደ አውታረ መረቡ ሰክተኸው መስራት ጀመረ። አይ ፣ በእኔ ሁኔታ ፣ በአውታረ መረቡ ውስጥ ይሰኩት ፣ ቅድመ ዝግጅትን ያድርጉ (ውቅሩን ከአገልግሎት ሰጪው አገልጋይ ለመቀበል ያዋቅሩት) እና ከዚያ ፒናኮላ ጠጡ እና ስልኩን እንደ አስፈላጊነቱ በፕሮቪዥኑ በኩል ያዋቅሩት። አማራጭ 66 ማሰራጨት የDHCP አገልጋይ ኃላፊነት ነው።

በነገራችን ላይ "ማቅረቡ" ለማለት ሙሉ በሙሉ ደክሞኛል, ስለዚህ ቃሉ "አቅርቦት" ተብሎ ተጠርቷል, እባካችሁ አትምቱኝ.

እና አንድ ተጨማሪ ነገር፡ የእኛ አቅርቦት አገልጋይ UI የለውም፣ ማለትም። የተጠቃሚ በይነገጽ. ምናልባት፣ ለአሁን፣ ግን እርግጠኛ አይደለሁም፣ ምክንያቱም... አያስፈልገኝም። ግን ቅንብሮችን ለማስቀመጥ / ለመሰረዝ ኤፒአይ አለ ፣ የሚደገፉ ሻጮች ፣ ሞዴሎች ፣ ሁሉም ነገር በ swagger ዝርዝር መግለጫዎች መሠረት ይገለጻል።

ለምን ኤፒአይ እና UI አይደለም? ምክንያቱም አስቀድሜ የራሴ የስልክ ሥርዓት አለኝ፣ ከዚያ የማረጋገጫ ምንጭ አለኝ፣ ይህን ውሂብ ወስጄ፣ አስፈላጊውን json አጠናቅሮ በአገልግሎት ሰጪው አገልጋይ ላይ ማተም ብቻ እፈልጋለሁ። እና በ json ፋይል ውስጥ በተገለጹት ህጎች መሠረት የአቅራቢው አገልጋይ አስፈላጊውን መሣሪያ አወቃቀሩን ይሰጠዋል ወይም መሣሪያው ትክክል ካልሆነ ወይም በዚህ json ውስጥ የተገለጹትን መመዘኛዎች ካላሟላ አይሰጥም።

ሶናታ - የ SIP አቅርቦት አገልጋይ

የአቅርቦት ማይክሮ አገልግሎት የሆነው በዚህ መንገድ ነው። ተጠርቷል። ሶናታ, ምንጭ ኮድ GitHub ላይ ይገኛል, ደግሞ አለ ዝግጁ docker ምስል፣ የዶከር አጠቃቀም ምሳሌ እዚህ.

ቁልፍ ባህሪያት:

  • በማንኛዉም ሁኔታ፣ በጊዜ የተገደበ የውቅረት መዳረሻ፣ በነባሪ 10 ደቂቃ። አወቃቀሩን እንደገና እንዲገኝ ማድረግ ከፈለጉ፣ አወቃቀሩን እንደገና ያትሙት።

  • ለሁሉም ሻጮች አንድ ቅርጸት ፣ ሁሉም ማስተካከያዎች በ sonata ውስጥ ይወገዳሉ ፣ ደረጃውን የጠበቀ json ይልካሉ ፣ ማንኛውንም የሚገኙ መሳሪያዎችን ያዋቅሩ።

  • ለመሣሪያዎች የተሰጡ ሁሉም ውቅሮች ገብተዋል ፣ ሁሉም የችግር አካባቢዎች በምዝግብ ማስታወሻው ውስጥ ሊታዩ እና ስህተቶች ሊታዩ ይችላሉ።

  • ከቶከን ጋር አንድ የጋራ ማገናኛ መጠቀም ይቻላል፤ እያንዳንዱ ስልክ የማክ አድራሻውን በመግለጽ የራሱን ውቅረት ይቀበላል። ወይም በቁልፍ በኩል የግል አገናኝ።

  • ኤፒአይዎች ለአስተዳደር (ማስተዳደር) እና ለስልኮች ማዋቀር (አቅርቦት) በወደቦች የተከፋፈሉ ናቸው

  • ሙከራዎች. ለእኔ የተሰጠውን ውቅረት ቅርጸት ማስተካከል እና ውቅርን በሙከራዎች የማውጣት ሁሉንም የተለመዱ ሁኔታዎች መሸፈን ለእኔ በጣም አስፈላጊ ነበር። ስለዚህ ይህ ሁሉ በግልጽ እንዲሠራ።

Cons:

እስካሁን ድረስ, ምስጠራ በሶናታ ውስጥ በምንም መልኩ ጥቅም ላይ አይውልም. እነዚያ። ለምሳሌ nginx ን ከሶናታ ፊት ለፊት በማስቀመጥ https መጠቀም ትችላለህ። ነገር ግን የባለቤትነት ዘዴዎች እስካሁን ጥቅም ላይ አልዋሉም. ለምን? ፕሮጀክቱ ገና ወጣት ነው, የመጀመሪያዎቹን መቶ መሳሪያዎች ጀምሯል. እና በእርግጥ, ሀሳቦችን እና አስተያየቶችን እሰበስባለሁ. በተጨማሪም ፣ ሁሉንም ነገር ደህንነቱ የተጠበቀ ለማድረግ ፣ አወቃቀሮቹ በአውታረ መረቡ ላይ ማሽተት እንዳይችሉ ፣ ምናልባት በምስጠራ ቁልፎች ፣ tls እና ጃርት ከእነሱ ጋር መጨነቅ ጠቃሚ ነው ፣ ግን ይህ ቀጣይ ይሆናል።

የዩአይ እጥረት። ምናልባት ይህ ለዋና ተጠቃሚው ትልቅ ኪሳራ ሊሆን ይችላል ነገር ግን ለስርዓት አስተዳዳሪ የኮንሶል መገልገያ ከሙሉ ትግበራ የበለጠ አስፈላጊ ነው. የኮንሶል መገልገያ ለመሥራት እቅድ ነበረው፣ ግን እንደሚያስፈልግ እርግጠኛ አይደለሁም?

መጨረሻው ምንድን ነው?

ብዙ የስልክ ሞዴሎችን ከአስተዳደር ኤፒአይ ጋር ለማቅረብ ትንሽ እና ቀላል የድር አገልጋይ።

አሁንም ይህ እንዴት ነው የሚሰራው?

  1. ሶናታ በመጫን ላይ.
  2. የ json ውቅረትን እንፈጥራለን እና በ sonata ውስጥ እናተምነው።
  3. ከዚያ ከሶናታ የአቅርቦት ማገናኛ እንቀበላለን።
  4. ከዚያ ይህን ሊንክ በስልክ ውስጥ እንጠቁማለን።
  5. መሣሪያው አወቃቀሩን እየጫነ ነው።

በቀጣይ ክዋኔ ውስጥ ሁለት ደረጃዎች ብቻ አሉ-

  1. የ json ውቅረት ፈጠርን እና በ sonata ውስጥ እናተምነው
  2. መሣሪያው አወቃቀሩን እየጫነ ነው።

የትኞቹ ስልኮች ያስተዋውቃሉ?

ሻጮች Grandstream፣ Fanvil፣ Yealink። በአቅራቢው ውስጥ ያሉት ውቅሮች ብዙ ወይም ያነሱ ተመሳሳይ ናቸው፣ ግን እንደ ፈርሙዌር ሊለያዩ ይችላሉ - በተጨማሪ መሞከር አስፈላጊ ሊሆን ይችላል።

ምን ዓይነት ደንቦችን ማዘጋጀት ይችላሉ?

በጊዜ. ውቅሩ የሚገኝበትን ጊዜ መግለጽ ይችላሉ።
በማክ አድራሻ። አወቃቀሩን በመሳሪያው ግላዊ ማገናኛ በኩል ሲያስገቡ የማክ አድራሻም ይጣራል።
በ ip. ጥያቄው ከቀረበበት በአይፒ አድራሻ።

ከሶናታ ጋር እንዴት እንደሚገናኙ?

በኤፒአይ በኩል፣ http ጥያቄዎችን ማድረግ። ኤፒአይ በእርስዎ ጭነት ውስጥ ይገኛል። ምክንያቱም ኤፒአይ የ swagger መግለጫን ይደግፋል፣ መጠቀም ይችላሉ። የመስመር ላይ መገልገያ ለኤፒአይ ለሙከራ ጥያቄዎች።

እሺ አሪፍ አሪፍ ነገሮች፣ ስለመሞከርስ?

በጣም ቀላሉ መንገድ በማጠራቀሚያ ላይ የተመሰረተ የዶክተር ምስል ማሰማራት ነው ሶናታ-ናሙና. ማከማቻው የመጫኛ መመሪያዎችን ይዟል።

node.js ባውቅስ?

ጃቫ ስክሪፕትን የመጠቀም ልምድ ካሎት ፣ ሁሉም ነገር እዚህ እንዴት እንደሚሰራ በፍጥነት ያውቃሉ።

የሶናታ እድገት ይኖራል?

ግቦቼን በከፊል አሳክቻለሁ። የስልክ ማዋቀርን በራስ ሰር የማዘጋጀት ርዕስ ላይ ተጨማሪ ልማት የእኔ ተግባራት ጉዳይ ነው። በተጨማሪም የስልክ አዝራሮችን ለማዋቀር ውቅሮችን ለማስፋት, የአድራሻ ደብተር አቅርቦትን ለመጨመር, ምናልባትም ሌላ ነገር, በአስተያየቶች ውስጥ ይፃፉ.

ማጠቃለያ እና ምስጋናዎች

ገንቢ አስተያየቶች/ተቃውሞዎች/አስተያየቶች እና ጥያቄዎች ቢኖሩኝ ደስ ይለኛል፣ ምክንያቱም... አንድን ነገር ለመረዳት በማይቻል ሁኔታ የገለፀው ሊሆን ይችላል።

እንዲሁም ስልኮችን ለረዱ፣ ለሚመክሩት፣ ለፈተኑ እና ለሰጡ/ለለገሱ ባልደረቦቼ ሁሉ ምስጋናዬን አቀርባለሁ። እንደ እውነቱ ከሆነ፣ በሥራ ቦታ ያነጋገርኳቸው ብዙ ሰዎች በፕሮጀክቱ ውስጥ በተለያየ ደረጃ ይሳተፋሉ፣ AsterConfሠ፣ በውይይት እና በኢሜል። ስለ ሀሳቦች እና ሀሳቦች እናመሰግናለን።

ምንጭ: hab.com

አስተያየት ያክሉ