IP-АТС на базе Asterisk

Обсуждаем сетевые технологии, оборудования для построения сетей и доступа в интернет, ПО для работы в ЛС и Интернет.

Модератор: Starley440

Ответить
Starley440
Супермодератор
Супермодератор
Сообщения: 734
Зарегистрирован: 09 май 2009, 19:48
Конфигурация Компьютера:: MB P5-KPL-VM
CPU Core2Duo E4500
RAM 4 GB DDR2
Video GF 8600 GT 512 (XFX)
HDD 250GB WD
HDD 320GB WD
HDD 1TB WD
Откуда: Санкт-Петербург
Контактная информация:

IP-АТС на базе Asterisk

Сообщение Starley440 »

[img]http://upload.wikimedia.org/wikipedia/en/thumb/2/20/Asterisk_logo.svg/200px-Asterisk_logo.svg.png[/img]
Это проект с открытым исходным кодом. Asterisk обладает всеми возможностями классической АТС, поддерживает множество VoIP протоколов и предоставляет функции голосовой почты, конференций, интерактивного голосового меню (IVR), центра обработки вызовов (постановка звонков в очередь и распределение их по агентам используя различные алгоритмы), запись CDR и прочие функции. Для создания собственной функциональности можно воспользоваться собственным языком Asterisk для написания диалплана, написав модуль на языке C, либо воспользовавшись AGI, который является гибким и универсальным интерфейсом для интеграции с внешними системами обработки данных. Выполняемое через AGI может быть написано на любом языке программирования.

Asterisk распространяется по условиям двойной лицензии, благодаря которой одновременно с основным кодом, распространяемым по открытой лицензии GNU General Public License, возможно создание закрытых модулей, содержащих лицензируемый код. Например модуль для поддержки кодека G.729.

Операционные системы
Приложение работает на операционных системах GNU/Linux, FreeBSD и Solaris и предназначено для создания решений компьютерной телефонии. Имя проекта произошло от названия символа *, который в Unix и DOS операционных системах обозначает совпадение любой последовательности символов в именах файлов.

Протоколы
Asterisk обеспечивает достаточное количество протоколов для поддержки соединений между традиционными системами телефонии и ИП сетями включая H.323, Session Initiation Protocol (SIP), Media Gateway Control Protocol (MGCP), and Skinny Client Control Protocol (SCCP).
Разработан также специальный Inter-Asterisk eXchange (IAX) VoIP протокол для связи между серверами Asterisk, который обеспечивает передачу голоса и данных прозрачно через различные гетерогенные сети. Использование ИП-протокола позволяет Asterisk посылать различные данные, такие как URL или картинки и фото в процессе разговора, интегрируя различные виды информации.

Структура Asterisk полностью модулярна, интерфейс командной строки позволяет перегружать отдельные модули и их конфигурации не нарушая работы в целом и не разрывая установленные соединения, а также выгружать и загружать интерфейсы, файлы и кодеки. Делает прозрачным соединение между всеми поддерживаемыми интерфейсами, объединяя различные телефонные системы в единую сетевую среду.

Аппаратная часть
Asterisk не требует никакого специального оборудования для Voice over IP. Почти все устройства различных производителей VoIP оборудования можно подключить без особых проблем. Для использования цифрового и аналогового телефонного оборудования Asterisk поддерживает широкий спектр оборудования, в котором особое место занимают PCI платы Digium, содателя Asterisk.

Благодаря открытой лицензии, Asterisk активно развивается и поддерживается тысячами людей со всей планеты. В течение последних двух лет Asterisk приложения активно развиваются в Соединенных Штатах и Европе. В том или ином виде Астериск занял прочное место на рынке IT-технологий (более 1000 компаний, центры поддержки, online-консультации). Многие компании применяют Asterisk в своих серийных VoIP устройствах, например компании Linksys, Nateks и т. п.
[spoiler="Установка Asterisk:"]
Для инсталляции и запуска Asterisk не требуется никакого специального оборудованиия.
Перед установкой Asterisk должны быть установлены программные пакеты:
Исходники ядра (kernel sources)
Заголовочные .h файлы для Вашего ядра (kernel headers)
bison (необходим для обработки выражений в файле extensions.conf)
Пакеты: openssl и openssl-dev или libssl-dev
Исходники Asterisk

