вторник, 27 сентября 2011 г.

UBUNTU 10.04 LTS Server + Asterisk+FreePBX+GSM HUAWAY E1550


**UBUNTU 10.04 LTS Server + Asterisk+FreePBX+GSM HUAWAY E1550**
===== 1. Установка операционной системы =====

Выполняется типовая установка ОС Ubuntu 10.04 LTS Server со следующими предустановленными компонентами:

LAMP Server
OpenSSH Server
Samba file Server

Локализация: русская
Везде пароли: YourPass

После установки необходимо активировать учетку root, так-как вся настройка выполянется с полными правами.
sudo passwd root
===== 2. Загрузка компонентов из сети =====

Качаем и ставим компоненты из репозитория ~44,4 Мб +~12 Мб апдейтов
apt-get update
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

Установка драйверов DAHDI (можно не выполнять, если не нужны конференции и нет соответствующего оборудования).
apt-get install dahdi
/etc/init.d/dahdi start
cd /tmp
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-2.4.0+2.4.0.tar.gz
cd /usr/src
tar -zxvf /tmp/dahdi-linux-complete-2.4.0+2.4.0.tar.gz
cd dahdi-linux-complete-2.4.0+2.4.0/
make
make install
make config

Качаем исходники Asterisk и FreePBX от производителей. Ориентировочный объём: 24Мб+0.9Мб+6.2Мб

cd /tmp
wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.6.2.13.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-addons-1.6.2.2.tar.gz
wget http://mirror.freepbx.org/freepbx-2.8.0.tar.gz


Распаковываем запакованные исходнички:

cd /usr/src
tar xvfz /tmp/asterisk-1.6.2.13.tar.gz
tar xvfz /tmp/asterisk-addons-1.6.2.2.tar.gz
tar xvfz /tmp/freepbx-2.8.0.tar.gz



===== 3. Устанавливаем Астериск =====


cd /usr/src/asterisk-1.6.2.13
./configure
Во время установки программа автоматически скачиваются звуковые файы. Необходимо убедиться, что выход в интернет работает.
make install
make config
make samples

===== 4. Ставим дополнения к Астериску =====
Дополнения требуются для включения возможности записи информации о звонках (cdr) в mysql в формате, требуемом для корректной работы FreePBX

cd /usr/src/asterisk-addons-1.6.2.2
perl -p -i.bak -e 's/CFLAGS.*D_GNU_SOURCE/CFLAGS+=-D_GNU_SOURCE\nCFLAGS+=-DMYSQL_LOGUNIQUEID/' Makefile
./configure
make
make install


===== 5. Конфигурируем Апач =====


Добавляем юзера и даем ему права

adduser asterisk --disabled-password --gecos "Asterisk PBX"
adduser www-data asterisk

Заставляем апач стартовать от имени юзера астериск
nano /etc/apache2/envvars

закомментируем следующие строки
#export APACHE_RUN_USER=www-data
#export APACHE_RUN_GROUP=www-data

и добавляем данные строки
export APACHE_RUN_USER=asterisk
export APACHE_RUN_GROUP=asterisk

записываем изменения Ctrl+O и выходим из редактора nano Ctrl+X

Применяем параметры апачу

apache2ctl graceful

===== 6. Ставим FREEPBX =====

==== Подготовка баз MYSQL для FREEPBX ====

cd /usr/src/freepbx-2.8.0
mysqladmin create asterisk -pYourPass
mysqladmin create asteriskcdrdb -pYourPass
mysql asterisk < SQL/newinstall.sql -pYourPass
mysql asteriskcdrdb < SQL/cdr_mysql_table.sql -pYourPass
mysql -pYourPass
GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'YourPass';
GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'YourPass';
flush privileges;
quit;


==== Установка FREEPBX ====

Запускаем Астериск перед установкой Freepbx

/etc/init.d/asterisk start

Запускаем установку:
./install_amp

ВАЖНО остальные параметры __кроме указанных__, менять НЕЛЬЗЯ!!! Параметры которые надо поменять в мастере установки:

Enter your PASSWORD to connect to the 'asterisk' database:
[amp109] YourPass

Enter a PASSWORD to connect to the Asterisk Manager interface:
[amp111] YourPass

Enter the path to use for your AMP web root:
[/var/www/html]
/var/www/freepbx

Enter a PASSWORD to perform call transfers with the Flash Operator Panel:
[passw0rd] YourPass

