የአንዱ ፕሮጀክት ታሪክ ወይም እንዴት እንዳሳለፍኩ 7 አመታትን በከዋክብት እና ፒ.ፒ.ቢ. ላይ በመመስረት PBX በመፍጠር

እንደ እኔ ብዙዎቻችሁ ልዩ የሆነ ነገር ለመስራት ሀሳብ ነበራችሁ። በዚህ ጽሑፍ ውስጥ PBX ን ሲያዳብሩ ያጋጠሙኝን ቴክኒካዊ ችግሮች እና መፍትሄዎች እገልጻለሁ. ምናልባት ይህ አንድ ሰው በራሱ ሀሳብ እንዲወስን እና አንድ ሰው በደንብ የተራመደውን መንገድ እንዲከተል ይረዳዋል ምክንያቱም እኔ ደግሞ ከአቅኚዎች ተሞክሮ ተጠቅሜያለሁ።

የአንዱ ፕሮጀክት ታሪክ ወይም እንዴት እንዳሳለፍኩ 7 አመታትን በከዋክብት እና ፒ.ፒ.ቢ. ላይ በመመስረት PBX በመፍጠር

ሀሳብ እና ቁልፍ መስፈርቶች

እና ሁሉም ነገር የሚጀምረው በቀላሉ በፍቅር ነው። ኮከባዊ ምልክት (የግንኙነት አፕሊኬሽኖች ግንባታ ማዕቀፍ) ፣ የስልክ እና የመጫኛዎች አውቶማቲክ ፍሪፒቢክስ (የድር በይነገጽ ለ ኮከባዊ ምልክት). የኩባንያው ፍላጎቶች ያለ ዝርዝር ሁኔታ ከነበሩ እና በችሎታው ውስጥ ከወደቁ ፍሪፒቢክስ - ሁሉም ነገር ጥሩ ነው. ሙሉው ጭነት በ XNUMX ሰዓታት ውስጥ ተካሂዷል, ኩባንያው የተዋቀረ PBX, ለተጠቃሚ ምቹ የሆነ በይነገጽ እና አጭር ስልጠና እና ከተፈለገ ድጋፍ አግኝቷል.

ግን በጣም አስደሳች የሆኑት ተግባራት መደበኛ ያልሆኑ እና ከዚያ በጣም አስደናቂ አልነበሩም። ኮከባዊ ምልክት ብዙ ሊሠራ ይችላል, ነገር ግን የድር በይነገጽን እንደ ቅደም ተከተል ለማቆየት, ብዙ ጊዜ ተጨማሪ ጊዜ ማሳለፍ አስፈላጊ ነበር. ስለዚህ ትንሽ ዝርዝር የቀረውን PBX ከመጫን የበለጠ ረጅም ጊዜ ሊወስድ ይችላል። እና ነጥቡ የድር በይነገጽን ለመጻፍ ረጅም ጊዜ የሚወስድ አይደለም, ነገር ግን ነጥቡ በሥነ ሕንፃ ባህሪያት ውስጥ ነው ፍሪፒቢክስ. የስነ-ህንፃ አቀራረቦች እና ዘዴዎች ፍሪፒቢክስ በ php4 ጊዜ ተዘርግቷል ፣ እና በዚያን ጊዜ ሁሉም ነገር ቀላል እና የበለጠ ምቹ እንዲሆን php5.6 ቀድሞውኑ ነበር።

የመጨረሻው ገለባ በስዕላዊ መግለጫ መልክ ግራፊክ ዲያፕላኖች ነበር. እንደዚህ አይነት ነገር ለመገንባት ስሞክር ፍሪፒቢክስ፣ በከፍተኛ ሁኔታ እንደገና መፃፍ እንዳለብኝ ተገነዘብኩ እና አዲስ ነገር መገንባት ቀላል ይሆናል።

ዋናዎቹ መስፈርቶች፡-

  • ቀላል ማዋቀር፣ ለጀማሪ አስተዳዳሪ እንኳን በቀላሉ ተደራሽ። ስለዚህ ኩባንያዎች በእኛ በኩል የ PBX ጥገና አያስፈልጋቸውም.
  • ተግባራት በበቂ ጊዜ እንዲፈቱ ቀላል ማሻሻያ ፣
  • ከ PBX ጋር የመዋሃድ ቀላልነት. ዩ ፍሪፒቢክስ ቅንብሮችን ለመለወጥ ምንም ኤፒአይ አልነበረም፣ ማለትም. ለምሳሌ ከሶስተኛ ወገን መተግበሪያ ቡድኖችን ወይም የድምጽ ምናሌዎችን መፍጠር አይችሉም፣ ልሹ ኤፒአይ ብቻ ነው። ኮከባዊ ምልክት,
  • opensource - ለፕሮግራም አውጪዎች ይህ ለደንበኛው ማሻሻያ በጣም አስፈላጊ ነው።

