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

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

 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 و بکارگیری آن در ساخت منوی صوتی شرح داده شد. علاوه بر این قابلیت، در برخی موارد نیاز است تا برای تماس گیرنده یک پیام صوتی خاص پخش شود و سپس به مقصد دیگری هدایت شود. به عنوان مثال اطلاع رسانی درباره یک [...]

اتصال به Manager استریسک (Asterisk Manager Interface)

Asterisk Manager Interface یا همان AMI به شما این قابلیت را می‌دهد تا با استفاده از socket programming بتوانید به astersik، manager وصل شوید و با استفاده از قابلیت‌های آن برای مدیریت، نظارت و کنترل asterisk خود استفاده کنید.

AMI به صورت Plain/text می‌باشد و با ارسال و دریافت بسته‌ها کار می‌کند.

هر بسته شامل چند خط می‌باشد که با ‘r\n\’ از هم جدا می‌شوند و در نهایت هر بسته با یک خط خالی یا ‘r\n\’ از هم جدا می‌شوند.

به صورت پیش فرض AMI بر روی پورت ۵۰۳۸ TCP کار می‌کند.

شما می‌توانید به این پورت بر روی سرور خود telnet بزنید.

[root@abdi ~]# telnet localhost 5038
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Asterisk Call Manager/1.2

 

به محض برقراری ارتباط asterisk متنی شبیه به Asterisk Call Manager/1.2 را برای شما ارسال می‌کند.

ارسال و دریافت بسته‌ها بعد از انجام اهراز هویت انجام می‌شود.

  • Action : ارسال دستورات توسط کاربر ( فقط کاربر یا client می‌توانید Action ارسال کند)

  • Response : هر Action حداقل یک Response دارد که در واقع نتیجه Action را نشان می‌دهد

  • Event :  برای مطلع ساختن کاربر از event در حال اتفاق هست (مانند تماس ورودی به یک داخلی، خارج شدن یک عضو از صف و …)

خط اول بسته‌های ارسالی از سمت کاربر باید با Action شروع شود و از سمت سرور با Event یا Response.

 تمامی بسته های AMI شامل: manager events, manager actions و manager action responses به یک روش ارسال می‌شوند

بسته های Event همیشه یک هدر Event دارند. هدر Event نام  Event داده شده را می‌دهد در حالی که هدر Privilege لیستی از سطح دسترسی این Event را بر می‌گرداند

بسته های Action همیشه به همراه هدر Action می‌آید. هدر Action در واقع مشخص می‌کند کدام action می‌خواهد اجرا شود. بقیه هدر ها بستگی به Action ارسال شده دارد که بعضی از هدر ها الزامی می‌باشند(برای به دست آوردن هدر های متناظر با هر action دستور manager show command action را در کنسول asterisk خود وارد کنید).

Response به همراه هدر response می‌آید و نشان دهنده وضعیت دستور Action می‌باشد که می‌تواند Success یا Error می‌باشد

 

فرمت کلی ارسال بسته‌های Action به صورت زیر می‌باشد

Action: <action>

<key1>: <value1>

<key2>: <value2>

.

.

.

<keyN>: <valueN>

Variable: <name>=<value>

Variable: <name>=<value>

.

.

.

Variable: <name>=<value>

Action زیر که برای login می‌باشد به صورت زیر ارسال می‌شود

Action: login
username: admin
secret: admin

 

و Response دریافتی از سرور

Response: Success
Message: Authentication accepted

 

Action های مختلف هر کدام کلیدها و متغیر های مخصوص خود را دارند لیست کامل آنها در مسیر زیر قرار دارد.

https://wiki.asterisk.org/wiki/display/AST/AMI+Actions

Event ها یا به صورت realtime هستند یعنی بدون ارسال Action می‌توانید آنها را دریافت کنید مانند زیر که به محض Register شدن داخلی می‌توانید آن را دریافت کنید. برای غبر فعال کردن این نوع Event ها می‌توانید ازEvent ،Action استفاده کنید

ami1

Event: PeerStatus

Privilege: system,all

ChannelType: SIP

Peer: SIP/100

PeerStatus: Registered

Address: 192.168.1.138:5061

نوع دیگر Event به ازای Action های ارسالی شما فرستاده می‌شوند مانند وضعیت کانال های آنالوگ و وضعیت صف‌ها.

ami2


action: Queuestatus

Response: Success
Message: Queue status will follow

Event: QueueParams
Queue: q-sample
Max: 0
Strategy: ringall
Calls: 0
Holdtime: 0
TalkTime: 0
Completed: 0
Abandoned: 0
ServiceLevel: 0
ServicelevelPerf: 0.0
Weight: 0
Event: QueueMember
Queue: q-sample
Name: SIP/100
Location: SIP/100
Membership: static
Penalty: 0
CallsTaken: 0
LastCall: 0
Status: 5
Paused: 0

Event: QueueStatusComplete

 

پایان

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