LINUX.ORG.RU

Сообщения petav

 

FollowMe без объявлений

 ,

exten=> _1XX,n,Dial(SIP/${EXTEN},40,rt)
exten=> _1XX,n,FollowMe(${EXTEN},s)

Есть ли какая магия options для FollowMe, которая бы заставила его не объявлять, не спрашивать у звонящего, а просто искать абонента и соединять.

Я из manual понял, что нет, но вдруг ошибся и есть методика?

petav
()

Лучшая практика хранения puppet environments в git

 ,

Использую окружения, хочется хранить окружения в git. Как лучше всего это организовать, по какой схеме? Кто, к чему пришел?

Git Workflow and Puppet Environments + 7.3 Настройка Git - Перехватчики в Git выглядит удобно.

petav
()

ChallengeSent Asterisk

 ,

На PBX в журнале вижу как 27@194.247.165.16 ломится, но авторизоватся не пытается:

[Feb 22 13:07:19] SECURITY[15571]: res_security_log.c:134 security_event_cb: SecurityEvent="ChallengeSent",EventTV="1487761639-552512",Severity="Informational",Service="SIP"
,EventVersion="1",AccountID="sip:27@194.247.165.165",SessionID="0x7f01a0004a78",LocalAddress="IPV4/UDP/192.227.145.125/5060",RemoteAddress="IPV4/UDP/62.138.14.136/5077",Challenge="28d79eb2
Поэтому я не вижу собятия неуспешной авторизации и не могу заблокировать 194.247.165.16.

Проблема в том, что любому соединению указанное выше событие предшествувет:

[Feb 22 13:13:12] SECURITY[15571]: res_security_log.c:134 security_event_cb: SecurityEvent="ChallengeSent",EventTV="1487761992-861024",Severity="Informational",Service="SIP" ,EventVersion="1",AccountID="100",SessionID="0x7f01a0004a78",LocalAddress="IPV4/UDP/192.227.145.125/5060",RemoteAddress="IPV4/UDP/195.196.110.5/5060",Challenge="6b650f6b"
    -- Registered SIP '100' at 195.196.110.5:5060
Поэтому заблокировать источник не могу.

В sip.conf

allowguest=no
alwaysauthreject = yes

Да! Порт 5060 и соответственно регистрацию спрятать в туннель.
Да! Сменить порт.
но может с этим еще можно поработать?

petav
()

Multi language

 ,

В главном меню на трех языках сообщается, что если вы говорите на английском нажмите 1, если на русском 2 и т.д. Соотвественно, создал директории в папке sounds:

# tree sounds
sounds
├── en_My
│   ├── departament.wav
│   └── queue-callswaiting.wav
├── md_My
│   ├── departament.wav
│   └── queue-callswaiting.wav
├── ru_My
│   ├── departament.wav
│   └── queue-callswaiting.wav
└── xx_My
    ├── welcome.gsm
    └── welcome.wav

4 directories, 8 files

и реализовал диалплан:

[menu_lang] ;; Меню
exten=> s,1(timeout),Answer
exten=> s,n,Set(CHANNEL(language)=xx_My)
exten=> s,n,Background(welcome);
exten=> s,n,Read(var,,1,,2)
exten=> s,n,GotoIf($["${var}" == ""]?timeout)
exten=> 1,1,Set(CHANNEL(language)="md_My")
exten=> 1,n,Goto(menu_dep,s,1)
exten=> 2,1,Set(CHANNEL(language)="en_My")
exten=> 2,n,Goto(menu_dep,s,1)
exten=> 3,1,Set(CHANNEL(language)="ru_My")
exten=> 3,n,Goto(menu_dep,s,1)

но он не работает.

petav
()

Два define в одной области переменных

 ,

# cat init.pp
  include certbot

  #первый define
  certbot::certonly {"123":
    webroot => '/var/www/example',
    mail => 'it@example.ru',
    domains => ['example.ru'],
    renew_cron => Hash[String, Integer, 2],
    force_renewal => false,
  }

  #второй define
  certbot::renew {"123":
    service => apache2,
  }

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

certbot certonly --webroot -w  -d  -m  -t --agree-tos 
как области переменных при инициализации объеденить? Использую lukrop/puppet-certbot

petav
()

Not authorized to call find on

 

Разметил новое окружение

# tree
.
├── manifests
│   └── site.pp
└── modules
    └── asterisk
        ├── files
        │   ├── extensions.conf
        │   ├── extensions-macro.conf
        │   ├── extensions-menu.conf
        │   ├── queues.conf
        │   ├── sip.conf
        │   └── users.conf
        └── manifests
            └── init.pp

5 directories, 8 files
# cat manifests/site.pp

node 'nodename' {
  class {'asterisk':}  
}

cat modules/asterisk/manifests/init.pp
class asterisk {
  ##############################################
  ###                                        ###
  ###                Asterisk                ###
  ###                                        ###
  ##############################################
  $asterisk_packages = [ asterisk ]
  package { $asterisk_packages:
    ensure => present,
  }

