Меню Рубрики

Установка gsm на freepbx

Как я делал офисную АТС на FreePBX с GSM шлюзами на модемах

Надоело мне ходить с несколькими телефонами для приема звонков по работе, посему захотелось снова возобновить идею с созданием собственной офисной АТС на основе FreePBX с gsm-шлюзом на основе usb-модемов Huawei 1550. Так как ее создание не является задачей первостепенной, то делать это решено самостоятельно, в свободное время и как можно более бесплатно.

Это не первая попытка сделать бюджетную АТС. Когда-то мы настроили АТС с модемами HUAWEI на основе микро-компьютера Raspberry. Однако она вела себя крайне нестабильно, модемы постоянно «отваливались» и от нее пришлось отказаться.

Статья эта не является полноценным руководством, а скорее базой знаний и ссылок, так как я перебрал их добрую сотню в поисках реально работающего решения. Зато вы сможете просто пройти со мной за ручку по этому тернистому пути (ну почти просто — к сожалению просто не будет точно).

Сразу скажу — я не программист (ну баловался лет двадцать назад, сейчас реально двух строк кода не напишу даже на бейсике), Linux пару раз видел только со стороны графической оболочки. Но так как задачу я в итоге осилил процентов на 80 самостоятельно (на последнем этапе я все-таки позвал на помощь фрилансера), то надеюсь, что пройденный мною путь вдохновит и вас на подвиги.

Зачем нужна своя офисная АТС.

Итак цель выглядит примерно следующим образом :

Офисная АТС, основана на бесплатном ПО FreePBX, имеет на борту несколько USB-модемов HUAWEI 1550 с сим-картами разных операторов, она связана с виртуальной АТС Zadarma, которая позволит дешево звонить за границу + принимать звонки с виртуальных номеров (к примеру наши номера телефонов в других странах). Так-же в офисе имеется парочка стационарных VoIP телефонных аппаратов, которые и будут использоваться для приема звонков в офисе.

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

Что потребуется из железа.

Базовый набор железа у меня уже был припасен : В шкафу валялся старый селерон-1.8 в мини корпусе, 3 уже разлоченных модема HUAWEI E1550 (разлочивал самостоятельно по инструкции из инета), два телефонных VoIP аппарата старенькие Linkssys SPA922 и YeaLink T22P. Также имеется давно используемый аккаунт в сервисе Zadarma (используется для международных звонков практически бесплатно (к примеру США и Канада имеют для меня нулевой тариф) и покупки виртуальных номеров в нужной мне стране мира).

Логика маршрутизации звонков.

Заранее распишите на бумаге схему, по которой будут настроены входящие и исходящие звонки. Нарисуйте все точки соприкосновения вашей АТС с внешним миром — стационарные телефоны, софт-фоны, мобильные и виртуальные номера. Теперь попробуйте соединить это в единую систему 🙂

Пусть пока это будет примитивно — в дальнейшем вы сможете усложнять все и наращивать.

Логика маршрутизации входящих звонков:

Если нам звонят на виртуальный номер за кордоном, то этот звонок передается через Zadarma на офисную АТС и мы можем поднять трубку в офисе. Если звонят на одну из сим-карт — аналогично. Если офисную трубку никто не берет (или занято, или отключен телефон), то звонок переадресовывается на мобильный телефон директора или менеджера (через резервную сим-карту).

Логика маршрутизации исходящих звонков:

Звонки из офиса направляются через нужную сим-карту в АТС в зависимости от номера телефона, звонки за кордон переадресовываются и уходят через виртуальную АТС Задарма.

В последствие эту систему можно усложнять, но для начала сойдет.

Выбор софта для офисной АТС.

Я перебрал несколько решений. Но большинство решений требует либо денег сразу, либо денег в последствии, либо сложны для освоения. Так как знаниями для настройки Linux я не владею, было решено использовать готовую установку FreePBX, позволяющее с загрузочного диска получить уже готовую для настройки систему.

Установка FreePBX для нубов.