Asterisk - ядро основной программы
Asterisk-addons - дополнительные файлы
Libpri - PRI - библиотеки
Dahdi (zaptel) - драйверы телефонии
cd /usr/src/

wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.6.2.20.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-addons-1.6.2.3.tar.gz
wget http://downloads.asterisk.org/pub/telephony/libpri/releases/libpri-1.4.12.tar.gz
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
tar -zxf dahdi-linux-complete-current.tar.gz
tar -zxf asterisk-1.6.2.20.tar.gz
tar -zxf libpri-1.4.12.tar.gz
tar -zxf asterisk-addons-1.6.2.3.tar.gz
Компиляция Libpri

cd /usr/src/libpri-VERSION
make
make install
Компиляция DAHDI

cd /usr/src/dahdi-linux-complete-VERSION
make all
make install
make config
Компиляция Asterisk

cd /usr/src/asterisk-VERSION
./configure
make menuselect
make
make install
make samples
make progdocs
make config
Компиляция Asterisk-addons

cd /usr/src/asterisk-addons-VERSION
./configure
make
make install
Запуск и остановка Asterisk

/usr/sbin/asterisk: Файл запускающий Asterisk
Если Вы установили Asterisk, можно запустить его командой:

/usr/src/asterisk -vvvgc
Остановить Asterisk из CLI можно командой 'stop now'.
Командой без аргументов, Asterisk запускается как демон.

/usr/sbin/asterisk
Подключится к командному итерфейсу (CLI) можно используя аргумент 'r'.

/usr/sbin/asterisk -r
Запуск Asterisk из под не - root пользователя. По умолчанию Asterisk запускается из под root, что может быть небезопасно. Для изменения пользователя раскомментируйте строки в файле /etc/init.d/asterisk.

AST_USER="asterisk"
AST_GROUP="asterisk"
Создайте группу и пользователя asterisk.

/usr/sbin/groupadd asterisk
/usr/sbin/useradd -d /var/lib/asterisk -g asterisk asterisk
Измените права на использование следующих файлов:

chown --recursive asterisk:asterisk /var/lib/asterisk
chown --recursive asterisk:asterisk /var/log/asterisk
chown --recursive asterisk:asterisk /var/run/asterisk
chown --recursive asterisk:asterisk /var/spool/asterisk
chown --recursive asterisk:asterisk /usr/lib/asterisk
## Если Вы мспользуете Zaptel
chown --recursive asterisk:asterisk /dev/zap
## Если Вы используете DAHDI
chown --recursive asterisk:asterisk /dev/dahdi
#----------------------------------------------------
chmod --recursive u=rwX,g=rX,o= /var/lib/asterisk
chmod --recursive u=rwX,g=rX,o= /var/log/asterisk
chmod --recursive u=rwX,g=rX,o= /var/run/asterisk
chmod --recursive u=rwX,g=rX,o= /var/spool/asterisk
chmod --recursive u=rwX,g=rX,o= /usr/lib/asterisk
## Если Вы мспользуете Zaptel
chmod --recursive u=rwX,g=rX,o= /dev/zap
## Если Вы используете DAHDI
chmod --recursive u=rwX,g=rX,o= /dev/dahdi
#----------------------------------------------------
chown --recursive root:asterisk /etc/asterisk
chmod --recursive u=rwX,g=rX,o= /etc/asterisk
/etc/init.d/asterisk restart
Автозагрузка Asterisk

Различные операционные системы имеют разные способы запуска программ во время загрузки. В директории с исходиками /usr/src/asterisk-VERSION/contrib/init.d содержатся скрипты для запуска в archlinux, debian, gentoo, mandriva, redhat, slackware, suse.

Для систем, которые все еще используют inittab, просто добавьте следующую строку в /etc/inittab:

as:2:respawn:/usr/sbin/asterisk -f
Для Redhat окружения выполните

cd /usr/src/asterisk-VERSION
make config
Это скопирует скрипт из contrib/init.d/rc.redhat.asterisk в /etc/rc.d/init.d/asterisk и выполните команду:

/sbin/chkconfig --add asterisk
Директории Asterisk

/usr/lib/asterisk/modules: Содержит бинарные файлы (модули. кодеки)
/var/lib/asterisk: Содержит переменные данные(звуки. скрипты и т.д.).
/var/spool/asterisk: Файлы содаваемые в процессе работы (голосовые сообщения, исходящие вызовы и т.д.)
/var/log/asterisk: Логи. информация о вызовах.
/etc/asterisk; Конфигурационные файлы Asterisk.[/spoiler]
[spoiler="Настройка (диалплан):"]
Наиболее важным для понимания Asterisk является план набора (диалплан). Диалплан направляет каждый звонок от его источника, с помощью различных приложений, в пункт назаначения. Все вызовы, будь-то голосовая почта, конференция, меню автосекретаря или вызов телефона, определяются логикой и концепцией диалплана.
Каналам назначаются контексты. Контексты определяют правила набора для каналов
План набора состоит из одного или нескольких контекстов. Каждый контекст это просто набор расширений (екстеншенов). Каждый екстеншен в контексте имеет уникальное имя.

Контексты ипользуются для выполнения основных функций АТС:
Безопасность: Можно разрешить междугородные/международные вызовы только конкретным абонентам.
Маршрутизация вызовов: Маршрутизация вызовов в зависимости от номера абонента.
Автосекретарь: Проигрывание приветствия и приглашение ввести добавочный номер.
Многоуровневые голосовые меню: Голосовые меню для службы поддержки, отдела продаж и т.д.
Авторизация: Запрос пароля для доступа к некоторым екстеншенам.
Обратный вызов: Позволяет уменьшить затраты на междугородние/международные вызовы.
Списки доступа: Занесение в черные списки надоедливых абонентов, не давая им возможности связаться с Вами.
Виртуальные АТС: Вы можете создать «виртуальную АТС» в пределах Вашей основной АТС.
Дневной/Ночной режим работы: Вы можете изменять поведение Вашей АТС в зависимости от времени суток.
Макросы: Можно создавать скрипты для решения повторяющихся задач в плане набора.
Что такое екстеншен?

В традиционных АТС екстеншен связан с интерфейсом (портом). В Asterisk екстеншен определяется как перечень приложений (applications) и их аргументов, выполняемых в определённом порядке, Порядок выполнения определяется приоритетами (priority). Когда екстеншен набран приоритеты выполняются до разъединения вызова, или перенаправления на другой екстеншен. Каждый шаг записывается следующим образом:

exten => <exten>,<priority>,<application>, [(<args>)]

Пример простого екстеншена

exten => 100,1,Wait(5)
exten => 100,2,Answer
exten => 100,3,Playback(demo-congrats)
exten => 100,n,Hangup
Этот екстеншен состоит из 4-х действий.

