LINUX.ORG.RU

Сообщения petav

 

Узнаем клиента без AGI

 ,

Здравствуйте!

Необходимо посмотреть на входящий звонок, понять кто звонит, узнать клиента и соеденить с отвественным. Есть только AMI! Пока вижу вариант: Кидать звонок в очередь с музыкой без оператора, в софте отслеживать каналы (номер звонящего) и совершать перевод звонка при наступлении правила звонящий = сотрудник.

petav
()

Теги

 ,

Имеется roundcube.

Задумка: Хочется каждое письмо снабжать тегом.

Больше этого, необходимо что бы теги:

  • Были общими для всех пользователей домена
  • Теги создавались внешними силами VtigerCRM
  • И наверное был Архив утилизированных тегов (сданных проектов, сделок, заказов)

Зачем: Пишет сотрудник письмо, метит тегом из активных заявка1, заявка2 отправляет и переносит в общую папку sharedfolder. Потом можно по этому тегу поискать переписку в разрезе тега и контакта.

Может я чего-то не правильного хочу и сточки зрения организации связности можно другой подход использовать.

petav
()

Центр обработки вызовов

 , ictbroadcast,

Менеджеры придумали товар и теперь его надо продавать используя телемаркетинг, т.е. обзвон и фиксация реакции на звонок.

Для управления продажами используется vtiger. Операторам телемаркетинга очень не удобно пользоваться vtiger. Им требуется очень облегченный интерфейс и что бы система сама заставляла их работать:

  • Оператор открывает браузер, авторизуется в системе
  • Оператор видит свою кампанию
  • Оператор нажимает старт и система берет первый контакт и набирает номер (контакты заботливо выгрузил (или автоматом) менеджер из vtiger)
  • Оператор разговаривает и устанавливает статус завершения звонка (послали, пригласили)
  • Менеджеры выгружают (или автоматом) данные, загружают в vtiger и работают по горячим контактам
  • Так же система должна принимать входящие звонки, а операторы иметь возможность оформлять обращения
  • Обращения идут во Vtiger и по ним работают менеджеры

Изучил вопрос, остановился на двух продуктах vicidial и ictbroadcast ищу Вашего мнения.

petav
()

Раздружить приложения

 , ,

Нужно запустить два экземпляра одного приложения. Приложение написано так, что не подразуевает, что может быть запущен второй экземпляр.

