FusionPBX እና ACL

የእኔ መጣጥፍ የምርቱን ሙሉ መግለጫ አይደለም፣ ነገር ግን የጥሩ ህትመቱን "FusionPBX, or again- great, FreeSWITCH" ትንሽ ማጣራት ብቻ ነው። በ FusionPBX ውስጥ ያለው የ ACL ርዕስ በውስጡ በደንብ ያልተገለጸ ይመስላል። በ FreeSWITCH/FusionPBX ከራሴ ልምድ በመነሳት ይህንን ክፍተት ለመሙላት እሞክራለሁ።

እና ስለዚህ፣ የተጫነ FusionPBX አለን የውስጥ ቁጥር 1010 በ domain.local domain ውስጥ የተመዘገበ እና ወደ ከተማው ለሚደረጉ የውጭ ጥሪዎች የተዋቀረ መንገድ። የቴሌፎን ስርዓታችንን ገንዘባችንን ከሚወስዱት ያልተፈቀዱ ጥሪዎች ለመጠበቅ ACL እንጠቀማለን። እነዚያ። ወጪ ጥሪዎችን የሚፈቅደው በኤሲኤል ውስጥ ከተገለጹት አውታረ መረቦች ብቻ ነው። እና እዚህ ACL በ FusionPBX ውስጥ እንዴት እንደሚሰራ፣ ባህሪያቱ፣ ሎጂክ እና መልህቅ ነጥቡ ላይ ሙሉ በሙሉ ግልጽ የሆነ መረዳት ያስፈልግዎታል።

ከላይ እንደተጠቀሰው የተከበረው ደራሲ፣ ከኤሲኤል ጋር የተያያዙ ሁሉንም መሰናክሎችም ረግጬ ነበር።

እጀምራለሁ SipProfiles.
ሁለቱም መገለጫዎች (እኔ እደውላቸዋለሁ)፣ ከውስጥም ከውጪም፣ በሕዝብ አውድ ውስጥ ናቸው፣ እና ይህ በአጋጣሚ አይደለም። የቁጥሮች ምዝገባ በውስጣዊ መገለጫ ውስጥ ይካሄዳል, እና ለእሱ ትኩረት እንሰጣለን. በውስጣዊ መገለጫ፣ ጎራዎቹ ACL እንደ አፕሊኬሽን-የመግባት-acl ታስረዋል። በፕሮፋይል ደረጃ ላይ ለኤሲኤል አሠራር ኃላፊነት ያለው ይህ መስመር ነው. እስካሁን ድረስ፣ ከመገለጫዎቹ ጋር ያ ነው።

የአውድ

አውድ ከሌሎች ነገሮች በተጨማሪ በጥሪ ማስተላለፊያ ውስጥ ጥቅም ላይ ይውላል። ሁሉም መጪ መንገዶች ከህዝባዊ አውድ ጋር የተሳሰሩ ናቸው።

የወጪ (ወደ ከተማ፣ ወደ ሴሉላር፣ ረጅም ርቀት፣ ዓለም አቀፍ እና ሌላ ማንኛውም) መንገዶች (በነባሪ) በዶሜር ስም አውድ ውስጥ ናቸው (እስቲ ዶሜይን.local ብለን እንጠራው)።

ACL

አሁን ከኤሲኤሎች ጋር እንገናኝ። በነባሪነት አዲስ የተጫነ FusionPBX ሁለት ኤሲኤሎች አሉት፡

ጎራዎች ነባሪ እርምጃ፡ መካድ - ይህ ሉህ ከውስጣዊው መገለጫ ጋር የተሳሰረ ነው።
lan ነባሪ እርምጃ: ፍቀድ

በ ACL ዝርዝር ውስጥ አውታረ መረቡን እናዝዘዋለን (በደንብ ፣ ለምሳሌ ፣ 192.168.0.0/24) ፣ ለዚህ ​​አውታረ መረብ ፈቃዱን እናደርጋለን ፣ reloadacl እንጠቀማለን ።

በመቀጠል, ከዚህ አውታረ መረብ ስልክ እንመዘግባለን, እና ሁሉም ነገር ጥሩ እና እንደ መመሪያው እና ምክንያታዊ ይመስላል.
መሞከር እንጀምራለን፣ ወደ ውጫዊ ቁጥር መደወል እና ... ዶናት እናገኛለን ፣ ወይም ይልቁንም የዶናት ቀዳዳ። በድንገት!

በኮንሶል ውስጥ ወይም በ Log Viewer FusioPBX በኩል ምዝግብ ማስታወሻውን መተንተን እንጀምራለን.

ፈተናችንን እናያለን፡-

switch_channel.c:1104 New Channel sofia/internal/[email protected]

የሚሰራውን ACL እናያለን፡-

