Автор Тема: VtigerCRM+Asterisk+FreePBX  (Прочитано 20823 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Graf

  • Администратор
  • Ветеран
  • *
  • Сообщений: 656
  • Репутация: +26/-0
    • Просмотр профиля
    • SlackWare
VtigerCRM+Asterisk+FreePBX
« : 24 Март 2012, 18:35:04 »
Wiki формат


==============
Обсуждаем ТУТ
==============

НЕ УСТАНАВЛИВАЙТЕ ПАРОЛИ СО СПЕЦ СИМВОЛАМИ (!»№;%:?*()_=+) !!!

Дано:
IP сервера, где все это будет стоять - 192.168.10.234

=======  VTIGER  =======
- Скачиваем последнюю версию vtigercrm в исходных кодах  *.tar.gz с http://www.vtiger.com/get-started/download
Распаковываем  файл в /var/www/htcdocs

- Настраиваем MySQL
# mkdir /var/lib/mysql/mysql
# mysql_install_db
# chown -R mysql.mysql /var/lib/mysql/mysql
# /etc/rc.d/rc.mysqld start
# mysql

mysql> set password for 'root'@'localhost' = password('mypassword');
           mysql> FLUSH PRIVILEGES;
mysql>\q

- Создаем юзверя и группу
# mkdir /var/lib/asterisk
# groupadd asterisk                                                                                                                                                                                                                 
# useradd -c "asterisk PBX" -d /var/lib/asterisk -g asterisk asterisk

- Правим /etc/httpd/httpd.conf
User asterisk
Group asterisk
 # Uncomment the following line to enable PHP:
 #
Include /etc/httpd/mod_php.conf

- Правим  /etc/httpd/php.ini
upload_max_filesize = 20M
date.timezone = Europe/Moscow
display_errors =  On
max_execution_time = 600
error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE
allow_call_time_pass_reference = On
log_errors = Off
short_open_tag = On

- Даем права
# chown -R asterisk:asterisk /var/www/htdocs/vtigercrm
# chown -R asterisk:asterisk /var/lib/php

- Перезапуск апач
# /etc/rc.d/rc.httpd restart
- Запускаем инсталятор через браузер http://192.168.10.234/vtigercrm/index.php

соглашаемся с лицензией и должны увидеть такое окно:



далее скажет, что не все параметры совпадают (потомучто есть NOT RECOMMENDED), говорим «Next» и видим такое окно;
( влевом окне пароли к мускулу, вправом пароль admina для входа в vtiger )



Проверив все введенные даные говорим  «Next» и по завершению получаем эти два окна:





входим в систему, введя пароль, тот что задали при инсталяции




- руссифицируем vtiger

берем последнюю версию русской локали http://www.vtiger.ru/index.php?option=com_jdownloads&Itemid=94&task=viewcategory&catid=9

Заходим в
      Settings → Module Manager → Custom Modules → Import New
выбираем скаченный файл (*.zip), нажимаем на кнопки «Import» и «Yes»
перезаходим, выбрав русский язык в окне приглашения и получаем русский ТИГР :)

- Если сменили пароль в мускул уже после установки vtiger, то заходим в мускул и говорим:
# mysql -u root -p

mysql> GRANT ALL PRIVILEGES ON vtigercrm521.* TO 'root'@'%' IDENTIFIED BY 'пароль_root';
mysql> FLUSH PRIVILEGES;
mysql>\q

==============
Обсуждаем ТУТ
==============
« Последнее редактирование: 18 Ноябрь 2013, 10:10:41 от Graf »
С кем поведёшься - так тебе и надо!
===== http://slackware.su =====

Оффлайн Graf

  • Администратор
  • Ветеран
  • *
  • Сообщений: 656
  • Репутация: +26/-0
    • Просмотр профиля
    • SlackWare
VtigerCRM+Asterisk+FreePBX
« Ответ #1 : 24 Март 2012, 19:04:36 »

==============
Обсуждаем ТУТ
==============

