Поиск по моему блогу

Показаны сообщения с ярлыком Linux. Показать все сообщения
Показаны сообщения с ярлыком Linux. Показать все сообщения

Установка Asterisk с веб интерфейсом FreePBX и модемом Huawey E1550 на Ubuntu 10.10


Февраль 27
Раздел: Linux
1. Устанавливаем необходимые пакеты:

sudo apt-get update
sudo apt-get install php5-mysql libapache2-mod-php5 mysql-server libmysqlclient15-dev php-db php5-gd php-pear sox curl g++ libncurses-dev libxml2-dev subversion libspandsp-dev
sudo -i

2. Скачиваем исходники Asterisk и FreePBX, и устанавливаем:
cd /tmp
tar xvzf asterisk-1.8.2.4.tar.gz
tar xvzf asterisk-addons-1.6.2.3.tar.gz
tar xvzf freepbx-2.8.1.tar.gz

cd /tmp/ asterisk-1.8.2.4
./configure
make install
make config
make samples

KVM & OpenVZ виртуализация и облачные вычисления с использованием Proxmox VE

Вступление
Proxmox Virtual Environment (Proxmox VE) — система виртуализации с открытым исходным кодом, основанная на Debian GNU/Linux. Разрабатывается австрийской фирмой Proxmox Server Solutions GmbH, спонсируемой Internet Foundation Austria.
В качестве гипервизоров использует KVM и OpenVZ. Соответственно, способна выполнять любые поддерживаемые KVM ОС (Linux, *BSD, Windows и другие) с минимальными потерями производительности и Linux без потерь.
Управление виртуальными машинами и администрирование самого сервера производятся через веб-интерфейс либо через стандартный интерфейс командной строки Linux.
Для создаваемых виртуальных машин доступно множество опций: используемый гипервизор, тип хранилища (файл образа или LVM), тип эмулируемой дисковой подсистемы (IDE, SCSI или VirtIO), тип эмулируемой сетевой карты, количество доступных процессоров и другие.
ru.wikipedia.org/wiki/Proxmox_Virtual_Environment

Важно знать, что:

— Proxmox VE использует только x86_64 архитектуру.
— Для использования KVM Ваш процессор должен поддерживать аппаратную виртуализацию (Intel VT или AMD-V). Для OpenVZ аппаратная виртуализация не требуется.

Конфигурация кластера

В этой статье мы будем создавать кластер из двух машин.
Конфигурация будет такой:

Master server1.example.com IP 192.168.0.100
Slave server2.examle.com IP 192.168.0.101

Настройка iptables для начинающих

iptables — утилита командной строки, является стандартным интерфейсом управления работой межсетевого экрана (брандмауэра) netfilter для ядер Linux версий 2.4 и 2.6. Для использования утилиты iptables требуются привилегии суперпользователя (root).Иногда под словом iptables имеется в виду и сам межсетевой экран netfilter.

1. Что же такое межсетевой экран и зачем он нужен?
Межсетевой экран — комплекс аппаратных или программных средств, осуществляющий контроль и фильтрацию проходящих через него сетевых пакетов на различных уровнях модели OSI в соответствии с заданными правилами.