የፈጣን ልማት ሀሳብ ሁሉም ተግባራት በእቃዎች መልክ ሞጁሎችን ያቀፉ እንዲሆኑ ነበር። ሁሉም እቃዎች የጋራ የወላጅ ክፍል ሊኖራቸው ይገባል, ይህም ማለት የሁሉም ዋና ተግባራት ስሞች ቀድሞውኑ ይታወቃሉ እና ስለዚህ ቀድሞውኑ ነባሪ አተገባበርዎች አሉ. ነገሮች የክርክር ብዛትን በአስደናቂ ሁኔታ እንዲቀንሱ ያስችሉዎታል በሕብረቁምፊ ቁልፎች አማካኝነት በአባሪነት ድርድሮች መልክ, ይህም በ ውስጥ ማወቅ ይችላሉ. ፍሪፒቢክስ ሙሉውን ተግባር እና የጎጆ ተግባራትን በመመርመር ተችሏል. በእቃዎች ውስጥ, ባናል አውቶማቲክ ማጠናቀቅ ሁሉንም ንብረቶች ያሳያል, እና በአጠቃላይ ህይወትን ብዙ ጊዜ ያቃልላል. በተጨማሪም፣ ውርስ እና ዳግም ፍቺ ብዙ ችግሮችን በማሻሻያዎች ይፈታል።

የድጋሚ ስራ ጊዜን የቀነሰው እና ማስቀረት የሚገባው ቀጣዩ ነገር ማባዛት ነው። ሰራተኛን ለመደወል ሃላፊነት ያለው ሞጁል ካለ, ወደ ሰራተኛ ጥሪ መላክ የሚያስፈልጋቸው ሁሉም ሌሎች ሞጁሎች ሊጠቀሙበት እንጂ የራሳቸውን ቅጂ መፍጠር የለባቸውም. ስለዚህ አንድ ነገር መለወጥ ከፈለጉ በአንድ ቦታ ብቻ መለወጥ እና “እንዴት እንደሚሰራ” ፍለጋው በአንድ ቦታ መከናወን አለበት ፣ እና በጠቅላላው ፕሮጀክት ውስጥ መፈለግ የለበትም።

የመጀመሪያው ስሪት እና የመጀመሪያ ስህተቶች

የመጀመሪያው ምሳሌ በአንድ አመት ውስጥ ተዘጋጅቷል. ሙሉው PBX፣ እንደታቀደው፣ ሞጁል ነበር፣ እና ሞጁሎቹ ጥሪዎችን ለማስኬድ አዲስ ተግባርን ማከል ብቻ ሳይሆን የድር በይነገጽን እራሱ መለወጥ ይችላሉ።

የአንዱ ፕሮጀክት ታሪክ ወይም እንዴት እንዳሳለፍኩ 7 አመታትን በከዋክብት እና ፒ.ፒ.ቢ. ላይ በመመስረት PBX በመፍጠር
አዎ ፣ በእንደዚህ ዓይነት እቅድ ውስጥ የመደወያ እቅድ የመገንባት ሀሳብ የእኔ አይደለም ፣ ግን በጣም ምቹ ነው እና እኔ ተመሳሳይ ነገር አደረግሁ ። ኮከባዊ ምልክት.

የአንዱ ፕሮጀክት ታሪክ ወይም እንዴት እንዳሳለፍኩ 7 አመታትን በከዋክብት እና ፒ.ፒ.ቢ. ላይ በመመስረት PBX በመፍጠር

ሞጁል በመጻፍ፣ ፕሮግራመሮች ቀድሞውኑ፡-

  • በስዕሉ ላይ ሊቀመጥ የሚችል የጥሪ ሂደት የራስዎን ተግባር ይፍጠሩ ፣ እንዲሁም በግራ በኩል ባለው የንጥረ ነገሮች ምናሌ ውስጥ ፣
  • ለድር በይነገጽ የራስዎን ገጾች ይፍጠሩ እና አብነቶችዎን ወደ ነባር ገፆች ያክሉ (የገጹ ገንቢ ለዚህ ካቀረበ)
  • ቅንብሮችዎን ወደ ዋናው የቅንብሮች ትር ያክሉ ወይም የራስዎን የቅንብሮች ትር ይፍጠሩ ፣
  • ፕሮግራመር ካለው ሞጁል ውርስ ፣ የተግባርን የተወሰነ ክፍል መለወጥ እና በአዲስ ስም መመዝገብ ወይም የመጀመሪያውን ሞጁል መተካት ይችላል።

ለምሳሌ፣ የእራስዎን የድምጽ ምናሌ እንዴት መፍጠር እንደሚችሉ ነው፡-

......
class CPBX_MYIVR extends CPBX_IVR
{
 function __construct()
 {
 parent::__construct();
 $this->_module = "myivr";
 }
}
.....
$myIvrModule = new CPBX_MYIVR();
CPBXEngine::getInstance()->registerModule($myIvrModule,__DIR__); //Зарегистрировать новый модуль
CPBXEngine::getInstance()->registerModuleExtension($myIvrModule,'ivr',__DIR__); //Подменить существующий модуль