  file { '/etc/asterisk':
    ensure  => directory,
    source => "puppet:///asterisk/",
    audit => 'content',
    owner   => 'asterisk',
    group   => 'asterisk',
    purge => 'false',
  }
}

На попытку создать в директории /etc/asterisk файлы получаю в агенте ошибку:

Error: /Stage[main]/Asterisk/File[/etc/asterisk]: Could not evaluate: Could not retrieve file metadata for puppet:///asterisk: Error 400 on SERVER: Not authorized to call find on /file_metadata/asterisk with {:links=>"manage", :source_permissions=>"use"}
Wrapped exception: Error 400 on SERVER: Not authorized to call find on /file_metadata/asterisk with {:links=>"manage", :source_permissions=>"use"}

petav
()

Рассказать Intel кто она

 ,

Доброго, есть собранная платформа Intel: Корпус, Передняя панель и Motherboard.

Эта платформа про себя ни чегo не знает и я думаю хочет, что бы я ей об этом рассказал. Мне как бы все равно на ее желания, но есть мнение пока я этого не сделаю, она не перестанет гонять турбины на максимальных оборотах.

Что скачать, что бы провести обучение?

petav
()

Patch не находит существующий файл

 

Накладываю Пакет обновления №1 на SalesPlatform Vtiger CRM 6.5.0-201611

root@vtigercrm:/var/www/vtigercrm2# patch --dry-run -p 1 < salesplatform-vtiger-sp-650201611-01.patch
patching file config.template.php
patching file data/CRMEntity.php
patching file languages/en_us/EmailTemplates.php
patching file languages/en_us/PBXManager.php
patching file languages/en_us/ProjectTask.php
patching file languages/en_us/RecycleBin.php
patching file languages/en_us/SMSNotifier.php
patching file languages/en_us/SPPDFTemplates.php
patching file languages/en_us/SPSocialConnector.php
patching file languages/en_us/Vtiger.php
patching file languages/ru_ru/Faq.php
patching file languages/ru_ru/HelpDesk.php
patching file languages/ru_ru/Home.php
patching file languages/ru_ru/Settings/ExtensionStore.php
patching file languages/ru_ru/Users.php
patching file languages/ru_ru/Vtiger.php
patching file layouts/vlayout/modules/HelpDesk/SummaryViewWidgets.tpl
patching file layouts/vlayout/modules/Import/Import_Finish_Buttons.tpl
patching file layouts/vlayout/modules/Potentials/SummaryViewWidgets.tpl
patching file layouts/vlayout/modules/Potentials/dashboards/TopPotentialsContents.tpl
patching file layouts/vlayout/modules/Project/SummaryViewWidgets.tpl
patching file layouts/vlayout/modules/Settings/LayoutEditor/Index.tpl
patching file layouts/vlayout/modules/Users/resources/Edit.js
patching file layouts/vlayout/modules/Vtiger/SummaryViewWidgets.tpl
patching file libraries/csrf-magic/csrf-magic.php
patching file modules/CustomView/PopulateCustomView.php
patching file modules/CustomView/actions/Approve.php
patching file modules/CustomView/actions/Deny.php
patching file modules/Install/models/Utils.php
patching file modules/Invoice/InvoiceHandler.php
patching file modules/Migration/schema/650-201611_to_650-201701.php
patching file modules/SMSNotifier/models/Record.php
patching file modules/Settings/Vtiger/actions/CompanyDetailsSave.php
patching file modules/Users/Users.php
patching file modules/Users/actions/SaveAjax.php
patching file modules/Users/models/Record.php
patching file pkg/vtiger/translations/Russian/modules/Faq.php
patching file pkg/vtiger/translations/Russian/modules/HelpDesk.php
patching file pkg/vtiger/translations/Russian/modules/Home.php
patching file soap/customerportal.php
can't find file to patch at input line 828
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -r 3b96a8386060 -r e6c03eaed449 spServicePackVersion.txt
|--- a/spServicePackVersion.txt	Fri Nov 18 11:45:08 2016 +0400
|+++ b/spServicePackVersion.txt	Tue Dec 20 18:49:47 2016 +0300
--------------------------
File to patch: ^C
Но файл существует
root@vtigercrm:/var/www/vtigercrm2# ls -l soap/customerportal.php
-rwxrwxr-x 1 www-data www-data 160237 Янв 29 14:03 soap/customerportal.php
Не возъму в толк, в чем дело?

petav
()

Длительный и ветвистый процесс

 

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

У нас есть сделка с клиентом в CRM (vtiger, amo, odoo), сделка это процесс проведения клиента к деньгам на счете. В процессе проведения создаются, модифицируются документы многими людьми.

