Пользователь
0,0
рейтинг
11 сентября 2010 в 05:03

Разработка → Asterisk, или домашняя телефония для (про)двинутых пользователей

Эта история началась два долгих года назад, когда во время командировки в США я ВДРУГ остался без мобильной связи: с дуру перед поездкой поменял телефон, а он оказался «двух-диапазонником»… Да и роуминг не дешёвый…
Итогом стало открытие для себя SIP-телефонии.

И вот несколько месяцев назад, из статей на Хабре, выясняю, что чужим дядям можно и не платить за межгород, если надо позвонить откуда-то в родной город через Интернет! Достаточно поставить VoIP сервер и настроить его так, как надо именно тебе!

И вот, взяв в руки Asterisk, я приступил к операции по борьбе с излишней жадностью ОпСоСов…



Примечание


  • Данный топик является компиляцией некоторых решений, которые я применил для себя. Кто-то может реализовать что-то по-другому или лучше — с удовольствием выслушаю и, возможно, что-то улучшу и у себя.
  • Предполагается, что читающий тему разбирается на начальном уровне в вопросе. Если нет — в конце я привёл ссылку на скачивание учебника.


Введение


В наличие имелся 2-х ядерный сервер на ubuntu (10.04), который в принципе выполняет у меня обязанности файлового архива, но на практике — чаще всего простаивает.
Требовалось упростить мне жизнь с телефонными разговорами.
В частности были поставлены следующие задачи:
  • Если я отсутствую дома — я не должен пропустить входящие звонки на МГТСовский номер
  • Если нахожусь в командировке — через Интернет я должен получить возможность совершать звонки по городу
  • Опять-же — в командировке я в идеале не должен тратиться на роуминг, но при этом принимать звонки, сделанные на мой номер
  • В идеале — защититься от автодозвонщиков типа Акады, которые попросту достали
  • Упрощение звонков, с учётом того, что планировался перевод АТС в код 499
  • Удобство пользования всем этим

Очертив круг задач — приступаем к покупке железок под это дело.

Аппаратная часть


D-Link DVG-7111S — ГТС-VoIP адаптер

image
Выбрал именно его за относительно «копеечную» стоимость — в Москве он стоит от 2 152 до 2 610 рублей, что слегка дешевле Линксусов, которые ещё и найти надо.
По сути — он делает из городской линии и телефона двух SIP-клиентов, которые подключаются к Астериску.
Настройки делаем вот таким макаром

Тонкость одна связана с CallerID — для корректной его передачи надо пропустить один звонок, что-бы адаптер успел определить номер:
HOT LINE->Ring count before FXO pick up = 1

При необходимости — можно обновить прошивку, но в отличие от роутеров и прочих ДЛинковских девайсов — тут это довольно незаурядный процесс

Иногда у адаптера дурит определение сигнала «Занято». Для этого надо настроить длительности этих сигналов. Инструкция как их получить имеется, но сам пока не занимался — всего второй день, как началась эта проблема после смены оборудования на АТС.

Для звонка с Астериска на городской номер используется вот такой формат для Dial в Диалплане:
Dial(SIP/номер канала FXO/телефон)
Для звонка на трубку:
Dial(SIP/номер канала FXS)

Для упрощения жизни с маразмом от МГТС я себе сделал возможность набирать все номера Москвы одинаково «8-код-7 цифр», а с правилами набора — разберётся сервер:

Ниже приведены два варианта настройки. Первый вариант для тех, у кого номер в 495 коде, а второй — в 499. Оба варианта позволяют звонить как на телефоны в 495 коде, так и в 499.

Для номеров в 495 коде
; 495 - только семь цифр
exten => _8495XXXXXXX,1,Dial(SIP/701/${EXTEN:4})
exten => _8495XXXXXXX,n,Hangup()
; 499 - через восьмёрку
exten => _8499XXXXXXX,1,Dial(SIP/701/${EXTEN:0}) ; Тут не испытывал - знакомых в 499 коде нет, но подозреваю, что на старых АТС надо как-то по-другому, через паузу после 8...
exten => _8499XXXXXXX,n,Hangup()

Для номеров в 499 коде
; 495 - с "восьмёркой"
exten => _8495XXXXXXX,1,Dial(SIP/701/${EXTEN:0})
exten => _8495XXXXXXX,n,Hangup()
; 499 - без "восьмёрки"
exten => _8499XXXXXXX,1,Dial(SIP/701/${EXTEN:1})
exten => _8499XXXXXXX,n,Hangup()


Телефон

Первоначально — в качестве телефона использовал радиотрубку Панасоник, подключенную к FXS-порту адаптера, но быстро разочаровался: её корявенький дисплей справлялся только с цифровым CallerID. Поэтому был куплен Siemens Gigaset C470 IP + дополнительная трубка к нему Siemens Gigaset C47H.
image
За них выложил в сумме тысяч пять и не жалею: Главная прелесть агрегата в том, что он поддерживает одновременную работу с 6 трубками (основная + 5 дополнительных).
«И что толку? Линия-то одна!» скажете вы и… Будете в корне не правы!
Помимо 6 трубок — базовая станция поддерживает также и 6 sip-аккаунтов! Каждый из которых можно привязать к своей трубке!!!
Т.е. — если в квартире поставить в каждой комнате по радиотрубке, то это будут совершенно разные sip-юзеры, которые спокойно могут разговаривать и одновременно!

Пару слов про настройку:
Что-бы не говорили в инструкции — динамическое выделение адреса у телефона не происходит. Поэтому есть два варианта — с радиотрубки вбить правильный или коротким нажатием на кнопку на базе — определить текущий и настроить на него сеть.
Пин-код можно поменять ТОЛЬКО с трубки — в веб-панели такого пункта нет: так что лучше сразу его сменить, пока это не сделал какой-нить ушлый хацкер!

GSM-адаптер

Тут я пошёл по пути наименьшего сопротивления и купил МТСовский модем Huawei E1550.
Почему МТС?
Во-первых — 770 рублей, а не 1500 за «не лоченый»
Во-вторых — у Би и Меги залочены голосовые функции ВООБЩЕ.
В третьих — модем мне нужен был под Ашановский тариф А-Мобайл, который на сети МТС и перепрошивать ничего не пришлось.
Кто не в курсе — А-Мобайл позволяет делать 15 минут бесплатных звонков в день на другой А-Мобайл, после чего — символическая плата в 90 копеек за минуту. Мне он нужен был как резервный канал до домашней сети и тариф, ИМХО, самый приятный!
Настройки девайса муторные, но ничего сложного.

+ сейчас по Хабрапочте получил сообщение от Angel2S2:
«Кстати, про разлочку huawei модемов… Если интересно, можете у меня глянуть — angel2s2.blogspot.com/2010/07/huawei.html. Разлочил E160G и E1550 от мегафона и мтса, звонить тоже можно :) „
МБ кому-то поможет!

Учкудук два модема...

Ещё пару слов дополню…
Поставил на систему второй модем для входящих с АллоИнкогнито и тут пришёл он самый… П-ц который: модемы сами по себе менялись местами хлеще акробатов в цирке! При отключении одного — второй норовил переехать на его порты и т.д. и т.п.