в случае, если в конце установки, вы получите данное сообщение (которое стало появляться при установке с версии freepbx-2.8.0)
PHP Fatal error: Cannot redeclare __parse_DialRulesFile() (previously declared in /usr/src/freepbx-2.8.0/upgrades/2.6.0beta1/tables.php:87) in /usr/src/freepbx-2.8.0/upgrades/2.8.0alpha2/tables.php on line 239
необходимо повторно выполнить установку:
./install_amp

==== Корректировка параметров FreePBX после установки для его правильной работы ====

nano /etc/amportal.conf
Коментируем параметр, для работы FOP (флеш панель):
#AMPWEBADDRESS=xx.xx.xx.xx
Исправляем параметр для включения авторизации доступа к web-админке и хранения учеток в базе данных (по умолчанию adminadmin):
AUTHTYPE=database
Исправляем пароль авторизации доступа к web-админке по управлению записями разговоров.
ARI_ADMIN_PASSWORD=YourPass
записываем изменения Ctrl+O и выходим из редактора nano Ctrl+X

Исправление, для включения русского языка в web-интерфейсе FreePBX

nano /usr/share/locale/locale.alias
Удаляем строку с кодировкой для russian и добавляем 3 строки вместо нее:
russian ru
ru ru_RU
ru_RU ru_RU.UTF-8

записываем изменения Ctrl+O и выходим из редактора nano Ctrl+X

Делаем автостарт
nano /etc/rc.local
дописываем перед строчкой exit 0 следующую строчку
/usr/local/sbin/amportal start

Перезагружаем сервер для проверки успешного автозапуска.
reboot
==== Обновление и получение модулей FreePBX с сервера разработчка ====
Заходим в web-админку
http://192.168.0.218/freepbx/admin (admin/admin)

Первым делом применяем параметры конфигурации

"Управление модулями" -> "Проверить обновление on-line" -> "Скачать все" -> "Обновить все" -> "Запустить процесс"

Прокручиваем список обновляемых модулей вниз жмем "Подтвердить"

в процессе выполнения в случае остановки процесса, его необходимо повторить пока все не обновится!

===== 7. Подключение модема HUAWEI e1550 к Asterisk =====

==== Некоторые приготовления перед подключением модема ====

Обновление прошивок: http://www.dc-files.com/files/huawei/modems/E1550/

Обязательное условие - отключение встроенных в модем устройств - (кард-ридер и вируальный CD-ROM с ПО для Windows). Для этого необходимо через терминал подключиться к консоли модема и выполнить AT комманду AT^U2DIAG=0. Если этого не сделать, то появится проблема с переподключениями модема по причине некорректного отмонтирования портов устройств.

==== Установка модуля DATACARD ====

Получение текущих исходников из SVN и сборка модуля:
svn co http://www.makhutov.org/svn/chan_datacard/trunk/ /usr/src/chan_datacard

cd /usr/src/chan_datacard
./configure
make install
cp etc/datacard.conf /etc/asterisk

==== Настройка параметров модуля ====

nano /etc/asterisk/datacard.conf
в самом низу конфигурационного файла удаляем все данные (Ctrl+k) после последней черты и вставляем данный конфиг

[000101]
context=from-gsm ; context для входящих звонков
audio=/dev/ttyUSB1 ; tty порт для аудио подключения
data=/dev/ttyUSB2 ; tty порт для управляющих AT комманд модема
group=1 ; Группа вызова
rxgain=10 ; Изменение громкости динамика
txgain=-5 ; Изменение громкости микрофона
resetdatacard=yes ; Перезагрузка модема при перезапуске модуля
autodeletesms=yes ; Удаление смс с симкарты при перезапуске
usecallingpres=yes ; use the caller ID presentation or not
callingpres=allowed_passed_screen ; set caller ID presentation

записываем изменения Ctrl+O и выходим из редактора nano Ctrl+X

Создаем специальный контекст в диалплане:
nano /etc/asterisk/extensions_custom.conf

[from-gsm]
exten => s,1,Set(CALLERID(all)=${CALLERID(num)})
exten => s,n,Set(CALLERID(num)=8${CALLERID(num):2})
exten => s,n,goto(from-trunk,${IMEI},1)


Перезапускаем Asterisk
service asterisk restart

==== Методы контроля и управления модемом ====


Проверка состояния модема
asterisk -r
datacard show devices

Отключаем и включаем питание конкретному модему:

Определяем порт:
dmesg usb | grep ttyUSB
смотрим последнюю строку:
[ 5191.602917] usb 1-3.5: GSM modem (1-port) converter now attached to ttyUSB3
Отключаем и включаем питание устройсту usb 1-3.5
echo suspend > /sys/bus/usb/devices/1-3.5/power/level
echo on > /sys/bus/usb/devices/1-3.5/power/level

Послылаем модему команду перезагрузки
datacard cmd 000101 AT+CFUN=1,1


==== Настройка FreePBX для работы с модемами ====

* Создаем специальный транк

Конфигурация => Транки => Добавить специальный транк => Исходящие настройки Специальный набор => datacard/i:123456789012345/$OUTNUM$
где 123456789012345 (IMEI модема)
* Создаем исходящий маршрут

Конфигурация => Исходящая маршрутизация => math patern => . (ставим точку в это поле), а в Trunk Sequence for Matched Routes выбираем наш транк.
{{:match_pattern.png?500|}}
* Делаем входящий маршрут
Конфигурация => Входящая маршрутизация => Добавить входящий маршрут => Номер DID => 123456789012345 (IMEI модема), а в "Установить направление" выбрать получателя звонков, поступающих на модем.

===== 9. Руссификация озвучки =====

Скачиваем файлы в формате wav ~20 Mb
cd /tmp
wget http://195.242.215.60/ivr/asterisk-sounds-ru-wav.tar.gz
cd /var/lib/asterisk/sounds
tar xvfz /tmp/asterisk-sounds-ru-wav.tar.gz

Включаем русскоязычную озвучку для протоколов, например для SIP, через WEB-интерфейс

Инструменты => Asterisk SIP Settings => language => ru

Поставить галочки:

NAT => no

IP Configuration => Public IP

===== 10. Взаимодействие со сторонним внешним ПО =====

==== Доступ к mysql ====

nano /etc/mysql/my.cnf
Комментируем строку:
# bind-address = 127.0.0.1

записываем изменения Ctrl+O и выходим из редактора nano Ctrl+X

Для предоставления удаленного доступа к MySQL, в командной строке копируем и выполняем следующие команды:

mysql --user=root mysql --pass=YourPass
GRANT ALL PRIVILEGES ON *.* TO monty@localhost
IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO monty@"%"
IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
quit;

Перезапускаем MYSQL
/etc/init.d/mysql restart

==== Доступ к AMI ====

Редактируем файл:
nano /etc/asterisk/manager.conf

Дописываем в секцию
[general]
webenabled = yes

[admin]
enabled = yes
secret = YourPass
permit=0.0.0.0/0.0.0.0
read = all,system,call,log,verbose,command,agent,user,config,dtmf,reporting,cdr,dialplan,originate
write = all,system,call,log,verbose,command,agent,user,config,dtmf,reporting,cdr,dialplan,originate

соответственно удаляем строки
deny=0.0.0.0/0.0.0.0

записываем изменения Ctrl+O и выходим из редактора nano Ctrl+X

Делаем подключение к AMI через HTTP

Редактируем файл
nano /etc/asterisk/http.conf
Раскоменчиваем:

enabled=yes
enablestatic=yes
bindaddr=0.0.0.0/0
bindport=8088
prefix=asterisk

записываем изменения Ctrl+O и выходим из редактора nano Ctrl+X

перезапускаем Asterisk
service asterisk restart

Логинимся:
http://192.168.0.218:8088/asterisk/manager?action=login&username=admin&secret=YourPass

Получаем информацию о текущих звонках (нужно производить запросы постоянно, при простое происходит отлогивание)
http://192.168.0.218:8088/asterisk/manager?action=Status

==== Доступ к записям (через Самбу) ====

редактируем
nano /etc/samba/smb.conf

Все коментим или удаляем и оставляем только это:
[global]
workgroup = WORKGROUP
netbios name = ugw
hosts allow = 0.0.0.0/0
security = share


[records]
browseable = yes
writable = yes
guest ok = yes
path = /var/spool/asterisk/monitor/

записываем изменения Ctrl+O и выходим из редактора nano Ctrl+X

Перегружаем самбу
/etc/init.d/smbd restart

==== Прямой доступ к файлам через Апач ====

Добавляем симлинк
ln -s /var/spool/asterisk/monitor/ /var/www

Доступ через http://192.168.0.218/monitor/


===== 11. Основные настройки FreePBX =====