sofia.c:10208 IP 192.168.0.150 Approved by acl "domains[]". Access Granted.

እና ተጨማሪ፡-

mod_dialplan_xml.c:637 Processing 1010 <1010>->98343379xxxx in context public
switch_core_state_machine.c:311 No Route, Aborting 
switch_core_state_machine.c:312 Hangup sofia/internal/[email protected] [CS_ROUTING] [NO_ROUTE_DESTINATION] 

መንገድ የለም! ምንም እንኳን መንገዱ በቅንነት ተመዝግበናል.

መልሱ በእውነት ቀላል ነው።

ጥሪው ደርሷል። ACL አምልጦታል። እና ACL በውስጣዊ መገለጫ ውስጥ የታሰረ ስለሆነ እና ይህ መገለጫ በአደባባይ አውድ ውስጥ ስለሆነ፣ FreeSWITCH በይፋዊ አውድ ውስጥ ማዘዋወርን በሐቀኝነት ይመለከታል። ነገር ግን በሕዝብ አውድ ውስጥ, ገቢ ማዞሪያ ብቻ ነው, እና ስርዓቱ ወደ ከተማዋ ምንም መንገዶች እንደሌሉ በትክክል ይነግረናል.

ከዚህ ሁኔታ ቢያንስ ሁለት መንገዶች አሉ.

  1. ይህንን ACL ከመገለጫው ጋር አያይዘው, ግን ከውስጣዊው ቁጥር እራሱ ጋር. ይህ ምናልባት ለመፍታት በጣም ትክክለኛው መንገድ ሊሆን ይችላል, ምክንያቱም. ለጥሩ ማስተካከያ ACL በተቻለ መጠን ከኤክስቴንሽን ጋር ማሰር የተሻለ ነው። እነዚያ። የወጪ ጥሪ ማድረግ የሚችልበትን የተወሰነ አድራሻ/የአውታረ መረብ አድራሻ ማዘዝ ይችላሉ። የዚህ አማራጭ ጉዳቱ እያንዳንዱ ቅጥያ ይህን ማድረግ አለበት.
  2. በመገለጫ ደረጃ በትክክል እንዲሰራ ACL ን ያስተካክሉት። ይህንን አማራጭ መርጫለሁ፣ ምክንያቱም በእያንዳንዱ ቅጥያ ውስጥ ከመፃፍ ይልቅ አውታረ መረቡን ወደ ACL አንድ ጊዜ ማከል ቀላል መስሎ ታየኝ። ግን ይህ በተለይ ለኔ ተግባር ነው። ለሌሎች ተግባራት፣ የተለየ የውሳኔ አሰጣጥ አመክንዮ ሊያስፈልግህ ይችላል።

ስለዚህ. የACL ጎራዎችን እንደሚከተለው እናስተካክል፡

ጎራዎች ነባሪ እርምጃ፡ ፍቀድ

በኤሲኤል ዝርዝር ውስጥ አውታረ መረቡን እንመዘግባለን፡-

መካድ 192.168.0.0/24

ያመልክቱ፣ እንደገና ይጫኑ።
እየሞከርን ነው፡ ቁጥሩን 98343379xxxx እንደገና ደወልን እና ... የፍተሻ ነጥቡ እየመጣ ነው ... ሰላም. ሁሉም ነገር እየሰራ ነው።
በFreeSWITCH ውስጥ የሆነውን እንይ፡-
ጥሪ ይጀምራል፡-

switch_channel.c:1104 New Channel sofia/internal/[email protected]

ACL አላመለጠም፦

[DEBUG] sofia.c:10263 IP 192.168.0.150 Rejected by acl "domains". Falling back to Digest auth.

እና ተጨማሪ፡-

mod_dialplan_xml.c:637 Processing 1010 <1010>->98343379xxxx in context domain.local
sofia/internal/[email protected] Regex (PASS) [Sity] destination_number(98343379xxxx) =~ /^9(8343[23]d{6})$/ break=on-false 

ማዞሪያው አልፏል፣ እና ከዚያ የግንኙነት መመስረት ይመጣል፣ ይህም ከርዕሱ ወሰን በላይ ነው።

በኤሲኤል ውስጥ ያለውን የአውታረ መረብ አድራሻ ከቀየርን, ግን ስዕሉን ከመጀመሪያው ፈተና አግኝ, ማለትም. ኤሲኤል ጥሪውን ይዘላል እና ማዞሪያው NO_ROUTE_DESTINATION ይላል።

በACL FusionPBX ላይ መጨመር የፈለኩት ያ ብቻ ነው።

ለአንድ ሰው ጠቃሚ እንደሚሆን ተስፋ አደርጋለሁ.

ምንጭ: hab.com

አስተያየት ያክሉ