Идите на официальный сайт FreePBX в раздел Downloads, я скачал ISO-образ 10.33.66 версию для 32-битных систем и записал его на флешку. Однако первая установка закончилась неудачей — на экране была лишь консоль линукса (без установленной FreePbx системы). Я попытался переустановить систему еще три раза — результат тот-же. Гугление по англоязычным форумам помогло, оказывается ISO образ FreePbx нельзя устанавливать с флешки — только с DVD-диска (в последствие мне рассказали, что это сильно зависит от вашего железа). Пришлось купить болванку и присоединять внешний DVD-ром. Таком образом установка увенчалась успехом.

Настройка FreePBX

Так как сам я (без гугления) не владею знаниями настройки и установки — приведу ссылку (одну из многих перебранных мною), которая действительно помогла : Настройка freepbx 13 с нуля — http://wiki.merionet.ru/ip-telephoniya/13/freepbx-13-nastrojka-s-nulya/

Итак вы должны мучаться, пока не увидите на экране вот это :

Теперь смело на втором компе вбивайте айпишник своего сервера и приступайте к настройке.

Настройка и подключение VoIP телефонов к FreePBX.

После настройки freepbx я бросился настраивать два имеющихся офисных телефона. Действтвал по инструкции :
Настройка внутренних номеров — http://wiki.merionet.ru/ip-telephoniya/9/nastrojka-extensions-freepbx13/

Подключал два SIP телефона — LinkSys SPA922 и Yelling SIP-T22P. Втрой подключился без проблем с пол-пинка, а вот со стареньким LinkSys SPA922 провозился часа три — никак не хотел подключаться к АТС по локальной сети. Проблема была простой — в настройках после ip-адреса АТС необходимо было прописать адрес порта через двоеточие! (Никогда не догадался-бы — додумался случайно).

Второй проблемой явилось то, что как только я радостно привязал телефонные аппараты к АТС, при попытке тестового звонка с аппарата на аппарат — не было звука (не слышно голоса в две стороны). Решение нашлось через два часа гугления — нужно было пробросить диапазон портов 10000-20000 по UDP в настройках роутера. Так-же до того я проверил, чтобы везде были настроены одинаковые звуковые кодеки и включен NAT.

Подготовка и подключение модемов Huawei к FreePBX 13

Подготовить купленные (и желательно уже разлоченные под нескольких операторов) модемы к работе можно по этой инструкции http://pbx.gal.cv.ua/speedy-gsm/huawei

Из всех мануалов по прикрутке модемов к АТС на FreePbx — рабочим вариантов оказался этот http://pbx.gal.cv.ua/chan-dongle

Установка модемов в качестве шлюзов на деле оказалась крайне сложной задачей, для человека, незнакомого с Linux. Так как каждое руководство изобилует набором команд консоли (не графической оболочки). Я очень долго мучался (при том, что я когда-то знавал еще DOS и консоль мне не противна).

Перед вами просто черный экран с мигающим курсором, а мануал говорит вам — теперь просто скачайте вот здесь драйвер, распакуйте его и файл такой-то скопируйте в такую-то папку…. Чего ?? Что делать-то ?! Как скачать, как скопировать ? Человека, привыкшего копировать и скачивать кликами мышки подобное может привести в панику.

Читайте также:  Установка принтера hp laserjet cm1312

Очень сильно облегчила жизнь установка файл-менеджера наподобие старого Midnight Commander http://rus-

linux.net/MyLDP/consol/midnight-commander.html — с ее помощью я смог копировать файлы из папки в папку и править то, что надо. Однако Midnight

Commander поможет вам только в том случае, если вы знакомы хоть как-то с файл-менеджерами типа Far или Volcov Commander (да-да, привет из 90х).

Теперь самое веселое : необходимо подключить и настроить внешние модемы с сим-картами, прописать маршрутизацию и заняться настройками безопасности (в ЛОГах я заметил, что кто-то с внешних айпишников уже начал ломиться ко мне на АТС).

