FS: Отправляем визитку после звонка

FreeSWITCHЯ описывал, как можно отправить 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");
        }
}

3 Comments on "FS: Отправляем визитку после звонка"


Leave a Reply

Your email address will not be published. Required fields are marked *