Я описывал, как можно отправить SMS-визитку после звонка в Oktell. Пришла очередь сделать аналогический функционал на FreeSWITCH! Для этого я создаю в MySQL базе на сервере отдельную табличку, где буду хранить информацию о том, кому уже отправил визитку. В качестве языка написания сценария я выбрал JavaScript. Сценарий проверяет в табличке была ли отправлена уже SMS-визитка (на 1 номер должна только 1 уходить SMS), если нет, тогда смотрим код оператора (я смотрю украинских операторов) и для каждого из операторов создаем SMS. Отправляем через нашего SMS-провайдера.
А вот и сам JavaScript:
use("CURL");
use("ODBC");
var CallerID = session.caller_id_num;
CallerID = CallerID.substr(-10);
var DSN="freeswitch";
var DB_USER = "freeswitch";
var DB_PASS = "freeswitch";
var send = true;
var KS = 'Spasibo za zvonok! Nashy kontakty: (044)591-92-81, (032)232-77-57, (097)218-07-06, office@it-sfera.com.ua, www.it-sfera.com.ua'
var MTS = 'Spasibo za zvonok! Nashy kontakty: (044)591-92-81, (032)232-77-57, (095)876-11-83, office@it-sfera.com.ua, www.it-sfera.com.ua';
var Life = 'Spasibo za zvonok! Nashy kontakty: (044)591-92-81, (032)232-77-57, (063)565-36-05, office@it-sfera.com.ua, www.it-sfera.com.ua';
var SMS = " \
\
" ;
switch(CallerID.substring(0, 3))
{
case '063':
SMS = SMS + Life
break;
case '093':
SMS = SMS + Life
break;
case '067':
SMS = SMS + KS
break;
case '068':
SMS = SMS + KS
break;
case '096':
SMS = SMS + KS
break;
case '097':
SMS = SMS + KS
break;
case '098':
SMS = SMS + KS
break;
case '050':
SMS = SMS + MTS
break;
case '066':
SMS = SMS + MTS
break;
case '095':
SMS = SMS + MTS
break;
case '099':
SMS = SMS + MTS
break;
default:
var send = false;
}
SMS = SMS + ' ';
if (send == true) {
console_log("debug","Send SMS: \n" + SMS + "\n");
var db = new ODBC(DSN, DB_USER, DB_PASS);
var sql = "SELECT cell FROM smsCard WHERE cell = \""+CallerID+"\";";
db.connect();
db.query(sql);
db.nextRow();
var row = db.getData();
if ( row["cell"] != CallerID) {
var curl = new CURL();
curl.run("POST", "http://sms.barex.com.ua/websend/", SMS);
sql = "INSERT INTO smsCard (`cell`) VALUES (\"" +CallerID+ "\");";
db.query(sql);
console_log("info","Sending SMS to " + CallerID + "....\n");
}
}
Permalink
А кто нибудь писал данный скрипт для России???
А в чем проблема? Берете провайдера SMS и создаете файл в нужном формате. Принцип тот же.