А т.к. диалпланы для них в корне разные — надо было как-то решать…
Решение вполне обоснованное для Линукса: порту можно назначить фиксированную “ссылку»!
Т.е. — задаём для модема 1 — порты не ttyUSB1 и 2, а hv0 и hi0 (ХуавейВоис и ХуавейИнфо)!
Как?
Отключаем от компа оба модема, вставляем первый.
Даём с рута в терминале команду dmesg
В ответ вываливается куча всего, но в конце — заветные строки:
[291015.913221] option 1-2:1.0: GSM modem (1-port) converter detected
[291015.913364] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB0
[291015.913926] option 1-2:1.1: GSM modem (1-port) converter detected
[291015.914026] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB1
[291015.916678] option 1-2:1.2: GSM modem (1-port) converter detected
[291015.916812] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB2

«Кто есть ху»:
После option идёт идентификатор порта.
1-2 — первый ЮСБ хост, второе устройство
:1.1 — первый порт на этом устройстве.
В следующей строке — инфа на тему того, каким портом стал этот наш внутренний.
Нас интересуют пред-последний и последний — 1 и 2 в данном случае.
1 — порт для голоса, 2 — для данных.
Теперь открываем из под рута для редактирования файл /etc/udev/rules.d/huawei.rules — тут прописываются правила для всея Хуавей-девайсов в системе. Скорее всего он будет пустым.
Вбиваем строчки:
KERNEL=="ttyUSB[0-9]*", ID=="1-2:1.1", NAME="%k", SYMLINK+="hv0", GROUP="root", MODE="0666"
KERNEL=="ttyUSB[0-9]*", ID=="1-2:1.2", NAME="%k", SYMLINK+="hi0", GROUP="root", MODE="0666"

«Всея устройства на этом конкретном порту отныне и присно зовутся ещё и hv0, а на этом — hi0! Сохраняем, Аминь!»
Повторяем процесс начиная с втыкания для второго модема — появятся ещё две строчки в файле, в которых уже порты от второго модема и hv1 и hi1… Можно так и третий, и сто-тридцать-пятый добавить…

Теперь если выдернуть модемы и вставить, то по команде ls -1 /dev/hv* или ls -1 /dev/hi* — выдаст ВСЕГДА нужный девайс, главное не перепутать разъём на компе!

/etc/asterisk/datacard.conf тоже меняется — вместо безликих
audio=/dev/ttyUSB1 ; tty for audio connection
data=/dev/ttyUSB2 ; tty for AT commands

Появляются
audio=/dev/hv0 ; tty for audio connection
data=/dev/hi0 ; tty for AT commands

Теперь перезагружаем Астериск и ура — путаницы больше не будет!
На этом с железом пока всё.

SIP-операторы


В принципе с имеющимся оборудованием у нас уже есть городская + мобильная линии, но хочется дополнительных возможностей, да и по межгороду надо как-то звонить!

Мультифон

Мультифон — это услуга от Московского Мегафона. Фишка в том, что это не просто Интернет-телефония! Это Интернет-телефония, привязанная к вашему номеру Мегафона!
В переводе на русский: если кто-то звонит на ваш номер — сработает при соответствующей настройке как сотовый, так и SIP-клиент!
Настройку Астериска под это дело на Хабре довольно неплохо описали, могу добавить только инструкцию, как привязать НЕСКОЛЬКО Мультифонов к серверу — некоторые моменты там спорны и у меня не заработало из-за несовместимости по кодекам, но, возможно, это глюк моего конфига?!
UPD. Родная инструкция Мультифона по настройке в Астериске

Пара слов ещё по общим для всех SIP-операторов моментам: если вы собираетесь ТОЛЬКО звонить с какого-то SIP-акаунта, то register не нужен, а вот если намерены принимать…
Кстати, register с таким зубодробительным синтаксисом — только у Мегафона: у остальных он более стандартный…

Еврофон

Услуга СИП-телефонии от Евросети. В плюсе — львиная доля российских городов идёт по тарифу 49 копеек. Есть входящие номера в Москве и куче городов, так что если не лень вбивать номер+свой номер в Еврофоне — можно принимать оттуда входящие…
Потенциально — если не особенно нужен входящий городской, а звоните не особо много — может оказаться выгоднее, чем ежемесячные 155 рублей от МГТС «за линию»…

Для регистрации — надо купить карточку телефонии от Евросети. Логин-пароль — будут указанные на карточке, в дальнейшем этот счёт можно пополнять. Регистрации без карточки — просто нету.

pctel.ru

Звонки на все российские номера — по рублю в минуту.
Взял как «добавку» к Еврофону: звонки на мобильные дешевле в нём, а про полтора рубля за исходящие в Мультифоне я молчу! Если хотите скрыть свой номер — самое оно.

SipNet

Ничего особенного, но многие предпочитают его.

DID, или Прямой Телефонный Номер


Данная услуга заключается в том, что можно получить номер телефона в одном из городов какой-нибудь страны и принимать через Астериск звонки на этот номер.
Плюс в том, что если часто переезжаете, то это позволит вам всегда сохранять свой номер, минус — в отличие от 155 рублей в месяц у МГТС, цены на Московские номера у операторов начинаются от 250 рублей, примерно. (Для сравнения — номер в США стоит около 3.5$ в месяц).

Go2Baza

По утверждению народа, который пользовался — прямой Московский номер стоит 250 рублей в месяц. Тарифы расписаны не внятно, так что ни подтвердить, ни опровергнуть не могу… Ориентировочно — 250 в месяц за номер, плюс первоначальный платёж за выделение номера — 500 рублей за 499 или 3000 за 495… Смысл платить больше, если с МГТС станется — могут и тут в 499 всех задвинуть?!
В плюсе то, что предоставляют аж пять входящих каналов… Правда только при редиректе на номера телефонов, а на SIP — всего 2 (перегрузочка у них возникла в апреле). Зато редирект на телефоны платный, а на СИП — халява!
Ну и потом: двухканальный номер телефона — ИМХО, очень даже неплохо! Чаще всего больше и не надо!

«Персональный телефонный номер» или «Номер, который всегда с тобой»

МГТСовская фигня. По факту — Московский номер через SIP. В повременном варианте абонентской платы нет, цена за минуту — те-же 36 копеек. Подключение — 8340 рублей, причём в комплект идёт тот самый Сименс 470, про который я говорил.

Губки раскатали? Халява? Круто?
Ловите губозакатывательную машинку: оно работает ТОЛЬКО через ADSL от МГТС! Как поясняют в поддержке — это только для организации дома второго телефонного номера.
Потенциально — явно можно подрубить к Астериску, но мне ТАКОЙ привязанный к основной линии телефон и даром не нужен, а в интернете найти счастливых обладателей этой услуги не удалось.
Просто имейте в виду, что такое есть, и если дома кто-то периодически висит на телефоне — можно подключить, что-бы была резервная линия…

gtalk2voip

Прямые номера в разных странах.
Регистрация идиотская:
1. Заходите на gtalk2voip, в уголке есть поле для ввода е-мыла. Вводите гугловское мыло.
2. Подключаетесь в Джаббер на свой гугловский аккаунт, видите приглашение от пользователя service@gtalk2voip.com. Подключаетесь к «разговору»
3. Далее у этого бота командой MYPAGE получаете страничку, через которую можно регистрировать номера и пополнять баланс.

ipkall

