شما می توانید با ارسال ایمیل خود ، بصورت رایگان مشترک شده و از بروزسانی مطلع شوید.

ایمیل خود را وارد کنید:

 WebRTC چیست؟ یکی از تکنولوژی های بسیار مهم در دنیای مخابرات امروز WebRTC ست. با استفاده از این تکنولوژی، می توان در بستر وب و تنها با استفاده از مرورگر، ارتباطات صوتی و تصویری برقرار کرد؛ که این به معنی امکان برقراری ارتباط از طریق هر گجت (Gadget) بدون نیاز به نصب نرم افزار خاص [...]

یکی دیگر از ماژول های کاربردی مورد استفاده در FreePBX ماژول Boss Secretary می باشد که متاسفانه از نسخه ی ۱۲ دیگر بروزرسانی نشده اما به دلیل کاربرد زیاد آن برای مشتریان، در نهایت این ماژول توسط تیم فنی شرکت ساعیان ارتباط بهینه سازی و مشکلات آن مرتفع شده است. در ادامه به معرفی این [...]

یکی از مواردی که پس از نصب فری پی بی ایکس ( FreePBX ) برای کاربران بوجود می آید این است که ارتباط تجهیزاتی مانند گیت وی Gateway با استریسک، پس از دقایقی قطع می شود. در ادامه ابتدا به بررسی علت این مسئله و سپس راهکار آن می پردازیم. نحوه کار قابلیت Intrusion Detection [...]

یکی از سناریوهای رایج و متداولی که بسیاری از همکاران با آن سروکار دارند، ارتباط میان گیت وی های سنگوما Sangoma Vega Gateway و سرور ایزابل Issabel می باشد که در نتیجه ارتباط با شبکه مخابرات PSTN را میسر می نماید. در این مقاله قصد داریم برقراری این ارتباط را به زبانی ساده، آموزش دهیم. [...]

یکی از نیازمندی های اصلی در سیستم های تلفنی تغییر فایل های صوتی مربوط به اعلان های سیستم می باشد. همچنین ممکن است نیاز باشد تا در منوی صوتی از چند زبان مختلف پشتیبانی کنید. برای تغییر prompt های سیستم تلفنی استریسک و همچنین تعریف زبان های مختلف، روش های گوناگونی وجود دارد که ساده [...]

یکی از مباحثی که در راه اندازی شبکه های VoIP رایج است، برقراری ارتباط میان دو سرور تلفنی می باشد. به عنوان مثال دو سرور تلفنی را در نظر بگیرید که در دو مکان مجزا در حال سرویس دهی به کاربران خود می باشند و لازم است تا کاربران این دو سیستم نیز بتوانند با [...]

در FreePBX سه روش جهت راه اندازی فکس وجود دارد: ماژول تجاری Fax Pro، استفاده از اپلیکیشن های استریسک و سرور فکس Hylafax. هر یک از این روش ها ویژگی هایی دارند؛ ماژول Fax Pro قابلیت ارسال و دریافت فکس را برای کاربران از طریق UCP فراهم می کند. یعنی کاربران با ورود به محیط [...]

یکی از نیازمندی های اصلی در یک سیستم تلفنی، امکان ارسال و دریافت فکس می باشد. البته امروزه با توسعه بیش از پیش ابزار های ارتباطی همچون ایمیل، روش های سنتی مانند فکس کمتر مورد استفاده قرار می گیرند؛ ولی هنوز کاملا جایگزین نشده اند. بنابراین با بکارگیری سیستم های تلفنی مبتنی بر VoIP نیز [...]

صندوق صوتی از نیازمندی های مهم IP-PBX ها بوده و می تواند میزان سرویس دهی و همچنین در دسترس بودن را برای کاربران افزایش دهد. علاوه بر این، امکان ارسال پیام های صندوق صوتی از طریق ایمیل، این قابلیت را کاربردی تر می نماید. این قابلیت را در FreePBX می توانید به سادگی برای کابران [...]