Основной задачей сетевого экрана является защита компьютерных сетей или отдельных узлов от несанкционированного доступа. Также сетевые экраны часто называют фильтрами, так как их основная задача — не пропускать (фильтровать) пакеты, не подходящие под критерии, определённые в конфигурации.
2. Принципы работы iptables
Когда пакет приходит на наш межсетевой экран, то он сначала попадает на сетевое устройство, перехватывается соответствующим драйвером и далее передается в ядро. Далее пакет проходит ряд таблиц и затем передается либо локальному приложению, либо переправляется на другую машину.
В Iptables используется три вида таблиц:
  1. Mangle - обычно эта цепочка используется для внесения изменений в заголовок пакета, например для изменения битов TOS и пр.
  2. Nat - эта цепочка используется для трансляции сетевых адресов (Destination Network

Смена стандартного пароля MySQL trixbox

Сначала обновим систему:

Code:
yum -y update



База Данных
root имеет по умолчанию пароль вида: passw0rd
Подключаемся с помощью Putty
Открываем файл командой nano, поиск Ctrl+W, закрываем файл Ctrl+X, соглашаемся с изменениями Y, или не соглашаемся N

Code:
mysql -u root -p


указываем пароль по умолчанию passw0rd

Code:
mysql> use mysql;
mysql> update user set password=PASSWORD("свой новый пароль") where User='asteriskuser';
mysql> flush privileges;
mysql> quit

Как изменить номер порта SSH.

В большинстве случаев, начинающие администраторы, разрешающие доступ к своим серверам из глобальной сети Интернет по протоколу ssh, совсем не заботятся о его защите. Это провоцирует хакеров на попытки взлома или на удаленный подбор паролей.
Уменьшить число попыток удаленного подбора паролей можно изменив номер порта SSH со стандартного (22) на какой-либо другой.

Для изменения номера порта SSH выполним следующие действия:

Войдем в систему как суперпользователь root и откроем в текстовом редакторе файл /etc/ssh/sshd_config.

Найдем в нем строку:

Port 22

и изменим значение 22 на другое значение (к примеру, на 8822). Выйдем из текстового редактора с сохранением наших изменений.

После этого перезапустим демон sshd командой:

killall -1 sshd

Теперь наш сервер вместо стандартного порта 22 будет “прослушивать” порт 8822 и доступ с клиентских машин можно будет осуществлять при помощи команды:

$ ssh -p 8822 user@servername

Внимание! После смены номера порта SSH, не забудьте внести соответствующие правила в список правил вашего брандмауэра, разрешив прохождение пакетов по используемым портам. Особенно это важно, если вы удаленно настраиваете сервер, так как после перезапуска демона sshd вы рискуете потерять доступ к своему серверу по SSH.

Установка Webmin + LAMP (Linux + Apache + MySQL + PHP) на сервер CentOS 5

И так, у нас есть сервер (в моем случае VDS) и нам нужно на нем запустить работу сайтов.
Для начала нам нужно будет установить Apache и MySQL с PHP.

Установка Apache, MySQL, PHP на CentOS 5

Заходит под рутом
ssh root:pass@IP
где pass — ваш рут пароль, IP — айпи адрес сервера
Выполняем следующее:
yum install httpd mod_ssl php-common php-gd php-mcrypt php-memchache php-mhash php-mysql php-xml mysql mysql-server
После установки всех пакетов, мы получаем уже готовый к работе сервер.

Проверяем работу Apache

Запускаем сервер
service httpd start
Вводим
http://IP_адрес_сервера/
И перед нами должна открыться стартовая страница Apache, если открылась, значит все сделали верно.
Добавляем автостарт Apache при перезагрузке сервера
chkconfig httpd on

Проверяем работу PHP

В консоли создаем php скрипт выводящий информацию об установленном php, для этого вводим
echo '' > /var/www/html/phpinfo.php
Запускаем скрипт
http://IP_адрес_сервера/phpinfo.php
Если видим информацию с данными по php, значит все у нас работает.

Установка Webmin на CentOS 5

Webmin - это бесплатная и удобная панель управления сервером, которая облегчает последующие настройки и управления сервером.
Загружаем панель
wget http://prdownloads.sourceforge.net/webadmin/webmin-1.500-1.noarch.rpm
Устанавливаем
rpm -U webmin-1.500-1.noarch.rpm
После установки, заходим по адресу
http://IP_адрес_сервера:10000/
Для входа используем логин root и пароль соответствующий.
Вот и все, у нас полноценный сервер, готовый для установки сайтов.

Установка Webmin на CentOS 5

 

Webmin - это бесплатная и удобная панель управления сервером, которая облегчает последующие настройки и управления сервером.
Загружаем панель
wget http://prdownloads.sourceforge.net/webadmin/webmin-1.500-1.noarch.rpm
Устанавливаем
rpm -U webmin-1.500-1.noarch.rpm
После установки, заходим по адресу
http://IP_адрес_сервера:10000/

Установка Debian Lenny на RAID (fake RAID)

Fake RAID (фальшивый) – это дешёвые RAID контроллеры с урезанной аппаратной частью, которые встраивают в материнские платы, а также выпускают в виде не дорогих отдельных устройств. Вся работа с рэйд-массивами в таких устройствах возложена на драйвер. Аппаратная часть помогает вычислять CRC и ставит метку тома. Стоимость такого контроллера несколько десятков долларов. Полноценный RAID контроллер стоит от пары-тройки сотен долларов и выше. К fake RAID устройствам относятся Adaptec AAC-RAID (pci), Intel Corporation 6300ESB SATA RAID (на борде), контроллеры на чипах SiIicon Image и ATI, а также NVidia и Matrix Storage и некоторые другие.
В дистрибутивах Debian Lenny добавлена поддержка установки системы на дисковые разделы сконфигурированные через полупрограммные SATA RAID контроллеры (BIOS RAID, fake RAID). Для начала процесса установки, необходимо сконфигурировать сам RAID массив, через BIOS или утилиту конфигурирования RAID-контроллера. Чтобы включить поддержку SATA RAID в Debian Lenny, необходимо при загрузке с CD нажать TAB и дописать в параметрах загрузки следующее:

Flash Operator Panel 2 - for ASTERISK

Asterisk (PBX)Image via WikipediaAnyone that has been involved with Asterisk based systems, will generally know about the product called Flash Operator Panel. It has been around for years, and is included in many of the popular Asterisk distributions including Elastix. Its Author,  Nicolas Gudino, has, after many years released a major revamp of this popular tool in the guise of FOP2 or Flash Operator Panel 2.
Whilst this new version has a cost, and a very reasonable one ($US40), it can be used on many home, micro-business PBX systems without the need for a licence (upto 15 buttons which include trunks, extension, queues, conference as buttons).
So this tutorial is to assist Elastix users in implementing FOP2 onto their systems.
 First step is to disable the old Flash Operator panel
To do this , type
nano /var/www/html/panel/op_server.cfg (note nano is an editor that I use and installed, you can use VI or similar )
Look for the following line
pic1_original_fop1_port.png
 
 
Your config file may show the listen_port line commented out. Remove the semicolon if it is there and change the port over to 4446 (not worried what port, just need it to stop listening on 4445). So the line should look like this
pic2_changed_fop1_port.png
 
 
Save and exit.
Now the first thing we need to do is to setup a user in the Asterisk Management Interface (AMI). This is done via the
unembedded Freepbx. Click on the tools table and then click on Asterisk API.
Add a Manager Name called fop2 and give it a Manager Secret of fop2secret
pic3_freepbx_manager.png
 

You can use this script to install Elastix on VPS servers:

#!/bin/sh
# Create an server virtual machine.  This one for
# checking Centos 5.3 operation running Elastix (asterisk plus extra)
VID=101
vzctl create $VID --ostemplate centos-5-x86 --config vps.basic
vzctl set $VID --onboot yes --save
vzctl set $VID --hostname elastix.bozo.com --save
vzctl set $VID --ipadd 192.168.0.$VID --save
vzctl set $VID --nameserver 192.168.0.253 --save
vzctl set $VID --userpasswd root:elastix
vzctl start $VID
echo " RUN : vzctl exec $VID passwd "
echo " Boost up the quota for disk and memory space "
vzctl set $VID --diskspace 10485760 --save
vzctl set $VID --kmemsize 15242880 --save
vzctl set $VID --othersockbuf 636896 --save
vzctl set $VID --numothersock 480 --save
vzctl set $VID --privvmpages 1000000 --save
vzctl set $VID --numproc 100 --save
# Restart the Virtual machine  so that it gets the IP addresses, etc.
vzctl restart $VID
# Where do we start here  install using yum
sleep 20
REPO=/var/lib/vz/private/$VID/etc/yum.repos.d/elastix.repo
echo "[elastix]" >> $REPO
echo "name=Elastix RPM Repository for CentOS" >> $REPO
echo "baseurl=http://repo.elastix.org/centos/$releasever/updates/RPMS/" >> $REPO
echo "gpgcheck=0" >> $REPO
echo "enabled=1" >> $REPO
echo "" >> $REPO
vzctl exec $VID "yum -y install asterisk*"
vzctl exec $VID "yum -y install elastix-*"
vzctl exec $VID "yum -y install freeze"
vzctl exec $VID "yum -y install fxload"
vzctl exec $VID "yum -y install kernel-module-rhino*"
vzctl exec $VID "yum -y install libmfcr2"
vzctl exec $VID "yum -y install lzop"
vzctl exec $VID "yum -y install perl-HTML-TokeParser-Simple"
vzctl exec $VID "yum -y install perl-WWW-Mechanize"
vzctl exec $VID "yum -y install mod_ssl"
 
You can also install from rpm. If you have dependences try to install with --nodeps 

Here are standard password for elastix: 

Interface   Login    Password
Elastix       admin   palosanto
freePBX     admin   admin
FOP           admin   eLaStIx.2oo7
A2Billing    admin   mypassword
MySQL       root      eLaStIx.2oo7
SugarCRM  admin  password
vTiger        admin   admin
          Openfire    admin   Whatever set at install
Enhanced by Zemanta

Настройка voip-роутера D-link DVG 7111S + asterisk

Наконец, привезли D-link DVG 7111S. И, наконец, в моем домашнем asterisk будет FXO и FXS. И, наконец, можно будет звонить не через софтфон + гарнитура, а через обычный телефон.
Однако, и страшновато было. Ни разу не настраивал ничего подобного. В сетях я - полный ноль.
Ну начнем, помолясь!
 Имеем такую сеть:
 DSL-модем > пятипортовый switch> два компа(один с linux, другой с Windows)
Linux Ubuntu 9.10 имеет прямое подключение к интернет через DSL.
А на компьютере с Windows дочь смотрит IPTV через тот же DSL.
Требуется подключить 7111S так, что бы сохранить status quo.
Ну начнем, помолясь, настраивать 7111S  связке с домашним сервером asterisk.
Соединяем кабель DSL-модема с портом WAN шлюза D-link, а  порт LAN соединяем со свитчем локалки.
Теперь нам нужно попасть в Web-интерфейс Dlink DVG 7111S.
В инструкции написано, что попасть туда можно, набрав в броузере http://192.168.8.254. Но чтобы эта ссылочка открылась, надо изменить статический адрес своего компа (с которого собираемся конфигурировать voip-шлюз) на 192.168.8.1
Пароль там пустой - жмем кнопку login.
Сначала я пробовал, конечно, через Setup Wisard все настроить. Но с первого раза, естественно, ничего не завелось, и дальше я все настраивал через меню слева.
Главным камнем преткновения для меня был internet setup. Я хотел, чтобы voip-шлюз 7111S был у меня в локалке и общался с voip-провайдерами сугубо через астериск. Но, поскольку во всех инструкциях настройка сего девайса начинается с internet setup, то я и сэтапил интернет. А он у меня pppoe. И сэтапил, и сэтапил... Только ничего путного не насэтапил.
Фишка в том, что в internet setup  это устройство как раз и настраивается на астериск по локалке! И даже если у вас интернет pppoe, все равно для работы с asterisk надо настраивать static ip
 
Где 192.168.1.4 - новый адрес voip-шлюза, а 192.168.1.2 - адрес компьтера а астериск. В качестве  DNS тоже выбран 192.168.1.2 Кстати, нужно не забыть поменять обратно адрес 192.168.8.1 на компьютере, с которого заходили в web-интерфейс шлюза. Жмем Apply.
Далее lan setup.

 
Там нужно выбрать bridge и больше ничего не менять. Жмем Apply.
Теперь, пусть и не по порядку, voip setup
 
  
 Далее нужно перейти во вкладку Advanced.
1)Advanced>Voip>Codec - выставить нужный вам кодек в приоритет. Apply
2)Advaced>Codec>DTMF&PULS - отмечаем "птичкой"

