Как стать автором
Обновить

Интеграция Skype и Google Talk с Lync

Блог компании Ти Ай Системс
В Ти Ай Системс мы всегда стремимся к упрощению коммуникаций. Специально для Вас мы подготовили статью, в которой расскажем, как объединить Skype и GTalk с Lync, для удобства Вашего общения.
Данная статья поможет Вам установить Asterisk, настроить совместную работу Asterisk-Skype, Asterisk-GTalk, а так же интегрировать Asterisk в существующую архитектуру Lync.

Часть первая. Установка Asterisk в CentOS 6.2



Для начала нам понадобится CentOS 6.2. Будем считать, что Вы уже установили CentOS 6.2 и произвели первоначальную настройку системы, поэтому приступим непосредственно к установке Asterisk:

  • а) Первым шагом нам необходимо установить дополнительные компоненты в CentOS:
    yum install wget kernel-devel gcc make gcc-c++ libxml2-devel perl ncurses-devel gnutls-devel curl-devel net-snmp-devel neon-devel
    б) После этого скачиваем дистрибутивы iksemel, Asterisk и DAHDI:
    wget downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.8.7.2.tar.gz
    wget downloads.asterisk.org/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-2.5.0.2+2.5.0.2.tar.gz
    wget iksemel.googlecode.com/files/iksemel-1.4.tar.gz
    в) Распаковываем архивы в текущий каталог:
    tar -xvzf asterisk-1.8* && tar -xvzf dahdi-linux-complete-* && tar -xvzf iksemel-*
    г) Устанавливаем сначала iksemel:
    cd iksemel-*
    ./configure --prefix=/usr --with-libgnutls-prefix=/usr --with-gnutls
    make
    make install
    cd ..

    д) Затем устанавливаем DAHDI:
    cd dahdi-linux-complete*
    make all
    make install
    make config
    cd ..

    е) После установки DAHDI, запускаем службу DAHDI и настраиваем ее автозапуск:
    chkconfig dahdi on
    service dahdi start
  • Теперь мы можем перейти к установке самого Asterisk.
    cd asterisk-*
    make clean
    ./configure

    a) Устанавливаем разрешение терминала не менее 80 x 27
    б) Запускаем режим конфигурирования:
    make menuselect
    в) Заходим в "Channel Drivers" и добавляем поддержку [*] chan_jingle, а также подключаем [*] res_jabber в "Resource Modules".
    г) Сохраняем настройки и выходим из режима конфигурирования клавишей "x"
    д) Завершаем установку:
    make
    make install
    make samples
    make config
  • Осталось настроить сам Asterisk
    а) Запускаем консоль asterisk:
    asterisk –vvvvc
    б) Для настройки автозапуска Asterisk необходимо выполнить команды:
    cp contrib/init.d/rc.redhat.asterisk /etc/rc.d/init.d/asterisk
    chkconfig --add asterisk

    в) После установки необходимо изменить конфигурационный файл sip.conf для усиления безопасности Asterisk и стабильной работы Asterisk с Lync:
    [general]
    context=default Используемый контекст для обработки входящих звонков
    allowoverlap=no Деактивирован набор в режиме наложения
    udpbindaddr=0.0.0.0 Указываем, что привязываем UDP-слушателя по всем IP адресам
    bindport=5080 Используем порт 5080
    bindaddr=0.0.0.0 Указываем, что привязываемся ко всем IP адресам
    tcpenable=yes Включаем поддержку TCP (для поддержки Lync)
    tcpbindaddr=0.0.0.0 Указываем, что привязываем TCP-слушателя по всем IP адресам
    srvlookup=yes Включаем поддержку поиска DNS SRV
    notifyhold = yes Включаем информацию подписчиков о звонке поставленном на удержание
    alwaysauthreject = yes Asterisk при ошибках авторизации не будет сообщать подробности
    localnet = 192.xxx.xxx.xxx/255.255.255.0 Указываем локальную подсеть
    externip = 8.8.8.8 Указываем внешний IP-адрес, который будем использовать для Asterisk