заходим во FreePBX
http://ip_adress_servera/freepbx

выбираем пункт
FreePBX Administration

при первом входе следует применить настройки

выбираем русский язык
применяем настройки

слева в панели "ОСНОВНОЙ" выбираем пункт "Внутренние номера"
выбираем "Какое-то SIP устройство" жмем "Сохранить"

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

"Внутренний номер пользователя" указываем номер телефона

"Отображаемое имя" указываем отображаемое имя абонента

"Secret" указываем пароль

"Запись входящих" выбираем всегда

"Запись исходящих" выбираем всегда

понедельник, 26 сентября 2011 г.

Upgrading FreePBX


Note: You may need to install subversion for your linux distribution if you have any errors. Do this by typing yum -y install subversion at the root prompt.
Upgrading to the latest Released Version: 2.9.0
You will want to pull the release tarball, and follow the instructions below. Once you have installed it you will want to navigate to Module Admin menu item and update all modules as well as install other available modules not included in the release tarball.
cd /usr/src/
wget http://mirror.freepbx.org/freepbx-2.9.0.tar.gz
tar zxvf freepbx-2.9.0.tar.gz
cd freepbx-2.9.0
./start_asterisk start # for upgrades use: amportal start 
./install_amp
On some rare cases you may experience an issue with the SQL database not being correctly updated. If that appears to be the case, you can safely add the --force-version option. For example, if you were upgrading from version 2.6.0 you might type:
cd /usr/src/freepbx-2.9.0
./install_amp --force-version=2.6.0
(Replace 2.6.0 with the version you are upgrading from, or an earlier version which is also safe)
You can also pull directly from SVN for beta/RC testing by following the instructions below but using the 2.9 branch instead of the 2.8 branch.
Upgrading to the 2.10 Beta/RC
You will want to pull the release tarball, and follow the instructions below. Once you have installed it you will want to navigate to Module Admin menu item and update all modules as well as install other available modules not included in the release tarball.
cd /usr/src/
wget http://mirror.freepbx.org/freepbx-2.10.0beta1.tar.gz
tar zxvf freepbx-2.10.0beta1.tar.gz
cd freepbx-2.10.0beta1
./start_asterisk start # for upgrades use: amportal start 
./install_amp
On some rare cases you may experience an issue with the SQL database not being correctly updated. If that appears to be the case, you can safely add the --force-version option. For example, if you were upgrading from version 2.6.0 you might type:
cd /usr/src/freepbx-2.10.0beta1
./install_amp --force-version=2.9.0
(Replace 2.9.0 with the version you are upgrading from, or an earlier version which is also safe)
You can also pull directly from SVN for beta/RC testing by following the instructions below but using the 2.10 branch.
Upgrading to the latest stable 2.9 branch from SVN
If you prefer to pull directly from the SVN repository you can follow these instructions below. Once you have installed FreePBX it is important to navigate to Module Admin in FreePBX and upgrade your modules. Installing FreePBX in this way (vs. using the release tarball) is not recommended for initial installs unless you are very familiar with the project. Without loading critical modules like core, framework, voicemail and some others your system will not be able to do anything for you or will function improperly.
cd /usr/src/
svn co http://svn.freepbx.org/freepbx/branches/2.9 freepbx-2.9
Installation instructions are the same as above after exploding the tarball
Note:Need to get the new func_devstate features to take advantage of the optional BLF? You can get a version that works on 1.4 from this website, and then you simply put the file in your apps subdirectory of your asterisk source and re-run make and make install. To use this mode, amportal.conf needs the setting:
USEDEVSTATE=true
Upgrading to 2.6 From trixbox
If you are using a version of trixbox that no longer connects to the FreePBX repository and does not provide you with the 2.6 Upgrade Tool, you can upgrade to 2.6 by following these simple instructions. The process will simply install a special version of the Upgrade Tool and then you will upgrade just the same as the normal GUI upgrade process. Although the tool may indicate you are upgrading to a beta or release candidate program, since 2.6 has gone final, you will actually be upgraded to the current 2.6 released version. The steps are simply:
  1. Download the upgrade module to your desktop by pressing this link: Download trixbox Upgrade Tool
  2. Navigate to Module Admin in FreeBPX, click on the Upload module link and then browse to the module you downloaded in step 1, choose it, and then press upload.
  3. Now you simply install the module as if you were downloading it from the Online Repository and then you can follow the instructions provided by the module to upgrade!