Добавление модем в админкм FreePBX и входящей и исходящей маршрутизаци описана удачно тут и тут.

Zadarma был добавлен как еще один транк в настройках. Теперь если мне звонят по одному из купленных в Zadarma номеров — звонки я принимаю на офисном телефоне и наоборот- если я на офисном телефоне начинаю набирать зарубежный номер — то звонок идет уже через транк Zadarma.

Вопрос настроек безопасности освещен здесь. Однако и в данном вопросе (особенно в нем) я рекомендую подключить консультанта. Если вы не собираетесь подключаться к АТС с внешних айпишников — то закройте порт 5060 — это существенно снизит риски.

Заключение.

Должен сказать, что на втором этапе (именно настройка маршрутов) потребовала подключения специалиста по ip-телефонии, к этому моменту мой мозг начал подтупливать (я ковырялся со всем этим с нуля уже несколько дней подряд), хотя многие могут подумать, что настройки в консоле линукса сложнее, чем красивые менюшечки freepbx 🙂

Замечу, что специалист по VoIP был найден мною на фрилансе, в течение пары часов. Так как 2/3 работы мною быловыполнено самостоятельно, стоимость доделки моей работы составила всего 20 USD. В случае первоначальной полной настройки специалистом — сумма была-бы иной конечно.

Плюсом самостоятельной установки и настройки является то, что я могу теперь самостоятельно разруливать мелкие технические неполадки в случае чего.

На фото — результат — просто корпус с торчащими модемами. Корпуса с модемов пришлось снять, так как они не хотели лазить в USB рядом с друг другом. Замечу, что на корпусах есть антенны, поэтому если сигнал в вашей местности слабый — рекомендую не делать этого.

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

Что дальше ?

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

Второе — в процессе первых дней эксплуатации вы поймете, чего не хватает в вашей системе. Я к примеру сразу захотел сделать нормальное голосовое приветствие, музыку вместо гудков ожидания и тп.. Систему можно и нужно совершенствовать 🙂

Третье — необходимо продумать контроль работоспособности ваших линий и модемов. Возможны зависания и как следствие — ваши клиенты не будут дозваниваться к вам. Необходимо изучить этот момент подробнее.

Апдейт примерно через месяц работы АТС на GSM-модемах :

  1. Следует внимательно изучить условия обслуживания у вашего мобильного оператора — так как некоторые не разрешают просто так использовать свои сим-карты в дополнительном оборудовании и блокируют их (например Life-cell просто звери — заблокировали карту без права разблокировки)
  2. Для GSM-модемов нужна либо качественная материнская плата (с нормальным вольтажом на USB), либо качественный USB-хаб с внешним питанием. В противном случае модемы могут периодически «отваливаться» и вести себя нестабильно.
  3. Помните, что GSM-модемы — это бюджетный вариант, нормальный GSM-шлюз конечно лучше.

Желаю вам побольше звонков от клиентов и заявок на ваших сайтах !

источник

Поднимает телефонию с нуля: Asterisk, FreePBX, GSM-шлюз на Huawei E173 в Debian

Сначала маленькая предыстория. Не так давно наша фирма практически лишилась городской связи, один телефонный оператор, что-то не поделил с другим и в результате между ними перестали проходить звонки. Было принято решение, раз уж так произошло полностью отказаться от обычной телефонной связи и полностью перейти на ip-телефонию.
Постановка задачи:
1) Организовать телефонную связь;
2) Запись разговоров;
3) Очередь звонков;
4) Голосовое меню;
5) GSM-шлюз, так-как должны обрабатываться и звонки с мобильных операторов.
6) Минимальная стоимость решения, так как ситуация форс-мажорная и бюджет выделен не был.

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

Выбор платформы.