در مقاله های قبلی نحوه ضبط پیام صوتی در  ماژول System Recording و بکارگیری آن در ساخت منوی صوتی شرح داده شد. علاوه بر این قابلیت، در برخی موارد نیاز است تا برای تماس گیرنده یک پیام صوتی خاص پخش شود و سپس به مقصد دیگری هدایت شود. به عنوان مثال اطلاع رسانی درباره یک [...]

راه اندازی پروتکل SIP از روی بستر امن در استریسک

راه اندازی پروتکل SIP  از روی بستر امن در استریسک

پروتکل SIP  به صورت پیش فرض از پورت ۵۰۶۰ به منظور اتصال به سرور SIP  استفاده مینماید.
حال انکه این پروتکل به صورت ذاتی پروتکلی غیر امن بوده و به راحتی توسط نرم افزارهای
third-party  قابل شنود میباشد.قابل ذکر است که ساختار URI پروتکل SIP  به صورت مقابل
میباشد: sip:username:password@host:port

SIPS Diagram

راه حل عملی به منظور امن کردن پروتکل SIP  استفاده از
transport layer security (TLS) یا لایه امن ارتباطی میباشد.
استفاده از پروتکل
SIP به صورت امن مکانیزم امنیتی است که با
SIP RFC 3261 تعریف شده  و برای ارسال پیام های SIP  از کانال
رمزنگاری شده
TLS استفاده مینماید.از دیگر موارد استفاده از
TLS  میتوان به HTTPS  اشاره نمود.پروتکل امن SIP  از پورت
۵۰۶۱ به منظور انتقال پیام ها استفاده مینماید.همچنین ساختار
URI  تعریف شده به صورت مقابل میباشد: sips:username:password@host:5061

به منظور نصب و راه اندازی SIP امن  ۲ مرحله تنظیمات بر روی سرور SIP  و کلاینت
SIP  انجام دهیم.سرور SIP  مورد استفاده در این سناریو Asterisk  و نرم افزار کلاینت
Blink  میباشد.طبیعی است که مراحل گفته مشابه تنظیم و استفاده دیگر نرم افزارهای
کلاینت SIP  مانند zoiper  یا eyebeam  میباشد.

مرحله اول (TLS) :

توجه:نکته قابل ذکر که باید در نظر داشت این است که حتما باید پکیج libsrtp  را در ابتدا
همراه با repository  های مربوطه نصب نموده و Asterisk  را دوباره compile  نمود.

در مرحله اول ابتدا باید Certificate  را در سرور تعریف نموده که بتوان با این certificate
بین سرور و کلاینت ارتباط رمزنگاری شده برقرار نمود. در سرور Asterisk  ابتدا کلید و certificate
مورد نظر را ایجاد میکنیم.

[root@localhost admin]# mkdir /etc/asterisk/keys

[root@localhost admin]# ./ast_tls_cert -C pbx.mycompany.com -O "My Super Company" -d /etc/asterisk/keys

     The "-C" option is used to define our host - DNS name or our IP address.
    The "-O" option defines our organizational name.
    The "-d" option is the output directory of the keys

.

سپس سرور یک رمز از ما درخواست میکند که میتوان به دلخواه passphrase
مورد نظر را وارد کرد.

سپس یک certificate  برای کلاینت تعریف و ایجاد میکنیم:

[root@localhost admin]# ./ast_tls_cert -m client -c /etc/asterisk/keys/ca.crt -k /etc/asterisk/keys/ca.key -C phone1.mycompany.com -O "My Super Company" -d /etc/asterisk/keys -o malcolm

    The "-m client" option
    tells the script that we want a client certificate, not a server certificate.
    The "-c /etc/asterisk/keys/ca.crt"
    option specifies which Certificate Authority (ourselves) that we're using.
    The "-k /etc/asterisk/keys/ca.key"
    provides the key for the above-defined Certificate Authority.
    The "-C" option, since we're defining a client this time,
    is used to define the hostname or IP address of our SIP phone
    The "-O" option defines our organizational name.
    The "-d" option is the output directory of the keys."
    The "-o" option is the name of the key we're outputting.

همچنین در این مرحله pass phrase  که در مرحله قبل وارد کرده بودیم را دوباره به