НЕ УСТАНАВЛИВАЙТЕ ПАРОЛИ СО СПЕЦ СИМВОЛАМИ (!»№;%:?*()_=+) !!!


=======  ASTERISK  =======

- Скачиваем  c http://downloads.asterisk.org/pub/telephony/dahdi-linux, распаковываем и устанавливаем последнюю версию DAHDI:
# make
# make install

- Скачиваем c  http://downloads.asterisk.org/pub/telephony/dahdi-tools, распаковываем и устанавливаем последнюю версию DAHDI-tools:
# ./configure
# make
# make install
# make config

- Скачиваем c http://downloads.asterisk.org/pub/telephony/libpri, распаковываем и устанавливаем последнюю версию libpri:
# make all
# make install

- Скачиваем c http://downloads.asterisk.org/pub/telephony/asterisk/releases, распаковываем и устанавливаем последнюю версию  ядра ASTERISK:
# ./configure
# make menuconfig
# make
# make install
# make samples
# make progdocs

- Устанавливаем веб интерфейс для голосовой почты, для этого изменим в файле ./Makefile строку

HTTP_DOCSDIR=/var/www/htm
на
HTTP_DOCSDIR=/var/www/htdocs

и говорим
# make webvmail

- Скачиваем с http://downloads.asterisk.org/pub/telephony/asterisk/releases, распаковываем и устанавливаем последнюю версию  Asterisk-addons, (для версий 1.8 и выше не нужен)
# ./configure
# make
# make install
# make samples

- Создадим скрипт для запуска asterisk - rc.asterisk, положим его в /etc/rc.d/ и не забудем дать права на запуск.
#!/bin/sh                                                                                                                                                                                                                                   
AST_CONFIG=/etc/asterisk
AST_SBIN=/usr/sbin

. /etc/rc.d/init.d/functions

if ! [ -x $AST_SBIN/asterisk ] ; then
        echo "ERROR: /usr/sbin/asterisk not found"
        exit 0
fi

if ! [ -d $AST_CONFIG ] ; then
        echo "ERROR: $AST_CONFIG directory not found"
        exit 0
fi

DAEMON=$AST_SBIN/asterisk
SAFE_ASTERISK=$AST_SBIN/safe_asterisk
CONFIG0=`readlink $0`
if [ "$CONFIG0" = "" ]; then
        CONFIGFILE=/etc/sysconfig/`basename $0`
else
        CONFIGFILE=/etc/sysconfig/`basename $CONFIG0`
fi
[ -x $CONFIGFILE ] && . $CONFIGFILE

RETVAL=0

start() {
        # Start daemons.
        echo -n $"Starting asterisk: "
        if [ -f $SAFE_ASTERISK ] ; then
                DAEMON=$SAFE_ASTERISK
        fi
        if [ $AST_USER ] ; then
                ASTARGS="-U $AST_USER"
        fi
        if [ $AST_GROUP ] ; then
                ASTARGS="$ASTARGS -G $AST_GROUP"
        fi
        if [ $AST_CONFIG ]; then
                ASTARGS="$ASTARGS -C $AST_CONFIG"
        fi
        daemon $DAEMON $ASTARGS
        RETVAL=$?
        [ $RETVAL -eq 0 ] && touch /var/lock/asterisk
        echo
        return $RETVAL
}
 
stop() {
        # Stop daemons.
        echo -n $"Shutting down asterisk: "
        killproc asterisk
        RETVAL=$?
        [ $RETVAL -eq 0 ] && rm -f /var/lock/asterisk
        echo
        return $RETVAL
}
 
restart() {
        stop
        start
}

reload() {
        $DAEMON -rx 'reload' > /dev/null 2> /dev/null
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        restart
        ;;
  reload)
        reload
        ;;
  condrestart)
        [ -f /var/lock/subsys/asterisk ] && restart || :
        ;;
  status)
        status asterisk
        ;;
  *)
        echo "Usage: asterisk {start|stop|restart|reload|condrestart|status}"
        exit 1
