Роутер + GPRS модем = mini VoIP АТС или GSM шлюз своими руками На днях появилась необходимость поднять в удаленном, маленьком, офисе телефонию. Стабильного канала Интернет, как и в большинстве удаленных регионов, в городке не нашлось, по этому задача свелась к созданию бюджетной АТС с локальным GSM каналом + VoIP связь с центральной (корпоративной) АТС. Описание решения Система состоит: 1. Роутер — DLink DIR-320. Конечно можно было посмотреть на более производительные (например ASUS RT-N16, 400Мгц против 200Мгц), но задача собрать бюджетное решение (4500р. Asus против 1500 Dlink). 2. GPRS модем — Huawei E1550, этот выбор обоснован техническими особенностями, причины будут ясны по мере прочтения статьи. 3. USB Hub 7 портов — StLab, можно любой другой, главное — внешнее питание. 4. MicroSD Flash на 1ГБ — любая (объем тоже может быть большим). Предстоящие задачи: 1. Прошиваем роутер «альтернативной» прошивкой. 2. Подготовка GPRS модема. 3. Монтируем MicroSD карту для устанавливаемого на роутер ПО. 4. Установка и настройка на роутер IP-PBX Asterisk. Прошиваем роутер «альтернативной» прошивкой Этот пункт наверное очень «замылен», и тем неменее кратко приведу последовательность действий. Саму прошивку можно взять отсюда , ее особенностью является ядро верси 2.6, т.к. 2.4 не поддерживает тайминги процессора, что очень необходимо как астериску так и его модулю chan_datacard (с помощью которого мы и будем использовать GSM модем как канал). В связи с ограничениями Flash выбранного роутера из прошивки исключены Samba, FTP, SSH, что без труда можно доустановить потом. Прошивку скачали, осталось прошить. Предполагается что в руках DIR-320 «из коробки». В корне системного диска на ПК (для удобства) создадим каталог «bin», в него помещаем прошивку и переименовываем ее в firmware.bin. Там-же (в каталоге bin), создаем скрипт flashing.bat со следующим содержимым: @Echo Off :BEGIN ping -n 1 -w 1 192.168.0.1 If errorlevel 1 Goto BEGIN If errorlevel 0 Goto FLASH Goto END :FLASH Echo *** Start Flashing **** tftp -i 192.168.0.1 put c:\bin\firmware.bin :END В строке «c:\bin\firmware.bin» букву диска меняем на свою. Устанавливаем настройки сетевой карты (к которой подключен роутер): IP адрес — 192.168.0.2 Маска подсети — 255.255.255.0 При выключенном питании роутера нажимаем и удерживаем кнопку Reset (задняя панель роутера), включаем питание. Как только на роутере загорится индикатор LAN порта отпускаем кнопку Reset и запускаем скрипт flashing.bat. Прошивка займет 1-2 минуты, как только загорится индикатор статуса — сбрасываем настройки роутера, нажатием с удержанием кнопки Reset пока не заморгает индикатор статуса. Настройки сетевой карты возвращаем на «получать автоматически». IP адрес роутера — 192.168.1.1, логин от WEB интерфейса управления — admin/admin. Кратко необходимые настройки роутера: 1. Change Name — для удобства можно сменить на root. 2. Change Password — меняем на свой. 3. Убеждаемся что telnet разрешен. 4. Примеряем настройки и перезагружаем роутер. Подготовка GPRS модема В своем «нормальном» состоянии модем E1550 виден ОС как составное USB устройство. Роутеру мешает наличие эмуляции модемом CDRom с ПО, вот ее то (эмуляцию) мы и отключим, а заодно и привязку к симкарте оператора снимем. 1. Нам потребуется dc-unloker для ввода команд и отображения состояния устройства, скачать его можно здесь Качаем, устанавливаем. 2. Подключаем GSM модем с MicroSD картой к ПК, дожидаемся установки драйверов и обнаружения устройства. 3. Запускаем dc-unloker и нажимаем «Поиск». 4. Как только устройство будет найдено увидим краткое его описание, с перечислением IMEI, версии ПО и прочее. Копируем IMEI в буфер. 5. Идем на страницу OnLine генератора кодов разблокировки. 6. Вставляем IM I и заполняем капчу. В результате получаем 2 кода Unlock и Flash (код для перепрошивки устройства). Нам нужен Unlock, копируем в буфер. 7. В dc-unloker необходимо выполнить 2 команды, в текстовом окне: AT^U2DIAG=256 (девайс в режиме модем + Card Reader) AT^CARDLOCK=" Модем отвязан от операторских SIM и не эмулирует CDRom. Монтируем MicroSD карту для устанавливаемого на роутер ПО 1. Используемое ПО: Putty WinCP 2. Подключаем модем к роутеру. Включаем питание роутера. 3. Используя протокол Telnet в Putty подключаемся к роутеру IP 192.168.1.1, логин/пароль admin/admin. 4. Используя утилиту fdisk удаляем существующие разделы с карты, MicroSD будет видна как /dev/sda. Выполняем команды: fdisk /dev/sda Command (m for help): p Если разделы есть, последовательно удаляем их: Command (m for help): d Если разделов нет либо удалили на предыдущем этапе: Command (m for help): n далее везде по умолчанию (просто Enter) Command (m for help): w 5. Созданный раздел отформатируем: mke2fs -j /dev/discs/disca/part1 6. Смонтируем раздел в каталог /opt mount /dev/discs/disca/part1 /opt 7. Следующие команды позовлят в дальнейшем использовать ipkg для установки пакетов из репозитория: mkdir -p /opt/tmp/ipkg ipkg.sh update ipkg.sh install ipkg-opt ipkg update 8. Установим необходимый (либо просто удобный) софт из репозитория: ipkg install mc (файловый менеджер) ipkg install nano (текстовый редактор) ipkg install opnenssh (SSH сервер и SFTP) ipkg install asterisk16 (IP АТС астериск) 9. Настроим автомонтирование MicroSD карты и автозапуск OpenSSH сервера и Asterisk: в каталоге /etc создаем файл fstab, наприемр так: touch /etc/fstab открываем (nano /etc/fstab) и пишем в него: #!/bin/sh /dev/discs/disca/part1 /opt ext3 rw,noatime 1 1 в каталоге /tmp/local/ создаем файл .files: touch /tmp/local/.files записываем в него: /etc/fstab в каталоге /tmp/local/ создаем каталог sbin и в нем следующие файлы mkdir /tmp/local/sbin touch /tmp/local/sbin/pre-mount (скрипт вызывающийся перед монтированием) touch /tmp/local/sbin/post-mount (скрипт вызывающийся после монтирования) touch /tmp/local/sbin/pre-shutdown (скрипт вызывающийся перед выключении/перезагрузке) в файл pre-mount записываем: #!/bin/sh e2fsck -f -y -v /dev/discs/disca/part1 (проверка файловой системы перед монтированием) в файл post-mount записываем: #!/bin/sh /opt/etc/init.d/S40sshd (запуск OpenSSH демона)
Роутер + GPRS модем = mini VoIP АТС или GSM шлюз своими руками
Материал перенесён из старой базы знаний ATC-IP и оформлен в едином стиле нового сайта.