The process is almost identical to pulling the module from our repository and once you do this, you will have access to all the great features and many bug fixes no present elsewhere.
Upgrading to the trunk branch
The trunk is where active development happens. The project tries hard to keep it relatively stable and you will find it is fairly safe to run off of this branch most of the time, although it is actively being developed on so glitches can occur. This differs from release branches where they are limited to the latest bug fixes. You can access the development trunk as described below.
To run off of trunk and keep up-to-date with every change even before modules get published, there is a set of tools that will help you build an install environment where you do NOT use Module Admin to keep up-to-date. The instructions are:
cd /usr/src/
svn co http://svn.freepbx.org/freepbx/trunk freepbx-trunk
cd freepbx-trunk
./setup_svn.php
At this point, you will now have a special SVN environment where all the FreePBX modules are pulled into your install directory. You can then do a normal install:
./install_amp --force-version=2.4.1
Note that you will always want to do a force-version in case there are new schema changes introduced since the last time you updated. If you are updating from a release prior to 2.4.1, you should use that release number the first time, but 2.4.1 after that is fine.
Now, instead of using Module admin with this setup, you can simply follow the following procedure to update yourself to the newest updates that may have been committed:
cd /usr/src/freepbx-trunk
svn update
./install_amp --force-version=2.4.1 #(*)
(*) if there were no updates pulled, then there is no need to do an install amp again
The install will take longer because it will be going through the process of reinstalling all modules, but it will do such with all new changes even before they are published to the Online Repository.

Upgrading your system | FreePBX

Upgrading your system | FreePBX:

'via Blog this'

четверг, 22 сентября 2011 г.

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


Голосовой модуль по умолчанию активирован только в модемах МТС. :!: 
Рекомендованное ядро Linux 2.6.33+ 
Asterisk 1.6.+ 
USB 2.0
Заведомо рабочие прошивки (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

Установите usb-modeswitch

Пакет исходного кода: usb-modeswitch применяется в Unix системах для подключения устройств через USB интерфейс
#apt-get install libusb libusb-dev

# wget http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-1.1.4.tar.bz2
# tar -jxvf  usb-modeswitch-1.1.4.tar.bz2
# cd ~/usb-modeswitch-1.1.4
# make install

# wget http://www.draisberghof.de/usb_modeswitch/usb-modeswitch-data-20100826.tar.bz2
# tar -jxvf  usb-modeswitch-data-20100826.tar
# cd ~/usb-modeswitch-data-20100826
# make install

Убедимся что модем Huawei E1550 определился в системе

ls /dev | grep USB
ttyUSB0
ttyUSB1
ttyUSB2

Настройка модулей

Канальный модуль Huawei настраивается в datacard.conf.
[datacard0]
audio=/dev/ttyUSB1   ; tty for audio connection
data=/dev/ttyUSB2   ; tty for AT commands

context=datacard-incoming       ; context for incoming calls
group=1                         ; calling group

rxgain=3                        ; increase the incoming volume
txgain=3                        ; increase the outgoint volume



[datacard1]
context=datacard-incoming	; context for incoming calls
audio=/dev/ttyUSB4		; tty port for audio connection
data=/dev/ttyUSB5		; tty port for AT commands
group=2				; calling group
rxgain=3			; increase the incoming volume
txgain=3			; increase the outgoint volume
autodeletesms=yes		; auto delete incoming sms
resetdatacard=yes		; reset datacard during initialization
u2diag=0			; set U2DIAG parameter (0 = disable everything except modem function)
usecallingpres=yes		; use the caller ID presentation or not
callingpres=allowed_passed_screen ; set caller ID presentation


Проверим состояние модема из командной строки Asterisk (CLI). 
Перегрузить asterisk можно командой core restart now
а если система рабочая и идут вызовы, то core restart gracefully
Запущенные модули каналов просмотрим командой module show like chan_
asterisk*CLI> datacard show devices
ID           Group State      RSSI Mode Submode Provider Name  Model      Firmware          IMEI             IMSI       Number        
datacard1    2     Free       13   3    3       MTS RUS        E1550      11.608.12.00.143  352......        25....... Unknown       
datacard0    1     Free       15   3    3       TELE2          E1550      11.608.14.15.311  359......        25....... Unknown 

Для входящих вызовов, sms и ussd запросов настроим extensions.conf:

[datacard-incoming]
exten => sms,1,Verbose(Incoming SMS from ${CALLERID(num)} ${SMS})
exten => sms,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DATACARD} - ${CALLERID(num)}: ${SMS}' >> /var/log/asterisk/sms.txt)
exten => sms,n,Hangup()