Компания с «непечатным» названием предоставляет халявные номера телефонов в США с редиректом на SIP. Если не нужен — не надо его окупировать регистрациями: вдруг кому-то нужен будет, а всё в хабраэффект уйдёт?!
Насчёт этого сервиса у меня вечный скандал с жабой:
— Ы! Круто! Бесплатный номер в США! Надо-надо-надо!
— А зачем? — вопрошает реалист. — Тебе кто-нить из Штатов звонит?!
— Потому и не звонят! Хочу-хочу-хочу!
— Английский выучи, хотелка! Вот позвонят, и что ты скажешь?!
— Хенде-хох? Ау видерзейн? Хау! Что-б такой пылеглот как я и ничего не сказал?! Ха!
— Всё равно — смысла в нём ноль сейчас!
— И что? Халяаааава!

Аллоинкогнито: «Идеальный 499»

Идеальный 499, тарифный план от Алёинкогнито, без абонентской платы за 499… В комплекте — симка от Мегафона, на которую и поступают вызовы…
Ссылку подкинул bdmalex. По его словам пользуется уже давно, абонентской платы действительно нету и, даже, что вообще сверх моего понимания, нету оплаты за переаресацию входящих на мобильный номер!!!

Фишки диалпланов Астериска


С железом и операторами, худо-бедно разобрались…
Теперь несколько трюков, связанных с Астериском:

Чёрный Список

Иногда очень сильно хочется, что-бы какая-нить личность перестала названивать: бывшая девушка, идиот, вечно ошибающийся номером, рекламные агенты, опросы и т.д. и т.п.
Для этого в Астериске есть команда BLACKLIST(). По сути — она сверяет CallerID со списком в своей базе данных и если возвращает 1 — значит можно спокойно послать звонящего куда подальше!
Про «Простой» вариант написано можно почитать здесь, а мне захотелось слегка облегчить себе жизнь: ну лениво мне смотреть номер на определителе, после чего — вбивать его «куда надо»!
Пусть Астериск сам этим и занимается!

В Диалплане при звонке с нужного контекста пишем (при звонке с МГТС у меня редиректит на номер 123 — замените на то, что у вас указано!):
exten => 123,n,Set(_From=${CALLERID(name)}) ; name, а не num потому, что вот так идиотски передаёт CallerID в Астериск адаптер от ДЛинка!
exten => 123,n,GotoIf($[${BLACKLIST()}=1]?banned) ; Сначала - проверка на заблокированные номера - если номер уже в чёрном списке - переходим к метке banned
exten => 123,n,Set(DB(ToMe/LastCaller)=${From}) ; Сохраняем номер последнего позвонившего
.....
; Тут у нас обработка нормальных вызовов.
.....
exten => 123,n,Hangup()

; И шлём спамеров лесом!
exten => 123,n(banned),Answer()
exten => 123,n,Playback(файл, в котором посылающая спамеров лесом фраза)
exten => 123,n,Hangup()


И в диалплане телефонного аппарата:
; По 20 - добавляем последнего позвонившего в чёрный список
exten => 20,1,Set(tmp=${DB(ToMe/LastCaller)})
exten => 20,n,Set(DB(blacklist/${tmp})=1)


Теперь если после звонка спамера вы снимите трубку и наберёте «20» — его добавит в список забаненных!
Как убрать номер — показано в инструкции выше.

Быстрый набор

У всех из нас есть номера, по которым мы чаще звоним: родственники, коллеги по работе, знакомые…
Вбивать каждый раз 10 цифр номера — лениво! Поэтому можно создать записную книжку прямо на своей АТС!
В диалплане для телефона:
exten => 1,1,Dial(SIP/701/8495......) ; Родителям
exten => 2,1,Dial(SIP/701/8495......) ; Бабушка
exten => 3,1,Dial(SIP/701/8495......) ; Дед
exten => 4,1,Dial(SIP/701/8499......) ; Работа

И т.д. и т.п.

Вообще — хотел сделать голосовым меню, но при снятии радиотрубки обработка номера «s» почему-то не происходит… Так что можно просто выписать на бамажку «кто есть ху»…
Если куплено несколько трубок, как в моём случае, для каждой может быть свой контекст со своими «короткими номерами»: на телефоне в комнате у родителей не нужны мои знакомые, а мне — ихние…

Приветствие от времени суток

Своей АТСке можно добавить немного «человечности», что-бы она выдавала разное приветствие, в зависимости от времени суток (а при желании — и дня недели, месяца и т.д. и т.п.). К примеру утром она может приветствовать позвонившего зеванием, а ночью — высказать всё, что думает о личности, которая звонит когда все нормальные люди уже спят.

; Прикол с временем звонка
exten => 1200,1,Background(hello_utro) ;Запускаем приветствие "Утро"
exten => 1200,n,Goto(123,naberite) ;К кнопкам

exten => 1201,1,Background(hello_den) ;Запускаем приветствие "День"
exten => 1201,n,Goto(123,naberite) ;К кнопкам

exten => 1202,1,Background(hello_vecher) ;Запускаем приветствие "Вечер"
exten => 1202,n,Goto(123,naberite) ;К кнопкам

exten => 123,1,Verbose("Звонок с линии МГТС")
exten => 123,n,Answer() ;Поднимаем трубку
exten => 123,n,GotoIfTime(07:00-12:00|*|*|*?1200,1) ; Утро с 7 до 12
exten => 123,n,GotoIfTime(12:01-19:00|*|*|*?1201,1) ; День - с 12 до 19
exten => 123,n,GotoIfTime(19:01-22:00|*|*|*?1202,1) ; Вечер - с 19 до 22
exten => 123,n,Background(hello_noch) ; Остальное - ночь: Запускаем приветствие "Ночь"

exten => 123,n(naberite),Verbose("Голосовое меню") ; Далее идёт голосовое меню...
...


Антибот

Если вам часто звонят левые люди, просящие «Машу, Сашу или Дашу», а то и вообще какого-нибудь Баракобаму — следующий пример ваш!
Общая мысль в том, что при ответе выдаёт приветствие в стиле «Здравствуйте, вы позвонили в квартиру. Если вы уверены, что это квартира Ивановых — нажмите 1, если Петровых — 2, Сидоровых — 3! Если ни одна из фамилий не подходит, или вы звоните в организацию — повесьте трубку: вы не туда попали!».
Минус — заворачивать будет и «полезных» ботов, типа «Вы забыли оплатить телефон и скоро мы вас отрубим!», но тут или-или…

exten => 123,n,Answer()
...
exten => 123,n(naberite),Background(familie) ;Мессаг на тему выбора фамилии
exten => 123,n,WaitExten() ;Ждем ввода от пользователя

exten => 1,1,Goto(normal,s,1) ;Нажали 1 - ура, угадали! Вместо 1 может быть 2, 3 или какой там правильный ответ. "normal" - контекст обработки и общения с теми, кто знает куда позвонил.

exten => i,1,Playback(invalid) ; Нажали не то — говорим что облом
exten => i,n,Hangup() ; Вешаем трубку

exten => t,1,Playback(bay) ; Время кончилось - прощаемся
exten => t,n,Hangup() ; Вешаем трубку


Хитрый CallBack

У меня мобильник с двумя симками: одна — для разговоров, вторая — А-Мобайловская для связи с мини-АТС моей.
Ну и проблема в том, что пару раз по ошибке звонил не с той сим-карты — 2.40 не деньги, конечно, но когда отлаживаешься и звонишь периодически на сервер — неприятно!
В связи с чем слегка переделал скрипт Callback под свои нужды.