የመጀመሪያዎቹ ውስብስብ አተገባበርዎች የመጀመሪያውን ኩራት እና የመጀመሪያዎቹን ተስፋ አስቆራጭ ነገሮች አመጡ. ቀደም ሲል ዋና ዋና ባህሪያትን እንደገና ማባዛት በመቻሌ ደስ ብሎኛል ፍሪፒቢክስ. ሰዎች የእቅዱን ሀሳብ ስለወደዱ ደስ ብሎኛል። ልማትን ለማቃለል አሁንም ብዙ አማራጮች ነበሩ፣ ነገር ግን በዚያን ጊዜ እንኳን አንዳንድ ተግባራቶች ቀድሞውኑ ቀላል ሆነዋል።

የPBX ውቅረትን ለመለወጥ ኤፒአይ በጣም አሳዛኝ ነበር - ውጤቱ እኛ የምንፈልገውን ነገር በጭራሽ አልነበረም። ልክ እንደ ውስጥ ተመሳሳይ መርህ ወሰድኩ ፍሪፒቢክስ, አፕሊኬሽን አዝራሩን ጠቅ በማድረግ አጠቃላይ ውቅሩ እንደገና ይፈጠራል እና ሞጁሎቹ እንደገና ይጀመራሉ.

ይህን ይመስላል።

የአንዱ ፕሮጀክት ታሪክ ወይም እንዴት እንዳሳለፍኩ 7 አመታትን በከዋክብት እና ፒ.ፒ.ቢ. ላይ በመመስረት PBX በመፍጠር
*Dialplan ጥሪ የሚካሄድበት ደንብ (አልጎሪዝም) ነው።

ነገር ግን በዚህ አማራጭ የ PBX ቅንብሮችን ለመለወጥ የተለመደ ኤፒአይ ለመጻፍ የማይቻል ነው. በመጀመሪያ, የመተግበር አሠራር ወደ ለውጦች ኮከባዊ ምልክት በጣም ረጅም እና ሀብትን የሚጨምር.
በሁለተኛ ደረጃ, በአንድ ጊዜ ሁለት ተግባራትን መጥራት አይችሉም, ምክንያቱም ሁለቱም አወቃቀሩን ይፈጥራሉ.
በሶስተኛ ደረጃ, በአስተዳዳሪው የተሰሩትን ጨምሮ ሁሉንም ቅንብሮችን ይተገበራል.

በዚህ ስሪት ውስጥ, እንደ ውስጥ አስኮዚያ, የተቀየሩ ሞጁሎችን ብቻ ማዋቀር እና አስፈላጊዎቹን ሞጁሎች ብቻ እንደገና ማስጀመር ተችሏል, ነገር ግን እነዚህ ሁሉ ግማሽ መለኪያዎች ናቸው. አቀራረቡን መቀየር አስፈላጊ ነበር.

ሁለተኛ ስሪት. አፍንጫ ተጣብቆ ወጣ ጅራት

ችግሩን የመፍታት ሀሳብ አወቃቀሩን እና መደወያውን እንደገና መፍጠር አልነበረም ኮከባዊ ምልክት, ነገር ግን መረጃን ወደ ዳታቤዝ ያስቀምጡ እና ጥሪውን በሚሰሩበት ጊዜ በቀጥታ ከመረጃ ቋቱ ያንብቡ. ኮከባዊ ምልክት ከመረጃ ቋቱ ውስጥ አወቃቀሮችን እንዴት ማንበብ እንደምችል አስቀድሜ አውቄያለሁ፣ በመረጃ ቋቱ ውስጥ ያለውን ዋጋ ብቻ ይቀይሩ እና ቀጣዩ ጥሪ ለውጦቹን ከግምት ውስጥ በማስገባት ይከናወናል፣ እና ተግባሩ የዲያልፕላን መለኪያዎችን ለማንበብ ፍጹም ነበር። REALTIME_HASH.

በመጨረሻ፣ እንደገና መጀመር እንኳን አያስፈልግም ነበር። ኮከባዊ ምልክት ቅንብሮቹን ሲቀይሩ እና ሁሉም ቅንጅቶች ወዲያውኑ መተግበር ጀመሩ ኮከባዊ ምልክት.

የአንዱ ፕሮጀክት ታሪክ ወይም እንዴት እንዳሳለፍኩ 7 አመታትን በከዋክብት እና ፒ.ፒ.ቢ. ላይ በመመስረት PBX በመፍጠር

በመደወያው ላይ ያሉት ለውጦች የኤክስቴንሽን ቁጥሮች መጨመር እና ብቻ ናቸው። ፍንጮች. ነገር ግን እነዚህ ጥቃቅን የቦታ ለውጦች ነበሩ

exten=>101,1,GoSub(‘sub-callusers’,s,1(1)); - точечное изменение, добавляется/изменяется через ami

