فیوژن پی بی ایکس اور اے سی ایل

میرا مضمون پروڈکٹ کی مکمل تفصیل نہیں ہے، بلکہ اچھی اشاعت "FusionPBX، یا پھر سے عظیم، FreeSWITCH" کی صرف ایک معمولی تطہیر ہے۔ مجھے لگتا ہے کہ فیوژن پی بی ایکس میں ACL کا موضوع اس میں بہت اچھی طرح سے ظاہر نہیں کیا گیا ہے۔ میں FreeSWITCH/FusionPBX کے ساتھ اپنے تجربے کی بنیاد پر اس خلا کو پر کرنے کی کوشش کروں گا۔

اور اس طرح، ہمارے پاس domain.local ڈومین میں ایک رجسٹرڈ اندرونی نمبر 1010 کے ساتھ FusionPBX نصب ہے اور شہر میں بیرونی کالوں کے لیے ایک ترتیب شدہ روٹ ہے۔ ہم اپنے ٹیلی فونی سسٹم کو غیر مجاز کالوں سے محفوظ رکھنے کے لیے ACL کا استعمال کرتے ہیں جو ہمارے پیسے چھین لے گی۔ وہ. صرف ACL میں بیان کردہ نیٹ ورکس سے ہی آؤٹ گوئنگ کالز کی اجازت دیتے ہیں۔ اور یہاں آپ کو مکمل طور پر واضح سمجھ کی ضرورت ہے کہ FusionPBX میں ACL کیسے کام کرتا ہے، اس کی خصوصیات، منطق اور اس کے اینکر پوائنٹ۔

مندرجہ بالا مضمون کے معزز مصنف کی طرح، میں نے بھی ACL سے متعلق تمام ریک پر قدم رکھا۔

میں شروع کروں گا۔ سیپ پروفائلز.
دونوں پروفائلز (میں انہیں کہوں گا)، اندرونی اور بیرونی دونوں، عوامی تناظر میں ہیں، اور یہ حادثاتی نہیں ہے۔ نمبروں کی رجسٹریشن اندرونی پروفائل میں ہوتی ہے، اور ہم اس پر توجہ دیں گے۔ اندرونی پروفائل میں، ڈومینز ACL Apply-inbound-acl کے طور پر پابند ہیں۔ یہ وہی لائن ہے جو پروفائل کی سطح پر ACL کے آپریشن کے لیے ذمہ دار ہے۔ اب تک، یہ پروفائلز کے ساتھ ہے.

سیاق و سباق

کال روٹنگ میں دیگر چیزوں کے علاوہ سیاق و سباق کا استعمال کیا جاتا ہے۔ تمام آنے والے راستے عوامی تناظر کے پابند ہیں۔

باہر جانے والے (شہر کی طرف، سیلولر، لمبی دوری، بین الاقوامی، اور کوئی اور) راستے (بطور ڈیفالٹ) ڈومین نام کے تناظر میں ہوتے ہیں (آئیے اسے domain.local کہتے ہیں)۔

ACL

اب آئیے ACLs سے نمٹتے ہیں۔ پہلے سے طے شدہ طور پر، ایک تازہ نصب شدہ FusionPBX میں دو ACLs ہیں:

ڈومینز ڈیفالٹ ایکشن: انکار - یہ شیٹ اندرونی پروفائل سے منسلک ہے۔
lan ڈیفالٹ ایکشن: اجازت دیں۔

ڈومینز ACL کی فہرست میں، ہم نیٹ ورک تجویز کرتے ہیں (اچھی طرح سے، مثال کے طور پر، 192.168.0.0/24)، ہم اس نیٹ ورک کے لیے اجازت کی اجازت دیتے ہیں، ہم reloadacl استعمال کرتے ہیں۔

اگلا، ہم اس نیٹ ورک سے ایک فون رجسٹر کرتے ہیں، اور لگتا ہے کہ سب کچھ ٹھیک ہے اور ہدایات کے مطابق اور منطقی طور پر۔
ہم جانچ شروع کرتے ہیں، ایک بیرونی نمبر پر کال کرتے ہیں اور... ہمیں ڈونٹ، یا اس کے بجائے ڈونٹ ہول ملتا ہے۔ اچانک!

ہم کنسول میں یا لاگ ویوور 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 ڈومینز کو ٹھیک کرتے ہیں:

ڈومینز ڈیفالٹ ایکشن: اجازت دیں۔

ڈومینز 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 

روٹنگ گزر چکی ہے، اور پھر کنکشن اسٹیبلشمنٹ آتا ہے، جو موضوع کے دائرہ کار سے باہر ہے۔

اگر ہم ACL میں نیٹ ورک ایڈریس تبدیل کرتے ہیں، لیکن پہلے ٹیسٹ سے تصویر حاصل کرتے ہیں، یعنی ACL کال کو چھوڑ دے گا اور روٹنگ NO_ROUTE_DESTINATION کہے گی۔

شاید بس اتنا ہی ہے جو میں ACL FusionPBX پر شامل کرنا چاہتا تھا۔

مجھے امید ہے کہ یہ کسی کے لیے مفید ہو گا۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں