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

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

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

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

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

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

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

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

یکی از مشکلاتی که در استریسک با آن مواجه هستیم و تقریبا یک مشکل غیر قابل حل می باشد عدم نمایش صحیح شماره تماس گیرنده در زمان انتقال تماس است . به این ترتیب که داخلی A یک تماس با داخلی B میگیرد کالر آی دی که برای داخلی B نمایش داده میشود مشخصات تلفن [...]

OpenVox  به عنوان یکی از پیشگامان تولید محصولات تلفنی سخت افزاری و نرم افزاری، توسط متخصصان فنی و باتجربه خود در طراحی، محصولاتی را ارائه کرده است که  قابلیت استفاده در اغلب پروژه های تلفنی متن باز از جمله استریسک را دارند. یکی از این محصولات کارت دیجیتال D110P  تک پورت E1 است که در [...]

۱٫ مقدمه تا ۳۰ سال پیش واژه ای به نام اینترنت وجود نداشت و ارتباط محاوره ای تنها از طریق شبکه عمومی تلفن(PSTN)  امکان پذیر بود همچنین ارسال داده به ویژه در فواصل دور بسیار هزینه بر بود اما در طی چند سال گذشته شاهد پدیده هایی جذاب بوده ایم؛ گسترش رایانه های شخصی، فناوری [...]

امروزه شبکه های تلفنی مبتنی بر IP، از طرف مدیران شبکه و IT، شناخته شده اند و در مزایا و امکاناتی که فراهم می کنند، ابهامی وجود ندارد؛ اما راه اندازی و مباحث فنی این تکنولوژی و کاربردی کردن آن، همچنان مدیران را در تصمیم گیری و انخاب بهترین راه حل به چالش می کشد. [...]

راه اندازی پروتکل 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

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

  1. ramin malekghasemi می‌گه:

    ممنون بابت آموزشتون ۲ تا خواسته دارم ۱- میشه روی ترانک هک این رو انجام داد ؟
    ۲-اینکه می شه فایل ها رو به صورت PDF بگذارید
    ممنون می شم روی ترانک IAX یا SIp ترانک می شه اینکار رو کرد اگه راهنمایی کنید ممنون می شم

  2. ramin malekghasemi می‌گه:

    دوست من لینک دانلود نرم افزار third-party رو و همچنین آموزش رو میگذارید

  3. Arash Rastegari می‌گه:

    لینک دانلود نرم افزار blink :
    https://blink.sipthor.net/download.phtml?download&os=nt
    در مورد سوال اولتون باید بگم که هیچ کاری غیر ممکن نیست ولی decrypt کردن traffic , زمان بر و نیاز به resource خاص میباشد.

  4. ramin malekghasemi می‌گه:

    منظورتون از resource خاص چیه منابع خاص یا Souce Ip Address?

  5. ramin malekghasemi می‌گه:

    آرش جان اگه می شه Yahoo ID itprofessinal2007 رو ادد کنید با هم یک گپ بزنیم ممنون

    rmalekghasemi.ir

  6. Arash Rastegari می‌گه:

    resource خاص یعنی تجهیزات سخت افزاری قوی , نرم افزارهای مخصوص و دانش بسیار بالا هست.

دیدگاه خود را به ما بگویید.