; sub-callusers – универсальная функция генерится при установке модуля.
[sub-callusers]
exten =>s,1,Noop()
exten =>s,n,Set(LOCAL(TOUSERID)=${ARG1})
exten =>s,n,ClearHash(TOUSERPARAM)
exten =>s,n,Set(HASH(TOUSERPARAM)=${REALTIME_HASH(rl_users,id,${LOCAL(TOUSERID)})})
exten =>s,n,GotoIf($["${HASH(TOUSERPARAM,id)}"=""]?return)
...

በቀላሉ ተጠቅመው በዲያልፕላኑ ውስጥ መስመርን ማከል ወይም መቀየር ይችላሉ። ዲስክስ (የመቆጣጠሪያ በይነገጽ ኮከባዊ ምልክት) እና ሙሉውን መደወያ ፕላን ዳግም ማስጀመር አያስፈልግም።

ይህ ችግሩን በአወቃቀሩ ኤፒአይ ፈትቶታል። በቀጥታ ወደ ዳታቤዝ ገብተህ አዲስ ቡድን ማከል ወይም መቀየር ትችላለህ ለምሳሌ ለቡድኑ በ"ዲያልታይም" መስክ ውስጥ የመደወያ ሰዓቱ እና ቀጣዩ ጥሪ የተወሰነውን ጊዜ የሚቆይ ይሆናል (ይህ ምክረ ሃሳብ አይደለም እርምጃ፣ አንዳንድ የኤፒአይ ስራዎች ስለሚያስፈልጋቸው ዲስክስ ጥሪዎች)።

የመጀመሪያዎቹ አስቸጋሪ ትግበራዎች እንደገና የመጀመሪያውን ኩራት እና ተስፋ አስቆራጭ አመጡ. በመስራቱ ደስ ብሎኛል። የውሂብ ጎታው ወሳኝ አገናኝ ሆነ, በዲስክ ላይ ያለው ጥገኝነት ጨምሯል, ብዙ አደጋዎች ነበሩ, ነገር ግን ሁሉም ነገር በተረጋጋ ሁኔታ እና ያለችግር ይሠራል. እና ከሁሉም በላይ, አሁን በድር በይነገጽ በኩል ሊደረጉ የሚችሉት ሁሉም ነገሮች በኤፒአይ በኩል ሊደረጉ ይችላሉ, እና ተመሳሳይ ዘዴዎች ጥቅም ላይ ውለዋል. በተጨማሪም የድር በይነገጽ አስተዳዳሪዎች ብዙውን ጊዜ የረሱትን የ "PBX ቅንብሮችን ተግብር" የሚለውን ቁልፍ አስወግዷል።

ቅር የተሰኘው ልማቱ ይበልጥ ውስብስብ እየሆነ መጣ። ከመጀመሪያው ስሪት ጀምሮ፣ የPHP ቋንቋ በቋንቋው ውስጥ የመደወያ እቅድ ፈጥሯል። ኮከባዊ ምልክት እና ሙሉ በሙሉ የማይነበብ ይመስላል, በተጨማሪም ቋንቋው ራሱ ኮከባዊ ምልክት የመደወያ እቅድ ለመጻፍ እጅግ በጣም ጥንታዊ ነው.

ምን ይመስል ነበር፡-

$usersInitSection = $dialplan->createExtSection('usersinit-sub','s');
$usersInitSection
 ->add('',new Dialplanext_gotoif('$["${G_USERINIT}"="1"]','exit'))
 ->add('',new Dialplanext_set('G_USERINIT','1'))
 ->add('',new Dialplanext_gosub('1','s','sub-AddOnAnswerSub','usersconnected-sub'))
 ->add('',new Dialplanext_gosub('1','s','sub-AddOnPredoDialSub','usersinitondial-sub'))
 ->add('',new Dialplanext_set('LOCAL(TECH)','${CUT(CHANNEL(name),/,1)}'))
 ->add('',new Dialplanext_gotoif('$["${LOCAL(TECH)}"="SIP"]','sipdev'))
 ->add('',new Dialplanext_gotoif('$["${LOCAL(TECH)}"="PJSIP"]','pjsipdev'))

በሁለተኛው ስሪት ውስጥ, የዲያልፕላኑ ዓለም አቀፋዊ ሆነ, እንደ ግቤቶች ላይ በመመስረት ሁሉንም ሊሆኑ የሚችሉ የማስኬጃ አማራጮችን አካትቷል እና መጠኑ በከፍተኛ ሁኔታ ጨምሯል. ይህ ሁሉ የዕድገት ጊዜን በእጅጉ ቀነሰው፣ እና እንደገና በዲያሊያን ውስጥ ጣልቃ መግባት አስፈላጊ ነው ብዬ ማሰቡ አሳዝኖኛል።

ሦስተኛው ስሪት