Enable Out-of-Band DTMF Жмем Apply
 3)Advanced>Voip>Hot Line
Секцию Phone1-FXS не трогаем. Жмем Apply
В секции Phone2-FXO опять отмечаем "птичкой"
Hot Line . В поле Hot Line № : вписываем номер 701
Еще ставим "галку"
Detect FXO Line Presence. Жмем Apply
4)Advanced>Voip>Line
Находим строчки FXS impedance и FXO impedance - выбираем из выпадающих менюх Russia 600 ohm, а также убираем "птичку" с Enable FXO/Trunk extensions number. Apply.
5) Advanced>Voip>Sip Advanced
Здесь убираем галку с Enable Non-Sip Inbox Call. Жмем Apply.
Вроде все.
Нет.
6) Advanced>Voip>PSTN control>Trunk Dial Out Verify
В одном из трех пустых полей ставим циферу. Это будет префикс выхода на городскую линию. Apply?
Теперь во вкладку MAINTENANCE - менять пароль.
И ВАЖНО! MAINTENANCE>Backup and Restore>System--Save and Reboot>Save all settings>Reboot
Все. Может, чего и забыл:)))

Как пишут, отличительной особенностью FXO данного шлюза, является то, что для него создается обычный peer.
Поэтому в sip.conf надо создать 2 пира
[701]
type=friend
host=dynamic
context=ваш_контекст
secret=ваш_пароль