[incoming_mobile]
; Обработка звонков
exten => s,1,GotoIf($["${CALLERID(num)}" = "+7916......."]?allow) ; Номер А-Мобайл - хорошо!
exten => s,n,GotoIf($["${CALLERID(num)}" = "+7926........"]?callback) ; Мегафон - плохо!
exten => s,n(reject),Hangup() ; Остальным - просто вешаем трубку, ибо нефиг!
exten => s,n(allow),Verbose("Звонок с моего А-Мобайла")
exten => s,n,Goto (incoming_mobile,200,1) ;Редирект на голосовое меню
exten => s,n,Hangup()
exten => s,n(callback),Verbose("Я тормоз - позвонил с Мегафона!")
exten => s,n,System(/etc/asterisk/scripts/callback)
exten => s,n,Hangup()

exten => 200,1, .... ; Сюда попадаем или при правильном телефоне, с которого звонили, или после того, как каллбек до нас дозвонился.
.....

exten => 601,1,Dial(Datacard/g1/+7916....) ; Мне на А-Мобайл
exten => 601,n,Hangup()


А это — /etc/asterisk/scripts/callback — не забудьте дать ему права на выполнение: пол-часа не мог понять, почему не срабатывает!
#!/bin/sh
sleep 10
echo "Channel: Local/601@incoming_mobile
MaxRetries: 1
RetryTime: 10
WaitTime: 20
Context: incoming_mobile
Extension: 200
Priority: 1
AlwaysDelete: Yes" >/var/spool/asterisk/tmp/tst.call
mv /var/spool/asterisk/tmp/tst.call /var/spool/asterisk/outgoing/tst.call


«У меня не все дома!» или «Я в домике!»

Этот фрагмент настолько элементарен, что дольше описать, зачем он нужен, чем сами экстеншены!
Итак, вы пошли куда-то по делам, мобильник сунули в карман, учесали на другой конец города и вдруг кто-то решил позвонить вам на домашний! Причём «ваш звонок важен для нас», но ответить не сможете… Или сможете?
; Входящий с МГТС или DID
...
exten => 123,n,Dial("sip/702",10) ; 10 секунд пинаем только домашний телефонный аппарат - можно задать и большее время и меньшее...
exten => 123,n,Verbose("Скорее всего меня нет дома - редирект на мобилу, ну и продолжаем пинать трубку!")
exten => 123,n,Dial("sip/702"&"Datacard/g1/+7916....",20) ; И секунд двадцать будут звонить уже совместно...
exten => 123,n,Hangup()


Второй кусочек — будет интересен владельцам Мультифона.
У меня, да и у многих знакомых, есть «болезнь»: забыть мобильник в кармане брюк или сумке и запихнуть это «хранилище» в шкаф… В итоге придушенный писк телефона с трудом можно услышать, а звонок мог быть важным!!!
Для борьбы с этим я запараллелил к Мегафону-Мультифону радиотрубку в своей комнате.
Делается тупо в 2.5 строчки:
exten => 7926.......,1,Verbose("Звонок на мой Мегафон!")
exten => 7926.......,n,Dial("SIP/702")
exten => 7926.......,n,Hangup()


Защита


В отличие от домашних веб-фтп серверов — домашняя мини-АТС представляет собой довольно серьёзную угрозу вашему благосостоянию: нехорошие редиски, получив доступ к вашей телефонной сети, могут наболтать по межгороду столько, что счёт Билайна к туристке за связь в размере полу-миллиона может показаться копеечным!
Рекомендую почитать статью про защиту Астериска, заметку на Хабре про Кубинскую Эпидемию
Ну и простые советы:
1. Если звонки с городской линии идут только на городские номера — заблокируйте на уровне экстеншена набор любых других номеров.
2. Для выхода на межгород — создайте отдельный контекст для межгорода, вход в который будет через «пароль» — номер, который надо ввести.
3. Для аккаунтов локальных телефонов — вбейте в sip.conf на каждого «локальщика» его фиксированный IP-адрес, в крайнем случае — локальную под-сетку, благо, что у СИП-телефонов и адаптеров чаще всего есть возможность задать фиксированный IP.

Заключение


Это — лишь малая часть того, что можно сделать с Астериском. Ещё некоторые вещи я просто не смог вспомнить — банально засыпаю на ходу.
Всё это при желании читателей может дополняться и исправляться: пишите в комментах пожелания!

Литература