24093 pts/0    Sl     0:08 java -cp ../source/classes:../libs/* spasteriskconnector.SPAsteriskConnector

Запускает притложение этим кодом

#!/bin/sh

THISDIR=$(cd "$(dirname "$0")"; pwd)
cd $THISDIR

JAVACLASS=spasteriskconnector.SPAsteriskConnector
JAVACP=../source/classes:"../libs/*"

# Kill old process
JAVAPID=$(ps ax | grep $JAVACLASS | grep -v grep | head -1 | awk '{print $1}')
if [ "$JAVAPID" != "" ]
then
    kill -15 $JAVAPID
fi

if [ "$1" != "stop" ]
then
    java -cp $JAVACP $JAVACLASS
fi

Соответсвенно при запуске второго экземпляра, первый ищется по JAVACLASS и убивается. Повлиять на «JAVACLASS» нет возможности.

Как их проще изолировать друг от друга на одной системе? Приложение вешается на ip:порт, котороыми можно маниврировать в ini.

petav
()

Postfix аутентифкация failed при SASL CRAM-MD5

 ,

При отправке сообщения Postfix ругается на аутентификацию

Oct  4 11:02:02 postfix postfix/smtpd[21764]: warning: unknown[192.168.206.20]: SASL CRAM-MD5 authentication failed: PDc4NzM1NDI1ODIyNjAxOTcuMTQ3NTU2ODEyMEBwb3N0Zml4Pg==
Oct  4 11:02:02 postfix postfix/smtpd[21764]: disconnect from unknown[192.168.206.20

На стороне postfix

mysql> INSERT INTO users (email, password) VALUES ('support@domain.ru', ENCRYPT('passwd'));
mysql> select * from users where email="support@domain.ru";
+---------------------+---------------+
| email               | password      |
+---------------------+---------------+
| support@domain.ru   | X77m94lRCLxtM |
+---------------------+---------------+
1 row in set (0.00 sec)

t# cat dovecot-sql.conf
driver = mysql
connect = host=127.0.0.1 dbname=mail user=mail password=pass
default_pass_scheme = CRYPT
password_query = SELECT email AS user, password FROM users WHERE email = '%u'
# cat dovecot.conf |grep auth_mechanisms
auth_mechanisms = plain login cram-md5 digest-md5
# cat smtpd.conf
pwcheck_method: saslauthd
mech_list: DIGEST-MD5 CRAM-MD5 PLAIN LOGIN
allow_plaintext: true
auxprop_plugin: mysql
sql_hostnames: 127.0.0.1
sql_user: mail
sql_passwd: passwd
sql_database: mail
sql_select: SELECT password FROM users WHERE email = '%u'

Механизм аутентификации digest-md5 работает!

petav
()

Asterisk Мультилогин

 ,

Есть софт, который может смотреть AMI и ловить все события для номера XXX, о которых рассказывает у себя в интерфейсе «Звонки».

А у абонента два физических номера (на мобильном 101 и на столе 102) и один виртуальный 100 (контекст)

exten=> 100,n,Dial(SIP/101&SIP/102&SIP/104,18,rt)

Если ввести в программу 100 как номер сотрудника, то она не отлавливает звонки, только если ввести 101 или 102 (ввести можно только один номер)

Как это можно разрулить? Сотруднику нужен:

  • Один номер на двух аппаратах;
  • И что бы на него реагировал софт;
petav
()

Guacamole+Postgresql

 ,

Дано:

  • GUACAMOLE 0.9.9
  • Postgresql 9.4
  • Java version «1.7.0_111»

Задача:

  • Хранить данные в базе Postgresql;

Все выполнено по инструкции Chapter 6. Database authentication

# tree /etc/guacamole
/etc/guacamole
├── extensions
│   └── guacamole-auth-jdbc-postgresql-0.9.9.jar
├── guacamole.properties
├── lib
│   └── postgresql-9.4.1211.jre7.jar
├── logback.xml
├── user-mapping.xml
└── user-mapping.xml.back

Не работает. В syslog и логах catalina клиента guacamole ни чего информативного. На что посмотреть еще?

petav
()

Guacomole segfault при disable-audio=false

 disable-audio, guacomole,

guacamole-*-0.9.9
# uname -a
Linux guacamole 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux

Если «disable-audio» = false

<connection name="top-top rdp">
            <protocol>rdp</protocol>
            <param name="disable-audio">false</param>
</connection>
вижу ошибку
Sep 22 22:30:02 guacamole guacd[6532]: Protocol "rdp" selected
Sep 22 22:30:02 guacamole guacd[6532]: Connection ID is "$fb0fca87-4b21-406a-94ff-805ace50aacf"
Sep 22 22:30:02 guacamole guacd[6532]: Security mode: RDP
Sep 22 22:30:02 guacamole guacd[6532]: Loading keymap "base"
Sep 22 22:30:02 guacamole guacd[6532]: Loading keymap "en-us-qwerty"
Sep 22 22:30:02 guacamole guacd[6532]: Starting client
Sep 22 22:30:02 guacamole kernel: [ 6709.844265] guacd[6536]: segfault at 7f14b0a344f0 ip 00007f14b0a344f0 sp 00007f14a59edc98 error 15
Если «disable-audio» = true
<connection name="top-top rdp">
            <protocol>rdp</protocol>
            <param name="disable-audio">true</param>
</connection>
Все ок.

Guacamole сервер в вирт.среде без звуковой карты, в этом дело?

petav
()

Инсталятор debian 8.5 не показывает Raid

 , ,

Доброго дня!

Средствами инсталятора Debian 8.5 разметил raid1 из двух дисков SV300S37A, но после этих действий инсталятор не показал собранный массив как отдельное устройство

Консоль показывает это (hostingkartinok.com). Платформа SYS-1028R-WTR. Диски подключены в sSATA разъемы, сами разъемы в режиме AHCI.

Думаю..., буду благодарен за любую подсказку, если кто сталкивался.

petav
()

Движок Форума

 ,

Подскажите движок форума, что бы посты были видны только тем, кто приглашается в темы. Ну и дизайн 2.0.

petav
()

Multimessenger + callback + tags

 

Задача: Есть система учета заявок, но веб интерфейсом пользуются не все, все беседы по заявкам в почте, аське, jabber. Приходится потом делать выгрузки и прикреплять файлами.

Цель: Синхронизировать беседы с оформленной заявкой автоматически.

Решение: На получение/отправку сообщения в месседжере повесить скрипт дергающий Rest api.

Ищу месседжер:

  • Поддержка большого кол-ва протоколов
  • Возможность помечать беседы тегом (в нашем случае будет номер обращения)
  • Возможность вызывать внешние скрипты при получении/отправке сообщения
  • В скрипте должен быть виден тег.
petav
()

LSI Offline

 ,

С порога, не имел дела с BIOS LSI. Хочу спросить!

Резко выключили свет...

При загрузке компьютера видно, что один массив в режиме Offline. Но диски все на месте.

Жмем Ctrl+M и сразу в лицо сообщение

Какое-то состояние дисков равно этому

Как этим BIOS перевести массив из Offline в Online?

petav
()

Kannel sms-service

 , sms-service

Товарищи. Kannel научил принимать сообщения (вижу как они приходят)! Kannel научил отправлять сообщения, получаю их на мобильный телефон!

Не рабоатет сервис.

Создал

group = sms-service
keyword = default
text = "INCORRECT REQUEST"
concatenation = true
max-messages = 3

group = sms-service
keyword = "123"
text = "HELLO WORLD"
concatenation = true
max-messages = 3

Ожидаю, что если отправить смс с текстом «123» в ответ придет сообщение «HELLO WORLD». В логах вижу как СМС приходит, но в логах с уровнем DEBUG нет ни какой реакции на «123».

Кто силен в этом?

# dpkg -l |grep kannel
ii  kannel                         1.4.3-2+b2                  amd64        WAP and SMS gateway

# uname -a
Linux sms 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2+deb8u3 (2016-07-02) x86_64 GNU/Linux

petav
()

Получение СМС

 , sqlbox

Доброго.

Не могу понять плагин Kannel sqlbox имеет возможность автоматом писать входящие смс в базу?

petav
()

kernel panic

 

~$ uname -a
Linux node2 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 GNU/Linux
~$ cat /proc/cpuinfo |grep -e "model name"
model name      : Intel(R) Core(TM) i5 CPU         650  @ 3.20GHz
model name      : Intel(R) Core(TM) i5 CPU         650  @ 3.20GHz
model name      : Intel(R) Core(TM) i5 CPU         650  @ 3.20GHz
model name      : Intel(R) Core(TM) i5 CPU         650  @ 3.20GHz
KiB Mem:   3984040 total,   206928 used,  3777112 free,    11080 buffers
KiB Swap:  3903484 total,        0 used,  3903484 free.    83344 cached Mem

Во время указаных действия наблюдается kernel panic

В лог syslog ни чего не попадает. Как глубже диагностировать?

petav
()

Прочесть переменные из файла

 

Создаю пользователя

 user { 'ivanov_i':
                ensure           => 'present',
                home             => '/dev/null',
                shell            => '/bin/false',
                password         => 'pass123',
                groups           => ['nogroup'],
                comment          => 'ivanov_i',
}
        
добавляю его в samba
exec {"/bin/bash -c '(echo pass123; echo pass123) | smbpasswd -s -a ivanov_i'":
                path => ['/usr/bin', '/usr/sbin', '/bin'],
                user => 'root',
                unless => 'id ivanov_i',
        }

Но, есть файл на 100 строк.

...
ivanov_i staff pass123
petrov_p boss pass456
...

Хочется как-то его прочесть и выполнить просто 100 итераций создания пользователя и добавления его в samba.

petav
()

ITIL. IM и CM

 itil

Позвольте полюбопытсовать к какому процессу ITIL Вы отнесли бы эту деятельность к управлению инцидентами или изменениями.

  1. Организовать новое рабочее место. Подключить оператора к ИС;
  2. Заменить неисправный жесткий диск в сервере;
  3. Обнвоить операционную систему на сервере kf54;
  4. Расшарить папку со звукозаписями АТС в сеть для Иванова ИК;
  5. Добавить новый коммутатор в стек.
petav
()

Самоперключающийся KVM

 

Два компьютера. Чем бы сделать так, что бы если мышь упирается в правый угол монитора, KVM переключатель понимал это и переключал упарвление на второй компьютер (правый) и наоборот, если мышь упирается в левый край монитора, то переключение осуществлялось на левый компьютер.

petav
()

64-bit debian not install

 , ,

Дано:

Инсталирую debian 8 с флешки.

  • Установка 32 битная версии запускается;
  • Установка 64 битной версии, приводит к перезагрузке компьютера, без каких либо сообщений.

Что не так? Планка памяти одна, работает в single mode, память тестировал вроде ок!

petav
()

Организация манифестов

 

# dpkg -l |grep puppet
ii  facter                             2.4.4-1puppetlabs1            all          Ruby module for collecting simple facts about a host operating system
ii  hiera                              1.3.4-1puppetlabs1            all          A simple pluggable Hierarchical Database.
ii  puppet-common                      3.8.4-1puppetlabs1            all          Centralized configuration management
ii  puppet-dashboard                   1.2.23-1puppetlabs1           all          Dashboard for Puppet
ii  puppetlabs-release                 1.0-11                        all          "Package to install Puppet Labs gpg key and apt repo"
ii  puppetmaster                       3.8.4-1puppetlabs1            all          Centralized configuration management - master startup and compatibility scripts
ii  puppetmaster-common                3.8.4-1puppetlabs1            all          Puppet master common scripts

Включил опцию

parser = future
в разделах main и master файла puppet.conf puppet-сервера.

Оно заругалось, что директива import не поддерживается. Почитал Directories: The Main Manifest(s). Ок, вынес файлы в корень папки

root@puppet:/etc/puppet/manifests# ls -l
total 16
-rw-r--r-- 1 root root 1525 May 17 13:20 01_all_nodes.pp
-rw-r--r-- 1 root root  402 May 17 12:05 node_1.pp
-rw-r--r-- 1 root root  361 Dec 20 12:57 node_2.pp
-rw-r--r-- 1 root root 1072 May 16 14:23 node_3.pp
Проверил включился ли режим будущего
root@puppet:/etc/puppet# puppet config print |grep parser
parser = future
На клиенте выполняю
root@node_1:/etc/puppet# puppet agent --verbose --test
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for node_1
Info: Applying configuration version '1463484819'
Notice: Finished catalog run in 0.29 seconds
Клиент перестал видеть инструкции для себя в каталоге.

petav
()