Часть вторая. Интеграция asterisk и Lync 2010



Для стабильной работы ip-pbx Asterisk и Lync 2010 нам необходимо выполнить следующие действия:
1. В Lync 2010 Topology Builder добавить в PSTN gateways наш Asterisk, указав порт TCP 5060
2. После этого добавить роутинг звонков из Lync на внутренние номера Asterisk:

image

(В данном случае все звонки на внутренние номера [2,3]ххх из Lync будут переводиться в Asterisk. В примерах ниже мы будем использовать номера 2001, 2002).

3. Добавить в конфигурационный файл Asterisk sip.conf:
[Lync_Trunk] Имя транка для Линка
type=friend
port=5068
(Этот порт использует Lync сервер)
host=ххх.ххх.ххх.ххх IP-адрес нашего Lync сервера
dtmfmode=rfc2833
context=from-lync
qualify=yes
transport=tcp


4. В конфигурационный файл extensions.conf добавляем контекст from-lync для обслуживания звонков из Lync в Asterisk:
[from-lync]
exten=>_2XXX,1,Dial(SIP/${EXTEN})
exten =>_2XXX,2,playback(vm-nobodyavail)
exten =>_2XXX,3,playback(vm-goodbye)
exten=>_2XXX,n,hangup()


Теперь при звонке на добавочный номер Asterisk 2002 из Lync звонок переведется в Asterisk на внутренний номер.

Помимо этого, для осуществления звонков с внутренних номеров Asterisk на внутренние номера Lync нам необходимо в конфигурационный файл Asterisk extensions.conf добавить правила роутинга. Например, в контекст default добавляем:
exten=>_2XX,1,Dial(SIP/Lync_Trunk/${EXTEN})
exten=>_2XX,n,hangup()
exten=>_3XX,1,Dial(SIP/Lync_Trunk/${EXTEN})
exten=>_3XX,n,hangup()

Теперь мы сможем осуществлять звонки с номеров Asterisk 2ххх и 3ххх на внутренние номера абонентов Lync (в нашем примере 2хх и 3хх).

Часть третья. Настройка интеграции Asterisk-GTalk



Данная интеграция позволит принимать звонки из Gtalk в Asterisk на внутренний номер, на IVR Asterisk или на IVR Lync (в нашем примере мы покажем, как сделать так, чтобы входящий звонок из GTalk переводился в группу вызова Lync):

1. Для регистрации Asterisk в GTalk нам понадобится аккаунт в google. Создаем его. После этого добавляем в конфигурационный файл gtalk.conf следущее:
[general]
context=from-gtalk
Контекст приема входящих звонков
bindaddr=local_ip Внутренний адрес сервера Asterisk
externip=external_ip Внеший «белый» адрес Asterisk
allowguest=yes Возможность приема звонков от людей, находящиеся вне списка GTalk
[guest] Параметры специального гостевого аккаунта
disallow=all Запрещаем все кодеки
allow=ulaw Разрешаем только ulaw
context=from-gtalk Указываем контекст обработки звонков
[account] В данном разделе указываем логин от Google аккаунта
username=ВАШ_АККАУНТ@gmail.com
disallow=all
allow=ulaw
context=from-gtalk
connection=gtalk_account
Указывается коннекция из конфигурационного файла jabber.conf

2. После этого изменяем конфигурационный файл jabber.conf Asterisk:
[gtalk_account] Секция настройки аккаунта GTalk
type=client Тип соединения
serverhost=talk.google.com Сервер регистрации
username=ВАШ_АККАУНТ@gmail.com/Talk Учетная запись.
secret=ВАШ_ПАРОЛЬ Пароль
priority=1 Уровень приоритета ресурса
port=5222 Порт сервера, по умолчанию 5222
usetls=yes Использовать tls или нет
usesasl=yes Использовать sasl или нет
status=available Статус присутствия
statusmessage=«Only Voice» Сообщение статуса