exten => ussd,1,Verbose(Incoming USSD: ${USSD})
exten => ussd,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DATACARD}: ${USSD}' >> /var/log/asterisk/ussd.txt)
exten => ussd,n,Hangup()

exten => s,1,Dial(SIP/100,,)
exten => s,n,Hangup()

Для исходящей связи

exten => _X.,1,Dial(Datacard/g1/${EXTEN})
или
exten => _X.,1,Dial(Datacard/datacard0/${EXTEN})

Отключение функций CD-ROM и card reader

Отключим ненужные функции.
# minicom -s

            +-----[configuration]------+
            | Filenames and paths      |
            | File transfer protocols  |
            | Serial port setup        |
            | Modem and dialing        |
            | Screen and keyboard      |
            | Save setup as dfl        |
            | Save setup as..          |
            | Exit                     |
            | Exit from Minicom        |
            +--------------------------+
Выбираем Serial port setup и жмем ENTER. Жмем 'А' Редактируем порт:
    +-----------------------------------------------------------------------+
    | A -    Serial Device      : /dev/ttyUSB0                              |
    | B - Lockfile Location     : /var/lock                                 |
    | C -   Callin Program      :                                           |
    | D -  Callout Program      :                                           |
    | E -    Bps/Par/Bits       : 115200 8N1                                |
    | F - Hardware Flow Control : Yes                                       |
    | G - Software Flow Control : No                                        |
    |                                                                       |
    |    Change which setting?                                              |
    +-----------------------------------------------------------------------+
            | Screen and keyboard      |
            | Save setup as dfl        |
            | Save setup as..          |
            | Exit                     |
            | Exit from Minicom        |
            +--------------------------
Жмем ENTER 2 раза и выбираем Exit.
После подключения вводим команду:AT^U2DIAG=0
Welcome to minicom 2.4

OPTIONS: I18n                                                                
Compiled on Jan 25 2010, 06:49:09.                                           
Port /dev/ttyUSB0                                                            
                                                                             
Press CTRL-A Z for help on special keys                                      
                                                                             
AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0                                             
OK
AT^U2DIAG=0
OK                                                                           
Выходим Ctrl-A Q
AT^U2DIAG=0 (девайс в режиме только модем) 
AT^U2DIAG=1 (девайс в режиме модем + CD-ROM) 
AT^U2DIAG=255 (девайс в режиме модем + CD-ROM + Card Reader) 
AT^U2DIAG=256 (девайс в режиме модем + Card Reader) 
AT^CARDLOCK=«NCK-code» (разблокировка модема) 
Ещё команды:

Chan_datacard +Huawei E1550 от МТС+asterisk+ubuntu 9.10

Это не HOWTO, скорее, для себя плохопомнящего:) ,но инфы по данному вопросу пока мало, может, и людям поможет.
Ну, собственно, начнем....
Ubuntu 9.10 - из-за ядра(на старых ядрах может не получиться или , если получится, то возможен плохой звук и т.д.)
Ставим нужные пакеты:
apt-get install subversion g++ libncurses-dev libxml2-dev
Ставим asterisk 1.6.2.0 (на момент написания он последний), asterisk-addons пока без надобности.
Warning! С asterisk-1.4 chan_datacard не работает, для него есть chan_sebi.
Выкачиваем chan_datacard:
svn co https://www.makhutov.org/svn/chan_datacard/trunk
заходим в папку:
cd .../trunk (из какой директории давали команду, в той и ищите папку)
ставим:
make install
(а вот здесь добавочка! теперь нужно
./configure
make
make install
все по-взрослому - проект растет
не могу только сказать с какой ревизии нужно делать так
6.09.2010)
Можно проверить сел ли chan_datacard.so в /usr/lib/asterisk/modules - сел!
Затем копируем из папки /trunk в /etc/asterisk файлик datacard.conf
Все. Chan_datacard установлен.