ችግሩን የመፍታት ሀሳብ ማመንጨት አልነበረም ኮከባዊ ምልክት dialplan ከ php እና ይጠቀሙ FastAGI እና ሁሉንም የማስኬጃ ህጎች በራሱ በ PHP ውስጥ ይፃፉ። FastAGI ይህ ይፈቅዳል ኮከባዊ ምልክት, ጥሪውን ለማስኬድ, ከሶኬት ጋር ይገናኙ. ከዚያ ትዕዛዞችን ይቀበሉ እና ውጤቶችን ይላኩ። ስለዚህ, የዲያልፕላኑ አመክንዮ ቀድሞውኑ ከድንበሩ ውጭ ነው ኮከባዊ ምልክት እና በማንኛውም ቋንቋ ሊጻፍ ይችላል, በእኔ ሁኔታ በ PHP.

ብዙ ሙከራ እና ስህተት ነበር። ዋናው ችግር ቀደም ሲል ብዙ ክፍሎች / ፋይሎች ነበሩኝ. ዕቃዎችን ለመፍጠር፣ ለማስጀመር እና እርስ በርስ ለመመዝገብ 1,5 ሰከንድ ያህል ፈጅቷል፣ እና ይህ በእያንዳንዱ ጥሪ መዘግየት ችላ ሊባል የሚችል አይደለም።

ጅምር አንድ ጊዜ ብቻ መሆን ነበረበት እና ስለዚህ መፍትሄ ፍለጋ በ php ውስጥ አገልግሎት በመጻፍ ተጀመረ ክርክሮች. ከአንድ ሳምንት ሙከራ በኋላ, ይህ አማራጭ ይህ ቅጥያ እንዴት እንደሚሰራ በሚያሳዩ ውስብስብ ነገሮች ምክንያት ተዘግቷል. ከአንድ ወር ሙከራ በኋላ፣ እንዲሁም በPHP ውስጥ ያልተመሳሰሉ ፕሮግራሞችን መተው ነበረብኝ፤ ቀላል የሆነ፣ ለማንኛውም የPHP ጀማሪ የማውቀው ነገር ያስፈልገኝ ነበር፣ እና ለPHP ብዙ ቅጥያዎች ተመሳሳይ ናቸው።

መፍትሄው በ C ውስጥ የራሳችን ባለ ብዙ ክር አገልግሎት ነበር, እሱም የተጠናቀረ PHPLIB. ሁሉንም የ ATS php ፋይሎችን ይጭናል, ሁሉም ሞጁሎች እንዲጀምሩ ይጠብቃል, እርስ በርስ መደወል ይጨምራል, እና ሁሉም ነገር ዝግጁ ሲሆን, ይሸፍነዋል. በ ሲጠይቁ FastAGI ዥረት ይፈጠራል ፣ የሁሉም ክፍሎች መሸጎጫ ቅጂ እና ውሂብ በእሱ ውስጥ ተባዝቷል እና ጥያቄው ወደ php ተግባር ይተላለፋል።

በዚህ መፍትሄ ወደ አገልግሎታችን ጥሪ ከመላክ እስከ መጀመሪያው ትእዛዝ ድረስ ያለው ጊዜ ኮከባዊ ምልክት ከ 1,5s ወደ 0,05s ቀንሷል እና ይህ ጊዜ በትንሹ በፕሮጀክቱ መጠን ይወሰናል.

የአንዱ ፕሮጀክት ታሪክ ወይም እንዴት እንዳሳለፍኩ 7 አመታትን በከዋክብት እና ፒ.ፒ.ቢ. ላይ በመመስረት PBX በመፍጠር

በውጤቱም ፣ የዲያልፕላን ልማት ጊዜ በከፍተኛ ሁኔታ ቀንሷል ፣ እና የሁሉንም ሞጁሎች አጠቃላይ መደወያ ፕላን በ PHP ውስጥ እንደገና መፃፍ ስላለብኝ ይህንን አደንቃለሁ። በመጀመሪያ ፣ አንድን ነገር ከመረጃ ቋቱ ለማግኘት ዘዴዎች ቀድሞውኑ በ php ውስጥ መፃፍ አለባቸው ፣ በድር በይነገጽ ውስጥ እንዲታዩ ያስፈልጋሉ ፣ እና ሁለተኛ ፣ እና ይህ ዋናው ነገር ነው ፣ በመጨረሻም ከቁጥሮች እና ድርድሮች ጋር በሕብረቁምፊዎች መስራት ይቻላል ። በመረጃ ቋት እና ብዙ ፒኤችፒ ቅጥያዎች።

በሞጁል ክፍል ውስጥ የመደወያ እቅድን ለማስኬድ ተግባሩን መተግበር ያስፈልግዎታል dialplanDynamic ጥሪ እና ክርክር pbx የጥሪ ጥያቄ ከእሱ ጋር መስተጋብር የሚፈጥር ነገር ይይዛል ኮከባዊ ምልክት.

የአንዱ ፕሮጀክት ታሪክ ወይም እንዴት እንዳሳለፍኩ 7 አመታትን በከዋክብት እና ፒ.ፒ.ቢ. ላይ በመመስረት PBX በመፍጠር

