вторник, 9 сентября 2014 г.

howto как получить информацию о номере телефона из CRM (SugarCRM) при звонке на asterisk (Freepbx-Elastix) и отправить его на экран менеджеру

небольшое howto как выдрать номер из базы CRM (в моём случае sugarcrm) при звонке на asterisk (Freepbx-Elastix) и отправить его на экран менеджеру. По разным причинам ни один из способов найденных мною в интеренете не заработал :) искал я долго.

поехали

В Freepbx
в файле extensions_custom.conf
[custom-CallNotifcall]
exten => s,1,TrySystem(/bin/echo ${CALLERID(name)} | /usr/bin/nc SERVER_IP 3333 &)
exten => s,n(dest-ext),Goto(ext-group,600,1)


в Custom Destination admin-Freepbx сделать запись callnotif, которая обращалась к макросу custom-CallNotifcall,s,1
Далее в Incoming Route делаю custon destiation - callnotif

скрипты
notify запущен на SERVER_IP
#!/bin/bash

while true; do nc -l 3333 | while read message1; do
message1=`echo $message1|cut -c2-`
message2=`place_script/search_data.py $message1`
if [[ ! $message2 ]] ; then exit; fi
logger "обработанная инфа "$message2
i=1
while true; do
  text=`echo $message2 | cut -d "^" -f\`echo $i\` | cut -d "|" -f1`
  if [[ $text ]] ; then
    id=`echo $message2 | cut -d "^" -f\`echo $i\` | cut -d "|" -f2`
    id=${id// /}
    module=`echo $message2 | cut -d "^" -f\`echo $i\` | cut -d "|" -f3`
    url="http://webserver.sgm/index.php?module="$module"&action=DetailView&record="$id
    message=$message"*$text информация из CRM-"$module""
    i=$((i+1))
  else break
  fi;
done

echo "$message" | nc IP_manager1 3333 &
echo "$message" | nc
IP_manager2 3333 &
done ; done
 

 
search_data.py

#!/usr/bin/env python
# -- coding: utf-8 --
import MySQLdb as db
import sys
q="%"+sys.argv[1]+"%"
con=db.connect(host="
SUGARCRM_IP",
user="user",
passwd="pass",
db="sugarcrm",
charset="utf8" )
cur = con.cursor()

#Запрос в Контакты КОНтрагентов
querry="""SELECT `first_name`,`last_name`,`id`  FROM `sugarcrm`.`contacts` WHERE CONVERT(`phone_fax` USING utf8) LIKE '%(q)s' OR CONVERT(`phone_other` USING utf8) LIKE '%(q)s' OR $
cur.execute(querry)
for row in cur:
  print row[1].encode('utf-8'), " ", row[0].encode('utf-8'), "|",row[2].encode('utf-8'),"|Contacts|^",

#запрос в LEADS
querry="""SELECT `first_name`,`last_name`,`account_name`,`id` FROM `sugarcrm`.`leads` WHERE CONVERT(`phone_home` USING utf8) LIKE '%(q)s' OR CONVERT(`phone_mobile` USING utf8) LIK$
cur.execute(querry)
for row in cur:
  print row[1].encode('utf-8'), " ", row[0].encode('utf-8'), " ", row[2].encode('utf-8'), "|", row[3].encode('utf-8'), "|Leads|^"

#Запрос в Контрагенты
querry="""SELECT `name`,`id`  FROM `sugarcrm`.`accounts` WHERE CONVERT(`phone_fax` USING utf8) LIKE '%(q)s' OR CONVERT(`phone_office` USING utf8) LIKE '%(q)s' OR CONVERT(`phone_al$
cur.execute(querry)
for row in cur:
  print row[0].encode('utf-8'), "|",row[1].encode('utf-8'), "|Accounts|^"


cur.close()
con.close()


на клиентах постоянно запущен через rc.local скрипт вывода информации на экран

#!/bin/bash

while true; do
  nc -l 3333 | while read msg; do
    msg=${msg//\*/\\n};
    DISPLAY=:0 XAUTHORITY=`echo $HOME`/.Xauthority zenity --info --text "$msg";
  done ;
done


Скрипт теперь использует nc для передачи данных это значительно быстрее нежели ssh. Запуск на клиентах скрипта отработки передачи данных с nc позволяет запускать не только zenity, но и notify-send, но я от него отказался, так как у нас используется linphone + kde и сообщения от них показываются последовательно, что не даёт возможность одновременно ответить на звонок и посмореть кто звонит.
P.S.
В итоге отказался от netcat. Так как в произвольный момент ждущий сообщения nc при получении его уходил в 100% загрузку процессора и ничего не делал. Использую jabber, предварительно проверяя включён ли комп
message=$1
infor_for=`fping -aq -t100 192.168.1.xx 192.168.1.xx`
recepient=""
if [[ `echo $infor_for | grep "192.168.1.xx"` ]]; then recepient=$recepient"
recepient_jabber1" ; fi ;
if [[ `echo $infor_for | grep "192.168.1.xx"` ]]; then recepient=$recepient"
recepient_jabber2" ; fi ;  
if [[ $recepient ]]; then echo $message | /usr/bin/sendxmpp -j jabber_server -p password -u jabber_username `echo $recepient` ; fi ;

вторник, 21 февраля 2012 г.

Canon i-SENSYS MF8360Cdn

Достоинства принтера
быстрая печать и сканирование
функционал хороший, но не без дефектов (см. ниже). Есть возможность шифрованной передачи документов при сканировании, функция подсчёта страниц по отделам. Факс тоже подерживает мне это не надо было в нюансах не разбирался.
простая и понятная работа 

Недоставтки
1. поддержка Linux
-  в описании "ошибочно" указана поддержка Linux. На сайте производителя говорится о его поддержке, НО ТОЛЬКО ДЛЯ ПЕЧАТИ и с января 2012. Фактически драйвера с Canon не скачать, его можно найти по ссылкам с различных формуов, но не у Canon. Более того, поддержка мне пообещала отказать в гарантии, если я его буду использовать с Linux (пообещали письменно)... для сетевого принтера это странно, согласитесь, то что поддержка не знает, что их драйвер поддерживает эту модель (в rtadme, мне кажется, все модели Canon есть) ещё более странно. Сейчас заставил печатать, система 64 бита... с этим тоже пришлось поплясать
2. косяки в прошивке
— функция отправка по почте. не поддерживает SSL... мне кажется это как-то не правильно посылать почту без SSL. нет? специально для таких муда... как я, владельцев принтеров Canon и Ricoh (кажется, в америкоссии эту марку знают) Google сделал smtp сервер без шифрования, но он доступен только для Google apps. Что делать с этим не решил... видимо разворачивать smtp сервер в локалке придётся :(
— настройка сохранения файлов по сети. бился пару дней с этой функцией. ни в одном манауле к этой серии принтеров примера настройки нет. чисто случайно нашёл пример для более старой серии!! эти ... производители просят обязательно использовать слэши в имени хоста, направленную в правильную сторону (win-way), с нужным количеством, их должно быть два! вопрос к авторам мануала. Там есть всё, но для действительно непонятного момента с настройкой сканирования по сети примеров нет, видимо надеются на уровень телепатии
3. чипованные картриджи, но с этим справляются... просто стоит это получается немного дороже

среда, 5 октября 2011 г.

Письмо моего друга


мой ответ
Приветствую

Аналогично думал над тем же вопросом - как голосовать. Вот только пришёл в итоге к другим выводам (да, сначала тоже хотел голосовать против ЕР, но мотивы были всё равно другие).

Лёха, вот скажи мне. Из чего ты предлагаешь выбирать из фу-Путина и... ЧЕГО??? Немцова?? получившего премию госдепа и регулярно ездящего в америкоссию "на семинары"? Навального, прописавшегося в Англии и выступающего на закрытых заседаниях их нижней палаты? (пруфы легко ищутся в инете).

Ты сейчас имеешь опыт поездки по стране, у меня был небольшой в начале 2000-ых (когда фу-путин ещё не добрался до всего своей кровожадной рукой), я увидел безнадёгу, полное попрание прав и... картина была во многом похожа с сегодняшней наверно, но вот ресурсы страны грабились не властью, а иностранцами, шахты закрывали, потому что они это лоббировали. Тяжкое было время и не удивительно ,что после слов "мочить в сортире" народ воспрял. Кто теперь скажет подобные словa? Кто? ПОД КАКИМИ ФЛАГАМИ ТЫ ПРЕДЛАГАЕШЬ ВСТАТЬ и "разрушить этот мир"?? мне это нахер не здалось, твои опасения верны.

Да, у нас ущербная демократия. Здесь немного об этом http://vkontakte.ru/wall462694_1882 (это не копипаста, а небольшое обсуждение). Да, у нас в чём-то ущербная власть. В этом можно убедить любого, читающего интернет. Но бля!!!!! Она НАША. Горбачём вертели как хотели, Ельцин тому наверно просто звонили и говорили: "делай так-то". С Путиным видимо так невыходит. И появляются статьи о "какой Путин Г", проблемах в тандеме (зметьте, первые всегда не у нас и не потому что все такие смирные, не малое количество медиаресурсов куплены, помните об этом, когда читаете Ведомости, репортёра и пр.), о огорчении, что путин выдвинулся "снова, каков наглец,а, ведь народ же против!!!"... вы знаете, я люблю историю, так вот, сейчас не могу вспомнить, когда это интересы российского государства совпадали с "мировыми", а в даный момент англосаксонскими (заметьте, опять-таки европа сдержано отнеслась, им невыгодна смена руководства, любые потрясения ведут к проблеме с трубой). И когда я читаю, что в англии и америкосии огорчены :) я понимаю, видимо всё идёт правильно (вспомните, что говорили, когда был ельцин и горбач).

Лёха всё правильно сказал, ВЫБИРАЙТЕ, но я прошу не голосовать "ПРОТИВ", голасуйте "ЗА".
ЗА, смену правящей власти
ЗА, изменения в социальной политике
ЗА, Россию голосуйте, в конце концов

Вектор, тот же, но мотивы пусть будут другие. И тогда не будет у нас митингов несогласных в 2012, в которых будут сверху стрелять "неизвестные снайперы" (с)

воскресенье, 24 апреля 2011 г.

используйте openid

Иногда на форумах, всё чаще на блогах есть возможность использовать openid, чтобы пройти аутентификация без регистрации. Вкратце, это механизм позволяющий подтвердить, что вы это вы без ещё одной ненужной регистрации и заполнения полей. Здесь длинно и более правильно. OpenID есть у каждого, так как практически все популярные сервисы рунета поддерживают его. Вот ссылки на страницы таких ресурсов, объясняющих что надо делать в каждом конкретном случае:
http://openid.mail.ru/
http://openid.yandex.ru/
http://rambler.webcrunch.ru/opensource/rsession/
http://vkontakteid.ru/
http://livejournal.com

пока составлял свой список нашёл чужой http://boyandin.info/w/OpenID здесь провайдеров openid больше

вторник, 22 марта 2011 г.

Дэн Пинк об удивительной науке мотивации


Удивительные вещи, говорит человек, но покопавшись, даже на собственном примере признаю его правоту.


Там есть русский субтитры:
1. надо нажать view subtitles
2. найти русский