Намного "интереснее" с модемом....На данный момент под это дело подходит модем Huawei E1550 от МТС, но он залочен(Warning! Huawei E1550 от Мегафона, по заверениям испытавших его, не работает - там нет голосовых функций). Мне помогли его разлочить на unlockers.ru . Там есть ветка, посвященная именно этим модемам. Ну или сходить в сервис по ремонту сотовых телефонов, где вам его разлочат рублей за 400.
После разлочки надо отключить вмонтированный в этот usb-device cd-rom, иначе модем будет постоянно менять порты(посмотрите в datacard.conf и увидите, что они должны быть закреплены). Сделать это можно at командой AT^U2DIAG=0 (из трех устройств в этом брелке останется только одно - модем) или AT^U2DIAG=256 (останется модем и флешка) . После введения этих команд надо извлечь модем из usb и вставить снова.
Для дачи AT команд я пользуюсь прогой minicom.
Эти команды не необратимы:) Вернуть все устройства на брелок можно командой AT^U2DIAG=255
Файл /etc/asterisk/extensions.conf редактируется в соответствии с рекомендациями в файлике README, который лежит в папке chan_datacard

VoIP-GSM шлюз на основе модема HUAWEI [HOWTO]


Наша цель – сделать из модема Huawei E1550 загрузочную систему с астериском, чтобы загрузившись с USB брелка на любом компьютере, в том числе на дешевом бездисковом неттопе, мы получили VoIP-GSM шлюз.
Чтобы брелок работал как кард-ридер, на COM-порт модема следует отправить команду AT^U2DIAG=256и заново вставить брелок в USB разъем.
Чтобы не было сюрпризов, стоит проверить, не залочен ли модем под определенного оператора. В этом поможет утилита MICRO-BOX HUAWEI MODEM UNLOCKER
Процесс изготовления рассчитан на пользователей Windows. Предполагается наличие VMware Workstation 7.
На линуксе некоторые шаги можно пропустить.
  • Качаем Ubuntu 9.10 Desktop
  • Создаем виртуальную машину на основе скачанного образа ISO. Процесс проходит автоматически (Easy Install Feature).
  • Логинимся в root, ставим ssh сервер: apt-get install ssh
  • Узнаем наш ip адрес: ip ad
  • Копируем образ ISO внутрь виртуальной системы с помощью winscp
  • Заходим с помощью putty на установленную систему
  • Ставим UCKapt-get install uck
  • Идем в папку с образом ISO
  • Распаковываем образ: uck-remaster-unpack-iso ubuntu-9.10-desktop-i386.iso .
  • Распаковываем squashfs: uck-remaster-unpack-rootfs .
  • Скачиваем asterisk-1.6.2 и chan_datacard:
    wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.6.2.0-rc6.tar.gz
    svn co http://www.makhutov.org/svn/chan_datacard/trunk/ chan_datacard

    Другие версии астериска не работают с данным драйвером.
  • Копируем исходники внутрь live системы:
    cp -R asterisk-1.6.2.0-rc6.tar.gz chan_datacard remaster-root/usr/src/
  • Правим DNS в live системе: cp /etc/resolv.conf remaster-root/etc/resolv.conf
  • Делаем chroot в live систему: chroot remaster-root
  • Устанавливаем астериск внутри live системы:
    cd /usr/src/
    tar xf asterisk-1.6.2.0-rc6.tar.gz
    cd asterisk-1.6.2.0-rc6
    apt-get install g++ libncurses-dev libxml2-dev
    ./configure
    make install
    make config
    make samples
    cd ../chan_datacard/
    make install
  • Настраиваем конфигурацию астериска: файлы extensions.conf, sip.conf и datacard.conf (пример этого конфига находится в chan_datacard). Этот пункт отдается на откуп личным предпочтениям астерисководов. Единственное, что наверно стоит упомянуть, – при настройке sip пиров может потребоваться опция insecure=invite.
  • Универсальный вариант GSM-шлюза подразумевает веб-интерфейс для конфигурирования его параметров. Это также оставим за пределами данного HOWTO.
  • Восстанавливаем дефолтное состояние DNS rm /etc/resolv.conf
  • Опционально отключаем запуск графической среды apt-get remove gdm
  • Опционально удаляем тяжелые ненужные пакеты apt-get remove openoffice.org-core и т.п.
  • Опционально чистим систему от других ненужных файлов
  • Выходим из chroot: exit
  • Пакуем rootfs обратно: uck-remaster-pack-rootfs .
  • Уменьшаем таймаут при загрузке: nano remaster-iso/isolinux/isolinux.cfg ставим timeout 20
  • Пакуем ISO uck-remaster-pack-iso huawei.iso .
  • Вытаскиваем iso-образ из виртуалки (он будет находиться в папке remaster-new-files)
  • Записываем его на флешку брелка с помощью liveusb-creator
  • Все. Брелок готов для того, чтобы загрузиться с него и совершать звонки.
    В процессе подготовки конфигов будет удобно поставить астериск и chan_datacard в самой виртуалке. VMware позволяет пробрасывать внутрь виртуалки USB устройства, поэтому полноценно протестировать работоспособность системы можно “не отходя от кассы”.
    При наличии в неттопе HDD можно пропустить шаги, относящиеся к изготовлению live-iso, и сделать стационарную установку системы.

    Бесплатные панели управления сервером и хостингом.


    Если вам нужна панель управления для вашего сервера или недавно приобретенного хостинга, важно знать, что вариантов может быть гораздо больше, чем использование коммерческих версий, таких как Cpanel,DerectAdmin, Plesk или H-Sphere. На самом деле, есть свободные панели управления, которые так же могут быть отличным решением для выделенного сервера или веб хостинга. В этой статье пойдет разговор об таких панелях как
    GNUPanel, SysCP и Webmin с модулем Virtualmin.

    GNUPanel

    Относительно новая панель управления, GNUPanel написана на языке программирования PHP5 и предназначена для установки на Debian Linux. Хорошей особенностью этой панели это возможность управлять доменами, управлять FTP, почтой и выполнять администрирование баз данных. Эта панель управления позволяет контролировать такие популярные приложения, как веб-сервер Apache, а также пакеты, такие как PHP и MySQL. Эта панель также позволяет автоматически устанавливать различные программы CMS сторонних производителей, включая Joomla, Drupal, Wordpress, PhpBB, интернет магазин и другое. GNUPanel имеет открытый исходный код под лицензией GPL, отсюда и название. Хотя эта панель управления в настоящее время ограничена платформой Debian, разработчики говорят, что в настоящее время разрабатывается портирование для работы на других операционных системах.
    GNUPanel панель управления

    SysCP

    Панель управления SysCP позволяет вам управлять веб-сервером, почтой, CGI скриптами, DNS настройками, создавать пользовательские страницы ошибок, просматривать статистику и многое другое. Функции встроенные в панель управления предоставляют вам возможность контролировать широкий спектра приложений, включая Apache, MySQL, BIND, почтовые сервера и серверы FTP такие как ProFTPD. Хотя панель и обладает многочисленными встроенными модулями, существует множество расширений доступных для скачивания, которые позволяют управлять другими функциями сервера. Некоторые из сторонних модулей для SysCP, инструменты, которые позволяют вам управлять такими приложениями, как Fetchmail и SpamAssassin, выполнять резервное копирование критически важных данных и многое другое. Это панель управления поддерживает 5 основных Unix-подобных дистрибутивов, наиболее заметными из которых являются Debian, Gentoo, FreeBSD, OpenSUSE и Ubuntu. SysCP может свободно распространяться и модифицироваться под лицензией GNU GPL. Перед установкой SysCP, не забудьте проверить вашу операционную систему на совместимость с SysCP, так как эта панель поддерживает только версии вышеупомянутых операционных систем.
    syscp панель управления

    Webmin и Virtualmin

    Панель управления Webmin становится все более популярным вариантом для клиентов выделенных серверов. Эта панель невероятно проста в использовании и содержит ряд особенностей, которые в основном модули, и обеспечивают возможность администрирования сервера. Панель поставляется со стандартным модули для Apache и BIND, брандмауэром BSD, модулем для контроля трафика, менеджером cron и многими другими полезными модулями. Помимо встроенных модулей, Webmin поддерживает множество сторонних расширений, которые можно загрузить из Интернета. Webmin также дает возможность разрабатывать свои собственные модули.Webmin в настоящее время поддерживается более чем 80 различными операционными системами, включая Linux, FreeBDS и несколько вариантов UNIXВ связи с тем, что Webmin распространяется под GNU GPL лицензией с открытым исходным кодом, многие разработчики со всего мира внесли свой вклад в улучшение кода этой панели управления. Самые последние версии Webmin были выпущены под лицензией аналогично BSD, в основном это означает, что код может свободно распространяться и модифицироваться для коммерческого и некоммерческого использования.
    Так же для Webmin существует дополнение VirtualminПо сути Virtualmin это отдельно развивающийся проект. Virtualmin дает возможность хостинг провайдерам и их клиентам настраивать и управлять доменами, DNSзаписями и поддерживает много других очень полезных функций.
    webmin панель управления