راه اندازی سیپ ترانک بر روی ایزابل
دوستان عزیز در ادامه ویدئوی قبل که در رابطه با MikroTik صحبت کردیم، Winbox را به شما معرفی کردیم و تمام کارهایی را که برای انتقال یا راهاندازی Sip Trunk روی مرکز تلفن ایزابل لازم هست را انجام دادیم. در واقع ایزابل ما در این مرحله به SPC مخابرات ارتباط دارد و میتواند Sip Trunk را راهاندازی کند.
آنچه در این مقاله می خوانید:
البته ما در واقع به صورت آزمایشگاهی این کار را انجام دادیم و Ping را نگرفتیم. چونIPهایی که برای شما لحاظ کرده بودیم صرفا” برای آموزش بود. در این بخش ما میخواهیم تنظیمات را روی مرکز تلفن ایزابل انجام بدهیم و باهم تنظیمات Sip Trunk را روی ایزابل مرور کنیم.
نمیخواهیم مطلب جدیدی را در اینجا به شما بگوییم. دقیقاً همان مطالب راهاندازی Sip Trunk و بررسی آپشنهای Sip Trunk هست.
مرور تنظیمات
تنظیمات مرکز تلفن ایزابل و Nat ها
ابتدا روی One note برویم و کارهایی را که در جلسه قبل داشتیم این بود که یک مرکز تلفن ایزابل داشتیم با IP مثلاً ۲۰.۲۰۰ و Gateway 20.1 و Gateway ایزابل ما در واقع IP است که روی پورت MikroTIK هست و به سوییچ وصل شده است. Gateway کل کلاینتهای ما محسوب میشود و ۲۰.۱ هم همان IP LAN میکروتیک ما است.
دو تا Nat نوشته بودیم یکی Source Nat و یکی Destination Nat که گفتیم Destination Nat برای دسترسی SPC یا پکتهایی است که از سمت SPC مخابرات به ایزابل ما میآید و Source Nat برعکس آن است برای دسترسی ایزابل به SPC است.
هم در واقع بتواند Ping و ارتباط داشته باشد و هرچه که Packet نیاز هست را ارسال کند. اینجا روی Source Nat ما دیگر محدودیت را به وجود نیاوردیم و همه پروتکلها را گفتیم.
حال به روی مرکز تلفن ۲۰.۲۰۰ برویم. دوستان ما روی این مرکز تلفن از قبل ترانک همین SIP را راهاندازی کردیم و برای اینکه وقت ویدئو گرفته نشود و چون قبلاً در مورد راهاندازی ترانک صحبت کردیم دیگر روی این بخش وقت نمیگذارم و فقط ما مرور میکنیم.
تنظیمات در قسمت PBX Configuration برای ترانک
وارد قسمت PBX Configuration میشویم روی ترانکها یک ترانک ۶۷۲۴۱۰۰۰ داریم و دقیقاً همین Sip Trunk هست که راهاندازی شده است. کانفیگی که ما روی آن قرار دادهایم به این صورت است و IP که به عنوان SPC ما هست ۱۰.۱۵۳.۱۰۱.۱۸۵ است. من این IP را کپی میکنم.
فقط دوستان من یک نکتهای را به شما بگویم در ویدئوی قبل آیپی SPC که ما روی MikroTic ست کرده بودیم و به صورت آزمایشی بود ۱۰.۱۵۳.۴۰.۳۰ بود. اما IP که روی این Trunk به ما دادهاند IP 101.185 است و در مثال عملی ما باید دقیقا باید همین IP را روی روتینگی که روی میکروتیک قرار دادیم ست کنیم.
کجا این کار را انجام داده بودیم؟ روی استاتیکروتی که در واننوت نوشتیم که Destination آن را SPC مخابرات گذاشتیم. به جای ۴۰.۳۰ باید ۱۰۱.۱۸۵ را بگذاریم. این به صورت آزمایشی بود.
فرض کنید ما در MikroTic این تنظیمات را به درستی انجام دادیم و SPC را درست انتخاب کردیم و IPها را درست جایگزین کردیم. قبل از اینکه بخواهیم Trunkرا بسازیم اولین کاری که روی ایزابل انجام میدهیم، این است که در قسمت System گزینه Network گزینه Ping & Tracepath اینجا ما Ping اسپیسی مخابرات را باید داشته باشیم.
یا از طریق Putty یا Mobaxterm هم میتوانیم محیط کنسول لینوکس هم Ping بگیریم. فرقی نمیکند و هر دو بخش امکانپذیر است. من چون کپی کردم اینجا Ctrl v را میزنم و ۱۰.۱۵۳.۱۰۱.۱۸۵ پینگ را میگیرم. ببینید ما پینگ را داریم.
پس تنظیمات روی میکروتیک و Natهایی که نوشتیم به درستی انجام شده است. الان این Ping از کدام Nat استفاده میکند؟ در ویدئوی قبلی در مورد آن صحبت شد این دقیقاً از Source Nat استفاده میکند و با دسترسی که ما روی Source Nat دادیم ایزابل را به SPC ارتباط دادیم.
حال پکتهایی که از سمت SPC مخابرات میآید ۵۰.۶۰ و ۱۰۰۰۰.۲۰۰۰۰ هستند که ۱۰۰۰۰.۲۰۰۰۰ مخصوص صدا هست و RTP است که پروتکل سیپ از RTP برای انتقال Media یا همان صدا کمک میکند.
۵۰.۶۰ هم که برای Signaling ما هست برای خود پروتکل سیپ هست که اینها با UDP ارسال میشوند و ما روی میکروتیک گفتیم که هرچه که UDP بود و هرپورتی که بود به مرکز تلفن ایزابل انتقال بده. این کاری بود که روی میکروتیک انجام دادیم و در اولین گام ما پینگ SPC مخابرات را داریم. حال میتوانیم ترانک خود را بسازیم.
وارد قسمت PBX Configuration شده و Trunk بعد ترانک مورد نظر را با هر اسمی خواستیم میسازیم. گفتیم که در قسمت Trunk Name حتماً باید یک اسمی را بگذاریم. معمولاً خود شماره ترانکمان را بگذاریم بهتر است.
اولین پارامتر که مهمترین پارامتر هم هست Host است. ترانک ما از نوع Register نیست و از نوع Trust است. بنابراین نیازی به User و Secret ندارد. کلاً Sip Trunk های ۳۰ کاناله مخابرات تلسی باشد یا Sip Trunkهای یک طرفه یا دو طرفه باشد کلاً User و Pass ندارند. مگر روی سرویس خاصی بخواهند به شما بدهند.
تنظیمات ساخت Trunk
مثلاً روی فیبرنوری اگر باشد در آنجا معمولاً دیگر میگذارند چون نمیشود و به صورت زوج سیم نیست و روی فیبرنوری User Pass دارد. اما در اینجا ما این را چون روی مودم تحویل گرفتیم به ما User Pass ندادند.
در مورد Context آن صحبت کردیم که آن را From-Trunk میگذاریم. گزینه مهم بعدی Type=Peer بهصورت پیشفرض هست. Insecure=Port invite دوستان حتماً این را در تمام Trunkهای خود بگذارید. در این مورد قبلاً هم صحبت کردیم qualify=yes گذاشتیم.
حالا گفتیم که میتوانیم qualify را هم نگذاریم. اما در ابتدا بگذاریم که در Sip Show Peers بررسی کنیم و ببینیم آیا این Trunk ما از طریق پورت ۵۰.۶۰ مرکز مقابل را میبیند یا خیر. کاری که qualify انجام میدهد همین است.
مخصوصاً برای Trunkهایی که با قابلیت Register هستند ابتدا بگذاریم و بعد از اینکه ok بود بردارید. میتوانیم در اینجا برداریم و نیازی به qualify نداریم.
در مورد Context ممکن است این سوال پیش بیاید که آیا میتوانیم آن را هم برداریم؟ چون Context ما From-Trunk است میتوانیم نگذاریم و پیشفرض Context های ترانکها From-Trunk است که تماسها وارد Inbound route میشود. من در دو ویدئوی قبلی در مورد آن صحبت کردم که گفتیم به صورت پیشفرض From-Trunk است.
اما اگر غیر از این بود حتماً باید بگذاریم. پیشنهاد میکنم که Context=From-Trunk را کلا بگذارید. یعنی این چهار پارامتر اول که شامل host، Context، Type و Insecure است پارامترهای مهمی هستند و سعی کنید که اینها را همیشه استفاده کنید.
بعضی از همکاران در این پارامترها Port را هم میگذارند مثلاً Port=50.60 خود ترانکی که ما در اینجا داریم ۵۰.۶۰ را قرار داده و نیازی نیست که شما پورتی را بگذارید.
به شما نشان دادم و اگر بخواهید دوباره بببینید وارد MobaXterm شوید و یک Extension جدید ایجاد کنید. و در قسمت Remote host 192.168.20.200 را وارد کنیم.
در قسمت Asterisk اگر Sip Show Peer را بزنیم تمام Peerها را به ما نشان میدهد. اما اگر Peer بزنیم و یک علامت سوال بزنیم به ما نشان میدهد که در واقع چه Peer مدنظر ما هست.
ما ۶۷۲۴۱۰۰۰ را مدنظر داریم. اینجا یک Enter میزنیم و IP به سمت ۱۰.۱۵۳.۱۰۱.۱۸۵.۵۰.۶۰ هست و در Codecها یک سری کدکها را فعال دارد.
در مورد Codecها صحبت کردیم و گفتیم که بهصورت پیشفرض نیازی نیست که شما Diss all مساوی با یا allow برابر با ULAW یا ELAW را بگذارید. چون بهصورت پیشفرض خودAsterisk اینها را فعال دارد. پس نیازی به تعیین پورت نیست. مگر اینکه پورت آن مثلا ۵۰.۶۰ نباشد.
بهطور مثال ما میخواهیم یک Trunk بسازیم با سانترالهای پاناسونیک لینک کنیم، پیشفرض ترانکهای سانترالهای پاناسونیک مثلا ۵۰.۶۰ نیست و در چنین مواقعی ما Port 350.60 را میگذاریم. اما اگر به طور کلی اگر ۵۰.۶۰ است نیازی نیست و نیازی به انتخاب Codecها هم نیست.
در مورد DTMF ها هم که در چند ویدئوی بعدی در مورد آن صحبت خواهیم کرد. اما بهصورت پیشفرض DTMF دارد و DTMF mode آن در حالت عادی rfc2833 است.
پس این تنظیمات اولیه Trunk بود. Outbound هم برای آن گذاشتیم و CLD Options روی حالت Allow Any CID گذاشتیم که این در اولویتش نیست و در واقع CLD را از جای دیگر میخواند.
مسیر تماسهای ورودی
برای تماسهای ورودی گفتیم که در قسمت Inbound route میتوانیم تماسهای ورودی را تعیین مسیر کنیم. چرا وارد این قسمت شدیم؟ دوستان اگر درمورد تماسهای ورودی سوالی دارید میتوانید به ویدئویی که در رابطه با Inbound route صحبت کردیم مراجعه کنید.
در این مورد به طور کامل صحبت کردیم و Context ها را معرفی کردیم. گفتیم تماسهای ورودی به یک مرکز تلفن ما اول باید ببینیم که به چه ترانکی وارد میشود. آن ترانک در چه Context است و بعد متوجه میشویم که باید چه تعیین مسیری را انجام بدهیم یا در واقع تعیین مسیر آن به کجا مرتبط میشود.
حال ما روی ترانک سیپی کار میکنیم که Context آن From-Trunk است در این Context تماسها به Inbound Route میآید یعنی بر اساس Caller ID و CID تعیین مسیر میشود که میتوانیم به آن الگو هم بدهیم. ما در اینجا انواع Inboundها را در نظر گرفتیم.
یکی در اینجا گذاشتیم بهنام general و گفتیم که هر DID یا هر Caller ID بود به یک ترانک دیگری برود. مثلاً از یک ترانک آمده و به ترانک دیگری برود. حال شما میتوانید در اینجا تعیین مسیر خود را مشخص کنید. یک Destination خاصی را برای آن در نظر بگیرید. یا ID خاصی را برایش درنظر بگیرید.
یا به یک صف، Extension، گروه یا صندوق صوتی یا هر جای دیگر بفرستید. پس در قسمت Destination میتوانیم تعیین مسیر را برای آن داشته باشیم. حال در اینجا ما چند تا Inboundهای مختلف داریم که اولویت با کدامها است؟
اگر CID priority Route را بزنیم اولویت پیدا میکند که در مورد آن صحبت کردیم. در غیر این صورت با DID ها است. مثلاً DID Number 67241999 به یک Extension مثلاً ۳۰۰ برود در اینجا این اولویت دارد یعنی اگر تماسگیرنده شماره ۶۷۲۴۱۹۹۹ را بگیرد از Any DID و Any CID تعیین مسیر نمیشود و به یک ترانک دیگر نمیرود. بلکه به سمت Extension 300 میرود. چرا؟ چون به آن Inbound اولویت دارد.
این توضیح درمورد تماسهای ورودی بود و چون Sip Trunk مان هم دو طرفه است و قابلیت DID دارد میتوانیم برای تمام شمارهها یک Inbound خاصی را در نظر بگیریم.
تعیین مسیر تماس ورودی در قسمت Outbound
در قسمت Outbound میتوانیم تعیین مسیر برای تماسهای ورودی را انجام دهیم. اینجا ما چندین Outbound نوشتیم و بر اساس اولویت مشخص کردیم.
مثلاً در اولی no-mobile-ext اگر وارد شویم گفتیم اگر هریک از داخلیهایی که چهار رقم باشند که ابتدای آنها ۱، ۳،۴ یا ۵ باشد بعدش اگر ۷ را بگیرند و بعدش هر چیزی که گرفتند هیچ ترانکی را به آنها ندهد، در واقع من به این داخلیها اجازه ندادم که از خطوط شهری استفاده کنند.
از این طریق در واقع آنها را بستیم. مثلاً روی ۰۰ گفتیم اگر ۷ را گرفتند و بعد ۰۰ را گرفتند و بعدش هر چیزی که بود باز هیچ ترانکی را به آنها نده. عملا بسته شدند و هیچ ترانکی به آنها تعلق نمیگیرد و نمیتوانند هیچ تماسی را برقرار کنند.
اگر محدود نکنیم مثلاً بگوییم هر داخلی ۷ را که گرفت و بعد هر چیزی را که گرفت مهم نیست از این ترانکی که ساختیم خارج شود. اما این در اولویت چندم است؟ مثلاً در اولویت پنجم ماست.
در صورتی داخلیها میتوانند از این Outbound استفاده کنند و تماس را به بیرون برقرار کنند که در چهارتا Outbound بالایی نباشند. زیرا آنها در اولویت هستند. مثلاً اگر داخلی باشد که ابتدای آن ۱ باشد و چهار رقم باشد و ۷ را گرفته باشد قطعا از اینجا خارج نمیشود.
همان اولی از اینجا میخواهد خارج میشود و تماسش برقرار نمیشود در واقع نمیتواند تماسی را عملاً برقرار کند.
این هم سیاستهایی است که ما در Outbound Route برقرار کردیم. شما هم بر اساس نیازی که کارفرما دارد باید Outbound Route های خود را بنویسید و اولویتهای آنها را مشخص کنید.
من دیگر بیشتر از این درمورد Inboundها و Outboundها صحبت نمیکنم و هدف ما فقط یک مروری بر تنظیمات و راهاندازی Trunk بود که در ویدئوهای قبلی در مورد آن صحبت شده بود. اینجا فقط میخواستیم یک مروری داشته باشیم.
یکی دوتا نکته اضافه هم به شما گفته شد. به سراغ ویدئوی بعدی برویم که میخواهیم در رابطه با تنظیمات شبکه Linux صحبت کنیم و اینکه Sip Trunk را بدون استفاده از Router روی تنظیمات شبکه مرکز تلفن خود انجام بدهیم.
سلام مهندس همتی عزیز
مهندس جان بنده با نت ارتباط میکروتیک و ایزابل رو برقرار کردم با داخلی های ایزابل ما تماس خروجی داریم یعنی از سافت فون میتونیم تماس خروجی داشته باشیم ولی تماس ورودی به ایزابل رو نداریم ، پشت ایزابل روتر میکروتیک هست ومن فقط درداخل nat یک dst nat تعریف کردم که ای پی بابلیک رو بفرسته سمتSBC وانجام شد فقط تماس ورودی نداریم در داخل ایزابل هم مسیرورودی هم نوشتیم براش به نظرتون مشکل از چیه مهندس؟
سلام و درود
در راه اندازی سیپ ترانک وقتی تماس ورودی ندارید
اگر مشکل از مخابرات نباشد معمولا باید موارد زیر را چک کنید:
مطمئن شوید که با برقراری تماس ورودی، پکت ها از مخابرات به سمت روتر شما ارسال می شوند ( با torch در بخش اینترفیس میکروتیک )
۱- احتمالا مشکل DST NAT دارید و به درستی کارنمی کنه
۲- یا ممکنه نیاز هست که service port sip را تغییر وضعیت بدید و معمولا در حالت disable بهتر است
۳- یا ممکنه در تنظیمات ترانک نیاز هست که insecure=port,invite را اضافه کنید
نکته مهم:
حتما در صورتی ایزابل را به اینترنت دسترسی دهید که امنیت در لبه شبکه تامین شده باشد
سلام مهندس همتی بزرگوار
مهندس جان من ای پی بابلیک روتر رو با dst nat فورارد کردم روی ایپی sbc واز داخل ایزبل برای رجیستر شماره ترانک هاست رو ای پی بابلیک گذاشتم که ترانک رجستر شد وما مسیر خروجی رو در ایزابل تعریف کردیم با داخلی ایزابل تماس خروجی از شماره ترانک برقراره ولی وقتی کسی تماس میگیره باشماره بعد از ۱۰ ثانیه قطع میکنه تماسو بدون اینکه بوق ازاد بخوره ، insecure هم اضافه کردم درست نشد درقسمت service port پورت ۵۰۶۰ رو هم disable کردم باز مشکل حل نشد ، ایا نیازی هست که nat دیگه ای تعریف بشه طبق این سناریوی که توضیح دادم خدمتتون
سلام مجدد
اگر درست متوجه شده باشم، تنظیمات رو به درستی انجام ندادید
شما باید پورت ۵۰۶۰ را از ip public که مخابرات به شما اختصاص داده را به ip ایزابل dst nat کنید
و در تنظیمات ترانک ip sbc را قرار دهید
سلام مهندس همتی بزرگوار همین کارو کردم ولی شماره ترانک رجیستر نشد
Dst nat رو اینجوری تعریف کردم
Chain = dstnat
dst address =ip public
protocol =udp
dst port=5060
Action = dstnat – to address ip public issabel
ودر داخل ایزابل هم ای پی sbcرو وارد کردم ولی سرور ایزابل ما در یه شهر دیگه ای قرار داره وای پی پابلیک داره ولی در قسمت ping&trace ایزابل پینگ sbc رو نداریم
ارادت
اگر تنظیمات را به درستی انجام داده باشید باید پینگ sbc را بر روی ایزابل داشته باشید
در غیر اینصورت احتمالا تنظیمات شما ایراد دارد
می تونید با تیم پشتیبانی هم هماهنگی بفرمایید و چک کنند تا سریع تر مشکل پیدا شود.
سلام
سرویس ایزابل ما قبلا توسط یک شخص دیگه راه اندازی شده
ما دوتا سرور توی دوتا جای مختلف داریم که هرکدوم ایزابل خودش رو داره و هرکدوم اکستنشن های خودش رو داره ولی سرور به سرور شماره یک ترانک شده(طبق گفته کسی که راه اندازی کرده) و وقتی شماره سرور ۱ رو میگیریم و داخلی سرور ۲ رو میگیریم تلفن هایی که به سرور ۲ وصل هستن زنگ میخورن
الان من یه اکستنشن جدید به سرور ۲ اضافه کردم ولی وقتی شماره سرور ۱ رو میگیرم و داخلی رو میگیرم تلفنم زنگ نمیخوره
باید چیکار کنم؟(اون شخص فعلا نمیتونه کار مارو انجام بده)
با سلام
باید نحوه روتینگ بین مراکز را بررسی کنیم و ببینیم که ارتباط بین آنها از چه طریقی انجام شده است
معمولا اگر در همان رنج داخلی اضافه کنید باید تماس برقرار شود مگر محدودیت خاصی اعمال شده باشد
در هر صورت نیاز هست که تنظیمات مرکز تلفن ایزابل بطور دقیق بررسی شود
می تونید از تیم پشتیبانی کمک بگیرید
سلام. روزتون بخیر
من میخواستم زمان های قطعی بکی از ترانک هارو که در ایزابل هست در یک بازه زمانی خاص بررسی کنم. چطور میتونم بفهمم ترانک موردنظر در چه زمان هایی قطع بوده؟
سلام وقت شما بخیر
جهت تست قطعی ترانک
ابزار خاصی وجود ندارد. اما پیشنهاد می کنم در صورتیکه به بش اسکریپت لینوکس مسلط هستید، اسکریپتی بنویسید که هر ۲ ثانیه اجرا شود و دستور sip show peer مخصوص ترانک را اجرا کند و خروجی آنرا با cut و AWK فیلتر کند و در مسیر خواصی به عنوان لاگ echo کند
البته اگر ترانک شما از نوع رجیستری باشد، باید دستور sip show registry را برای ترانک شما اجرا کند
هر زمان که نیاز باشد می توانید فایل لاگ را مشاهده کنید
اگر با Bash Script تا بحال کار نکردید، مشکلی نیست، اطلاع دهید تا برای شما آماده کنیم
ممنون از پیشنهاد شما
واقعا سناریو کاربردی است و قطعا در عیب یابی سیپ ترانک، تاثیر گذار خواهد بود.
سلام
وقتتون بخیر
مهندس امکانش هست یه شماره ۴ رقمی از همان شهر با ثابت و همراه تماس دریافتی داشته باشه ولی با ثابت شهر های دیگر با این شماره ۴ رقمی تماس بگیرند بگه همچین شماره ای وجود ندارد
سلام وقت شما هم بخیر
بله امکان پذیر است. معمولا زمانی این موضوع اتفاق خواهد افتاد که به تازگی خط سیپ ترانک خریداری کردید و routing یا مسیریابی در مخابرات و بین استانی انجام نشده است.
حتی گاهی اوقات در داخل استان هم این اتفاق می افتد. مثلا از بعضی ار نقاط داخل شهر امکان شماره گیری خطوط شما وجود ندارد
بنده این تجربه را بارها و بارها داشته ام.