О`Рейли, Астериск: Будущее телефонии — Маст Хэв! Библия!
Asterisk и Linux — миссия IP-телефония, часть 1
Asterisk и Linux — миссия IP-телефония, часть 2
Asterisk и Linux — миссия IP-телефония, часть 3
Делаем деньги на звёздах
Голосовое меню в Asterisk

P.S. «Головка бо-бо, во рту бяка....» — отосплюсь и добавлю ещё про защиту всего этого, пару слов про NAT и ещё каких-нибудь примерчиков.

P.P.S. Некоторые места в диалпланах «резал по живому» — может глюкавить слегка: пишите — уточню и поправлю!
@Siorinex
карма
80,5
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (110)

  • +11
    Благодарю! Это самая подробная статья по тематике которую Я видел!

    Особенно GSM=>Asterisk
    • +5
      Просто я решил объявить войну вкладкам с разной инфой: сейчас открыто 7 окон FF, в которых по десятку вкладок, из них — 2.5 окна — по Астериску… Вот и решил скомпоновать в одну кучку, что-бы не вспоминать, на каком сайте какую именно инфу находил… ;)
    • 0
      У меня есть своя статья про GSM и Asterisk, которую я в свое время опубликовал в песочнице. К сожалению у меня не получается ее опубликовать тут. Пишут, что слишком мало кармы.
      • 0
        Дык — сейчас после получения инвайта статью можно перенести в «Песочницу для взрослых», в которой она будет лежать и набираться кармы!
  • +4
    Истинно хабровский пост. Побольше подобных топиков. Очень интересно.

    >> Если нахожусь в командировке — через Интернет я должен получить возможность совершать звонки по городу; Опять-же — в командировке я в идеале не должен тратиться на роуминг, но при этом принимать звонки, сделанные на мой номер.

    Попробуем повторить только ради этого. =)
    • 0
      В частности — для этого и включены в обзор DID-операторы (не все найденные, но один меня просто достал — два раза заворачивал регистрацию, причём нужно заплатить 10 УЁ, что-бы активировать учётку… Достал жутко, хотя кто-то его и хвалил).
      Логика примерно такая, что если относительно надолго еду в какую-то страну — покупаю там предоплатную Симку + заранее — номер в этой стране… А звонки по стране обычно идут по вполне приемлемым ценам, в отличии от России-матушки…
      В итоге если мне надо позвонить, то мобилка(местная)->номер did->sip->asterisk. а если принять вызов — то через одного из операторов инет-телефонии на мобильный номер!
      • +1
        Звонить ведь можно и калбеком. Другое дело что не так удобно.
        Но может оказаться дешевле покупки DID
        • 0
          МБ — я рассматриваю все варианты!
          Но вообще — за границей, по большей части, как средство доступа — всё-же смотрю на местный Инет и нетбук как терминал… DID — это для резерва…
  • +2
    Это великолепно. Сжато, доступно, по существу. Спасибо огромное, ваша статья — хороший стимул заняться этим и у себя дома.
  • –1
    хитрый стартап вышел ))
  • +1
    Огромное спасибо, как раз сейчас этим занимаюсь, почерпнул для себя некоторые полезные вещи.

    Москве он стоит в среднем 2500 рублей, что слегка дешевле Линксусов, которые ещё и найти надо

    Как раз заказал себе SPA3102, 3 дня назад он стоил 2490, сейчас уже 2510 :) В магазине есть в наличии, ссылку давать не буду, чтобы не сочли рекламой.
    Пока играюсь с SIP с телефона и назрел вопрос, какой мобильный клиент для сипа поддерживает донабор номера, т.к. в fring я подобной вещи не нашел, умом понимаю, что должно быть, но вот в упор не нахожу.
    • +1
      Насчёт мобильных клиентов пока не знаю: там выбор не очень большой по девайсам, причём большая часть имеет весьма кусачие цены…

      А что касается цен, по Тындекс-Маркету: D-link DVG-7111S — от 2 152 до 2 610 руб.
      Вообще — возможно в чём-то SPA и лучше: у ДЛинка довольно идиотски построенная прошивка и жуткий эходав — если кашлянуть в трубку — глохнет даже звук гудков… %)
      Но зато цена вполне себе демократичная…

      Кстати, есть ещё одна вариация ДЛинка — там два FXS порта, без FXO: это если надо побольше линий телефонных организовать… Но мне показалось удобней купить приличные радиотрубки…
      • +1
        Кстати, есть ещё одна вариация ДЛинка — там два FXS порта, без FXO: это если надо побольше линий телефонных организовать

        Да, 2102S, но отсутствие FXO сразу отсекло эту модель.
        Честно говоря, изначально склонялся именно к 7111S именно из-за наличия FXO, т.к. хотелось иметь выход на ГТС, но после продолжительного гугления, пришел к выводу, что если подцеплять простые DECT телефоны, то лучше все-таки смотреть с сторону Linksys, а т.к. дома у меня телефонией будут пользоваться люди пожилые, то брать новый телефон очень не хотелось.
        Кстати, на счет sipnet, многие им пользуются из-за skype<->sip шлюза, правда в последнее время он работает уж очень нестабильно. За пару часов можно несколько раз увидеть, как skype.sipnet.ru входит\выходит из сети, хотя стоит признать, что качество, когда он работает, очень приличное.
        Как альтернатива — поднять skype шлюз у себя ( www.mhspot.com/sts/ ), но тут проблем будет больше, даже чем при поднятии GSM шлюза :)
        • 0
          Как альтернатива — вроде может сойти Скайп Коннект
          • +1
            Согласен, но это лишние 200р\месяц за одну линию. На данный момент меня вполне устраивает качество сипнета (хотя, есть и другие шлюзы, например http://e1tele.com, но у них есть только исходящие звонки из SIP в Skype, позвонить обратно с донабором номера, как у sipnet не получится). Да и если разобраться в SipToSis, то можно получить бесплатное решение у себя на сервере.
            • +1
              Долго пользовался сипнетом. Но однажды, качество предоставляемых услуг испортилось и моему терпению пришел конец. В качестве альтернативы (и по совету знакомых) был выбран сервис telme.ru (telphin) — и вполне доволен.
              • +1
                Согласен, качество там не очень, сипнет использую для приема звонков из скайпа.
                Благо основная масса звонков идет в СПБ, поэтому пользуюсь zadarma.com с их пакетом минут при закидывании определенного кол-ва денег :) Вполне удобно.
    • 0
      Мобильные клиенты обычно работают следующим образом:
      — Набираем номер, устанавливаем соединение
      — Все набранные после этого цифры передаются DTMF кодами, которые все умеют распознавать
  • +1
    Эх — по Украине еще бы такой набор ссылочек по услугам SIP получить.
    Имеются ввиду недорогие SIP-звонки в Украинскую ТФОП:

    www.vegatele.com/rus/for_home/phone/ip_line — дают прямые городские номера по сип

    www.ukrtelecom.ua/services/customers/ogo_phone — тут выдают странные номера и тарифы ничего особенного из себя не представляют

    что-то еще есть интересное?
    • 0
      Меня Украина просто не интересовала: из родственников там только сын сводного деда покойного, да один знакомый, с которым если припрёт можно по интернету поговорить и всё… Так что специально не искал, но у многих DID-операторов есть и Украинские номера в списке… Точно не скажу какой оператор (я на него за дебильный сервис обижен ;), но 10 Евро в месяц за номер Украинский — там и Киев на выбор, и Одесса, и Винница и куча других!

      С SIP — вообще проще, т.к. у многих операторов на выбор любые города и страны для дозвона! СипНет — почти 100% может звонить на украинские номера, да и у других тоже есть варианты…
  • 0
    Любопытно, как такой вариант рассматривает родное законодательство? Установив шлюз в родном городе, вы по факту становитесь оператором связи — пусть для самого себя, но…
    • +1
      www.voipinfo.ru/forum/viewforum.php?f=4 вопросы, касаемо законодательства.
      Насколько я понимаю, однозначного ответа еще нету на этот вопрос.
      Если вы оказываете эти услуги для себя (узкого круга лиц) и бесплатно, то лицензирования не нужно и привлекать вас не к чему и не за что.
    • 0
      Как, как — никак! С этой точки зрения любая мини-АТС в офисе может шлюзом считаться, а несколько телефонов в квартире — как подпольный узел связи…
      У меня имеются номера телефонов, которыми я могу пользоваться в личных целях, если не нарушаю законодательство.
      Вот если-бы я начал продавать услуги связи — там да, могут взять за мягкое место.
    • 0
      оператор связи для самого себя? нет такого понятия. Если вы предоставляете услуги другим лицам, тогда вы оператор, при этом с вышестоящим оператором заключается договор меж операторского взаимодействия.
      Что касается законодательства — так это то, что если вы предоставляете услуги в другом регионе, то вы обязаны использовать код города\региона того места, где вы предоставляете услуги, но опять же это касается только операторов, а не «сам себе режиссер».
  • 0
    Астериск дома
    Но зачем?
    • +1
      Роутить межгород через VoIP — чем не причина?
    • +1
      А Вы попробуйте! ;)

      Потом сами агитировать будете.
    • 0
      А зачем дома компьютер, если есть на работе?
      А зачем интернет, если можно сходить в интернет-клуб?!
      И т.д. и т.п.: индивидуальные АТС — это пока кажется перебором, но на практике — открывает новые возможности!
      Да, используя 470-й Гигасет можно было-бы обойтись и без своего сервера, но в частности сервер увязывает ещё и ГТС-линию и GSM, чего достичь на каком-нибудь СИП-операторе, конечно, можно, но лучше не стоит, если не хотите стать «чисто случайно» одним из гейтов этого оператора!
  • +1
    А кто-нибудь подключал к астериску стационарный терминал SkyLink? Скажем, skylink.ru/pages/equip.aspx?id=17627&r=61. Нужен ли FXO порт или «аналоговый»?

    Хотя я уж задумываюсь об использовании gsm-модема, типа того который упоминается в статье, благо у теле2 есть тарифы схожие со скайлинком.
    • 0
      Можно не «типа», можно именно его — в той-же Евросети лежат «чистые» модемы по полторы штуки рублей…
    • 0
      Я изучал одно время эту тему, но найти железного роутера для
      связки CDMA2000(450 МГц)<->SIP мне не удалось, если кто на Хабре знает. Подскажите…
      Хотя, забавно — вопросы наверное лучше в q&a размещать…
  • 0
    А кто знает, USB модемы каких операторов Украины не залоченые и с голосовой функцией?
  • НЛО прилетело и опубликовало эту надпись здесь
    • +1
      Название поста говорит само за себя, единственное, я бы все-таки для заинтересовавшихся добавил ссылку на подробное описание Астериска habrahabr.ru/blogs/asterisk/54751/
    • 0
      Я там даже во введении написал, что пост рассчитан на тех, кто уже начал что-то делать с Астериском: статей про то, что это такое, на Хабре навалом, а вот всякие вкусняшки под это дело — увы и ах, но почти не описаны! Что-бы найти многие подробности — приходится перелопачивать ворох инет-страничек, причём поиск не слишком рулит — мусора много…

      А вообще — я в «Литературе» дал ссылку на «Астериск: будущее телефонии»: там рассказано и про то, что такое Астериск, и зачем нужен и т.д. и т.п.
  • +1
    Если к астериску есть доступ снаружи, не стоит забывать про фаерволл, ACL, fail2ban и хорошие пароли. Подбор паролей к пирам на доступных извне астерисках с целью опускания траффика на всякие дорогие направления сейчас — весьма популярная штука. Вот лично я, например, пострадал дважды, хорошо хоть суммы были не очень большие, а то я видел взломы и на десятки тысяч рублей.
  • +1
    C470 IP отличный телефон :-) Сам такой использую.
    • +1
      А на A580 IP не смотрели? Тоже неплох, и подешевле. Жаль только, что в России не продается.
      • 0
        Вот последнее и остановило… ;)

        Долго думал, кстати, насчёт добавления в постинг инфы про подключение к Астериску домофона, но обломался: единственная статья «с подробностями» ничего не проясняла, т.к. её автор пошёл по пути наименьшего сопротивления и сделал свою домофонную линию, причём даже и без кнопки открывания замка…
        • +1
          Обычного (аналогового) домофона?

          А то Skypemate (Yealink) начинает SIP домофоны и SIP видеодомофоны выпускать. :)
          • 0
            Угу. Он взял проводной IP-телефон, а они этак тыщи две стоят, после чего припаял микрофон домофона к динамику телефона и наоборот. Как вызов — как я понял, он использовал какую-то фишку того телефона, которая делает диалинг по появлению шума на микрофоне…
            А вот открытие двери он не реализовал… :(
        • 0
          asteriskpbx.ru/wiki/door-phone-by-gool а вот это не подойдёт?
          • 0
            Про неё и говорю… Там открытия нету — он просто соорудил свою линию… Эээ… Так… Стоп… Нукася, нукася… Ыыы… Кажется врубаюсь — он прицепил всё это железо как связку между трубкой домофона и телефоном?! Ыыыы… А я думал — как отдельный канал! Схем не хватает по логике работы!!!
    • 0
      Чесал в затылке на какую тему: по-идее в 470 есть и городская линия, которая тупо втыкается в базу, но вот какого чёрта нельзя её настроить как fxo?! Нету и всё тут! Причём в самом телефоне юзать можно, а вот завести без отдельной приставки на сервак — фигу! Абыдна…
      • 0
        Ага, нельзя. Маркетинговые ограничения, наверное. Технические — врятли.
  • 0
    астериск в массы — это конечно перебор =) У меня следующее сочетание: исходящие — бетамакс (nonoh.net) 10евро на счёт — и москва с питером на 4 месяца бесплатны на городские (потом по 0,2 руб/мин). Для входящих — прямой мобильный. Кстати, стационарный телефон, на который забит nonoh.net (SIP), тоже Siemens Gigaset C470 IP.
    • 0
      а бетамакс sip поддерживает?
      • 0
        конечно, он на нём и работает.
        • 0
          Бетамакс — это сборище клонов. Есть клоны, в которых нет поддержки sip
    • 0
      Это я ещё дооообрый! Тут один знакомый из Новосиба увидел статью про частную GSM-сеть на Астериске — и загорелся! Вот это у нас в стране — перебор, а домашняя мини-АТС — самое оно! ;)
  • +1
    Давно использую данную схему, хотел все написать да руки не доходили. Dlink чем хорош он работает с пульсом, а линксис только через адаптер, и то как-то я не совсем понял, будет он фуричить или нет.
    База тоже хороша, у меня две такие, одна мобильная (с безусловной переадресацие на мобильный-беспалатно), а другая с анлимом по Москве. В планах еще купить лицензию skype for asterisk, заплатил 60 баксов и забыл про sipnet c их до набором или еще чето, зато люди всегда могут мне с скайпа на мобилу или еще куда нить позвонить, и еще второй сервачок поднять на Украине.
    Опять-же — в командировке я в идеале не должен тратиться на роуминг, но при этом принимать звонки, сделанные на мой номер

    по схеме мой номер в москве->aster(rus)->aster(ukr)->gsm(life,kyivstar,utel)->мобила. Почему так сложно? Потому чтобы приобрести DID с нормальными местными тарифами надо быть частным предпринимателем, если нет, то в лучшем случаи просто номер с дорогими тарифами. Вот это все сделаю, и буду довольный как слон))))
    • 0
      Да, ДЛинк меня порадовал: я первое время забыл телефон в тон перевести — так он с удовольствием и «щелчки» расшифровывал! Так что не надо объяснять, что «Нажмите звёздочку для перевода в тональный» и т.п.

      До Базы я пока не дошёл, т.к. на городской редко кто звонит: пока не было Астериска — я как контактный всем давал мобилу…

      Я тоже такой вариант продумываю — в качестве разъездного сервера подумываю об одном из своих Асус EEE со вторым GSM-модемом. Приехал в страну (город), купил пару симок, остановился в гостинице с инетом, подключился к сети, после чего по заранее вбитым настройкам всё это железо начинает между собой дружить…
      • 0
        Я тоже такой вариант продумываю — в качестве разъездного сервера подумываю об одном из своих Асус EEE со вторым GSM-модемом. Приехал в страну (город), купил пару симок, остановился в гостинице с инетом, подключился к сети, после чего по заранее вбитым настройкам всё это железо начинает между собой дружить…

        вот если перездной вариант, типа походная кухня, то ваще идеал guruplug, но как то сыкатно покупать, мало обзоров, сообщества пользователей нет))
        • 0
          По чему? По Ежам (ЕЕЕ)??? Да уже три года как!
          http://eee-pc.ru

          Настраивается Астериск по аналогии — система-то та-же самая…
          • 0
            неее, я про GuruPlug=))) habrahabr.ru/blogs/gadgets/83895/
            • 0
              Мой знакомый парочку таких на днях привезёт в Москву, один мне, второй уедет в Белгород. Два человека — не сообщество ??
              • 0
                Ну и я заказал не столь давно одну штуку… Так что рано или поздно сообщество разовьётся: фигня только в скорости их производства…
  • +1
    Чем-то похоже на мой старый топик, но упор на астериск и подробнее написано. Респект. :)
    • 0
      Ну, с твоего старого топика всё по большей части и началось, но пока читал его — хотелось подробностей, как то или иное решение было реализовано… Некоторые подсказки в тексте были, остальное — искал, а что-бы другим не пришлось перерывать груды страничек — решил собрать хоть часть найденного в кучку… ;)
      • +1
        Меня вообще всегда очень интересовала идея SIP-федерации.

        Даёшь SIP в массы. Имея SIP адреса, можно отказаться или максимально минимизировать использование как городской (стационарной), так и мобильной связи.

        Идея несколько утопична пока, хотя бы из-за отсутствия единого сервиса поиска в сети, но уже существование концепции ENUM позволяет верить в светлое будущее.
        • 0
          Я тут мегаманьячную идею вынашиваю: подключить в сеть ещё и квартиру родителей!
          Тупо поставить к ним ещё один Д-Линк, который через их домашний ДСЛ роутит на мой сервак, благо я с самого начала взял фиксированный IP…
          Плюс в том, что смогу звонить родителям через инет, без привлечения МГТС (Ну, ПОЧТИ — у них АДСЛ МГТСный), причём даже если мать висит на телефоне!
          Плюс отец сможет принимать звонки на мой номер, сделанные ему, у себя в кабинете и т.п.
          • +1
            Логично.

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

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

            Друг купил себе недавно Siemens C470IP — созваниваемся с ним теперь только через SIP. И вообще, пора ему тоже аккаунт у себя давать, незачем трафик между серверами гонять, пусть напрямую идет. :)
            • 0
              Тут в последнее время всё чаще вспоминаю начальство с бывшей работы, где студентом подрабатывал… Там такой простор открывается, что просто ого-го!
              1. Две линии в квартире. В трубках они сами скоро свихнутся, а так — можно существенно сократить их число!
              2. Линия в офисе, который у них в соседнем доме. Прокинуть через Сеть — и ноу проблем!
              3. Линия дома у начальницы. Она дома почти не бывает — раз в месяц только. Опять-же привязать на телефон в её комнате…

              Единственное что пока смущает — это ихний факс: насчёт подключения факс-аппаратов к Астериску и Длинку в нете написано не слишком много, а то, что есть — как-то не особенно радужно звучит…
  • 0
    Зачем дома поддерживать сервер c Asterisk, если есть бесплатный pbxes.com?
    • +1
      гибкость настройки, доп.фишки (типа голосовых меню) и т.д.
    • 0
      По большей части — это просто дополнительная нагрузка на мой файловый сервак: всёравно «простаивает»…

      А зачем…
      Ну, выше я уже писал, что помимо прочего — он линкует домашний номер, чем «озабочивать» левую АТС нет никакой охоты с точки зрения безопасности линии.
      Во-вторых — для связки с GSM: есть, конечно, gsm-SIP адаптеры с эзернетом, но дорогиееее…
      Ну и в третьих — общее спокойствие за систему: её не снесёт по пьянке админ, её не закроет компания, которой надоело предоставлять свои услуги бесплатно, да и у меня есть более-менее высокая вероятность того, что соединение со скуки кто-нибудь прослушать не сможет…
      • 0
        Да-да. Согласен по всем пунктам. Я, вот, тоже был уверен, что все это важно, пока не наигрался. В итоге реалист во мне победил и файловый сервер переехал на домашний NAS, а asterisk(trixbox) на pbxes.

        • 0
          … А потом оператору что-то не понравится и он эту халяву закроет…
          У знакомых был сайтик на бесплатном dax.ru
          В один «прекрасный» день сервак сдох в муках, а когда поднялся — народ выяснил, что «Какое-такое резервирование на халявном сервере?! Идите дети лесом-полем! Акаунты восстановили — и радуйтесь, а контент — сами, сами!»
        • 0
          вопрос: а как же задержки на пинг?
          тоже хотелось бы иметь дома ippbx, но сдерживает, то что нужно держать включенным комп. Рассматриваю потихоньку варианты с астериском в роутере. Если моя PBX будет в америкосии, то простой входящий звонок на городскую линию будет проходит по интенету до PBX потом обратно?
          • 0
            Задержки особой роли не играют. У меня тут 380ms до pbxes и ничего, никаких проблем.
  • 0
    а как у pctel с качеством и дозвоном за этот рубль? И кто-нибудь настраивал их акк на грандстрим телефоны, что-то не получается никак.
    • 0
      pctel — посоветовал BigD. У него через него что-то даже завязано и особой разницы при пропадании на Еврофоне связи он не засёк…
      • 0
        в свете последних событий, очень заинтересовал Еврофон(http://skylink.ru/pages/tarif.aspx?id=54910&r=77), на него можно как-то дозвониться?
        • 0
          Что Вы имеете в виду под «дозвониться»?
          • 0
            ну на еврофон, с еврофона понятно, а на него
            • 0
              Насколько я знаю, никак.
              • 0
                тогда плохо)) а так бы был халявный телефон
                • 0
                  Я планирую связку Еврофон+«АллоИнкогнито Идеальный» сделать:
                  • 0
                    Исходящие — по Еврофону.
                    Входящие — через модем с симкой от АллоИнкогнито (мегафоновская симка): 1900 за контракт, 499 код, абонентской платы нету.

                    Соответственно т.к. нет абонентки — то 50 копеек Еврофона становятся выгодней!
                    На 155 рублей в месяц можно наболтать 310 минут на Еврофоне!!!
                    Или 155 минут на мобильные через pcTel.ru!
                    • 0
                      а ну алоИнкогнито, я давно к нему присматривался, вот если бы они еще мультфон предоставляли то ваще крутяк.
                      А вообще получается так: скайлик с услугой еврофон, тоесть трафик бесплатно для исходящих, а для входящих huawei e1550. Правда я все таки зато, что лучше меньше всяких стыковочных узлов, я имею ввиду gsm шлюзы, есть возможность получить sip — бери.
                      Кстати пока не забыл, седня пришел ответ от мегафона на вопрос:
                      Здравствуйте, пользуюсь услугой Мультифон. При подключении услуги «Дополнительный городской номер», абонент набравший мой номер в коде 499 сможет дозвонится мне на «федеральный 7926» задействованный в Мультифон. Спасибо

                      в итоге получил ответ
                      При звонке на дополнительный городской номер зонок поступит в приложение Мультифон.

                      Так что есть альтернатива база мобильная(с услугой База Ip естественно), тем более можно еще звонить и на кривой федеральный, для некоторых это дешевле
    • 0
      Качество отличное. И на мобильнике тоже. На писителовском акке у меня нормально работает Siemens 470IP
    • 0
      Качество достойное.
  • +1
    По мультифону, если кто elastix/trixbox использует то настройки такие (работают и входящие и исходящие звонки):

    PEER Details:
    host=multifon.ru
    username=792972xxxxx
    secret=PutMultifonPasswordHere
    type=peer
    dtmfmode=inband
    insecure=very
    fromuser=792972xxxxx
    fromdomain=multifon.ru
    qualify=yes
    nat=yes

    Register String:
    792972xxxxx:PutMultifonPasswordHere@multifon.ru
  • 0
    а еще коль такая заварушка началась, хотелось номер sipbroker сделать, может знает кто куда капать?
    • 0
      В каком городе вы собрались его сделать?
    • 0
      Насчёт СипБрокера…
      По безопасности — рекомендуется запретить гостевые входы в Астериск.
      Без гостевых — не работают URI.
      • 0
        … А без URI — нельзя зарегиться в СипБрокере!

        Так что тут или безопасность (а сканили меня неделю назад ОЧЕНЬ интенсивно!), или использование СипБрокера…
  • 0
    Отличная статья. спасибо
  • 0
    Мой вариант:
    Эта история началась два долгих года назад, когда во время командировки в США я ВДРУГ остался без мобильной связи: с дуру перед поездкой поменял телефон, а он оказался «двух-диапазонником»… Да и роуминг не дешёвый…
    Итогом стало открытие для себя… айфона :)
  • 0
    Вот такой екстеншн поможет разрулить некоторые телеофны:
    1) exten => s/+380ХХХХХХХХ1,1,Dial(SIP/user1,,t)
    2) exten => s/+380ХХХХХХХХ2,1,Goto(ivr-menu1,s,1)
    Первое правило наберет пользователя по сип, если входящий номер будет 380ХХХХХХХХ1
    Второе — перенаправит пользователя на ивр меню (другой контекст)
  • +2
    Это конечно все хорошо, особенно в теории, но вы же читали книгу О`Рейли, Астериск — Будущее телефонии, которую привели в литературе? Я к чему все это клоню, а дело в том, что нужен очень качественный канал связи для передачи VOIP траффика по эзернет. Вы не привели в статье настройку sip.conf, какой кодек вы намерены использовать для совершения звонков на дальние расстояния? 711ый alaw хорош тем, что не так критичен(относительно других) к потерям пакетов, но требуется полоса гарантированных 64кбит\с(из того места, откуда вы звоните до вашего дома). Другие кодеки требуют меньшей полосы, но более критичны к потере пакетов, золотая середина gsm кодек(ну или кому-то больше подойдет 729ый). Но это еще мелочи, потери пакетов и\или меньшая полоса пропускания может привести к пропаданию слогов или даже слов в разговоре, однако если к этому добавить увеличение задержек — то мы получим сильное эхо. Между прочим в книге это хорошо расписано. Задержки более 50 мс становятся критичны, а если выполнять звонок из штатов, то эти задержки будут минимум 300мс. Сможете ли вы общаться по такой связи? Операторы услуг голосовой связи не зря такие цены ломят, ведь нужно предоставить наивысшее качество передачи голоса, особенно на дальние расстояния.
    Не все так плохо, если вы собираетесь не так далеко ездить от родного города, и у вас будет дома и там, куда вы поедете, качественный хороший интернет провайдер, то вы сможете дешево и сердито разговаривать, но если вашей целью было экономить на разговорах, находясь в таких странах как США, Япония, Австралия, страны ближнего востока или вообще других континентов — то у вас с огромной вероятностью ничего не получится и вы только зря потратили деньги.
    • 0
      Извиняюсь — про канал я не написал, т.к. как-то привык к своим 12 мегабитам на «Билайн Интернет Дома»…
      • +2
        не понял к чему ваш комментарий, или вы искренне верите, что эти 12 мегабит будут у вас с любой точкой на Земле? Качественный канал связи в понимании операторов, когда приходиться передавать голос по эзернет — это выделенный отдельный физический(витая пара\оптика) или иногда логический(vlan, 802.1q), на котором гарантирована нужная полоса пропускания на всем протяжении канала. Причем зачастую используется для связи канал второго уровня(т.е. без маршрутизаторов) между АТСками. Это я вам как сетевой инженер говорю, работающий в сфере услуг предоставления доступа к интернет и телефонии.
        • +1
          Как человек, пользующийся VoIP уже много лет, скажу, что Вы многое усложняете… :)
          • 0
            возможно потому, что я занимаюсь этим уже много лет на профессиональном уровне, а не на любительском.
            • 0
              Согласен. Однако для 80% необходимости таких схем, существующих каналов и прочих средств вполне достаточно. Поэтому я и говорю, что не все так плохо.
              • 0
                я раньше экспериментировал с передачей SIP/alaw через интернет на дальние расстояния, однако чем дальше — тем хуже связь. Можно добиться разве что качественной передачи лишь в своей зоне и некоторых соседних.
            • 0
              P.S. Поднял Вам карму. Пишите топики, делитесь опытом.
              • 0
                Благодарю.
        • 0
          Это я к тому, что мне — хватает. Я-же не профессиональную систему для продажи делаю — качество связи чаще всего не так сильно и нужно: главное её НАЛИЧИЕ! ;)
    • 0
      Интересно, как вообще до сих пор люди звонят по скайпу, если всё так безумно критично к задержкам? Выше вот людей устраивает задержка 380мс, а вы рисуете картину «ужас-ужас».
      • +1
        скайп — это отдельная песня, она вообще имеет мало общего в корне с тем, что описано в топике.
        Задержки в 380мс без эхоподавления — это значит, что вы услышите свой собственный голос через 4 секунды после того, как вы сказали фразу. Конечно есть разные алгоритмы для борьбы с эхом, но в масштабах «сам себе оператор за два рубля» можно максимум рассчитывать на то, что в целом качество связи будут все равно неудовлетворительно. Это может выражаться в том, что если человек говорит тихо, то его голос может вообще не пройти до собеседника, либо оборвется начало фразы или слова, а если начать говорить одновременно с собеседником без «как принял, прием ?», то вообще никто ничего не услышит и не поймет.
  • 0
    хм… я так понял usb модемы могут выполнять роль голосового шлюза.
    А возможно ли ка кто отправлять через них MMS.
    Хочу примерно следующие фоткать всяк входящего и отправлять его фото ММСкой себе на трубку. За 5 рублей/сутки у меня безлимитные ММС. Входящие ММС у нас вроде бесплатные.
    • 0
      Самое простое — не париться и купить специализированную камеру, благо ММС-камеру Мегафон сам-же и продаёт: не надо ни компа, ничего — симка ставится в камеру и всё…

      В остальном — проще сделать не через шлюз: в 99% программ для камер наблюдения есть функция «При тревоге послать Е-мыло с фоткой на адрес ...», а у «Большой тройки» есть для ММС функции «ММС на е-мыло» и «С е-мыла на ММС»: вбиваешь как-то там хитро свой адрес как номер мобильного@сервер оператора и на него будут слать фотки, которые сервер преобразует в ММС и пересылает тебе.
      Минус — мне отосланная на свой ящик с телефона ММС шло сутки!!!
  • 0
    Я правильно понимаю, что этот D-Link не может передавать вызовы на SIP, не отвечая по FXO? Хочется, чтобы он понимал трубку только тогда, когда я посмотрю CallerID и отвечу.
    • 0
      Я такого не нашёл, но мб оно где-то и есть: настроек там десятки!
      • 0
        Как оказалось, это было на старых прошивках, а сейчас он делает именно так, как мне нужно.
  • –1
    Небольшая опечатка. _From вместо From.
    exten => 123,n,Set(_From=${CALLERID(name)})
    Далее она используется
    exten => 123,n,Set(DB(ToMe/LastCaller)=${From})

    • 0
      Это не очепятка, это формат Астериска для переменных!
      Если мы в команде Set присоединим спереди к имени переменной одиночный символ _, то в этом случае эта переменная будет унаследована каналом, который будет создан основным каналом, например, при использовании команды Dial(Local/...);. Однажды будучи наследована, эта переменная не будет далее унаследована.


      Насколько помню, там в коде надо было передать значение переменной «на другой уровень», поэтому и использовался такой формат с подчёркиванием!

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.