Не знаю, как у других, а у меня с настройкой статического локального адреса на Ubuntu 10.04 были проблемы. Network Manager давал мне настроить мануально статический ip, но не давал выставить gateway - адрес моего роутера он переназначал 0.0.0.0 - интернет был недоступен. Выход такой: #nano /etc/network/interfaces Приводим файл к подобному, заменяя данные на свои : auto lo iface lo inet loopback
Надо сказать, что и в Ubuntu 9.10 для меня не все было гладко с настройкой сетевого интерфейса. Может, просто у меня с Network Manager взаимная неприязнь :) , но и там мне приходилось выкручиваться установкой gnome-network-admin.
Флешка microSD была вставлена в GPRS модем(он еще как кардридер работает) и висела все время на рабочем столе. Потом вдруг пропала. Вставил флешку в компьютер с Windows, он ее увидел, но открыть не смог - винда сказала, что надо отформатировать. Я согласился, нажал "Форматировать". А винда сказала, что не может завершить форматирование. Ну, думаю, флехе конец.... Потом нагуглил форматирование флешки из консоли в линукс.
Определить, что именно форматировать, можно с помощью команды:
sudo fdisk -l
Емкость флешки покажет(вы же знаете емкость своей флешки?) , как она у вас обзывается. У меня - /dev/sdb1
Чтобы отформатировать флешку в фаловой системе FAT32, выполним :
sudo mkfs.vfat /dev/sdX (где sdX - имя вашей флешки в линуксе)
Так была спасена моя флешка. Правда, данные пропали.
Наконец, привезли 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
Опять жмем Apply
Далее нужно перейти во вкладку 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
Asterisk будем устанавливать вручную из тарбола. Но перед установкой asterisk надо установить некоторые пакеты, поэтому(из-под рута):
apt-get install subversion g++ libncurses-dev libxml2-dev
Пакет subversion нам пока не нужен, но он понадобится мне для установки chan_datacard, поэтому я его поставлю, а вы как хотите.
Я буду ставить asterisk 1.6.2.0 и буду его ставить в директорию /usr/src.
Для этого перейду в эту директорию:
cd /usr/src
И скачаю asterisk с сайта Digium
wget http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-1.6.2.0.tar.gz
Если вы хотите скачать и установить другую версию asterisk, то выберите нужную по адресу http://downloads.asterisk.org/pub/telephony/asterisk/
Теперь выполняем:
tar zxvf asterisk-1.6.2.0.tar.gz
Рапаковался архив. Переходим в распакованную папку:
cd asterisk-1.6.2.0
Выполняем:
./configure
Когда configure закончится, мы увидим знак asterisk и улыбнемся!
Затем выполним:
make
Это будет выполняться гораздо дольше configure, поэтому я пойду покурю.
Чаю можно попить было..
Ага! Выполнилось!
Теперь:
make install
Это быстро. Теперь:
make samples
Ну и :
make config
Ну вот - asterisk установлен. Производим первый запуск:
/usr/sbin/asterisk -vvvcd
Запустилось? Ну и ОК!
Дальше asterisk будет запускаться при загрузке системы сам. Чтобы войти в консоль asterisk, нужно будет выполнить:
asterisk -r
Установка астериск на Убунту закончена успешно.
Я пока не буду устанавливать asterisk-addons, установлю как-нибудь потом.
Вот вечно так: сразу не запишешь, а потом - записывать нечего. Ну хотя бы вектор...
Настроить asterisk на работу c sip-провайдером comtube.ru просто:
[comtube]
type=user
username=xxxxxx;Ваш номер в comtube
fromuser=xxxxxx;Ваш номер в comtube
secret=xxxxxxxx;Ваш пароль в comtube
host=comtube.ru
context=from-comtube
insecure=Invite,port
disallow=all
allow=ulaw
allow=alaw
allow=g723
allow=ilbc
allow=speex
allow=g726
allow=g729
Стоить заметить, что comtube за месяц использования ни разу не нагадил в консоль, в отличие от сипнет и писител.
А вот прием звонка с московского номера(который предоставляет comtube) на свой sip-account был проблемой. Точнее, сам звонок приходил, а вот слышимость была одностороняя.
Проблема былы в том, что comtube, по всей вероятности, использует приоритетно g729, да еще шлет пакеты comfort noise
При звонке на московский с добавочным в CLI вылезало что-то типа этого
Comfort noise support incomplete in Asterisk RFC 3389
Please turn off on client IP
Что делалось (по памяти):
1. Установка dahdi(мне нужен был dahdi_dummy, так как астерискового железа я не использую)
2. В asterisk.conf раскомментируем параметр internal_timing=yes
3. Установка кодека g729
Вот как-то так...Может, это не все , что я делал, чтобы "победить" эту проблемку.
Еще вот что. В качестве клиента я использую Twinkle, а в нем g729 нет, заработало с кодеком gsm. Звук немного "жеваный", правда, но это лучше, чем ничего. Саппорт comtube говорит, что отключить comfort noise для желающих не может.
Появился еще один оператор IP пин-код телефонии - intellin.ru. Особенностью является то, что в качестве телефона дозвона дается номер вида 8-800.... То есть можно звонить как с городского, так и мобильного на номер доступа бесплатно. Нужно лишь "забить" номер с пином в телефон. Я думаю, это удобно. Особенно для мобильного использования.
Всегда хотелось сделать это. Позвонил на какой-то номер и получил доступ к ресурсам своего asterisk. Гуляешь, допустим, с собакой, достаешь мобильник, дозваниваешься на номер доступа asterisk, донабираешь номер междугороднего абонента и разговариваешь. Круто! Когда купил 3G-модем и поставил chan_datacard , такое стало возможным посредством команды DISA. Когда дозваниваюсь на chan_datacard, нажимамаю кнопочку "8" на мобиле и вхожу в DISA, донабираю номер нужного абонента и ... готово! Все настраиваеся в extensions.conf. К контексту входящих звонков на chan_datacard добавляем что-то типа такого: exten => 8,1,Authenticate(5656) exten => 8,n,DISA(no-password,disa)так не рекомендуется вообще-то :) exten => 8,n,Hangup Cоздаем контекст [disa] [disa] exten => _8X.,1,Dial(SIP/имя_транка_вашего_провайдера_sip.conf/${EXTEN:1}) На примере выглядит так exten => _8X.,1,Dial(SIP/sipnet/${EXTEN:1}) Собственно, все. Звоним на datacard, нажимаем "8", вводим "5656", вводим 87903ххххххх - пошел звонок! Почитать, чтобы сделать правильно, а не как у меня, можно здесь :))
Зачем нужен сервер asterisk на домашнем компе? 1.Это "многоучеточный" софтфон, причем все "учетки" работают одновременно! Разные sip-провайдеры предлагают разные услуги по разной цене. Например, sipnet предоставляет возможность абонентам skype бесплатно звонить на сипнетовский сип-номер. Интересно? Да, интересно! В то же время, за звонок с московского телефона доступа в свою сеть, тот же сипнет хочет денежку. А comtube за это денежку не берет(во всяком случае, пока не берет), но у comtube нет skype-канала. Но asterisk будет оновременно подключаться и к sipnet, и к comtube, и к sipmarket, и ...., а выводится это на один единственный softphone! 2.К asterisk можно "прицепить" домашнюю телефонную линию(посредством FXO-девайса или voip-шлюза с FXO), можно sim-карту(посредством GSM-шлюза или 3G-модема и chan_datacard) и настроить на asterisk интерактивный IVR(автосекретарь), как в крупных компаниях. 3.Свой домашний сервер asterisk можно использовать и вне дома. Например, если на работе Вы сидите за компом, подключенным к интернет, то можно софтфоном подключиться к домашнему серверу и получать звонки, идущие на домашний сервер (sip-звонки, городские звонки(FXO), мобильные звонки(chan_datacard) )? ну и совершать, само собой, исходящие звонки со всех ресурсов Вашего asterisk. 4.Если на работе у Вас нет компьютера или интернет, тоже не беда. Можно подключиться к домашнему asterisk c мобильного телефона, правда не с любого, желателен смарт Nokia E-series 5.Если у Вас нет такого смарта или мобильный оператор не поддерживает 3G, но Ваш asterisk подключен к городской или мобильной линии, то Вы опять-таки можете получить доступ к ресурсам своего asterisk, используя DISA.
Когда долго настраиваешь свой linux, в какое-то время в голову приходит кошмарная мысль:"А если хард навернется? Опять месяц все настраивать?" Брррр! Мурашки по коже... Особенно, если там крутится несколько серверов. Это наверное каждому знакомо. У меня валялся старый HDD, и возникла мысль сделать полностью заменяемый диск. Типа, накрылся один HDD, ты вставил вместо него другой, и сразу работаешь. Кому-то, может, про это все давно известно, а я с такой необходимостью не сталкивался, так как "админю" только свои домашние компы. Стал искать в интернет решения, желательно бесплатные. И нашел. Программа называется HDclone. HDclone бывает платная и бесплатная. Платная отличается от бесплатной только скоростью копирования. HDclone годится для клонирования линуксов, так как понимает ext2 и ext3. Во всяком случае, версия 3.8. И все просто: скачал HDclone 3.8, нарезал на болванку, настроил bios на зугрузку с cd, вставил диск в сидюк и перезагрузил комп. Ну а дальше работаем с интерфейсом HDclone. Там все понятно. Так я клонировал свой линукс и избавился от мандража. Нервы надо беречь :)
Раньше я пользовался Debian и CentOS. Для отключения иксов при загрузке шел в /etc/inittab и изменял ранлевел с 5 на 3. Когда в связи с установкой chan_datacard и chan_mobile перешел на Ubuntu 9.10, то в /etc я не нашел inittab, и немного "подвис". Потом нагуглил решение. Идем в /etc/init/gdm.conf Находим строчку start on и комментим ее. У меня это выглядит так: #start on (filesystem # and started hal # and tty-device-added KERNEL=tty7 # and (graphics-device-added or stopped udevtrigger)) stop on runlevel [016] Теперь иксы при старте системы не грузятся! Запустить иксы, когда они вам понадобятся, можно командой startx.
Чудеса! Подключил на свой блог гугловскую рекламу, и на своем же блоге увидел то, что давно искал :)
А искал я московский виртуальный номер (DID) бесплатно. Я хотел, чтобы мои московские друзья могли бы звонить мне с обычного телефона (разумеется, московского) на московский номер, и этот звонок приземлялся бы ко мне на sip. Покупать личный московский DID очень накладно, тем более, что это не для бизнеса, а для дружеского трепа.
Находил такую услугу в сипнете (она там называется «доступ из городов»), но она не совсем бесплатная, За входящие звонки мне бы пришлось платить. И вот у себя же в блоге я нашел такой сервис, который предоставляет такую услугу бесплатно.
Это COMTUBE.RU. Они предоставляют московский номер. Позвонив на него, попадаешь в голосовое меню и набираешь добавочный номер, который выдается тебе при регистрации. Звонок попадает ко мне на компьютер. То есть на мой sip-клиент.
Еще вот что меня сильно удивило у этого sip-провайдера: "письма в конвертах". Увидел я эту иконку, да сначала внимания не обратил - подумал, что это электронные письма с каким-нибудь оформлением. А потом прочитал об этой услуге. Оказывается, "письма в конвертах" - это реально почтовые письма в настоящих конвертах с почтовым адресом. Индекс, город, улица... - все дела!
пишешь в специальной форме на сайте текст письма, адрес получателя, адрес отправителя - и отправляешь. Письмо по России стоит 19 руб. На сайте обещают доставку до адресата за 1 день. Адресат получает письмо в конверте. Чудеса в решете! И это sip-провайдер предоставляет! Дважды чудеса!
Сразу оговорюсь - отправлять "письмо в конверте" не пробовал.
С chan_mobile я провозился очень долго - больше года. То приступал снова, то, разочарованный очередной неудачей, отступал на какое-то время. То телефон вообще не коннектится, то после первого же звонка отваливается, то односторонние звонки, то звук односторонний.... В общем, никак не получалось. Потом плюнул на это дело, и решил попробовать chan_datacard. Получилось. На Ubuntu 9.10 и asterisk-1.6.2.0. Окрыленный победой, я решил еще раз попробовать chan_mobile. И поставил asterisk-addons-1.6.2.0 (для датакард они мне были не нужны). Но прежде надо поставить пакеты bluetooth, что-то вроде apt-get install bluez-utils bluez-hcidump bluez-gnome libbluetooth-dev (с иксами удобнее коннектить блютусину, потом можно отключить загрузку иксов, как отключить загрузку иксов смотри здесь ) . Терерь ставим аддоны. Архив asterisk-addons переносим в каталог /usr/src , затем tar zxvf asterisk-addons-1.6.2.0.tar.gz cd .../asterisk-addons-1.6.2.0 ./configure make menuselect и здесь в channel driver отмечаем chan_mobile [*] chan_mobile (Если chan_mobile не появился у вас в menuselect, то, значит, я не все пакеты bluetooth, нужные для установки, перечислил. Не беда, загуглите, доставите пакеты, и снова make menuselect) жмем на клаве Х, чем сохраняем выбор и выходим из меню make make install
Теперь вот еще что. Во всех howto по chan_mobile написано, что нужно редактировать hcid.conf в /etc/bluetooth, но в той версии bluez, которая поставилась у меня из репозитория убунты, нет такого файла вообще. И в /etc/bluetooth я ничего не трогал. C компьютера из Gnome я поискал блютуз-устойства, нашел свой телефон. При подключении заодно и узнал имя моего блютуз-донгла, которое и вносил потом в mobile.conf Теперь самое время о mobile.conf. Делаем hcitool dev ; узнаем мак адрес своего донгла Идем в /etc/asterisk/mobile.conf и правим секцию [adapter] id=имя_вашего_донгла(оно стало известно во время коннекта с телефоном) address=мак_адрес_донгла Пока все. Теперь запускаем asterisk и в CLI набираем mobile search (блютуз на телефоне должен быть включен) Отсюда узнаем порт вашего телефона и его мак-адрес Опять идем в mobile_conf и редактируем его. [имя_вашего_телефона_любое_удобное] address=мак_адрес_телефона port=номер_порта context=контекст_где_вы_будете_обрабатывать_звонки_через_этот_канал adapter=имя_вашего_донгла group=1
Вот и все. Теперь при перезапуске asterisk, он сам должен приконнектится к телефону(в телефоне не забываем разрешить автоматическое подключение к компьютеру)
Чтобы позвонить с компа через chan_mobile нужно задать правило. С этим, я думаю. любой справится. Для примера все же приведу простенькое exten=> _X.,1,Dial(Mobile/имя_вашего_телефона_любое_удобное/${EXTEN})
Мой блютуз ASUS WL-BTD201M, мои телефоны Nokia E51 и Nokia 6230i, гарнитура Nokia HS36W. Все это работает с chan_mobile, asterisk-1.6.2.0, asterisk-addons-1.6.2.0, и все это крутится на Ubuntu 9.10(ядро 2.6.31-14-generic)
К asterisk можно подключить мобильный телефон в качестве sip-клиента и использовать его вместо xlite или twinkle. В мобильных телефонах Нокиа е-серии есть встроенный сип-клиент. У меня Nokia E51, поэтому я расскажу, как подключить его к asterisk.
Для начала надо подготовить к коннекту сам asterisk.
Редактируем sip.conf
Теперь настраиваем телефон Nokia E51 для подключения к вашему asterisk.
Меню - средства - настройки - подключение - параметры SIP
Здесь создаем новый профиль и вносим наши данные.
Имя профиля - любое.
Профиль услуги - IETF.
Точка доступа по умолчанию - здесь вносите вашу точку доступа wi-fi или точку 3G интернета(с edge или gprs работать не будет).
Открытое имя пользователя - 101@ваш_ip_address. (здесь и далее вместо "ваш_ip_address" можно писать домен, тольно не все домены одинаково хороши :) , снечала лучше попробовать именно с ip)
Использовать сжатие - нет.
Регистрация - всегда.
Использовать защиту - нет.
Прокси-сервер
Адрес проси-сервера - ваш_ip_address
Область - asterisk.
Имя - 101
Пароль - 1234
Разр. нестр. маршрут - да
Тип передачи - автоматически
Порт - 5060
Сервер регистрации
Адрес сервера регистрации - ваш_ip_address
Область - asterisk
Имя пользователя -101
Пароль - 1234
Тип передачи - автоматически
Порт - 5060
Теперь меню - связь - инт-телефон/
Запускаем... и voila! Ваша Nokia подключена к asterisk.
Это не 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
Хм, как-то очень все просто получилось.... а ведь потратил времени недели две. Может, забыл что-нибудь :) Читал, что писали умные люди по этой теме и вам советую: http://www.powerpbx.ru http://asteriskforum.ru
PS. Ссылка на скачивание chan_datacard, случается, меняется. Я поправил 23.02.2010