и
[555555]
type=friend
host=dynamic
context=ваш_контекст
secret=ваш_пароль

Ну и в extensions.conf
exten => 701,1,Answer
exten => 701,n,Dial(SIP/${EXTEN},60)
exten => 701,n,Hangup

exten =>555555,1,Answer
exten =>555555,n,Dial(SIP/701,60)
exten =>555555,n,Hangup
Enhanced by Zemanta

FreePBX за NAT

Asterisk (PBX)Image via Wikipedia

Установите модуль Asterisk SIP Settings
Предполагается что с вашего сервера/роутера проброшены порты:
5060 UDP - для инициации SIP соединения.
10000 - 20000 UDP - для голосовых пакетов. (диапазон можно уменьшить в файле /etc/asterisk/rtp.conf)
Установите следующие значения
NAT - yes
IP configuration - Static IP
Extern IP - 123.123.123.123 -внешний IP адрес
Local Networks - 192.168.0.0/255.255.255.0 -локальная сеть
Reinvite Behavior - No

Скриншоты

sip_setting_1.pngsip_setting_2.pngsip_setting_3.pngsip_setting_module.png
Enhanced by Zemanta

Настройка FreePBX

FreePBX это полнофункциональный веб-интерфейс для конфигурации Asterisk PBX ( Asterisk GUI ). Если Вы знакомы с Asterisk, то знаете, настройка АТС осуществляется при помощи конфигурационных файлов. FreePBX предлагает простой, интуитивно понятный интерфейс для настройки и управления Asterisk PBX. FreePBX также поставляется со многими дистрибьютивами
http://www.freepbx.org/