Первым делом решил посмотреть готовые сборки, указанные на сайте asterisk.ru, были скачаны готовые образы AsteriskNOW, FreePBX, Elastix, про остальные просто прочитана документация. TrixBox был сразу откинут из-за своей платности, так как противоречил 6 пункту. AsteriskNOW показался сыроватым и не доработанным, FreePBX, Elastix понравились оба, логичные и удобные сборки, но не захотели дружить с имеющимся в наличии модемом Huawei E173, а также были собраны на CentOS с достаточно старым ядром и не вписывались в общий парк серверов на Debian. Принял решение собирать все с нуля, тем самым получив бесценный опыт.

Сборка рабочего окружения, связывание элементов и настройка.

Итак имеем свежеустановленный Debian 6 Squeeze, минимальная установка.
Добавляем необходимые в дальнейшем репозитории в

Из бэкпортов ставим свежее ядро, которое необходимо для корректной работы GSM модема

Ставим web сервер.

Так как нагрузка на веб сервер планируется разовая и небольшая, было лень ставить отдельно apache + php + нужные модули, решил воспользоваться неплохой, на мой взгляд, сборкой Zend Server CE.
Ставить будем все и сразу.

Настройка веб-сервера Zend

Изменяем пользователя из под которого работает апач, на asterisk.