Вопрос! Vожно ли в Алфреско создать процесс, который будет соответствовать сделке «Документооборот по сделке с Роснефтью», жить на протяжении работы по всей сделке, ветвиться по задачам, возвращаться в продуктвиную ветку. И что бы потом войдя на начало процеса можно было бы просмотерть как над документами этой сделки работали.

petav
()

Оффлайн сообщения на почту

 , ,

Собствено, имеется ejabber. Сообщения хранятся во внутренней базе
Требуется, отправлять offline сообщение на почту из карточки пользователя.

Ищу подсказки к архитектуре этого решения.

petav
()

SSL сертификат. Разные сервисы. Один домен.

 , ,

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

Сервисы висящие на mydomain.ru

  • jabber (ejabberd)
  • mail (postfix, dovecot)
  • http (apache2)

используют самоподписанные сертификаты. Сторонним сервисам/приложениям это перестало нравится Причина дисконекта.

Выход купить «недорого» сертификат. Выбор пал на AlphaSSL

  • Доступный для физических лиц;
  • Защищает не только домен mydomain.ru, но и субдомены *.mydomain.ru;
  • Валидирует только принадлежность домена владельцу.

Этот AlphaSSL прикрутится ко всем сервисам IMAP, XMPP, HTTP или что-то надо учесть?

Предпологаемый алгоритм действий:

  • На своей рабочей станции создаю CRS(Certificate Signing Request)
    openssl genrsa -out private.key 2048
  • В личной кабинет копирую запрос и жду выпуска сертификата
  • По получению подключаю к сервисам apache2, postfix, jabber через их конф. файлы
petav
()

Замена

 

Положим в папке «Клиент» есть два файла:

  • info.txt - хранятся ключ: значение, к примеру ИНН: 12312423
  • Договор - текст договора где надо заменить все «ИНН» на «ИНН:12312423»

Как можно в архитектуре alfresco удобно взять данные из одного места и провести соотвествующие поиск/замену в другом. (В реальности данные первого файла могут храниться в удаленном API другой системы)

petav
()

Прчина дисконекта

 ,

Dec 14 11:25:15 postfix postfix/smtpd[25239]: connect from mailbackend.009.serversru.prods.amocrm.ru[88.212.249.24]
Dec 14 11:25:15 postfix postfix/smtpd[25239]: lost connection after CONNECT from mailbackend.009.serversru.prods.amocrm.ru[88.212.249.24]
Dec 14 11:25:15 postfix postfix/smtpd[25239]: disconnect from mailbackend.009.serversru.prods.amocrm.ru[88.212.249.24]
Dec 14 11:25:15 imap-login: Info: Disconnected (no auth attempts in 0 secs): user=<>, rip=88.212.249.24, lip=192.168.206.18, TLS, session=<H6iIE5pDdwBY1PkY>

Подскажите как прояснить причину «lost connection after CONNECT». Получается что «mailbackend.009.serversru.prods.amocrm.ru» совершает CONNECT, ему что-то не нравится и он рвет связь?

petav
()

roundcube, postfix и сторонние imap папки

 , , , ,

В корп.почтовый клиент пользователей Roundcube (к серверу Postfix) подключить аккаунт imap от сервера alfresco (что бы документы были под рукой)

Похоже только один вариант: Сервер postfix свой собственный может можно как-то на нем подключить сторонние imap папки (типа «imap-прокси») в существующие учетки пользователей, потому как вариантов «много аккаунтов» в roundcube я не нашел.

?

petav
()

agava.net

 

На хостинге Agawa (по все видимости) работает веб-приложение, которому надо слать почту через postfix. Когда оно это делает postfix возмущается на это так:

Dec  8 16:36:46 postfix postfix/smtpd[32227]: warning: hostname u11134.col.agava.net does not resolve to address 89.108.108.194
Dec  8 16:36:46 postfix postfix/smtpd[32227]: connect from unknown[89.108.108.194]
Dec  8 16:36:46 postfix postfix/smtpd[32227]: lost connection after CONNECT from unknown[89.108.108.194]
Dec  8 16:36:46 postfix postfix/smtpd[32227]: disconnect from unknown[89.108.108.194]
Dec  8 16:37:46 postfix postfix/smtpd[32227]: warning: hostname static.89.108.117.217.ipv4.agava.net does not resolve to address 89.108.117.217: Name or service not known
Dec  8 16:37:46 postfix postfix/smtpd[32227]: connect from unknown[89.108.117.217]
Dec  8 16:37:46 postfix postfix/smtpd[32227]: disconnect from unknown[89.108.117.217]

Как лучше быть на стороне postfix, что бы не уронить безопасность и дать этому приложению возможность работать?

petav
()

Мультифон СМС

 ,

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

Если есть поделитесь рабчей информацией как с помощью asterisk/kannel получать и отправлять СМС-ки мегафон/мультифон.

P.S.: Имеется ввиду, либо мультифон, либо обычная отправка как через симку, без покупки SMPP у провайдера.

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
()

RSS подписка на новые темы