3. Теперь настраиваем маршрутизацию прохождения звонка из GTalk в Lync. Для этого добавляем маршрут в конфигурационный файл extensions.conf Asterisk:
[from-gtalk]
exten => s,1,NoOP(Call from Gtalk)
exten => s,n,Set(CALLERID(name)=Google Talk)
exten => s,n,Dial(SIP/Lync_Trunk/3xx)
3хх – номер для группы вызова Lync.

4. Чтобы осуществлять исходящие вызовы на определенные аккаунты в GTalk, мы можем создать «виртуальный» номер в Asterisk. Для этого в файле extensions.conf Asterisk прописываем следующее:
exten => 3333,1,Dial(gtalk/gtalk_account/имя_вызываемого_пользователя@gmail.com)

Часть четвертая. Настройка интеграции Asterisk-Skype



На данный момент интеграция Asterisk со Skype платная. Для интеграции нам понадобится купить Skype Connect и онлайн-номер Skype.

1. Регистрируемся в Skype Manager и затем создаем профиль Skype Connect (https://manager.skype.com/features/sip). В настройках авторизации Вы увидите ваш SIP User и Password, а так же адрес подключения (sip.skype.com) и порт подключения (UDP 5060).

image

Теперь нужно купить онлайн-номер Skype. Он может выглядет следующим образом (+4420xxxxxxxx).

Эти данные мы добавляем в конфигурационный файл sip.conf Asterisk в раздел [general]:
register => 990xxxxx:9Jxxx@sip.skype.com/990xxxxxx

Добавляем новый раздел с именем SIP User:
[990xxxxx]
type = friend
dtmfmode = rfc2833
context = default
host = sip.skype.com
username = 990xxxxx
secret = 9Jxxx
disallow = all
allow = ulaw
allow = alaw
allow = g729
nat = yes
canreinvite = no
fromdomain = sip.skype.com
insecure = invite


После этого настраиваем правила обработки входящих звонков со Skype и исходящих звонков на международные номера через Skype. Для этого добавляем в конфигурационный файл extensions.conf Asterisk следующее:
exten => 4420xxxxxxxx,1,Answer
exten => 4420xxxxxxxx,n,Dial(SIP/Lync_Trunk/3xx)
3хх – номер для группы вызова Lync

Это позволит принимать вызов из Skype и переводить его на группу вызова Lync.
Так же можно закрепить за виртуальным номером в Asterisk (например, 2001) международный номер. Это позволит нам осуществлять звонки из Lync по телефону 2001 через Asterisk->Skype по всему миру. Для этого настраиваем правило обработки исходящих вызовов в Skype в этом же конфигурационном файле extensions.conf (для тестирования можно использовать бесплатный номер Skype +17606604590)
exten => 1001,1,Answer
exten => 1001,n,Set(CALLERID(num)= 990xxxxx)
exten => 1001,n,Dial(SIP/+17606604590@9990xxxxx)
exten => 1001,n,Hangup


Надеемся, что наша статья смогла Вам помочь!


В статье мы использовали следующие материалы:

• Chapter 11: Interoperability with Asterisk and Skype (доступно тут www.microsoft.com/download/en/details.aspx?displaylang=en&id=22644)
• Защита Asterisk или несколько способов как защититься от подбора пароля к SIP аккаунту (http://subnets.ru/blog/?p=1552 )
• Защита asterisk от взлома (http://www.mahno.su/freebsd/asterisk-freebsd/zashhita-asterisk-ot-vzloma )
Теги:lyncskypegoogle talkgtalkasteriskинтеграциякоммуникации
Хабы: Блог компании Ти Ай Системс
Всего голосов 4: ↑3 и ↓1+2
Просмотры15K

Лучшие публикации за сутки