Первым выполняется приложение Wait c приоритетом 1 - ждать 5 секунд (время задаётся аргументом (5).
Вторым приложение Answer - поднять трубку.
Затем Playback - проиграть звуковой файл; аргумент задает имя файла (demo-congrats) в директории по умолчанию.
Последним выполняется приложение Hangup - повесить трубку. Приоритет 'n' означает next (следующий) и может использоваться вместо любого приоритета кроме 1-го.

Например:

[default]
exten => 100,1,Wait(5)
exten => 100,n,Answer
exten => 100,n,Playback(demo-congrats)
exten => 100,n,Hangup
Использование приоритета 'n' позволяет легко редактировать отдельные строки не переписывая все приоритеты.

[spoiler="Набор номера"]

Чаще всего вызывается другой интерфейс. Вызов осуществляется командой Dial().

[default]
exten => 100,1,Dial(DAHDI/1,20)
exten => 100,2,Voicemail(u100@default)
exten => 100,102,Voicemail(b100@default)

Этот пример иллюстрирует разные варианты действий в случае, если на вызов не ответили. Сначала вызывается канал DAHDI/1, если через 20 секунд никто не ответил вызов пренаправляется на VoiceMail() с объявлением «абонент не отвечает»(u100), Если же абонент занят, вызов перейдет на приоритет N+101, в нашем случае это приоритет 102.[/spoiler]

[spoiler="Маршрутизация по CallerID"]

Пример маршрутизации по номеру вызывающего абонента.

[default]
exten => 100/1234567,1,Congestion
exten => 100,1,Dial(DAHDI/1,20)
exten => 100,2,Voicemail(u100)
exten => 100,102,Voicemail(b100)

Если вызывается екстеншен 100 вызов направляется на интерфейс DAHDI/1, кроме случая если вызов осуществляет абонент 1234567. В этом случае вызов отклоняется. На примере видно, что идентификатор вызывающего абонента задается формой '/1234567'.

Ещё один пример маршрутизации, теперь по отсутствию CallerID.

[default]
exten => 100/,1,Zapateller
exten => 100,1,Wait(0)
exten => 100,2,Dial(DAHDI/1)
В данном примере если поступает звонок без CallerID, вызов блокируется с помощью приложения Zapateller()[/spoiler]

[spoiler="Вызов группы телефонов"]

Часто требуется чтобы вызов по неответу перешел на другой телефон. Рассмотрим как это сделать на примере «оператор».

[operator]
exten => 0,1,Dial(DAHDI/1,15)
exten => 0,2,Dial(DAHDI/1&DAHDI/2&DAHDI/3,15)
exten => 0,3,Playback(companymailbox)
exten => 0,4,Voicemail(100)
exten => 0,5,Hangup

Вызов поступает на DAHDI/1, в случае если телефон занят или не отвечает в течении 15 секунд, звонок переходит на группу телефонов, включая и DAHDI/1. Если и на этот раз никто не поднимает трубку, вызов переходит на голосовую почту.[/spoiler]

[spoiler="Интерактивное Голосовое меню"]
Голосовое меню как правило задается в собственном контексте.

[sales]
exten => s,1,Background(welcome-sales)
exten => 1,1,Goto(default,100,1)
exten => 2,1,Goto(default,101,1)
[mainmenu]
exten => s,1,Background(welcome-mainmenu)
exten => 1,1,Goto(sales,s,1)
exten => 2,1,Dial,DAHDI/2
exten => 9,1,Directory(default)
exten => 0,1,Dial,DAHDI/3
Объявление проигрывается на расширении 's' (смотри Стандартные расширения). В объявлении предлагается набрать '1' для вызова отдела продаж (проиводится переход в контекст 'sales'). Набрать '2' - вызов DAHDI/2. Набор '9' - вызов каталога (смотри Directory() ) и '0' вызов DAHDI/3[/spoiler]

[spoiler="Использование переменных"]

В Asterisk существуют глобальные и специфичные для каналов переменные, используемые в качестве аргументов для команд. Переменные записываются в диалплане в виде ${foo}, где 'foo' это имя переменной. Имена должны начинаться с буквы и могут состоять из любых цифр и букв, но существуют предопределенные имена, вот некоторые из них:

${CONTEXT} Текущий контекст.
${EXTEN} Текущий екстеншен.
${EXTEN:x} Текущий екстеншен с удалением первых цифр(где х кол-во удаляемых цифр)
${PRIORITY} Текущий приоритет
${CALLERID} Текущий CallerID (имя и номер)
${CALLERIDNUM} Текущий номер Caller ID
${CALLERIDNAME} Текущее имя Caller ID
${RDNIS} перенаправление DNIS
Глобальные переменные назначаются в секции [globals] диалплана. Рассмотрим следующий пример:

[globals]
MARK => DAHDI/1
GREG => DAHDI/2&SIP/telephone
WIL => DAHDI/3
JUDY => DAHDI/4
[mainmenu]
exten => 1,1,Dial(${GREG}&${MARK})
exten => 2,1,Dial(${WIL}&${JUDY})
exten => 3,1,Dial(${JUDY}&${MARK})
Организуя диалплан таким образом, можно быстро и легко переназначать физические интерфейсы для конкретных пользователей, часто используемых в контекстах.[/spoiler]

[spoiler="Вложенные контексты"]

Один контекст может включать другие контексты, обрабатываемые в порядке перечисления. Смотри также Порядок выбора нужного екстеншена при использовании шаблонов.

include => <context>[|<hours>|<weekdays>|<monthdays>|<months>]
Где <context> - включаемый контекст
опционально:
<hours> - часы в которые действителен контекст (например рабочее время 9:00-17:00)
<weekdays> -дни недели (mon-fri)
<monthdays> - дни
<month> - месяцы
Пример:

[local]
exten => _[0-79].,1,Dial(SIP/trunk/${EXTEN})
[long]
exten => _8.,1,Dial(SIP/trunk/${EXTEN})
[local_long]
include => local
include => long
[local_only]
include => local
В этом примере контекст 'local_long'' включает два других контекста для городской и междугородней связи, а контекст 'local_only' только для городской.[/spoiler]

[spoiler="Дневной / Ночной режимы"]

Вложенные контексты можно использовать для реализации дневного, ночного и празничного режимов. Рассмотрим следующий пример:

[newyears]
exten => s,1,Playback(happy-new-years)
[daytime]
exten => s,1,Dial(DAHDI/1,20)
[nighttime]
exten => s,1,Playback(after-hours-msg)
[default]
include => newyears||||1|jan
include => daytime|9:00-17:00|mon-fri
include => nighttime
В этом примере заданы дневной, ночной и праздничный режимы прихода звонков.[/spoiler]

[spoiler="Исходящие вызовы"]
Направление исходящей связи можно реализовать определением короткого кода доступа (например '9'), или определить полностью шаблон набираемых номеров.

[international]
ignorepat => 9
exten => _9810.,1,Dial(DAHDI/g2/${EXTEN:1})
exten => _9810.,2,Congestion
include => longdistance

[longdistance]
ignorepat => 9
exten => _98[02-9]XXXXXXXXX,1,Dial(DAHDI/g2/${EXTEN:1})
exten => _98[02-9]XXXXXXXXX,2,Congestion
include => local

[local]
ignorepat => 9
exten => _9[02-79]XXXXXX,1,Dial(DAHDI/g2/${EXTEN:1})
exten => _9[02-79]XXXXXX,2,Congestion
include => default
В этом примере рассматриваются 3 контекста с различными правами доступа к Телефонной сети Общего Пользования .

Конструкция 'ignorepat ⇒ 9 ' говорит Астериску не отключать тон готовности после набора заданной цифры.

Контекст [international] позволяет набрать международный номер с любым количеством цифр.
Контекст [longdistance] - междугородний номер до 11-ти цифр.
Контекст [local] - городской номер длинной до 7-ми цифр.
Переменная ${EXTEN:1} удаляет префикс:

${123456789:1} - возвращает строку 23456789
${123456789:-4} - возвращает строку 6789
${123456789:0:3} - возвращает строку 123
${123456789:2:3} - возвращает строку 345
${123456789:-4:3} - возвращает строку 678[/spoiler]

[spoiler="Шаблоны"]

Екстеншены могут сопоставляться шаблону, вместо однозначно заданных цифр. Шаблон должен начинаться с символа подчеркивания ( _ ) и может использовать любой из следующих символов:

X – любая цифра от 0-9
N – любая цифра от 2-9
[14-6] – цифры 1,4, 5 и 6
. – любые возможные символы.
Резервные транки и LCR (выбор направления с наименьшей стоимостью)

Весьма полезно настроить LCR (Least Coast Routing) и перенаправление в случае отказа внешней линии.

[tolllongdistance]
exten => _98XXXXXXXXXX,1,Dial(DAHDI/g2/${EXTEN:1})
exten => _98XXXXXXXXXX,2,Congestion
[low_rate_moscow]
exten => _98495XXXXXXX,1,Dial(IAX/trunk/${EXTEN:1})
exten => _98495XXXXXXX,2,Dial(DAHDI/g2/${EXTEN:1})
exten => _98495XXXXXXX,3,Congestion
[longdistance]
include => low_rate_moscow
include => tolllongdistance
В этом примере междугородние вызовы направляются на DAHDI интерфейс, но звонки в Москву направляются через более выгодного провайдера на IAX транк. В случае же недоступности IAX транка, вызовы перенаправляются через DAHDI.[/spoiler]

[spoiler="Использование Макросов"]

Вам может потребоваться создать множество екстеншенов (расширений) очень похожих друг на друга. Чтобы упростить работу с диалпланом используются Макросы. Для создания макроса используется контекст имя которого начинается с «macro-» и далее уникальное имя макроса. Выполнение макроса начинается с ектеншена 's'. В макросах используются локальные переменные:

${MACRO_EXTEN} – Екстеншен вызываемый макросом ${MACRO_CONTEXT} – Контекст вызываемый макросом ${MACRO_PRIORITY} – активный приоритет вызываемый макросом ${MACRO_OFFSET} – если установлено вызывает смещение n + ${MACRO_OFFSET} ${ARGn} – аргумент 'n' в макросе.

[macro-oneline]
;
; Однолинейный телефон
;
; ${ARG1} – Телефон
;
exten => s,1,Dial(${ARG1},20)
exten => s,2,Voicemail(u${MACRO_EXTEN})
exten => s,3,Hangup
exten => s,102,Voicemail(b${MACRO_EXTEN})
exten => s,103,Hangup
[macro-twoline]
;
; Двухлинейный телефон
;
; ${ARG1} – Телефон (линия) 1
; ${ARG2} – Телефон (линия) 2
;
exten => s,1,Dial(${ARG1},20)
exten => s,2,Voicemail(u${MACRO_EXTEN})
exten => s,102,Dial(${ARG2},20)
exten => s,103,Voicemail(b${MACRO_EXTEN})

[default]
exten => 1000,1,Macro(oneline,DAHDI/1)
exten => 1001,1,Macro(oneline,SIP/1001)
exten => 1002,1,Macro(twoline,DAHDI/3,DAHDI/4)
Когда макросы [macro-oneline] и [macro-twoline] созданы, в контексте [default] надо написать только одну сроку для выполнения нескольких стандартных действий. [/spoiler][/spoiler]
Задавайте вопросы, делитесь впечатлениями и своими наработками. Проект Asterisk развивается очень активно и скоро будет уже не только в новых офисах, но и, вполне вероятно, в квартирах...
Информация взята с сайта http://asterisk.ru
Никогда вопросов глупых никому не задавай, а не то ещё глупее ты найдёшь на них ответ"... (С)Остер
Опыт, как и половое бессилие, приходит с годами....
Все такие милые... покажите, куда блевать...
Starley440
Супермодератор
Супермодератор
Сообщения: 734
Зарегистрирован: 09 май 2009, 19:48
Конфигурация Компьютера:: MB P5-KPL-VM
CPU Core2Duo E4500
RAM 4 GB DDR2
Video GF 8600 GT 512 (XFX)
HDD 250GB WD
HDD 320GB WD
HDD 1TB WD
Откуда: Санкт-Петербург
Контактная информация:

Re: IP-АТС на базе Asterisk

Сообщение Starley440 »

я так понял, что у всех с астериском всё нормально :tooth:
Никогда вопросов глупых никому не задавай, а не то ещё глупее ты найдёшь на них ответ"... (С)Остер
Опыт, как и половое бессилие, приходит с годами....
Все такие милые... покажите, куда блевать...
Аватара пользователя
Дон Хуан
*AMD OverClan*
Сообщения: 2551
Зарегистрирован: 04 май 2009, 19:10
Конфигурация Компьютера:: Процессор: AMD FX 8320E@4600 MHz
Материнка: ASUS SABERTOOTH 990FX R2.0
Память: 12 Gb DDR3@2000
Кулер: IH-4500
Видео: Sapphire Radeon HD 7950 3 Gb
Звуковая карта: Audigy2 ZS
БП: Thermaltake Toughpower 600W W0103RE
Корпус: Zalman Z9 Plus
Монитор: Samsung SyncMaster T220N
Колонки: 2.1 Sven MS-970

Re: IP-АТС на базе Asterisk

Сообщение Дон Хуан »

Starley440 писал(а):я так понял, что у всех с астериском всё нормально :tooth:
Просто я сильно далек от вопросов IP-телефонии... и почти ничего в этом не понимаю... Вещь наверняка хорошая, нужная и полезная, но я в ней дуб-дубом... :fingal:
DinarZavr писал(а):А я так понял, что кроме Вас, товарищ, других практикующих админов здесь попросту нет :)
Разве что vk6666 ;)
Опасно мало знать, о том не забывая,
Кастальскою струёй налей бокал до края.
От одного глотка ты опьянеешь разом,
Но пей до дна и вновь обрящешь светлый разум.
Аватара пользователя
Opium
Энтузиаст
Сообщения: 846
Зарегистрирован: 14 дек 2010, 00:48
Конфигурация Компьютера:: Intel Core i5 3550 4.1Ghz
ProlimaTech PK1
ProlimaTech Genesis 2*140 AeroCool LED
16Gb DDR3 Viper XTreme 2133Mhz 10-10-10-20 1T
Gigabyte Z77X-D3H
CrossFire Gigabyte R9 290 4Gb
SSD Kingston V300 120Gb + 2 Tb WD Green 64Mb
Beholder TV H8 PCI-E Hybrid
VR HT - D905V 180W
Chieftec 750 Nitro +85 Silver
SilverStone Raven + Scythe Kaze Master KM01
Samsung SyncMaster SA550 27"
Windows 7 64bit Профессиональная SP1
Откуда: Алтайский край
Контактная информация:

Re: IP-АТС на базе Asterisk

Сообщение Opium »

Но если понадобится можно почитать, да и интересно... :)
Core i7 - :co_ol:
В сети очко рвем за амуде, а в жизни влажно мечтаем о 2500К ...*Shit OverClan* ;;-)))
Аватара пользователя
Дон Хуан
*AMD OverClan*
Сообщения: 2551
Зарегистрирован: 04 май 2009, 19:10
Конфигурация Компьютера:: Процессор: AMD FX 8320E@4600 MHz
Материнка: ASUS SABERTOOTH 990FX R2.0
Память: 12 Gb DDR3@2000
Кулер: IH-4500
Видео: Sapphire Radeon HD 7950 3 Gb
Звуковая карта: Audigy2 ZS
БП: Thermaltake Toughpower 600W W0103RE
Корпус: Zalman Z9 Plus
Монитор: Samsung SyncMaster T220N
Колонки: 2.1 Sven MS-970

Re: IP-АТС на базе Asterisk

Сообщение Дон Хуан »

Opium
Мне просто сейчас ремонт материнок более интересен... ;)
Опасно мало знать, о том не забывая,
Кастальскою струёй налей бокал до края.
От одного глотка ты опьянеешь разом,
Но пей до дна и вновь обрящешь светлый разум.
Starley440
Супермодератор
Супермодератор
Сообщения: 734
Зарегистрирован: 09 май 2009, 19:48
Конфигурация Компьютера:: MB P5-KPL-VM
CPU Core2Duo E4500
RAM 4 GB DDR2
Video GF 8600 GT 512 (XFX)
HDD 250GB WD
HDD 320GB WD
HDD 1TB WD
Откуда: Санкт-Петербург
Контактная информация:

Re: IP-АТС на базе Asterisk

Сообщение Starley440 »

Враги вы все.... Я за 17 лет системного администризма так себе помощников и не нажил :cry: :cry: :cry:

Добавлено через 2 минуты 1 секунду:
Дон Хуан писал(а):Разве что vk6666 ;)
как-то уже спрашивал... такой-же ремонтник, как и все

Блин... как в песне: "Я обижен злой судьбой...Ах, зачем я...."(С) мультфильм "Голубой щенок" :cry: :cry: :mega_lol: :cry:
Никогда вопросов глупых никому не задавай, а не то ещё глупее ты найдёшь на них ответ"... (С)Остер
Опыт, как и половое бессилие, приходит с годами....
Все такие милые... покажите, куда блевать...
Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей