OpenSource

FreeSWITCHСегодня у нас есть FreeSWITCH с подключенными телефонами и отдельно у менеджеров установлен Terrasoft CRM. Необходимо обеспечить возможность определения имени из Terrasoft CRM звонящего абонента на SIP-телефонах. Для этого я написал PHP-скриптик:

Задача следующая: поступает вызов на один наш особый номер (только на этот номер) от абонента группе наших сотрудников. Сотрудник отвечает, общается с абонентом и абонент кладет трубку. Теперь начинается самое интересное, тот кто из группы поговорил с абонентом, надо коммутировать на руководителя отдела. Конечно, сотрудник может и сам потом перезвонить руководителю — но нет, его надо туда перевести 🙂 Вот как это можно решить на FreeSWITCH (99051000114579 — наш особый номер, 2000 — это номер группы, а 1000 — это номер руководителя отдела):

<extension name="in_extensions">
   <condition field="destination_number" expression="^(99051000114579)$">
       <action application="export" data="exec_after_bridge_app=transfer" />
       <action application="export" data="exec_after_bridge_arg=1000 XML features" />
       <action application="bridge" data="2000 XML default" />
    </condition>
</extension> 

Один из наших клиентов (очень большая компания в России) не может пользоваться Skype для звонков к нам в офис (политика безопасности), а на стационарный — дорого. Единственный вариант для него — Google Talk. А мне хочется что бы этот звонок отображался в единой статистике с возможностью прослушать его запись. Давайте объединим пожелания клиента с нашими!

Будем использовать FreeSWITCH. Необходимо включить модуль Dingaling. В файле conf/jingle_profiles/client.xml

  
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  

Для входящих в dialplan добавляем:


     
         
         
     
   

Все! Теперь звонок будет поступать на номер 1000

И принимать звонок в Oktell

Наш адрес GTalk для звонков: it.sfera.com

Обновил один из серверов с Debian lenny до squeeze. Все прошло гладко, только вот на одном из старых сайтов (joomla 1.0) посыпалась куча deprecated функций PHP. Не хотел трогать код этого сайта, решил запустить для него отдельно PHP5.2 на том же сервере. Вот как это я реализовал.

Устанавливаем зависимости, скачиваем PHP5.2 и распаковываем архив:

aptitude install libxml2-dev libmysqlclient-dev libcurl4-gnutls-dev libpng12-dev libjpeg62-dev
cd /tmp
wget http://www.php.net/get/php-5.2.17.tar.gz/from/ru.php.net/mirror -O php-5.2.17.tar.gz
tar zxvf php-5.2.17.tar.gz
cd php-5.2.17

Из исходников собираем PHP5.2 и устанавливаем в /opt/php5.2:

./configure --prefix=/opt/php5.2 --with-config-file-path=/opt/php5.2 --with-mysqli --with-mysql --with-curl --with-gd --with-jpeg-dir --enable-cli --enable-fastcgi --enable-discard-path --enable-force-cgi-redirect
make
make install

Проверяем:

/opt/php5.2/bin/php -v
PHP 5.2.17 (cli) (built: Oct 22 2011 15:05:51)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

Запускать для этого сайта PHP5.2 будем через fastcgi.

aptitude install libapache2-mod-fastcgi
a2enmod cgi fastcgi actions
invoke-rc.d apache2 restart

Создадим исполняемый файл /opt/php5.2/bin/php-cgi, который содержит:

#!/bin/sh
PHPRC="/opt/php5.2/"
export PHPRC
PHP_FCGI_CHILDREN=4
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_MAX_REQUESTS
exec /opt/php5.2/bin/php-cgi

В виртуальном хосте нужного сайта добавляем:


SetHandler application/x-httpd-php5

ScriptAlias /php52-cgi /usr/lib/cgi-bin/php52-cgi
Action application/x-httpd-php5 /php52-cgi
AddHandler application/x-httpd-php5 .php

Перезапустим Apache и проверяем что наш сайт уже использует PHP 5.2, когда все остальные 5.3

invoke-rc.d apache2 restart

На складе завалялась материнская плата с P4 и 512Мб оперативки, подключил старый IDE винчестер на 40Гб. По сети установил последнюю версию FreeBSD 8.2, из портов собрал: Asterisk 1.8 + chan_dongle. Подключил 10 3G модемов — все заработало отлично 🙂 Большой плюс по сравнению с аналогическим шлюзом под Linux — можно безопасно перезагружать! Вот такой SIP-GSM шлюз получился (надо еще корпус найти):

Вже більше 7 років на домашньому комп’ютері у мене лише Linux. Спочатку я надавав перевагу KDE, проте пізніше повністю перейшов на GNOME. Що ж, для мене було цікавим прочитати та побачити нову версію — GNOME3. Запрошую: http://www.gnome3.org/

Большинство из Вас уже не однократно слышали о том, что Компания «АйТи-СФЕРА» упорно работает над созданием собственной CRM-системы и Call-центра. Да, это правда! Долгое время мы не открывали эту информацию, но сегодня, я с гордостью представляю широкому кругу уникальное CRM решение: SFERRASOFT!

Революционный продукт разработан с использованием всех современных технологий:

  1. В качестве операционной системы для сервера и клиента Вы можете использовать Windows, Linux, MacOS, FreeBSD, NetBSD, OpenBSD, Solaris, Qnix, BeOS или GNU/Hurd
  2. В качестве баз данных мы поддерживаем MS SQL, MySQL, Oracle, pgSQL или Firebird
  3. Система имеет открытый исходный код
  4. В системе присутствует модуль интеграции с TerrasoftCRM, BPMOnline, 1C, DynamixCRM, SugarCRM и TigreCRM. Что упростит пользователю миграцию на нашу платформу.
  5. Локализация на более чем на 50 языков: русском, азербайджанский, албанский, английский, арабский, армянский, африкаанс, баскский, белорусский, болгарский, валлийский, венгерский, вьетнамский, галисийский, голландский, греческий, грузинский, датский, иврит, идиш, индонезийский, ирландский, исландский, испанский, итальянский, каталанский, китайский, корейский, креольский (Гаити), латынь, латышский, литовский, македонский, малайский, мальтийский, немецкий, норвежский, персидский, польский, португальский, румынский, сербский, словацкий, словенский, суахили, тагальский, тайский, турецкий, украинский, урду, финский, французский, хинди, хорватский, чешский, шведский, эстонский, японский

Как дополнительный бонус, мы добавили модуль Call-центр Oki-toki-tell

Сегодня действует специальное предложение: подписка на 1 год для 1 пользователя за 1 Евро!
Спешите!

Ждем Ваших заказов:
Украина: +380 (32) 232-77-57
Россия: +7 (922) 036-88-52
Польша: +48 (12) 383-04-88

Усе дуже просто: необхідно заблокувати певним адресатам писати нам листи 🙂
Встановлено postfix, створюємо файл /etc/postfix/sender_access, куди заносимо наших небежених друзів:

user@bad.com REJECT

Створюємо базу:

postmap hash:sender_access

Прописуємо у конфіг main.cf

smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/sender_access

Та перезапускаємо! Тепер наш «товариш» отримає:

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

me@it-sfera.com.ua
SMTP error from remote mail server after RCPT TO::
host postfix [192.168.22.13]: 554 5.7.1 :
Sender address rejected: Access denied

—— This is a copy of the message, including all the headers. ——