Basic

  • Extensions - Используется для создания екстеншенов.
  • Feature Codes - Коды абонентских функций.
  • General Settings - Основные системные установки.
  • Outbound Routes - Маршрутизирует исходящие вызовы по требуемым транкам.
  • Trunks - Управляет ZAP (Dahdi), SIP, IAX каналами для выхода в общую телефонную сеть, или соединения АТС.
  • Administartors - Используется для назначения адмистраторов :!: Этот модуль не будет работать, если в файле /etc/amportal.conf, AUTHTYPE установлено значение none.Смотри также Изменение пароля FreePBX

VoIP-GSM шлюз для Asterisk на USB модеме HUAWEI E1550

Asterisk (PBX)Image via Wikipedia

:!: Голосовой модуль по умолчанию активирован только в модемах МТС. :!:
Рекомендованное ядро Linux 2.6.33+
Asterisk 1.6.+
Заведомо рабочие прошивки (firmware - не путать с dashboard):
МТС 11.608.12.00.143
11.608.14.15.311
Нерабочая firmware:
Мегафон 11.608.12.10.209 -при активированном голосе из под винды звонит, из под Linux - нет.
Активировать голосовую функцию можно программой DC-UNLOCKER за 4 кредита - 4 евро.

Установка asterisk из исходников

# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.6.2-current.tar.gz
# tar zxvf asterisk-1.6.2-current.tar.gz
# cd asterisk-1.6.2-current.tar.gz
# apt-get install g++ libncurses-dev libxml2-dev subversion
# ./configure
# make install
# make config
# make samples

Установка модуля канала chan_datacard для Huawei

Файл datacard.conf из ~/chan_datacard/etc копируем в каталог /etc/asterisk
# svn co http://www.makhutov.org/svn/chan_datacard/trunk/ chan_datacard
# cd ~/chan_datacard/
# ./configure
# make install
# cp ~/chan_datacard/etc/datacard.conf /etc/asterisk

NAT, SIP и Asterisk

Asterisk (PBX)Image via Wikipedia

Трансляция сетевых адресов (NAT) является обычной практикой в сети и нередко мешает прохождению голосовых пакетов и инициализации соединений. Решение этой проблемы требует понимания принципов работы NAT и VoIP. В этой статье рассматривается протокол SIP и Asterisk, но проблемы и решения применимы и к большинству других приложений и протоколов.
NAT используется, чтобы скрыть многочисленные локальные адреса, за каким-то внешним узлом, обеспечивая безопасность и структуризацию сети.
Когда пакет проходит шлюз (gateway), IP-адрес локального источника заменяется на внешний IP-адрес. При ответе шлюз направляет пакет на исходный локальный адрес. Также шлюз блокирует внешние запросы не имеющие явных внутренних источников, но возможно пробросить пакеты пришедшие на определенные порты, на заранее заданные IP адреса внутри сети.

Reinvite

Первый абонент запрашивает соединение у второго , сообщая свой IP адрес. Второй отвечает, сообщая свой IP. Голосовые пакеты направляются напрямую абонентам, минуя SIP сервер. Передача голосовых пакетов напрямую абонентам, минуя Asterisk, называется RE-INVITE или Native Bridge.
NAT может вызвать проблемы в нескольких местах.

  • Если одна из АТС находится за NAT, другая АТС не сможет связаться с ней, без проброса портов.
  • Если телефон находится за NAT, голосовые пакеты могут быть направлены на немаршрутизируемый адрес в сети, что приведет к потере звука.

Клиент за NAT

В простейшей ситуации SIP клиент находясь за NAT, обращается к внешнему интерфейсу Asterisk. SIP клиент при регистрации на сервере создает запись в таблице трансляций, которая сохраняется, пока проходит хотя бы один пакет в минуту. В файле sip.conf требуется определить параметры сети и свойства удаленного пира.


[general]
localnet=192.168.0.0/255.255.255.0 ; локальная сеть
externip=x.x.x.x                   ; внешний ip адрес

