• Asterisk CRM sugarCRM небольшое howto как выдрать номер из базы CRM при звонке на asterisk (Freepbx-Elastix) и отправить его на экран менеджеру
    В Freepbx
    в файле extensions_custom.conf
    [custom-CallNotifcall]
    exten => s,1,TrySystem(/usr/bin/ssh user@server "nohup bash /home/user/notify ${CALLERID(name)}" &)
    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
    #!/bin/bash
    #
    #Send messages through SSH to remote hosts' notify-osd
    #
    message="$@"
    message=`echo $message|cut -c2-`
    message=`/home/user/search_data.py $message`
    logger "обработанная инфа "$message
    ssh manager1@manager1-work.local "DISPLAY=:0 XAUTHORITY=/home/manager1/.Xauthority zenity --info --text \"$message\"" &
    ssh manager1@manager2-work.local "DISPLAY=:0 XAUTHORITY=/home/manager2/.Xauthority zenity --info --text \"$message\"" &
    exit

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

    #запрос в LEADS
    querry="""SELECT `first_name`,`last_name`,`account_name`,`assigned_user_id` FROM `sugarcrm`.`leads` WHERE CONVERT(`phone_home` USING utf8) LIKE '%(q)s' OR CONVERT(`phone_mobile` USING utf8) LIKE '%(q)s' OR CONVERT(`phone_work` USING utf8) LIKE '%(q)s' OR CONVERT(`phone_other` USING utf8) LIKE '%(q)s'"""%{"q":q}
    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')

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

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

    cur.close()
    con.close()

    Из проблем пока не понял как сделать всплывающие сообщение notify не работает через ssh, zenit --notification с ошибками отваливается

Replies (0)