چگونه بین FreePBX و CUCM ارتباط برقرار نماییم؟
همیشه سازمان هایی وجود دارند که به دلایل متعدد از سیستم های یکپارچه ای استفاده نکرده اند. برای مثال ممکن است در بعضی از سازمان ها برای راه اندازی سرویس های مختلف از چندین تکنولوژی ، مربوط به وندورهای متفاوت استفاده شده باشد. در نتیجه ممکن است که نیاز باشد این سرویس ها با یکدیگر ارتباط داشته باشند. در این مقاله نحوه برقراری ارتباط بین CUCM و FreePBX بررسی خواهد شد که از این طریق داخلی های تعریف شده در CUCM بتوانند با تلفن های داخلی تعریف شده در Asterisk تماس برقرار کنند.
در ابتدا تنظیمات سمت CUCM بیان خواهد شد :
به Cisco Unified Communication Manager لاگین نمایید. برای ایجاد ترانک در CUCM بایستی مراحل زیر انجام گردد :
از منوی Device گزینه Trunk و سپس Add a New Trunk را انتخاب نمایید و Trunk Type را بر روی SIP Trunk قرار دهید.
Device Protocol را نیز بر روی Sip Trunk تنظیم کنید.
Trunk Service Type به صورت پیش فرض رها شود و بر روی Next کلیک نمایید. در مرحله بعد مقدارهای زیر تنظیم خواهند شد.
Device Name می تواند هر نام دلخواهی باشد. برای مثال ما نام MyPBX_System را برمی گزینیم. در قسمت Description توضیحات دلخواه خود را بنویسید.
Device Pool ، Call Classification ، Location و MRGL یا همان Media Resource Group List مورد نظر خود را انتخاب نمایید. تیک گزینه های Media Termination Point Required و Retry Video Call as Audio را فعال کنید.
در قسمت Inbound Calls مقدار Calling Search Space خود را از منوی کشویی انتخاب نمایید و گزینه Redirecting Diversion Header Delivery را نیز فعال کنید.
در بخش SIP Information فیلد Destination Address مربوط به آی پی سروری است که می خواهیم با آن ارتباط برقرار کنیم که در اینجا همان آی پی سرورِ آستریکس / FreePBX ما خواهد بود و همان طور که می دانید پورت پیش فرض پروتکل SIP نیز ۵۰۶۰ است که در قسمت Destination Port آن را می نویسیم. ( ممکن است پورت ۵۰۶۰ از قبل نوشته شده باشد. )
SIP Trunk Security Profile و SIP Profile را به ترتیب بر روی Non Secure SIP Trunk Security Profile و Standard SIP Profile قرار دهید.
در انتها بر روی دکمه Save و سپس Apply و Reset کلیک کنید.
پس از طی مراحلی که گفته شد لازم است که Route Pattern ای برای استفاده Trunk ساخته شده تعریف گردد. بدین منظور از منوی Call Routing گزینه Route/Hunt و سپس Route Pattern را انتخاب نمایید. بر روی Add New کلیک کنید.
در فیلد Route Pattern الگوی متناسب با نیاز خود را وارد نمایید. برای مثال اگر داخلی های تعریف شده در Asterisk شما در محدوده ۳۰۰ تا ۳۹۹ هستند Route Pattern شما برابر با ۳XX خواهد بود.
ترانک تعریف شده در مرحله قبل را در قسمت Gateway/Route List معرفی کنید. ( نام ترانک من MyPBX_system بود )
و در آخر Call Classification بر روی OnNet تنظیم گردد.
پس از ذخیره Route Pattern Configuration بایستی Outgoing Transport Type را بر روی UDP کانفیگ نماییم. برای این کار از منوی System زیر منوی Security و سپس Non Secure SIP Trunk Security Profile را انتخاب کنید و Outgoing Transport Type را بر روی UDP قرار دهید و تغییرات را ذخیره فرمایید.
تنظیمات سمت سرور CUCM صورت پذیرفت. اکنون باید ترانک را در سرور Asterisk نیز ایجاد نماییم.
وارد محیط FreePBX شوید. از منوی Connectivity گزینه Trunk را انتخاب نمایید و بر روی Add Sip Trunk کلیک کنید. حال در قسمت General Settings نام ترانک را به دلخواه انتخاب نمایید و در قسمت Outbound Caller ID می توانید نام مبدا را بنویسید یا هر نام دلخواه دیگر. برای مثال من Trunk Name را برابر CUCM و Outbound Caller ID را برابر MyPBX_system قرار داده ام که مبدا است. در بخش Outgoing Settings نام ترانک را دوباره به دلخواه تعریف کنید و در قسمت PEER Settings موارد زیر مشخص گردد :
type=peer
host=X.X.X.X
port=5060
insecure=port,invite
nat=no
disallow=all
allow=ulaw,alaw
qualify=yes
به جای X.X.X.X آی پی CUCM را وارد نمایید. در قسمت allow می توانید هر کدک دیگری را نیز که نیاز دارید اضافه کنید. برای مثال کدک GSM . همچنین همان طور که گفته شد پورت پیش فرض SIP Protocol شماره ۵۰۶۰ می باشد.
مقدار port,invite برای insecure به معنای این است که تمامی Peer هایی که دارای آدرس IP مشخص شده در قسمت host می باشند بدون توجه به پورت آن ها پذیرفته خواهند شد و همچنین انجام authenticate برای invite های ورودی مورد نیاز نمی باشد.
Qualify به این معنی است که سرور به صورت دائم ارتباط خود را با سرور طرف مقابل بررسی می کند. ( هر دو ثانیه یک بار به صورت پیش فرض ) و در صورتی که تشخیص دهد ارتباط با سرور طرف مقابل برقرار نمی باشد ، دیگر تماس ها را به سمت سرور مقابل نمی فرستد. اگر بخواهید مقدار پیش فرض آن را تغییر دهید می توانید به جای yes مقدار دلخواه را بنویسید. برای مثال qualify=3000 یعنی هر ۳ ثانیه یکبار ( به جای هر دو ثانیه یکبار ) کانکشن بررسی می شود. ( واحد آن میلی ثانیه است )
در فیلد USER Settings نیز دو خط زیر را اضافه نمایید :
type=friend
host=X.X.X.X
بعد از انجام تنظیمات گفته شده ، بر روی دکمه Submit Changes کلیک کنید و سپس تنظیمات را Confirm نمایید. ( پس از Submit Changes دکمه قرمز رنگ Apply Config در بالای صفحه ظاهر می گردد.
اکنون برای ساخت یک Route و اختصاص آن به ترانک ساخته شده در FreePBX ، از منوی Connectivity گزینه Outbound Routes را انتخاب کنید. در قسمت Route Settings یک نام دلخواه برای Route و Route CID بنویسید و در قسمت Dial Pattern that will use this Route ، الگوهای مورد نظرمان را که قرار است از این Route استفاده کنند را وارد می کنیم. برای مثال من می خواهم مشخص کنم که هر کاربری که داخلی بین ۱۰۰ تا ۱۹۹ را شماره گیری کرد از این Route استفاده کند.
بنابراین در قسمت Match Pattern می نویسم : ۱XX که یعنی اگر کسی عدد سه رقمی را شماره گیری کرد که با ۱ شروع شده بود از این مسیر استفاده شود. در انتهای کار باید مشخص کنیم که این Route قرار است از کدام ترانک استفاده نماید. پس ترانکی را که در قسمت قبل تعریف کرده ایم را به عنوان الویت صفر ( اول ) در نظر می گیریم.
دکمه Submit Changes را بزنید و با Apply Config تنظیمات را ثبت نمایید.
بدین صورت هر دو سرور آماده ی ارتباط با یکدیگر هستند و در این حالت می توان با تلفن های داخلی تعریف شده در هر کدام از سرورها با طرف مقابل تماس برقرار کرد.