በተጨማሪም ፣ የዲያልፕላኑን ማረም ይቻል ነበር (php xdebug አለው እና ለአገልግሎታችን ይሰራል) ፣ የተለዋዋጮችን እሴቶችን በመመልከት ደረጃ በደረጃ መንቀሳቀስ ይችላሉ።

የጥሪ ውሂብ

ማንኛውም ትንታኔዎች እና ዘገባዎች በትክክል የተሰበሰቡ መረጃዎችን ይፈልጋሉ፣ እና ይህ የፒቢኤክስ እገዳ ከመጀመሪያው እስከ ሶስተኛው እትም ድረስ ብዙ ሙከራዎችን እና ስህተቶችን አሳልፏል። ብዙውን ጊዜ, የጥሪ ውሂብ ምልክት ነው. አንድ ጥሪ = አንድ ቀረጻ፡ ማን ደወለ፣ ማን መለሰ፣ ለምን ያህል ጊዜ እንደተነጋገሩ። ይበልጥ አስደሳች በሆኑ አማራጮች ውስጥ, በጥሪው ወቅት የትኛው የ PBX ሰራተኛ እንደተጠራ የሚያሳይ ተጨማሪ ምልክት አለ. ነገር ግን ይህ ሁሉ የፍላጎቶቹን ክፍል ብቻ ይሸፍናል.

የመጀመሪያዎቹ መስፈርቶች የሚከተሉት ነበሩ:

  • PBX የጠራውን ብቻ ሳይሆን የመለሰውንም አድን ምክንያቱም ጣልቃ ገብነቶች አሉ እና ጥሪዎችን በሚተነትኑበት ጊዜ ይህ ግምት ውስጥ መግባት አለበት ፣
  • ከሠራተኛ ጋር ከመገናኘቱ በፊት ጊዜ. ውስጥ ፍሪፒቢክስ እና አንዳንድ ሌሎች PBXs፣ ፒቢኤክስ ስልኩን እንዳነሳ ጥሪው እንደተመለሰ ይቆጠራል። ነገር ግን ለድምፅ ሜኑ ስልኩን ማንሳት ያስፈልግዎታል፣ ስለዚህ ሁሉም ጥሪዎች ምላሽ ያገኛሉ እና መልስ ለማግኘት የሚቆይበት ጊዜ 0-1 ሰከንድ ይሆናል። ስለዚህ, ከመልስ በፊት ያለውን ጊዜ ብቻ ሳይሆን ከቁልፍ ሞጁሎች ጋር ከመገናኘቱ በፊት ያለውን ጊዜ ለመቆጠብ ተወስኗል (ሞጁሉ ልሹ ይህንን ባንዲራ ያዘጋጃል. በአሁኑ ጊዜ "ሰራተኛ", "ውጫዊ መሾመር"),
  • ለተጨማሪ ውስብስብ መደወያ ፕላን ጥሪ በተለያዩ ቡድኖች መካከል ሲጓዝ እያንዳንዱን አካል ለየብቻ መመርመር መቻል አስፈላጊ ነበር።

በጣም ጥሩው አማራጭ የ PBX ሞጁሎች በጥሪዎች ላይ ስለራሳቸው መረጃ ሲልኩ እና በመጨረሻም መረጃውን በዛፍ መልክ ሲቆጥቡ ነው.

ይህን ይመስላል

በመጀመሪያ, ስለ ጥሪው አጠቃላይ መረጃ (እንደ ሁሉም ሰው - ምንም ልዩ ነገር የለም).

የአንዱ ፕሮጀክት ታሪክ ወይም እንዴት እንዳሳለፍኩ 7 አመታትን በከዋክብት እና ፒ.ፒ.ቢ. ላይ በመመስረት PBX በመፍጠር

  1. በውጭ መስመር ላይ ጥሪ ደርሶናል"ለፈተና"በ 05:55:52 ከቁጥር 89295671458 እስከ ቁጥሩ 89999999999 መጨረሻ ላይ በሰራተኛ መልስ ተሰጠው"ጸሐፊ2» በቁጥር 104. ደንበኛው 60 ሰከንድ ጠብቋል እና ለ 36 ሰከንድ ተናግሯል.
  2. ሰራተኛ "ጸሐፊ2"ወደ 112 ይደውላል እና ሰራተኛው መልስ ይሰጣል"አስተዳዳሪ1» ከ 8 ሰከንድ በኋላ. ለ14 ሰከንድ ያወራሉ።
  3. ደንበኛው ወደ ሰራተኛው ተላልፏል "አስተዳዳሪ1"ለተጨማሪ 13 ሰከንድ ማውራት ይቀጥላሉ

ግን ይህ የበረዶ ግግር ጫፍ ነው፤ ለእያንዳንዱ መዝገብ በPBX በኩል ዝርዝር የጥሪ ታሪክ ማግኘት ይችላሉ።

