Я описывал, как можно отправить 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 = " \\ '; 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"); } }" ; 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 + '
Permalink
А кто нибудь писал данный скрипт для России???
А в чем проблема? Берете провайдера SMS и создаете файл в нужном формате. Принцип тот же.