Изменяем параметры php (можно через специальную админку сервера, доступную по ссылке _https://IP:10082/ZendServer или _http://IP:10081/ZendServer.).

Скачиваем необходимые исходники

Собираем их для удобства дальнейшего обновления сразу в пакеты.

Отключаем ненужные модули, вообще мне dahdi был не нужен, но на форумах и в документации советуют все равно собирать с ним.

Читайте также:  Установка linux mint что выбрать

если планируем включить mp3 выполняем

Включаем в menuconfig следующие опции;
app_mysql, app_saycountpl, cdr_mysql, format_mp3, res_config_mysql, EXTRAS-SOUNDS-EN-GSM EXTRAS-SOUNDS-RU-GSM (нужные кодеки и языки) ну и другие нужные опции.

Если получили ошибку не существующей директории

Создаем и заполняем базу данных необходимую для FreePBX

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

Конфигурируем FreePBX для работы с Asterisk:

Используем все параметры по умолчанию только путь задаем /var/www/freepbx/, который мы создали ранее.

Теперь небольшое отступление, на сайте FreePBX доступна версия freepbx-2.10.0, но ее инсталятор под Debian вел себя очень странно, пришлось наложить несколько патчей из багрепортов, но дальнейшее его поведение также не понравилось и было принято решение использовать freepbx-2.9.0 для установки, а потом обновиться. После успешной установки заходим на веб интерфейс по адресу _http://IP-сервера/freepbx и обновляем систему, процесс обновления хорошо описан в самом интерфейсе и вынесена отдельная ссылка, так что подробно останавливаться на этом не буду, обновление проходит быстро и гладко и через 10 минут имеем у себя последнюю версию системы.

Прикручиваем модем huaway E173

Модем был предварительно разлочен на всех операторов и в нем были разблокированы голосовые функции. На этом моменте подробно останавливаться не буду, все достаточно тривиально и не входит в описываемую тему, но если кому интересно отвечу.

Для определения вменяемого имени модема

Вставляем модем и выполняем

Получаем вывод похожий на

Если не заработало, выясняем идентификатор устройства:

Проверяем наличие файла «12d1:*» в /etc/usb_modeswitch.d, в одном из файлов
должно быть упоминание продукта «1446». Например:

Если файла нет, то его можно создать по вышеприведенному примеру, просто изменив DefaultProduct на:

Перегружаемся, после чего модем имеет вменяемое имя, продолжаем связывать его с Asterisk

Настраиваем параметры модуля под наш модем:

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

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

Создаем контент в диалплане (Не забываем выключить пинкод на SIM):

Проверка состояния модема:

Теперь в админке FreePBX добавляем маршруты для этого модема.

Исходящий маршрут:
В веб интерфейсе (FreePBX 2.10) — Connectivity — > Trunks -> Add Custom Trunk
Trunk name — Пишем имя чтоб не забыть например GSM-modem
Последний пункт — Custom dial string — указать

где 0000000000000 — IMEI модема (виден в предыдущем пункте).

В веб интерфейсе (FreePBX 2.10) — Connectivity -> Outbound routes -> ADD route
Назвать например Outbound (Исходящий)
match patern ->. (ставим точку в это поле),
в Trunk Sequence for Matched Routes выбираем наш транк.

Входящий маршрут:
В веб интерфейсе (FreePBX 2.10) — Connectivity -> Inbound routes -> ADD Incoming route
Назвать например Inbound (Входящий)
Номер DID -> 0000000000000 (IMEI модема)
в ‘Set destination’ выбрать получателя звонков, поступающих на модем.

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

Создаем скрипт автозапуска FreePBX: /etc/init.d/amportal-startup

Даем ему права на выполнение

FreePBX частично переведен на русский язык, но его включение у меня изначально не работало, чтоб его починить проделываем следующие манипуляции.
Исправляем файлик /usr/share/locale/locale.alias

Удаляем строку с кодировкой для russian и добавляем 3 строки вместо нее:

затем перегенерируем локаль

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

источник

Сам себе сотовый роуминг. Создание GSM гейта на asterisk + донгл от сотового оператора

Случилось так, что езжу я в командировки и отпуски не настолько часто чтобы пользоваться какой-то международной телефонией или виртуальным провайдером, но и не настолько редко чтобы вообще не забивать себе этим голову и пользоваться роумингом не заморачиваясь на расходах.
Езжу я не в те страны и не так надолго чтобы покупать симку местного оператора, зато в те страны где вай-фай есть почти везде.
Так уж вышло что в последнее время я плотно познакомился с программной АТС asterisk и перед очередной поездкой подумал о том как было бы классно воткнуть свою сим-карту в качестве входящего транка в asterisk, стоящий в остающейся позади снежной Москве, а самому цепляться к нему sip-клиентом по интернету. Это же и сам звони не хочу, был бы интернет, и звонки принимай на свой же номер, что важно для тех у кого много контактов (всех не оповестишь, да и половина забудет) — сотовый-то с сим-картой фактически стоит в домашнем регионе.

Как это реализуется — под катом.

Первым делом что необходимо обязательно:

из неосязаемого

— Хоть какое-то базовое знание линукса. да, придется немножко пособирать из исходников.
— Реальный айпи-адрес прямо на линукс, ну или проброс портов до него. Все-таки присоединяться из интернета к астериску надо куда-то. Чего, если поставить его за домашним роутером, который сам стоит за маскарадом провайдера, а то и не одним, не получится.
Порты которые использует астериск и на которые нужно делать проброс: udp 5000-31000. Вот такой целый пул.

из вполне материального

— Модем от сотового провайдера. Практически все они — huawey 3G E-серии перекрашенные в “корпоративные цвета”. Мегафон даже не стесняется называть их ровно в соответствии с кодировкой производителя. У меня оказался вот такой: moscow.megafon.ru/devices/usbModem/e173. Это Huawey 3G E173.
— Сервер на линуксе

необходимый софт:

— asterisk: www.asterisk.org/downloads
Я расскажу по версии 11 из исходников, если в вашем дистрибутиве есть пакет астериска любой версии — ставьте пакет, особой разницы нет.
— usb-modeswitch: www.draisberghof.de/usb_modeswitch/#download
оба архива www.draisberghof.de/usb_modeswitch/usb-modeswitch-1.2.5.tar.bz2 и www.draisberghof.de/usb_modeswitch/usb-modeswitch-data-20121109.tar.bz2
Если в вашем дистрибутиве есть такой пакет — ставьте пакет
— chan_dongle: github.com/jstasiak/asterisk-chan-dongle/archive/asterisk11.zip для 11-го астериска о котором пойдет речь, либо code.google.com/p/asterisk-chan-dongle/downloads/list если вы поставили астериск из пакетов и у вас более ранняя версия. Это одна и та же версия драйвера, просто в тот который для 11-й версии интегрирован патч который подгоняет его под 11-й астериск с его измененными зависимостями.

Device Drivers -> USB Support -> USB Serial Converter Support -> USB Generic Serial Driver

Втыкате одно в другое, делаете lsusb.
Находите там строку похожую на

Bus 001 Device 004: ID 12d1:1446 Huawei Technologies Co., Ltd.

usb_modeswitch -v 0x12d1 -p 0x1446 -H -s 5 -M 55534243000000000000000000000011060000000000000000000000000000

не забудьте поменять 12d1 и 1446 на свои цифры из lsusb!
Запускаете lsusb снова и вы увидите там примерно тоже самое что и раньше, но вторая 4-ка цифр вашего донгла будет другой.
Это значит что все прошло успешно и теперь ваш модем это модем.
Вот тут-то и должна отработать та самая опция про USB Serial Driver ядра и в /dev должны появится несколько устройств /dev/ttyUSB0 /dev/ttyUSB1 и т.д.
Это интерфейсы к модему, какие-то звуковые, какие-то управления, насколько я понял какой из них какой зависит от модема.

Читайте также:  Установка jdbc драйвера oracle

Треть дела сделана, цифровой интерфейс к сотовой сети у нас есть, переходим к астериску.

Не буду описывать его установку, будем считать что он поставлен (не настроен, просто установлен). Если из исходников, то хорошо. Если пакет — понадобится еще и -dev, потому что мы будем собирать chan_ модуль к нему.

А именно тот самый chan_dongle.
Все стандартно, распаковываем, ./configure && make && make install
копируем файл etc/dongle.conf в /etc/asterisk/

Запускаем asterisk прямо без настройки.
Запускаем asterisk -rv и попадаем в консоль.
Пишем module load chan_dongle.so.
Модуль загрузится и скорее всего о чем-нибудь начнет ругаться.
Но по выполнении команды dongle show devices покажет что-то вроде

ID Group State RSSI Mode Submode Provider Name Model Firmware IMEI IMSI Number
dc_4823_7851 0 Free 11 0 0 MegaFon RUS E173 11.126.15.00.209 xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxx

Открываем на редактирование файл /etc/asterisk/dongle.conf и в самом низу, где описывается устройство [dongle0]
комментируем все кроме строки imei, куда вписываем imei вашего модема из строки которую показал dongle show devices
и дописываем

[dongle0]
imei=xxxxxxxxxxxxxxxx
context=dongle-incoming; контекст
group=0
rxgain=3; увеличение громкости
txgain=3; увеличение громкости
resetdongle=yes; сбрасывать карту при инициализации
u2diag=-1
usecallingpres=yes
callingpres=allowed_passed_screen

Теперь модуль chan_dongle можно вписать в /etc/asterisk/modules.conf в виде строки load => chan_dongle.so
чтобы он подргужался сам при запуске asterisk.
Перезапускаем asterisk.
Вот теперь, по правильному imei, chan_dongle должен сам все правильно найти — и какие из устройств являются командными, и какие аудио, и так далее.
Запускаем asterisk -rv, выполняем dongle show devices и видим свой модем. Все в порядке.

Теперь к настройке астериска.

[general]
externip=х.х.х.х; внешний айпишник астериска, не важно его или гейта который прокидывает к нему порты, это внешний айпишник, адрес которого будут содержать пакеты идущие к астериску и он будет считать их своими
externaddr=х.х.х.х; тоже самое
localnet=192.168.0.0/255.255.0.0; сеть, которую астериск будет считать внутренней и не устраивать сложные танцы с маскарадом для нее
nat=force_rport,comedia; необходимый режим работы если астериск за натом и к нему прокидываются порты
context=public; контекст, в который приходят звонки по умолчанию. важно чтобы тут был какой-то контекст в котором будет совершенно не определен план звонков, чтобы все звонки по умолчанию никуда не попадали! в интернете полно ботов которые сканят день и ночь на предмет плохо настроеных астерисков чтобы звонить через них на халяву
allowguest=no; не принимать звонки неизвестно от кого.

[me]
type=friend
host=dynamic
secret=пароль
context=default
canreinvite=yes
dtmfmode=rfc2833
permit=0.0.0.0/0.0.0.0
qualify=yes

me — это будет логин, пароль где задать понятно.

Записываем sip.conf. Тут все.

Открываем extensions.conf — это план звонков, описание того куда и как передаются звонки.

То что нам нужно, так это описать два контекста: [dongle-incoming] — то, что делать со звонками поступающими в модем и [default] — то, что делать со звонками поступающими с софт. телефона.
Начинаем с простого:

Это фактически 4-ре строки которые делают одно и то же, только первая когда телефон назначения подходит под шаблон 7цифры, вторая когда +7цифры, третья 8цифры и 4-я 007цифры (во многих софтовых телефонах стоит опция передавать “+” как “00”).
И делает каждая строка одно и то же — передает звонок в канал dongle0 (наш модем) в виде +7цифры.
Ну и последняя строка вызовется при событии “трубка положена” и просто кладет трубку. Впрочем ее можно даже не писать, это формальность.

Чтобы было доходчиво как это работает — любой поступивший звонок с телефона зарегистрировавшегося на астериске под аккаунтом me будет обрабатываться в контексте [default], как указано в опции context для [me]. В контексте [default] номер назначения будет сверен с шаблоном и, если попадет под один из шаблонов, то будет исполнено действие “Dial(Dongle. )”. Кстати если номер назначения в шаблон не попадет, звонок будет сброшен как неизвестно куда направляемый, можете попробовать позвонить куда-нибудь типа +4. если интересно. Тоже какой-никакой способ защититься от телефонных мошенников, хоть не в Уганду звонить будут, если как-то проберутся.

Теперь контекст [dongle-incoming], для звонков поступающих на сотовый номер:

[dongle-incoming]
include => dongle-incoming-sms
include => dongle-incoming-ussd

exten => _X.,1,Dial(SIP/me)
exten => h,1,Hangup()

Тут все еще проще — любой входящий звонок передается как звонок для клиента [me].
Верхние два раздела включенные как include => dongle-incoming-sms принимают sms и ussd соответственно, и записывают их в обычные текстовые файлы /var/log/asterisk/sms.txt и /var/log/asterisk/ussd.txt где их можно потом прочитать (кодировка UTF-8).

Эпилог

Вот вкратце и все. Но это только самая основа, если кому-то реально интересно как, или не получится у самого (все-таки те кто может все это повторить я уверен на 95% могут все это сделать и сами, без инструкции, и даже дополнить всем чего тут не хватает), я могу продолжить развив эту тему — как настроить sms чтобы они принимались и отправлялись на софт-клиент так же как звонки; как изменить dialplan таким образом чтобы номер был занят когда SIP клиент не подключен, либо звонящий попадал в Voicemail.

PS. В результате всего одного дня настройки я получил свой собственный телефонный номер за границей на котором так и не смог потратить 200 рублей денег положенных перед отъездом, хоть и пользовался им постоянно, и родственникам звонил и принимал звонки. Несравнимый опыт использования с роумингом где деньги можно было кидать как в топку тепловоза.

PPS. WARNING, DISCLAIMER: поступила информация:
«Дело в том, что использование любых шлюзов прямо запрещено всеми сотовыми операторами. Вот „Условия оказания услуг связи МТС“:
static.mts.ru/uploadmsk/contents/1656/uslovia_msk_06042012.pdf

Пункт 1.3 Услуги связи МТС не могут быть использованы Абонентом без дополнительного письменного согласования с Оператором для… установки шлюзов для доступа к сети
электросвязи и Интернет-телефонии…

Такие же пункты есть в условиях других операторов сотовой связи, ибо маржа на роуминге зашкаливающая, и отказываться от такого навара операторы не будут. За использование подобного шлюза могут просто заблокировать сим-карту.»

источник

Добавить комментарий