የአንዱ ፕሮጀክት ታሪክ ወይም እንዴት እንዳሳለፍኩ 7 አመታትን በከዋክብት እና ፒ.ፒ.ቢ. ላይ በመመስረት PBX በመፍጠር

ሁሉም መረጃዎች እንደ የጥሪዎች መክተቻ ቀርበዋል፡-

  1. በውጭ መስመር ላይ ጥሪ ደርሶናል"ለፈተና» በ05፡55፡52 ከቁጥር 89295671458 ወደ ቁጥር 89999999999።
  2. በ 05:55:53 የውጪው መስመር ወደ ገቢ ወረዳ ጥሪ ይልካል "ሙከራ»
  3. በእቅዱ መሰረት ጥሪን ሲያካሂዱ ሞጁሉ "አስተዳዳሪ ጥሪ", በዚህ ውስጥ ጥሪው 16 ሰከንድ ነው. ይህ ለደንበኛው የተዘጋጀ ሞጁል ነው።
  4. ሞዱል"አስተዳዳሪ ጥሪ"ለቁጥሩ (ደንበኛው) ኃላፊነት ላለው ሠራተኛ ጥሪ ይልካል"አስተዳዳሪ1” እና ምላሽ ለማግኘት 5 ሰከንድ ይጠብቃል። ሥራ አስኪያጁ መልስ አልሰጠም።
  5. ሞዱል"አስተዳዳሪ ጥሪ"ለቡድኑ ጥሪ ይልካል"CORP አስተዳዳሪዎች" እነዚህ ተመሳሳይ አቅጣጫ ያላቸው (በተመሳሳይ ክፍል ውስጥ ተቀምጠው) እና ምላሽ ለማግኘት 11 ሰከንድ የሚጠብቁ ሌሎች አስተዳዳሪዎች ናቸው።
  6. ቡድን "CORP አስተዳዳሪዎች"ሰራተኞችን ይደውላል"አስተዳዳሪ1, አስተዳዳሪ2, አስተዳዳሪ3"በአንድ ጊዜ ለ 11 ሰከንድ. መልስ የለም.
  7. የአስተዳዳሪው ጥሪ አልቋል። እና ወረዳው ወደ ሞጁሉ ጥሪ ይልካል "ከ1c መንገድ መምረጥ" እንዲሁም ለደንበኛው የተጻፈ ሞጁል. እዚህ ጥሪው ለ0 ሰከንድ ተካሄዷል።
  8. ወረዳው ወደ የድምጽ ምናሌው ጥሪ ይልካል "መሰረታዊ ከተጨማሪ መደወያ ጋር" ደንበኛው ለ 31 ሰከንዶች ያህል ጠብቋል ፣ ምንም ተጨማሪ መደወያ የለም።
  9. መርሃግብሩ ለቡድኑ ጥሪ ይልካል "ጸሐፊዎች", ደንበኛው 12 ሰከንድ ሲጠብቅ.
  10. በቡድን ውስጥ 2 ሰራተኞች በተመሳሳይ ጊዜ ይጠራሉ "ጸሐፊ1"እና"ጸሐፊ2"እና ከ 12 ሰከንዶች በኋላ ሰራተኛው መልስ ይሰጣል"ጸሐፊ2" የጥሪው መልስ ወደ ወላጅ ጥሪዎች ተባዝቷል። በቡድኑ ውስጥ እንዲህ ሲል መለሰ ።ጸሐፊ2", ወረዳውን ሲደውሉ መለሱ"ጸሐፊ2"እና በውጪ መስመር ላይ ያለውን ጥሪ መለሰ"ጸሐፊ2».

በቀላሉ ሪፖርቶችን ለማድረግ የሚያስችለው ስለ እያንዳንዱ ኦፕሬሽን መረጃ መቆጠብ እና መክተታቸው ነው። በድምጽ ምናሌው ላይ ያለ ዘገባ ምን ያህል እንደሚያግዝ ወይም እንደሚያደናቅፍ ለማወቅ ይረዳዎታል። በሠራተኞች ያመለጡ ጥሪዎች ላይ ሪፖርት ይገንቡ ፣ ጥሪው እንደተስተጓጎለ እና ስለዚህ እንደጠፋ አይቆጠርም ፣ እና የቡድን ጥሪ መሆኑን ከግምት ውስጥ በማስገባት ፣ እና ሌላ ሰው ቀደም ብሎ መልስ ሰጠ ፣ ይህ ማለት ጥሪው እንዲሁ አልቀረም ማለት ነው ።

እንደዚህ ዓይነቱ የመረጃ ማከማቻ እያንዳንዱን ቡድን ለየብቻ እንዲወስዱ እና እንዴት ውጤታማ በሆነ መንገድ እንደሚሰራ እንዲወስኑ እና በሰዓት የተመለሱ እና ያመለጡ ቡድኖችን ግራፍ እንዲገነቡ ያስችልዎታል። እንዲሁም ከአስተዳዳሪው ጋር ከተገናኙ በኋላ ዝውውሮችን በመተንተን ከተጠያቂው አስተዳዳሪ ጋር ያለው ግንኙነት ምን ያህል ትክክል እንደሆነ ማረጋገጥ ይችላሉ።

