اسکریپت ارسال SMS از Mikrotik
خرید SMS Panel مجهز به سرویس REST API (URL)
همه نسخ سامانه پیامکی سان وی دارای پشتیبانی کامل از SOAP WebService و REST API می باشند، لذا در صورت نداشتن حساب کـاربری، شـما می توانید نسبت به خرید اس ام اس پنل اقدام بفرمایید.
تنظیمات Script میکروتیک برای ارسال اس ام اس
برای ارسال SMS از میکروتیک یا می بایست از GSM Modem استفاده کرده و یا از طریق ایجاد و فراخوانی Script با استفاده از سامانه های اینترنتی این کار را انجام دهید. برای ایجاد اسکریپت ارسال پیامک با WinBox وارد شده و به مسیر زیر مراجعه کنید :
System → Scripts
در این بخش نیاز به آدرس URL وب سرویس پیامکی دارید که می بایست با اطلاعاتی که در هنگام خرید وب سرویس در اختیارتان قرار گرفته آن را تکمیل کنید. پس آدرس زیر را کپی کرده که در ادامه در مثال ها استفاده می نماییم.
/tool fetch ascii=no mode=https keep-result=no url="http://sms.payamakafzar.ir/SMSWS/HttpService.ashx?service=SendArray&to=$ToNum&from=$FromNum&message=$TextMsg&username=$MyUser&password=$MyPass" ;
پس از ساخت اسکریپت آن را از دو طریق می توان اجرا کرد که به توضیح ساخت و اجرای هریک با ذکر مثال می پردازیم.
ساخت اسکریپت
اسکریپت ها معمولا از دو قسمت تشکیل شده اند، یکی شرط و دیگری عملیات محقق شدن شرط.
مثال : در این مثال فرض می کنیم که برق تجهیزات شبکه ما از UPS تامین می شود ولی میخواهیم وقتی که حضور نداریم از زمان قطع برق مطلع شویم. برای این منظور باید یک دستگاه تحت شبکه که خاموش شدن آن از اهمیت زیادی برخوردار نیست را به برق شهر متصل کرده و اسکریپت زیر را روی روتر میکروتیک برای IP آدرس آن دستگاه بنویسیم:
#payamakafzar Script For Sending SMS From Mikrotik
:log info message=("start sending sms message");
:local HOST "192.168.1.51"
:local PINGCOUNT "5"
:local dateM [/system clock get date]
:local timeM [/system clock get time]
:local MyUser "USER"
:local MyPass "PASS"
:local FromNum "SMSNUMBER"
:local ToNum " RECIPIENT"
:local TextMsg "payamakafzar%0aBargh%20Raft%0aDate:$dateM%0aTime:$timeM"
:if ([/ping $HOST count=$PINGCOUNT] = 0) do={
/tool fetch ascii=no mode=https keep-result=no url="http://sms.payamakafzar.ir/SMSWS/HttpService.ashx?service=SendArray&to=$ToNum&from=$FromNum&message=$TextMsg&username=$MyUser&password=$MyPass"}
:log info message=("sms message was sent successfully");
حال باید مقادیر ذیل را که در هنگام دریافت خرید سامانه در اختیار شما قرارداده شده است در Script جایگزین:
USER | نام کاربری سامانه |
---|---|
PASS | پسورد سامانه |
SMSNUMBER | شماره فرستنده که همراه با نام کاربری و پسورد در اختیارتان قرار میگیرد |
دو متغیر RECIPIENT و TextMsg با توجه به اینکه تمایل دارید پیام برای چه کسانی ارسال شود و اینکه متن پیام چه باشد، توسط شما پر می شوند.
RECIPIENT | شماره یا شماره های گیرنده که باید با (,) از هم جدا شوند به عنوان مثال: 09334485858,09120000000 |
---|---|
TextMsg | پیامی است که میکروتیک SMS می کند. دقت داشته باشید که این متغیر خود می تواند از ترکیب متغیرهای دیگر درست شود |
نکته ۱ : تمام متغیر های فوق باید بین دو "
قرار گیرند. مثلا اگر نام کاربری شما sun2046 هست باید بصورت زیر جایگزین شود
:local MyUser "sun2046"
نکته ۲ : برای Enter زدن در متن پیامک از %0a و برای Space از %20 استفاده کنید.
نکته ۳ : در مثال فوق متن پیامک که خود یک متغیر است، از ترکیب متغیرهای دیگر مانند تاریخ و ساعت وعبارات ثابتی ایجاد شده و در نهایت در آدرس URL با عنوان $TextMsg جایگزین شده است.
نکته : اگر میخواهید از این اسکریپت در ابزارهای میکروتیک مانند Netwatch ویا TrafficeMonitor (که به توضیح آنها در ادامه می پردازیم) استفاده کنید، حتما باید تیک Don’t Require Permissions را فعال کنید.
استفاده از Script در Schedule
حال باید طی یک برنامه زمانبندی شده Script ساخته شده را اجرا کنیم تا هرگاه شرط برقرار شد SMS ارسال شود.
برای ساخت Schedule به مسیر System Scheduler می رویم و با زدن دکمه + یک Schedule می سازیم.
پارامترهای صفحه Schedule عبارتند از :
Name : یک نام به دلخواه
Start Date : تاریخ شروع این برنامه زمانبندی
Start Time : ساعت شروع این برنامه زمانبندی
Interval : هر چند وقت یکبار این برنامه اجرا شود
On Event : دقیقا نام اسکریپتی که در مرحله قبل ساختیم
با انجام تنظیمات فوق این Schedule بعد از Apply کردن شروع به کار کرده و هر ۱۰ دقیقه یک بار اسکریپت Bargh را اجرا می کند و اگر IP مورد نظر Ping نشود پیامک ارسال خواهد شد.
نکته ۱ : اگر نیاز داشتید که Schedule روزی یکبار اجرا شود باید Interval = 1d 00:00:00 قرا داده شود.
نکته ۲ : شما می توانید Script مورد نظر خود را داخل On Event نیز بنویسید که در این صورت نیاز به نوشتن Script در مرحله قبل نمی باشد.
استفاده از Script در Netwatch
Netwatch ابزاری است که سیستم های شبکه را پینگ می کند و می تواند هم درزمان Down شدن سرویس و هم زمانی که مجددا سرویس UP می شود به ما اخطار دهد. باید در نظر داشته باشیم ابزار Netwatch خود شرط است و در اسکریپت دیگر نیاز به شرط نداریم.
نمونه اسکریپت برای استفاده در Netwatch:
نام اسکیریپت : Bargh Raft
#payamakafzar Script For Sending SMS From Mikrotik
:log info message=("start sending sms message");
:local dateM [/system clock get date]
:local timeM [/system clock get time]
:local MyUser "USER"
:local MyPass "PASS"
:local FromNum "SMSNUMBER"
:local ToNum " RECIPIENT"
:local TextMsg "payamakafzar%0aBargh%20Raft%0aDate:$dateM%0aTime:$timeM"
/tool fetch ascii=no mode=https keep-result=no url="http://sms.payamakafzar.ir/SMSWS/HttpService.ashx?service=SendArray&to=$ToNum&from=$FromNum&message=$TextMsg&username=$MyUser&password=$MyPass"
:log info message=("sms message was sent successfully");
نام اسکیریپت : Bargh Amad
#payamakafzar Script For Sending SMS From Mikrotik
:log info message=("start sending sms message");
:local dateM [/system clock get date]
:local timeM [/system clock get time]
:local MyUser "USER"
:local MyPass "PASS"
:local FromNum "SMSNUMBER"
:local ToNum " RECIPIENT"
:local TextMsg "payamakafzar%0aBargh%20Amad%0aDate:$dateM%0aTime:$timeM"
/tool fetch ascii=no mode=https keep-result=no url="http://sms.payamakafzar.ir/SMSWS/HttpService.ashx?service=SendArray&to=$ToNum&from=$FromNum&message=$TextMsg&username=$MyUser&password=$MyPass"
:log info message=("sms message was sent successfully");
در اسکریپت فوق نیز متغیرها مانند مرحله قبل جایگزین می شوند و همانطور که ملاحظه می کنید شرطی در اسکریپت موجود نمی باشد و فقط عبارت Bargh Raft و Bargh Amad در متن TextMsg تغییر کرده است.
ساخت Netwatch:
برای ساخت Netwatch که در حقیقت شرط اسکریپت فوق می باشد به مسیر Tool Netwatch می رویم و با زدن دکمه + یک Netwatch جدید می سازیم.
صفحه Netwatch دارای سه Tab (بخش) می باشد:
تب اول Host :
Host : آدرس سیستمی که باید مانیتور شود
Interval : هر چند وقت یکبار چک شود
Timeout : چند میلی ثانیه به بالا تام اوت محسوب شود
تب دوم UP:
در قسمت On Up باید دقیقا نام اسکریپتی را بنویسیم که در موقع UP شدن سرویس باید برای ما پیامک ارسال کند(Bargh Amad)
تب سوم Down:
در قسمت On Down باید دقیقا نام اسکریپتی را بنویسیم که در موقع Down شدن سرویس باید برای ما پیامک ارسال کند (Bargh Raft)
نکته : در قسمت On Up و On Down می توانید مستقیما اسکریپت بنویسید.
استفاده از Script در Traffic Monitor
ابزار Traffic Monitor به شما این امکان را می دهد که در شرایطی که میزان پهنای باند روی یکی از اینترفیس ها بیشتر یا کمتر از حدی شد به شما پیام بدهد. در ساخت Script برای این ابزار نیز نیاز به شرط نمی باشد و فقط کافی است پس از انجام تنظیمات این ابزار نام دقیق Script ساخته شده در قسمت On Event بنویسید.
نمونه اسکریپت:
نام اسکیریپت : BW Over Load
#payamakafzar Script For Sending SMS From Mikrotik
:log info message=("start sending sms message");
:local dateM [/system clock get date]
:local timeM [/system clock get time]
:local MyUser "USER"
:local MyPass "PASS"
:local FromNum "SMSNUMBER"
:local ToNum " RECIPIENT"
:local TextMsg "payamakafzar%0aBW%20Over%20Load%0aDate:$dateM%0aTime:$timeM"
/tool fetch ascii=no mode=https keep-result=no url="http://sms.payamakafzar.ir/SMSWS/HttpService.ashx?service=SendArray&to=$ToNum&from=$FromNum&message=$TextMsg&username=$MyUser&password=$MyPass"
:log info message=("sms message was sent successfully");
با تنظیمات فوق چنانچه میزان Send روی Ether1 بیش از 8M شود اسکریپت BW Over Load اجرا شده و پیام برای شما ارسال می شود.
فهرست مطالب
دیگر پلاگین ها
درخواست مشاوره
نیاز به مشاوره دارید؟ به کمک مشاوران پیامک افزار بهترین نتیجه را از بازاریابی پیامکی بگیرید.