ساخت داخلی ایزابل و اتصال سافتفون در شبکهٔ محلی
دو داخلی جدا بسازید، حساب هرکدام را روی یک رایانه تنظیم کنید و تماس را در هر دو جهت امتحان کنید. این تمرین برای شبکهٔ آزمایشی محلی است.
این راهنما براساس مستندات رسمی تهیه شده و توسط نتمسترز بهصورت عملی آزمایش نشده است.
آخرین بازبینی متن:
در این صفحه
محیط این آموزش و پیشنیازها
مبنای این آموزش Issabel 5 روی Rocky Linux 8 با Asterisk 18 و PJSIP است؛ نام گزینههای PBX با کد رسمیِ ثبتشده تا ۱ مهٔ ۲۰۲۴ تطبیق داده شده است. این مبنای مستندات، ادعای نصب یک Build ثابت نیست. نسخهٔ دقیق بستهها و پورت فعال را از مرکز خود ثبت کنید و اختلاف نسخه را پیش از تغییر بررسی کنید. اگر هنوز مرکز آماده ندارید، از نصب آزمایشی ایزابل شروع کنید.
مرکز آمادهٔ PBX-LAB با IP نمونهٔ 10.77.50.20/24 و دو رایانهٔ ویندوزی با آدرسهای 10.77.50.31 و 10.77.50.32 روی شبکهای جدا هستند. این آدرسها فقط مثالاند و نباید با شبکهٔ واقعی تداخل کنند. ترانک، تماس بیرونی و دسترسی عمومی اینترنت در تمرین وجود ندارد. روی هر رایانه MicroSIP را از سایت سازنده نصب کنید و نسخهٔ واقعی آن را در گزارش بنویسید.
شمارههای 201 و 202 باید آزاد باشند و با کدهای موجود تداخل نکنند. حساب مدیر پنل با حساب داخلی تلفن فرق دارد. برای مقایسهٔ گوشی و نرمافزار، راهنمای تجهیزات ویپ را ببینید.
درایور و پورت را از نصب خود بگیرید
در PBX → PBX Configuration و Applications → Extensions، گزینهٔ Generic PJSIP Device را انتخاب و Submit را بزنید. در کد مبنا، پورت کنار همین گزینه نمایش داده میشود؛ برای MicroSIP معمولی نوع WebRTC را انتخاب نکنید. در بخش تنظیمات PJSIP نیز TCP/UDP Transport → Bind Port محل تطبیق پورت است. تغییر این پورت برای انجام تمرین لازم نیست.
اگر chan_sip و PJSIP همزمان فعالاند، یک نشانی و پورت مشترک نمیتواند محل شنود هر دو باشد. پورت نمایشدادهشده برای PJSIP را یادداشت کنید؛ 5060 یا هر عددی را از آموزش نسخهٔ دیگر کپی نکنید. در کنسول مجاز Asterisk، راهنمای فرمان و نسخه را بخوانید:
core show version
core show help pjsip showنبود فرمانهای PJSIP میتواند به بارگذارینشدن ماژول مربوط باشد؛ آن را با عوضکردن رمز داخلی حل نکنید. تا مشخصشدن درایور و Transport واقعی ادامه ندهید.
ساخت دو داخلی با رمزهای مستقل
- User Extension را 201 و Display Name را Lab201 بگذارید. Secret در تنظیم دستگاه، رمز SIP همین داخلی است؛ رمز قوی و مستقل تولید و در محل امن نگه دارید. User Password یا رمز admin جای Secret نیست.
- همین کار را برای 202 با نام Lab202 و Secret مستقل تکرار کنید. شمارهها باید آزاد باشند.
- فرم را با Submit ذخیره و تغییرات معوق را از Apply Config اعمال کنید. خطای اعمال را نادیده نگیرید؛ سپس هر دو داخلی را باز و شماره، نام و نوع PJSIP را کنترل کنید.
در این مرحله ضبط، فوروارد بیرونی یا مجوز ترانک اضافه نکنید. فایلهای تولیدشدهٔ پنل در Asterisk را دستی بازنویسی نکنید؛ تنظیم مستقیم فایل ممکن است با اعمال بعدی پنل جایگزین شود.
تنظیم حساب در MicroSIP
در منوی MicroSIP، Add Account را انتخاب کنید. Local Account برای تماس مستقیم بدون ثبت در مرکز است و برای این تمرین انتخاب نمیشود. جدول را برای رایانهٔ اول پر کنید؛ روی رایانهٔ دوم اطلاعات داخلی 202 را بگذارید.
| فیلد | رایانهٔ اول |
|---|---|
| SIP server | 10.77.50.20:PORT؛ PORT متن نمونه است، نه مقدار قابل استفاده |
| Username | 201؛ مطابق حساب ساختهشده |
| Domain | 10.77.50.20 در همین سناریوی مبتنی بر IP |
| Login | نام احراز هویت داخلی؛ اگر با Username یکی است، خالیبودن این فیلد از Username استفاده میکند |
| Password | رمز مخصوص 201؛ رمز مدیر پنل نیست |
| Display name | Lab201 |
| Transport | همان Transport فعال مرکز؛ در این تمرین فقط اگر UDP فعال است، UDP |
| SIP proxy | برای این شبکهٔ مستقیم، خالی؛ مگر طراحی واقعی واسط مشخصی داشته باشد |
برای دیدن همه ستونها، جدول را به چپ یا راست بکشید؛ با کیبورد از کلیدهای جهت استفاده کنید.
در این شبکهٔ همزیرشبکه، STUN و نشانی عمومی اضافه نکنید. UDP و صدای عادی RTP در این مثال رمزگذاری ارتباط را فراهم نمیکنند. TLS و SRTP به تنظیم سازگار دو سمت نیاز دارند و روشنکردن یک گزینه در سافتفون کافی نیست. حساب را ذخیره و فعال کنید؛ میکروفون، خروجی صدا و مجوز برنامه در ویندوز را هم بررسی کنید.
ثبت حساب را از تماس جدا بررسی کنید
در Asterisk CLI، فهرست داخلیها را بخوانید؛ نام واقعی Endpoint را از همین خروجی بگیرید:
pjsip show endpoints
pjsip show endpoint 201در جزئیات، InAuth و AoR مربوط به همان حساب را کنترل کنید. برای دیدن مقصد ثبتشده، نام واقعی AoR را از خروجی بردارید و فرمان pjsip show aor را با همان نام اجرا کنید. نمونهٔ زیر فقط برای AoR واقعاً نامگذاریشدهٔ 201 است:
pjsip show aor 201Contact باید به دستگاه موردانتظار مربوط باشد. متن Unavailable یا نبود Contact را با ثبت موفق یکی نگیرید. نمایش یک 401 بهتنهایی تشخیص قطعی رمز اشتباه نیست؛ تطبیق حساب، وجود Endpoint و روند احراز هویت نیز مهماند.
آزمون تماس و ثبت نتیجه
- از 201 شمارهٔ 202 را بگیرید؛ دستگاه دوم باید زنگ بخورد و نام موردانتظار را نشان دهد. پاسخ دهید و گفتار هر دو طرف را امتحان کنید.
- تماس را قطع و همین مسیر را از 202 به 201 تکرار کنید. صرفاً شنیدن بوق یا زنگ را نتیجهٔ صدای دوطرفه ننویسید.
- سافتفون یکی از دستگاهها را کامل ببندید و رفتار دسترسپذیری را ببینید؛ سپس باز کنید و ثبت دوباره و تماس تازه را کنترل کنید.
اگر ثبت انجام نمیشود، ابتدا نشانی، پورت، Transport و نام/رمز همان داخلی را مقایسه کنید. اگر ثبت هست ولی صدا مشکل دارد، میکروفون/خروجی و مسیر رسانه را بررسی کنید؛ تفاوت SIP و RTP و صدای یکطرفه کمک میکنند. برای رفع مشکل، فایروال را کامل خاموش نکنید.
نسخهها، دو دستگاه، نتیجهٔ ثبت و نتیجهٔ هر جهت تماس را بدون درج رمز تحویل دهید. موفقیت این تمرین، تماس بیرونی یا داخلی خارج دفتر را ثابت نمیکند. برای کاربر دورکار، اتصال داخلی بیرون دفتر به مسیر مجاز و طراحی جدا نیاز دارد.