እንዲሁም በጣም ያልተለመዱ ጥናቶችን ማካሄድ ይችላሉ ፣ ለምሳሌ ፣ በመረጃ ቋቱ ውስጥ የሌሉ ቁጥሮች ምን ያህል ጊዜ ትክክለኛውን ቅጥያ ይደውሉ ወይም የወጪ ጥሪዎች መቶኛ ወደ ሞባይል ስልክ እንደሚተላለፉ።

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

PBX ን ለመጠበቅ ልዩ ባለሙያተኛ አያስፈልግም, በጣም ተራው አስተዳዳሪ ማድረግ ይችላል - በተግባር ተፈትኗል.

ለማሻሻያ ፣ ከባድ ብቃቶች ያላቸው ልዩ ባለሙያዎች አያስፈልጉም ፣ የ PHP እውቀት በቂ ነው ፣ ምክንያቱም ሞጁሎች ቀደም ሲል ለ SIP ፕሮቶኮል, እና ለወረፋ, እና ሰራተኛ ለመደወል እና ለሌሎችም ተጽፈዋል. ለ መጠቅለያ ክፍል አለ ኮከባዊ ምልክት. ሞጁሉን ለማዘጋጀት ፕሮግራመር (እና በጥሩ ሁኔታ) ዝግጁ የሆኑ ሞጁሎችን መጥራት ይችላል። እና እውቀት ኮከባዊ ምልክት ደንበኛው አዲስ ዘገባ ያለው ገጽ ለመጨመር ከጠየቀ ሙሉ በሙሉ አስፈላጊ አይደሉም። ነገር ግን ልምምድ እንደሚያሳየው የሶስተኛ ወገን ፕሮግራም አድራጊዎች ሊቋቋሙት ቢችሉም, ያለ ሰነዶች እና መደበኛ የአስተያየቶች ሽፋን አለመተማመን ስለሚሰማቸው አሁንም መሻሻል አለበት.

ሞጁሎች የሚከተሉትን ማድረግ ይችላሉ:

  • አዲስ የጥሪ ሂደት ችሎታዎችን መፍጠር ፣
  • በድር በይነገጽ ላይ አዳዲስ ብሎኮችን ያክሉ ፣
  • ካሉት ሞጁሎች ውርስ ፣ ተግባራቶቹን እንደገና ይግለጹ እና ይተኩ ፣ ወይም በቀላሉ በትንሹ የተሻሻለ ቅጂ ይሁኑ ፣
  • ቅንጅቶችዎን ወደ ሌሎች ሞጁሎች የቅንጅቶች አብነት እና ሌሎችንም ያክሉ።

የPBX ቅንብሮች በኤፒአይ። ከላይ እንደተገለፀው ሁሉም ቅንጅቶች በመረጃ ቋቱ ውስጥ ይቀመጣሉ እና በጥሪው ጊዜ ይነበባሉ, ስለዚህ ሁሉንም የ PBX መቼቶች በኤፒአይ መቀየር ይችላሉ. ኤፒአይን በሚደውሉበት ጊዜ አወቃቀሩ እንደገና አልተሰራም እና ሞጁሎቹ እንደገና አልተጀመሩም, ስለዚህ, ምን ያህል ቅንጅቶች እና ሰራተኞች እንዳሉዎት ምንም ችግር የለውም. የኤፒአይ ጥያቄዎች በፍጥነት ይፈጸማሉ እና አንዳቸው ሌላውን አይከላከሉም።

PBX ሁሉንም ቁልፍ ስራዎች ከጥሪዎች ጋር ቆይታዎች (መጠባበቅ/ውይይት)፣ ጎጆ እና በPBX ውሎች (ሰራተኛ፣ ቡድን፣ ውጫዊ መስመር እንጂ ሰርጥ፣ ቁጥር) ያከማቻል። ይህ ለተወሰኑ ደንበኞች የተለያዩ ሪፖርቶችን እንዲገነቡ ያስችልዎታል እና አብዛኛው ስራው ለተጠቃሚ ምቹ የሆነ በይነገጽ መፍጠር ነው.

ጊዜ ወደፊት የሚሆነውን ይነግረናል። አሁንም እንደገና መስተካከል የሚያስፈልጋቸው ብዙ ልዩነቶች አሉ, አሁንም ብዙ እቅዶች አሉ, ነገር ግን 3 ኛ ስሪት ከተፈጠረ አንድ አመት አልፏል እና ሃሳቡ እየሰራ ነው ማለት እንችላለን. የስሪት 3 ዋነኛው ኪሳራ የሃርድዌር ሃብቶች ናቸው, ነገር ግን ይህ አብዛኛውን ጊዜ ለልማት ምቹነት መክፈል ያለብዎት ነው.

ምንጭ: hab.com

አስተያየት ያክሉ