با سیستم تلفنی خود چت کنید ! ( استفاده از XMPP در Asterisk )

eXtensible Messaging and Presence Protocol  یا XMPP برای پیام رسانی و ارسال اطلاعات مربوط به وضعیت استفاده میشود . با فعال سازی و بهره گیری از این پروتکل در سیستم تلفنی Asterisk قادر خواهید بود از سیستم تلفنی خود به اکانت Gmail خود یا دیگران پیام ارسال کنید یا با ارسال پیام لحظه ای از اکانت Gmail به سیستم تلفنی خود فرمان دهید به عنوان مثال با استفاده از این قابلیت می توانید وقتی مشتری با شرکت شما تماس می گیرد CallerID آنرا به صورت Instant Message دریافت کنید یا با وارد کردن یک عدد در پنجره چت به استریسک فرمان دهید که آن تماس را به چه شخصی ارتباط دهد .

ماژول  res_jabber حاوی برنامه ها و توابع مختلفی است که در DialPlan استریسک مورد مورد استفاده قرار می گیرند . این ماژول پیشنیار ماژول های کانال chan_jingle و chan_gtalk نیز می باشد . برای بهره گیری از xmpp در asterisk اولین مرحله کامپایل res_jabber می باشد . 

پیشنیاز لازم برای chan_jabber دو بسته نرم افزاری iksemel-devel openssl-devel است که قبل از کامپایل استریسک باید أنها را نصب کنید .

sudo yum install iksemel-devel openssl-devel

دستورات Jabber در DialPlan استریسک :

چندین برنامه و تابع برای برقراری ارتباط استریسک از طریق پروتکل xmpp وجود دارد . در ادامه مطلب نحوه برقراری ارتباط استریسک با یک سرور xmpp و  ارسال پیام و مسیر دهی تماس ها بر اساس پاسخ کاربر در پنجره چت جیمیل را بررسی خواهیم کرد . 

ارتباط با یک سرور xmpp :

قبل از اینکه بتوانیم به کلاینت های xmpp پیام ارسال کنیم باید استریسک را به یک سرور با قابلیت xmpp متصل کنیم . ما از google استفاده می کنیم زیرا یک سرویس دهنده محانی xmpp است که ارتباط با آن ساده و استفاده از آن رایج است . یرای برقراری ارتباط باید فایل jabber.conf را در مسیر etc/asterisk/ تنظیم کنیم . مثال زیر نمونه ای از ارتباط سرور استریک با xmpp گوگل است . مه از اکانت miniatel@gmail.com برای ارسال پیام یا پردازش پیام های دریافتی بهره میبرد . 

[general]

debug=no
autoprune=no
autoregister=yes
auth_policy=accept

[asterisk]
type=client
serverhost=talk.google.com
username=miniatel@gmail.com
secret=<myemailpasshere>
port=5222
usetls=yes
usesasl=yes
status=available
statusmessage="Miniatel is Online from Asterisk"

اکنون باید ماژول Jabber را دوباره بارگزاری کنیم .

 

*CLI> jabber reload
Jabber Reloaded.

 

 

 

 

 

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

 

*CLI> jabber show connections
Jabber Users and their status:
       User: miniatel@gmail.com   - Connected
----
   Number of users: 1

 

ارسال پیام با استفاده از JabberSend :

برنامه JabberSend برای ارسال پیام در DialPlan استریسک استفاده می شود . از این برنامه می توانید در هر جای Dialplan استفاده کنید . به عنوان مثال هنگامی که شخصی با سیستم تلفنی شما تماس میگیرد می توان شماره تماس آنرا به صورت IM ارسال کرد . 

 

[from-pstn]
exten => s,1,Answer()

; *** This line should not have any line breaks
   same => n,JabberSend(asterisk,omid.mohajerani@gmail.com,${CALLERID(all)}) is calling Miniatel.com

   same => n,Dial(SIP/omidsipphone,30)
   same => n,Hangup()

 

بعد از reload کردن DialPlan در استریسک شماره تماس های ورودی از طرف miniatel@gmail.com برای omid.mohajerani@gmail.com به صورت پیام ارسال میشود .

pixelstats trackingpixel

۶ نظر

  1. سعید خمسه گفت:

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

  2. برای نصب پیشنیاز ها به Epel نیاز دارید .

    wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
    wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
    sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm

  3. mostafa گفت:

    سلام باتشکر از زحمات شما

  4. Hossein گفت:

    سلام
    من تمام مراحل رو انجام دادم اما چیزی ارسال نمی شه توی کنسول استریسک هم چک کردم کامند jabersend اجرا می شه با پارامتر ها اما چیزی رو دریافت نمی کنم

Trackbacks for this post

  1. […] وقتی کانال  gtalk برای استریسک امد سیستم تلفنی شرکت را به … تا هرکس تماس میگیره شماره تلفنشو تو چت ببینیم یا بتونیم URL فایل صوتیشو ببینیم ولی الان بیشتر از تلگرام استفاده میکنم و معمولا انلاینم پس استریسک رو به تلگرام join  کردم تا هم ببینم کی داره با شرکت تماس میگیره و هم در انتهای مکالمه فایل صوتی مکالمه برام pm میشه تا بتونم بشنوم … جالبه که برعکس هم میشه دستور داد .. مثلا تو تلگرام یک پیام بنویسم call982188853891 و از شرکت تماس بگیره با شماره ای که میخوام و فایلی که میخوام پخش میکنه […]

نوشتن دیدگاه