esac

exit $?

- Стартуем asterisk
# /etc/rc.d/rc.asterisk start

- Заходим в консоль астериска, дабы убедиться, что он работает
# asterisk -rvvv

Asterisk 1.6.2.20, Copyright (C) 1999 - 2010 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
  == Parsing '/etc/asterisk/asterisk.conf':   == Found
  == Parsing '/etc/asterisk/extconfig.conf':   == Found
Connected to Asterisk 1.6.2.20 currently running on XXXXX (pid = 3718)
Verbosity is at least 3
*CLI>

Как видим - работает!
Для выхода из консоли нужно набрать exit


==============
Обсуждаем ТУТ
==============

« Последнее редактирование: 24 Март 2012, 20:13:01 от admin »
С кем поведёшься - так тебе и надо!
===== http://slackware.su =====

Оффлайн Graf

  • Администратор
  • Ветеран
  • *
  • Сообщений: 656
  • Репутация: +26/-0
    • Просмотр профиля
    • SlackWare
Re: VtigerCRM+Asterisk+FreePBX
« Ответ #2 : 24 Март 2012, 19:25:21 »

==============
Обсуждаем ТУТ
==============

НЕ УСТАНАВЛИВАЙТЕ ПАРОЛИ СО СПЕЦ СИМВОЛАМИ (!»№;%:?*()_=+) !!!


=======  FreePBX =======


- Скачиваем FreePBX c  http://www.freepbx.org/download-freepbx,  расспаковываем и в каталоге с прогой создаем таблицы (вводим рутовый пароль мускула):
# mysqladmin create asteriskcdrdb -p
# mysql -u root -p asteriskcdrdb < ./SQL/cdr_mysql_table.sql
# mysqladmin create asterisk -p
# mysql -u root -p asterisk < ./SQL/newinstall.sql

- Даем права на базы
# mysql -u root -p

  mysql> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'пароль';
  mysql> GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'можно тот же пароль';
  mysql> FLUSH PRIVILEGES;
  mysql> quit

- Даем права на каталоги
# chown –R asterisk:asterisk /var/lib/asterisk
# chown –R asterisk:asterisk /var/log/asterisk
# chown –R asterisk:asterisk /var/run/asterisk
# chown –R asterisk:asterisk /var/spool/asterisk
# chown –R asterisk:asterisk /usr/lib/asterisk
# chmod –R 0770 /var/lib/asterisk
# chmod –R 0770 /var/log/asterisk
# chmod –R 0770 /var/run/asterisk
# chmod –R 0770 /var/spool/asterisk
# chmod –R 0770 /usr/lib/asterisk

- Перезапускаем апач и астериск:
# /etc/rc.d/rc.httpd restart
# /etc/rc.d/rc.asterisk restart

- Если версия FreePBX > 2.8.x.x, то редактируем файл ./amp_conf/htdocs/admin/librarie/utility.functions.php
 комментируем использование функции  dbug_write()
//dbug_write($txt);                                                                                                                                   
if ($dump==1) {//force output via var_dump                                                                                                         
ob_start();                                                                                                                                 
var_dump($msg);                                                                                                                             
$msg=ob_get_contents();                                                                                                                     
ob_end_clean();                                                                                                                             
//dbug_write($msg."\n\n\n");                                                                                                                 
elseif(is_array($msg)||is_object($msg)) {                                                                                                         
//dbug_write(print_r($msg,true)."\n\n\n");                                                                                                   
else {                                                                                                                                           
//dbug_write($msg."\n\n\n")

- Устанавливаем PEAR DB:
# pear install DB

- В каталоге с FreePBX устанавливаем его и отвечаем на вопросы.
# ./install_amp

Checking for PEAR DB..OK
Checking for PEAR Console::Getopt..OK
Checking user..OK
Checking if Asterisk is running..running with PID: 4240..OK
Checking for /etc/amportal.conf../etc/amportal.conf does not exist, copying default
Creating new /etc/amportal.conf
Enter your USERNAME to connect to the 'asterisk' database:
 [asteriskuser]
Enter your PASSWORD to connect to the 'asterisk' database:
 [amp109] пароль_что_дали_в_мускуле
Enter the hostname of the 'asterisk' database:
 [localhost]
Enter a USERNAME to connect to the Asterisk Manager interface:
 [admin]
Enter a PASSWORD to connect to the Asterisk Manager interface:
 [amp111] пароль_под_которым_будет_заходить_admin_в_гуй
(не понятно зачем надо, ибо всеравно входим с паролем «admin»)
Enter the path to use for your AMP web root:
 [/var/www/html]
/var/www/htdocs
Enter the IP ADDRESS or hostname used to access the AMP web-admin:
 [xx.xx.xx.xx] IP_для_подключения_к_веб_морде_по_сети (я дал 192.168.10.234)
Enter a PASSWORD to perform call transfers with the Flash Operator Panel:
 [passw0rd] пароль_для_подключения_к_панели_оператора
Use simple Extensions [extensions] admin or separate Devices and Users [deviceanduser]?
 [extensions]
Enter directory in which to store AMP executable scripts:
 [/var/lib/asterisk/bin]

Enter directory in which to store super-user scripts:
 [/usr/local/sbin]
/usr/sbin

Please update your modules and reload Asterisk by visiting http://192.168.10.234/admin

*************************************************************************
* Note: It's possible that if you click the red 'Update Now' bar BEFORE *
* updating your modules, your machine will start dropping calls. Ensure *
* that all modules are up to date BEFORE YOU CLICK THE RED BAR. As long *
* as this is observed, your machine will be fully functional whilst the *
* upgrade is in progress.                                               *
*************************************************************************

Если вдруг ошиблись или выдало ошибку, после исправления удаляем файл /etc/amportal.conf и заново устанавливаем. Или говорим
#./install_amp --username=asteriskuser --password=пароль_что_дали_в_мускуле
- Для верности
# amportal stop
# amportal start
   Fetching FreePBX settings with gen_amp_conf.php..

   SETTING FILE PERMISSIONS
   Permissions OK

   STARTING ASTERISK
   Asterisk Started

   STARTING FOP SERVER
   FOP Server Started

- Для входа в FreePBX используем логин-пароль admin admin
- для смены пароля: ( взято с http://wiki.opencsta.org/index.php/FreePBX_-_password_sha1_change_in_database_for_admin_to_reset_lost_password )

создаем файл  new-freepbx-password.php  вот с таким содержимым:
<?php
  $newpassword 
'somethingNEW123';
  echo 
sha1($newpassword) ;
?>


Далее командуем:
# chmod a+x new-freepbx-password.php
# php -f new-freepbx-password.php

658b27d9ab363eaab080ea65da35ceed21908fe5

копируем в буфер полученное значение и в мускуле вставляем в таблицу:
# mysql -u root -p
   Enter password:

  mysql> use asterisk;
  Database changed

  mysql> update ampusers set password_sha1 = '658b27d9ab363eaab080ea65da35ceed21908fe5' where username = 'admin' limit 1;
   Query OK, 1 row affected (0.00 sec)
  Rows matched: 1  Changed: 1  Warnings: 0
 
  mysql> quit

все можно входить во FreePBX
login: admin
пароль: somethingNEW123

==============
Обсуждаем ТУТ
==============

« Последнее редактирование: 24 Март 2012, 20:14:12 от admin »
С кем поведёшься - так тебе и надо!
===== http://slackware.su =====

Оффлайн Graf

  • Администратор
  • Ветеран
  • *
  • Сообщений: 656
  • Репутация: +26/-0
    • Просмотр профиля
    • SlackWare
Re: VtigerCRM+Asterisk+FreePBX
« Ответ #3 : 24 Март 2012, 20:02:08 »

==============
Обсуждаем ТУТ
==============

НЕ УСТАНАВЛИВАЙТЕ ПАРОЛИ СО СПЕЦ СИМВОЛАМИ (!»№;%:?*()_=+) !!!

=======  Объединяем =======

- Для удобства приведем файл /var/www/htdocs/index.html к вот такому виду:
<HTML>                                                                                                                                                     
<HEAD>                                                                                                                                                     
<head>                                                                                                                                                     
    <title>FreePBX</title>                                                                                                                                 
    <meta http-equiv="Content-Type" content="text/html">                                                                                                   
    <link href="mainstyle.css" rel="stylesheet" type="text/css">.                                                                                           
</head>                                                                                                                                                     
                                                                                                                                                           
<body>                                                                                                                                                     
<div id="page">                                                                                                                                             
                                                                                                                                                           
<div class="header">                                                                                                                                       
                                                                                                                                                           
    <a href="index.php"><img src="admin/images/freepbx.png"/></a>                                                                                           
                                                                                                                                                           
</div>                                                                                                                                                     
                                                                                                                                                           
<div class="message">                                                                                                                                       
        Welcome to company !                                                                                                                             
</div>                                                                                                                                                     
                                                                                                                                                           
<div class="content">                                                                                                                                       
<h4><a href="recordings/index.php">Voicemail & Recordings (ARI)</a></h4>                                                                                   
<h4><a href="panel/index.php">Flash Operator Panel (FOP)</a></h4>                                                                                           
<h4><a href="admin/index.php">FreePBX Administration</a></h4>                                                                                               
<h4><a href="vtigercrm/index.php">VtigerCRM</a></h4>                                                                                                       
<br><br><br><br><br><br>                                                                                                                                   
</div>                                                                                                                                                     
                                                                                                                                                           
<------></div>                                                                                                                                             
                                                                                                                                                           
</body>                                                                                                                                                     
</html>                                         

И настроим Vtiger для звонков. ( http://wiki.vtiger.com/index.php/PBX_Manager_Module )
Необходимо, что бы внутренние номера пользователей уже были в Asterisk'е !
Для связи с Asterisk'ом:
Настройки →  Менеджер Модулей → Менеджер PBX



- далее для каждого пользователя тигра вводим его внутренний номер и разрешаем звонки.
Мои Настройки →Конфигурация Asterisk



- чтобы звонки поступали в vtiger надо запустить скрипт, а еще лучше, добавить путь к скрипту в /etc/rc.d/rc.local - чтоб стартовал при пуске системы.
# /var/www/vtigercrm/cron/modules/PBXManager/AsteriskClient.php
Connecting to asterisk server @ 2011-11-14 07:16:05
Connected successfully

Trying to login to asterisk
Logged in successfully to asterisk server

перед запуском скрипта или в случаи ошибки проверим файл /etc/asterisk/manager.conf правим и рестартуем asterisk.
[general]                                                                                                                                                   
enabled = yes                                                                                                                                               
port = 5038                                                                                                                                                 
bindaddr = 0.0.0.0                                                                                                                                         
displayconnects=no ;only effects 1.6+                                                                                                                       
                                                                                                                                                           
[admin]                                                                                                                                                     
secret = пароль
deny=0.0.0.0/0.0.0.0                                                                                                                                       
permit=127.0.0.1/255.255.255.0                                                                                                                             
read = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate                                                     
write = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate

Сюда же можно добавить отдельного пользователя для соеденения vtiger.

Тперь после заведения контрагента (клиента), кликаем на на его номер телефон и звонм прямо из vtiger. При этом сначала звонок идет на ваш внутренний номер и пявляется такое окошко .




==============
Обсуждаем ТУТ
==============
« Последнее редактирование: 18 Ноябрь 2013, 10:15:20 от Graf »
С кем поведёшься - так тебе и надо!
===== http://slackware.su =====

 

Copyright (c) Aiwan. Kolobok Smiles

@Mail.ru