[sip_phone]             
nat=yes
qualify=300                    ; проверять соединение каждые 300 мс.
При такой конфигурации Asterisk использует внешний IP адрес externip для вызовов клиентов с параметром nat=yes . Дополнительно параметр qualify=yes поддерживает соединение, не позволяя удалять запись из таблицы трансляций.

Открытый SIP Skype шлюз от SIPNET.

Asterisk (PBX)Image via Wikipedia

Для вызова контакта Skype из сети SIPNET укажите в своем IP-телефоне адрес вызываемого абонента в формате user@skype.sipnet.ru или user@skype.com .
Если Вы используете Asterisk например:
exten ⇒ 111,1,Dial(SIP/skype_user1@skype.sipnet.ru,,)
exten ⇒ 112,1,Dial(SIP/skype_user1@skype.sipnet.ru,,) и т.д.
Для FreePBX можно создать екстеншен и в поле dial прописать
SIP/skype_user@skype.sipnet.ru
В сети Skype шлюз для доступа в SIPNET имеет идентификатор skype.sipnet.ru , именно от этого имени будут поступать входящие вызовы.
Передача текстовых сообщений, файлов и видео не поддерживается. Skype Out не поддерживается.

Звонок из Skype абоненту SIPNET

Для вызова контактов SIPNET из сети Skype внесите имя skype.sipnet.ru в список контактов Skype.
Чтобы позвонить абоненту SIPNET выберите из списка контактов Skype имя skype.sipnet.ru и нажмите клавишу «Позвонить» («Call»).
Услышав голосовое приветствие, можно вводить SIP ID вызываемого абонента:
  • В версии Skype 2.x и 3.x можно набирать цифры с клавиатуры сразу после установления соединения
  • В версии Skype 4.x после установления соединения следует дополнительно вызвать номеронабиратель. Для этого необходимо нажать на кнопку с изображением треугольника справа от регулятора громкости и в выпадающем меню выбрать «Набор» («Display dial pad»). На появившейся на экране цифровой клавиатуре (или на клавиатуре компьютера) можно набрать SIP ID вызываемого абонента.
Enhanced by Zemanta

Skype SIP транк

Asterisk (PBX)Image via Wikipedia

SipToSis

- это программное обеспечение которое позволяет совершать и принимать звонки Skype на SIP адаптер или SIP атс (например Asterisk).