منظور باز کردن /etc/asterisk/keys/ca.key وارد میکنیم.

بعد از انجام دادن این مرحله فایل های زیر ساخته میشوند:

asterisk.crt

asterisk.csr

asterisk.key

asterisk.pem

malcolm.crt

malcolm.csr

malcolm.key

malcolm.pem

ca.cfg

ca.crt

ca.key

tmp.cfg

 

فایل های Malcolm.pem و ca.crt  را به کلاینت SIP  کپی میکنیم.

تنظیمات SIP  در Asterisk :

داخل فایل sip.conf  موجود در asterisk  تنظیمات زیر که شامل فعال سازی TLS
میباشد را وارد میکنیم:

tlsenable=yes

tlsbindaddr=0.0.0.0

tlscertfile=/etc/asterisk/keys/asterisk.pem

tlscafile=/etc/asterisk/keys/ca.crt

tlscipher=ALL

tlsclientmethod=tlsv1

tcpenable=yes

همچنین SIP Peer خود را به گونه ای تنظیم میکنیم که از پروتکل TLS  استفاده نماید:

[malcolm]

type=peer

secret=malcolm

host=dynamic

context=local

dtmfmode=rfc2833

disallow=all

allow=g722

transport=tls

context=local

همان گونه که مشاهده میشود در قسمت transport  از TLS  استفاده میکنیم.

تنظیمات کلاینت SIP  :

نرم افزار مورد استفاده در این سناریو blink  میباشد که تنظیمات قابل ذکر به
صورت زیر نشان داده شده است:

۱٫ایجاد sip account جدید:

 

۲٫تنظیمات اکانت شامل تعریف proxy و شماره پورت و پروتکل مورد استفاده:

 blink account prefs

۳٫تعریف certificate  و TLS :

 blink tls account

۴٫مشخص نمودن TLS version  و CA certificate :

 blink tls server

۵٫تنظیمات سمت کلاینت انجام شده است و نرم افزار مطابق زیر قابل رجیستر شدن میباشد:

 blink tls registered

blink tls call

در داخل سرور asterisk  میتوان log  زیر را مشاهده نمود:

Registered SIP 'malcolm' at 10.24.250.178:5061

> Saved useragent "Blink 0.22.2 (MacOSX)" for peer malcolm

Notice that we registered on port 5061, the TLS port

.

مرحله دوم (SRTP) :

اکنون پروتکل TLS را فعال نموده و سیگنالینگ ما امن میباشد و extension  های
شماره گیری شده توسط ما رمز نگاری میشود ولی media  هنوز رمزنگاری نمیشود
و مکالمه های RTP  به راحتی قابل شنود میباشد.به صورت پیش فرض در زمان نصب
لینوکس پکیج SRTP نصب نمیشود و توسط لینوکس پشتیبانی نمیشود:

[Jan 24 09:29:16] ERROR[10167]:
chan_sip.c:27987 setup_srtp: No SRTP module loaded, can't setup SRTP session

.

در لینوکس پکیج SRTP را نصب میکنیم:

[root@localhost admin]# yum install libsrtp

سپس در asterisk  داخل فایل sip.conf تنظیمات زیر را وارد میکنیم:

[malcolm]

type=peer

secret=malcolm

host=dynamic

context=local

dtmfmode=rfc2833

disallow=all

allow=g722

transport=tls

encryption=yes

context=local

همچنین نرم افزار کلاینت SIP  را به گونه ای تنظیم میکنیم که از SRTP استفاده نماید:

 blink enable srtp

در asterisk  سرویس SIP  را reload  میکنیم:

 

localhost*CLI> sip reload                                                                                                                                Reloading SIP
== Parsing '/etc/asterisk/sip.conf':   == Found
== Parsing '/etc/asterisk/users.conf':   == Found
== Using SIP CoS mark
== Parsing '/etc/asterisk/sip_notify.conf':   == Found

نرم افزار کلاینت را دوباره رجیستر کرده و با پروتکل امن تماس برقرار میکنیم:

 blink tls srtp

دیدگاه خود را به ما بگویید ناشناس