Требования к системе для Skype Gateway


  • Skype клиент

  • Java 1.5 или выше (для Linux используйте SUN's java)

  • SIP / VoIP шлюз (например Linksys SPA 2102), или Asterisk / любая АТС с поддержкой SIP (например LG ipLDK).

Пример настройки Skype to Sip соединения для Windows и Asterisk

Есть комп под Windows с установленным Skype и комп с установленным Asterisk.

Настройки Asterisk

sip.conf
[skypetosip]
username=skypetosip
type=friend
context=your_context
secret=mypassword
host=IP адрес машины где установлен Skype (SipToSis)
dtmfmode=auto
port=5070
qualify=yes
disallow=all
allow=alaw
allow=ulaw
Настройте план набора в соответствии с вашими требованиями.
Например звонок на Эхо тест Скайп:
extensions.conf
[your_context]
exten => 123,1,Dial(SIP/skypetosip/echo123)

Настройки Skype SIP


  • Установите Skype и зарегистрируйте аккаунт.

  • Установите java 1.5 или выше скачать java

Установка сервера IP-телефонии Asterisk + FreePBX в Debian Lenny

Asterisk (PBX)Image via WikipediaВ предыдущих статьях (1, 2, 3, 4) подробнейшим образом рассматривались различные аспекты установки и настройки сервера IP телефонии Asterisk. С того времени утекло много воды, вышли новые версии пакетов. На днях пришлось столкнуться повторно с настройкой Asterisk-а. Решил поделиться, может кому поможет. В статье будет также рассмотрена настройка FreePBX - веб-интерфейса для управления астериском.
По традиции буду показывать степ-бай-степ хаутушку на свежеустановленном Debian Lenny.
Поставим минимальный софт, чтобы зацепиться по ssh и более-менее комфортно продолжать настройку по сети
# apt-get install zip unzip bzip2 arj mc ssh sudo
Пропишем дополнительные репы в /etc/apt/sources.list закомментируем привод
# vim /etc/apt/sources.list

# deb cdrom:[Debian GNU/Linux 5.0.3 _Lenny_ - Official i386 CD Binary-1 20090905-08:23]/ lenny main

deb http://ftp2.de.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp2.de.debian.org/debian/ lenny main contrib non-free

deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main

deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

deb ftp://ftp.debian-multimedia.org lenny main non-free
Прежде чем обновлять список пакетов, добавим ключик для debian-multimedia, чтобы apt не ругался
# wget http://www.debian-multimedia.org/pool/main/d/debian-multimedia-keyring/d...
# dpkg -i debian-multimedia-keyring_2008.10.16_all.deb
# rm debian-multimedia-keyring_2008.10.16_all.deb
Теперь можно обновлять список пакетов реп и апгрейдить систему
# apt-get update
# apt-get upgrade

Установка необходимых пакетов для Asterisk

Идём на сайт астериска и вытягиваем необходимые пакеты. на сайте, как правило представлены 4 пакета астериска. В порядке убывания версий они классифицируются следующим образом: trunk, stable, release, old. К примеру на текущий момент выложены следующие версии:
Asterisk 1.6.2 - trunk     Asterisk 1.6.1 - stable     Asterisk 1.6.0 - release     Asterisk 1.4 - old
Транк, естественно, трогать не будем. Для себя я выбрал Stable. Качаем его + некоторые дополнительные пакеты, которые в дальнейшем нам могут пригодиться. Кратко поясню что и для чего надо:

Asterisk + FreePBX + sipnet. Настройка Asterisk для звонков на городские телефоны

Asterisk (PBX)Image via WikipediaВ предыдущей статье была рассмотрена настройка сервера IP-телефонии. При минимальных настройках можно совершать IP-звонки внутри организации. Достаточно просто завести аккаунты. Но что делать, если нужно позвонить на городской телефон. Для осуществления звонков по аналоговым линиям, на серваке лолжно стоять соответсвующее оборудование. Если нет железок - можно воспользоваться услугами sipnet.ru. В данной статье я постараюсь описать что и как надо настраивать для осуществления звонков на обычные телефоны. Итак, приступим.
Для начала идём на сайт sipnet.ru, регистрируем себе аккаунт. Нам выдают ID, пароль мы придумываем свой.
Теперь добавим аккаунт на нашем Asterisk серваке. Идём а админку FreePBX: Setup - Extensions. Жмём "Add Extension" в правом верхнем углу.
Device - Generic SIP Device. Жмём Submit. Откроется окно с настройками нового аккаунта, в котором можно указать различные парамется, как то: Наличие голосового майлбокса, необходимость записи и пр. В принципе, всё заполнять необязательно достаточно User Extension и Display Name. В поле Secret можно при желании вколотить пароль.

Папки, используемые Asterisk

Asterisk (PBX)Image via Wikipedia
Asterisk использует несколько папок в системе Linux для организации различных аспектов системы, таких как запись сообщений голосовой почты, голосовые сообщения и конфигурационные файлы. В данном разделе обсуждаются необходимые папки. Все они создаются во время установки и конфигурируются в файле asterisk.conf. /etc/asterisk/

В папке /etc/asterisk/ располагаются конфигурационные файлы Asterisk. Однако один файл, zaptel.conf, находится в папке /etc/. Аппаратные средства Zaptel изначально были разработаны Джимом Диксоном (Jim Dixon), сотрудником компании Zapata Telephony Group, как подходящее и доступное по цене оборудование для компьютерной телефонии. Asterisk использует это оборудование, но любое другое ПО также может воспользоваться устройствами и драйверами Zaptel. Поэтому конфигурационный файл zaptel.conf вынесен из папки /etc/ asterisk/.
/usr/lib/asterisk/modules/

В папке /usr/lib/asterisk/modules/ располагаются все загружаемые модули Asterisk. В этой папке находятся различные приложения, кодеки, форматы и каналы, используемые Asterisk. По умолчанию Asterisk загружает все эти модули при запуске системы. Любые неиспользуемые модули можно отключить в файле modules.conf, но при этом необходимо помнить, что некоторые модули необходимы Asterisk или являются зависимостями других модулей. Попытка загрузить Asterisk без этих модулей приведет к ошибке при запуске.
/var/lib/asterisk


В папке /var/lib/asterisk/ находится файл astdb и ряд подпапок. Файл astdb содержит информацию локальной базы данных Asterisk, что несколько напоминает реестр Microsoft Windows. База данных Asterisk -простая реализация на базе версии 1 Berkeley BD. Один из исходных файлов Asterisk, db.c, информирует, что эта версия была выбрана по следующей причине: «Реализация DB3 создана по альтернативной лицензии, несовместимой с общедоступной лицензией (General Public License, GPL). Таким образом, чтобы не усложнять лицензирование Asterisk, было решено использовать версию 1, поскольку она выпущена по лицензии BSD».
Папка /var/lib/asterisk/ включает следующие подпапки: agi-bin/
В папке agi-bin/ находятся специальные сценарии, которые могут взаимодействовать с Asterisk через различные встроенные приложения AGI. Подробнее об AGI рассказывается в главе 8.
firmware/

Папка firmware/ содержит встроенное ПО для различных совместимых с Asterisk устройств. В настоящее время в этой папке имеется только подпапка iax/, в которой находится двоичное отображение встроенного ПО для IAXy производства Digium.
images/

Приложения, которые соединяются с каналами, поддерживающими изображения, ищут папку images/. Большинство каналов не поддерживают передачу изображений, поэтому эта папка используется редко. Однако если появится больше устройств, поддерживающих и использующих изображения, эта папка станет более значимой.
keys/

Asterisk может использовать систему открытых/закрытых ключей для аутентификации равноправных участников сети, которые соединяются с модулем, используя цифровую подпись RSA. Если поместить открытый ключ такого участника сети в свою папку keys/, этот участник сети сможет быть аутентифицирован каналами, поддерживающими данный метод (такими, как каналы IAX2). Закрытый ключ никогда не предоставляется. Справедливо и обратное: вы можете предоставить свой открытый ключ равноправным участникам сети, что позволит вам проходить аутентификацию с использованием своего закрытого ключа. И открытый, и закрытый ключи - файлы с расширениями .pub и .key соответственно - хранятся в папке keys/.
mohmp3/

Если Asterisk сконфигурирована на воспроизведение музыки при ожидании, приложения, использующие эту функцию, ведут поиск файлов в формате MP3 в папке mohmp3/. Asterisk несколько требовательна к форматированию МР3-файлов, поэтому следует использовать кодирование с постоянной скоростью передачи данных (constant bitrate, CBR) и удалять теги ID3 из файлов. sounds/

Все доступные для Asterisk голосовые сообщения находятся в папке sounds/. Основные сообщения, поставляемые с Asterisk, объединены в файл sounds.txt, размещающийся в папке исходного кода Asterisk. Дополнительные подсказки находятся в файле sounds-extra. txt, расположенном в той папке, в которую ранее в этой главе был извлечен из архива пакет asterisk-sounds.
/var/spool/asterisk/

Папка Asterisk spool имеет несколько подпапок, включая dictate/, meetme/, monitor/, outgoing/, system/, tmp/ и voicemail/ (рис. 3.4). Asterisk отслеживает папку outgoing на наличие текстовых файлов, содержащих информацию запросов вызовов. Эти файлы позволяют производить вызов, просто перемещая правильно структурированный файл в папку outgoing/.
Файлы вызовов, помещенные в папку outgoing/, могут содержать полезную информацию, такую как Context (Контекст), Extension (Расширение) и Priority (Приоритетность), соответственно которой должен начинаться ответ на вызов, или просто приложение и его аргументы. Также в них можно задать переменные и определить код учетной записи для Call Detail Records (Записи параметров вызовов). Более подробная информация об использовании файлов вызовов представлено в главе 9.

dictate/ - папка, в которой приложение Dictate() ищет файлы по умолчанию.
meetme/ - папка, в которой сохраняются записи конференций, организованных приложением MeetMe().
Записи, полученные с помощью любого приложения для записи «в одно касание» (флаги w и W для приложения Dial()), MixMonitor() или Monitor(), хранятся в папке monitor/.
Папка system/ используется приложением System() для временного хранения данных.
Папка tmp/, как это ни смешно, используется для хранения временной информации. Некоторым приложениям может потребоваться место для записи файлов перед копированием их окончательных версий в постоянное местоположение. Это предотвращает попытки одновременной записи и чтения файла разными процессами.
Все сообщения голосовой почты и приветствия пользователя находятся в папке voicemail/. Для добавочных номеров, заданных в voicemail. conf и по крайней мере один раз зарегистрировавшихся в системе, в voicemail/ создаются подпапки.
/var/run/

Папка /var/run/ содержит идентификаторы процессов (Process ID, PID) для всех активных процессов системы, включая Asterisk (как определено в файле asterisk.conf). Обратите внимание, что в разных ОС для этих целей могут использоваться различные папки.
/var/log/asterisk/

Папка /var/log/asterisk/ является местом хранения журнала Asterisk. Редактируя файл logger.conf, находящийся в папке /etc/asterisk/, можно управлять типом информации, протоколируемой в различных файлах. Базовая конфигурация файла logger.conf рассматривается в приложении D.
/var/log/asterisk/cdr-csv

Папка /var/log/asterisk/cdr-csv используется для хранения записей параметров вызовов (CDR) в формате CSV (с разделяющими запятыми). По умолчанию информация хранится в файле Master.csv, но для отдельных учетных записей с помощью опции accountcode можно организовать хранение их CDR в отдельных файлах (подробнее об этом рассказывается в приложении А).
Enhanced by Zemanta

Реклама от BigBN