Такие устройства, как VoIP GSM шлюзы пользуются растущей популярностью среди российских компаний и предпринимателей. Сфера их применения достаточно широка – начиная с экономии средств компании на звонках по мобильным номерам, заканчивая различными SMS-рассылками. Потребности многих компаний не ограничиваются одним, даже самым мощным, шлюзом. При использовании же нескольких подобных устройств, особенно распределенных территориально, трудозатраты по их поддержке и администрированию возрастают значительно. Устройства под названием SIM-банки позволяют не только упростить работу с несколькими VoIP GSM шлюзами, но и добавить последним множество интересных возможностей. Сегодня, на примере SIM-банков SMB32 и SMB128 мы познакомимся и научимся работать с данным классом устройств.



Что такое SIM-банк


SIM банк — это устройство агрегации SIM карт в одном месте. Проще говоря, это устройство, в которое физически подключаются SIM карты, а связь SIM карты с GSM шлюзом осуществляется через IP сеть. Это значит, что GSM-шлюзы могут быть установлены где угодно – даже в разных городах и странах, в то время как сами SIM-карты будут всегда у вас под рукой. При этом, для оператора связи точкой регистрации SIM карты будет расположение того шлюза, с которым она сейчас работает, а не действительное её месторасположение.

Агрегация множества SIM-карт в одном устройстве – это основная функция SIM-банка. Но также он может выполнять и другие функции, например:

  • централизованное управление SIM картами;
  • горячая замена / установка SIM карт;
  • автоматическое распределение SIM карт между GSM шлюзами по временным правилам;
  • автоматическая замена SIM карт на GSM шлюзах при наступлении определенных событий или по временным критериям.

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

Какими SIM-банки бывают


Пожалуй, самыми популярными на сегодняшний день устройствами класса SIM-банк являются те, что выпускаются под названием GoIP. Есть модель SMB32 на 32 SIM-карты, а есть модель SMB128, соответственно, на 128 SIM-карт. У нас под рукой оказалась старшая модель и пара четырехканальных VoIP GSM шлюзов GoIP 4. Описанные в статье настройки будут также применимы и к младшей модели SMB32 и к другим моделям VoIP GSM шлюзов GoIP (на один канал, на восемь, на шестнадцать).


Слева — SIM-банк SMB32, справа — SIM-банк SMB128

А вот на что следует обратить внимание, так это на производителя устройств. По славной китайской традиции VoIP GSM шлюзы под названием GoIP выпускают как минимум две компании — Hybertone и DBL. Несмотря на то, что на аппаратном уровне эти устройства идентичны, они могут иметь различия в ПО. Все описанное в этой статье применимо к GSM шлюзам и SIP-банкам производства компании DBL. Гарантировать применимость данных настроек к устройствам Hybertone, я, к сожалению, не могу.

Для полноты картины стоит отметить, что также SIM-банки выпускает и другой производитель VoIP GSM шлюзов – компания Dinstar. У них есть модели на 64 и 128 SIM-карт, однако поработать с ними пока, к сожалению, не доводилось.

Режимы работы SIM-банка


SIM-банки GoIP могут работать в двух режимах: выступать в качестве сервера для GSM-шлюзов или работать совместно с бесплатным ПО SMB Scheduler Server. Первый вариант более простой, но имеет некоторые ограничения. Он подходит для тех компаний, которые используют один SIM-банк и не планируют передавать SIM-карты в нем между различными шлюзами. Работа с SMB Scheduler Server лишена этих ограничений – по заявлению разработчиков, поддерживается до 10000 SIM-карт, а также возможности их распределения как между каналами одного шлюза, так и между самими шлюзами.

Мы рассмотрим оба этих варианта работы – от простого к сложному. Но сначала необходимо зарегистрировать наши GSM-шлюзы на IP-АТС, в нашем случае это будет – Asterisk. Те, кто хорошо знаком и с VoIP GSM-шлюзами GoIP, и с Asterisk, могут просто пропустить следующий раздел.

Подключение шлюза GoIP к SIP серверу Астериск


Вначале совсем немного теории. GSM-шлюзы GoIP могут регистрироваться на SIP-сервере четырьмя различными способами:

  • Single Server Mode — в этом режиме шлюз GoIP регистрируется на удаленном SIP сервере с помощью всего одной учетной записи. Все входящие и исходящие вызовы для всех линий на шлюзе будут проходить через одно SIP соединение. Маршрутизация при этом осуществляется за счет подстановки префикса к вызываемому номеру в соответствии с используемой GSM линией на шлюзе.

  • Config By Line — в данном режиме для каждой GSM линии на шлюзе производятся свои независимые настройки. Соответственно, для каждой линии на SIP сервере заводится отдельная учетная запись. В таком режиме каждую линию на GSM шлюзе можно зарегистрировать на своем SIP-сервере.

  • Config By Group — это режим есть объединение Single Server Mode и Config By Line — все линии на шлюзе объединяются в группы, а для каждой группы назначаются свои SIP настройки. Соответственно, линии объединенные в одну группу, используют SIP соединение соответствующее этой группе.

  • Trunk Gateway Mode — главная особенность этого режима — возможность подключение к SIP серверу без регистрации. Маршрутизация вызовов, как и в первом режиме, осуществляется на базе префиксов, которые устанавливаются для каждой линии.

Для базовой настройки связки GoIP – Asterisk мы будем использовать четвертый вариант, но в режиме с регистрацией. Все входящие на SIM-карты вызовы мы будем отправлять на некоторый внутренний номер на АТС. Исходящие вызовы будем маршрутизировать на основе префиксов: в зависимости от того, через какую SIM-карту требуется направить вызов, Asterisk будет подставлять в вызываемый номер определенный префикс. Шлюз будет анализировать префикс, после чего отбросит его и направит вызов через нужную SIM-карту (канал).

В Астериске создаем SIP пир для нашего шлюза с параметром Line ID – 70064 (это последние пять цифр серийного номера шлюза, для удобства):

[goip70064]
type=friend
host=dynamic
defaultuser=goip70064
secret=pass70064
qualify=yes
dtmfmode=rfc2833
context=from-trunk-sip-goip70064
Файл /etc/asterisk/sip.conf

Как я уже говорил, GSM шлюз в нашем примере будет распределять исходящие вызовы по своим линиям, основываясь на префиксе номера. Но для этого нам надо, чтобы Asterisk добавлял эти префиксы к номерам, руководствуясь какой-то логикой. В нашем случае особой логики не будет – Asterisk будет по очереди добавлять префиксы 011, 012, 013 и 014 (которые соответствуют 1-4 линиям шлюза) пока не найдет свободную линию и вызов не пройдет. Играясь с маской номера, можно построить более гибкую логику выбора исходящей линии, основанную, к примеру, на том, какому оператору связи принадлежит вызываемый номер.

[from-phones]
exten => _8XXXXXXXXXX,1,Dial(SIP/goip70064/011${EXTEN}) ; Звонок через первую GSM линию
exten => _8XXXXXXXXXX,n,Dial(SIP/goip70064/012${EXTEN}) ; Звонок через вторую GSM линию
exten => _8XXXXXXXXXX,n,Dial(SIP/goip70064/013${EXTEN}) ; Звонок через третью GSM линию
exten => _8XXXXXXXXXX,n,Dial(SIP/goip70064/014${EXTEN}) ; Звонок через четвертую GSM линию
exten => _8XXXXXXXXXX,n,Hangup()
Файл /etc/asterisk/sip.conf

Теперь в web-интерфейсе GoIP переходим в раздел Configurations — Basic VoIP. Для опции Config Mode выбираем вариант Trunk Gateway Mode — ниже отобразятся соответствующие настройки для этого режима. В опции SIP Trunk Gateway1 указываем IP адрес нашего SIP сервера или его доменное имя. В опции Phone Number указывается имя пира, созданного на стороне SIP сервера, в нашем случае — это goip70064. Re-register Period(s) — указывается интервал времени в секундах для повторной регистрации на SIP сервере; мы указали 60 секунд, если указать 0 — то регистрация осуществляться не будет. Далее идёт опция Authentication ID, где указывается имя для аутентификации шлюза на SIP сервере и часто совпадает с именем SIP пира, в нашем случае — это опять же goip70064. Затем указывается пароль в опции Password, мы указали — pass70064. В последней опции, Routing Prefix — указывается префикс, по которому будут распределяться исходящие вызовы между GSM линиями. В файле extensions.conf в Asterisk мы использовали префиксы 011 – 014, поэтому именно их и следует указать здесь:

  • Line1: 011
  • Line2: 012
  • Line3: 013
  • Line4: 014



После основных настроек подключения, добавим настройки входящей и исходящей маршрутизации. Настройка входящей маршрутизации доступна в разделе Configuration — Call In. Здесь достаточно указать для каждой линии в опции Forwarding to VoIP Number — номер, который будет вызываться на IP-АТС. В нашем случае я указал просто 5555 для всех линий. Для того, чтобы просто проверить, что вызовы действительно приходят с наших GSM линий на SIP сервер, этого будет вполне достаточно.



Настройка исходящей маршрутизации осуществляется в разделе Configuration — Call out. Для каждой линии настраивается параметр Dial Plan, в котором нужно прописать правило, которое будет удалять префикс (тот самый префикс, который мы задали в разделе Configurations — Basic VoIP) в начале вызываемого номера:

  • для CH1: 011:-011|
  • для CH2: 012:-012|
  • для CH3: 013:-013|
  • для CH4: 014:-014|



Для нашего примера данных настроек будет вполне достаточно: мы сможем совершать звонки через линии шлюза GoIP, добавляя к вызываемым номерам соответствующий префикс, а так же принимать звонки с любой GSM линии, направляя их всех на внутренний номер 5555, заведенный на Asterisk. Аналогичные настройки мы произвели и для второго шлюза GoIP, который также будет работать с нашим SIM-банком.

SIM-банк в роли сервера


Подключение шлюза GoIP к SIM-банку


Теперь подключим наши GSM-шлюзы GoIP 4 к SIM-банку SMB128, работающему в режиме сервера. Для этого необходимо перевести SIM-банк в режим работы сервера и добавить учетные записи для каждого GoIP шлюза. В Web-интерфейсе SMB128 переходим в раздел Configurations — SIM Bank Settings и в опции Operation Mode выбираем вариант Use Buil-in SIM Server. В разделе GoIP Clients, добавляем необходимое количество учетных записей для каждого шлюза GoIP. Потребуется заполнить следующие поля:

  • GoIP Type — модель шлюза GoIP, выбираем из выпадающего списка
  • Login ID — идентификационный номер шлюза, используется как логин для подключения к SIM банку. Должен состоять только из цифр. Для удобства можно использовать несколько последних цифр серийного номера или MAC адреса шлюза
  • Password — пароль для подключения к SIM банку

В нашем примере получились такие настройки (другие опции остались в значении по умолчанию):

  • Operation Mode: Use Built-in SIM Server
  • GoIP Type: GoIPx4 Login ID: 70064 Password: pass70064
  • GoIP Type: GoIPx4 Login ID: 70061 Password: pass70061



Далее, подключаем шлюзы GoIP к SIM банку. В Web-интерфейсе шлюза GoIP переходим в раздел Configurations — Preferences. Переводим опцию Remote Server в состояние Enable, после чего появятся дополнительные опции. Remote SIM переключаем в состояние Enable — тем самым, указывая шлюзу использовать режим работы с удаленным SIM сервером. В опции Server указываем IP адрес SIM-банка или его доменное имя, в опции ID указывается идентификационный номер шлюза — тот самый Login ID, который мы использовали при заведении учетной записи в SIM банке. В опции Password указываем соответствующий пароль.



Правила распределения SIM-карт


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

Выглядит это следующим образом: в разделе Configurations — SIM Bank Settings Web-интерфейса SIM-банка есть опция # of SIM slots reserved per line, в которой указывается количество SIM-карт, которое может быть использовано каждым из каналов. В нашем примере у нас есть два четырехпортовых шлюза GoIP4, итого – 8 каналов. Если в этой опции мы укажем, например, значение «3», то первому каналу первого шлюза будут доступны SIM-карты №1, №2 и №3, второму каналу первого шлюза — №4, №5 и №6, а первому каналу второго шлюза — №13, №14 и №15.



После того, как мы выделили каждому каналу его множество SIM-карт, требуется дать ответы на два вопроса: во-первых, какое событие должно произойти, чтобы SIM-банк заменил для GSM-канала текущую SIM-карту на другую, из назначенного каналу множества. Во-вторых, на какую именно SIM-карту при наступлении этого события следует произвести замену? Ответ на первый вопрос мы дадим в следующем разделе, а вот на второй вопрос отвечает опция SIM Schedule Mode. Доступны следующие методы выбора рабочей SIM-карты:

  • In sequence — последовательное распределение — выбирается первая по списку SIM карта
  • At random — случайный выбор рабочей SIM карты
  • Idle the longest — выбирается SIM карта, которая дольше всего находится в сотоянии ожидания
  • The fewest amount of outgoing calls — выбирается SIM карта, которая имеет наименьшее количество исходящих вызовов
  • The least amount of accumulative talk time — выбирается SIM карта с наименьшим количеством суммарного времени разговора

Условия переключения между SIM-картами


Теперь самое время настроить события, наступление которых влечет за собой переключение на другую SIM-карту или выполнение SIM-банков еще каких либо действий. Для этого в разделе Configurations есть два подраздела:

  • Current Allocation Session — настраиваются события, которые могут наступить прямо во время текущей сессии работы SIM-карты и даже прямо во время разговора. Например, это может быть достижение определенной длительности работы SIM-карты в активном режиме, длительности текущего разговора, количества успешных вызовов, количества неудачных вызовов подряд, первая успешная регистрация SIM-карты после назначения и другие (полный список событий – на скриншоте).



  • SIM Card History — события, которые проверяются на основе накопленной статистики работы SIM-карты и проверяются после каждого законченного вызова через SIM карту, удачного или неудачного. Например, это может быть достижение определенной суммарной длительности разговоров, количества всех вызовов, количества неудачных вызовов, снижение баланса до определенного уровня и другие (опять же – на скриншоте).



На наступление каждого из событий можно назначить следующие действия:

  • Null — действие не назначено, ничего не произойдет
  • Re-allocate another SIM — назначить другую SIM карту для этой GSM линии, текущая SIM карта будет переведена в режим ожидания
  • Disable the SIM and re-allocate another SIM — назначить другую SIM-карту для этой GSM линии, текущая SIM карта будет отключена, то есть исключена из множества SIM-карт, назначенных линии.
  • Re-assign a new IMEI — назначить новое значение IMEI для этой линии GSM
  • Disable the SIM and Re-assign a new IMEI and re-allocate another SIM — отключить текущую SIM карту, затем назначить новое значение IMEI и назначить другую SIM карту для этой GSM линии
  • Check Balance — произвести проверку баланса на счете текущей SIM карты. Для работы данного пункта нужно произвести настройки в разделе Configurations — Get Balance
  • Display Warning — отобразить предупреждение, которое появится в разделе мониторинга состояния SIM слотов — раздел SIM Slot Status

В принципе, это все основные настройки при работе SIM-банка в режиме сервера. Единственное, на что еще следует обратить внимание – это на правильную установку и удаление SIM-карт. Для того чтобы делать это безопасно, требуется предварительно отключить питание необходимого слота. Именно для этого и предназначены клавиши на корпусе SIM-банка, однако намного проще делать это с помощью Web-интерфейса. Заходим в раздел Install / Remove SIM Cards и кликаем по заголовку нужных слотов. Серый цвет означает, что питание на слот подается, красный цвет – нет. Нажимаем Submit для подтверждения действия, устанавливаем или удаляем SIM-карту, включаем питание слота и снова подтверждаем действие клавишей Submit.

Мониторинг SIM-карт


Для мониторинга установленный в SIM-банке SIM-карт предназначен раздел SIM Slot Status. Данные в этом разделе представлены в виде таблицы, где каждая ячейка соответствует одной SIM-карте и содержит следующую информацию:

  • Название ячейки — это номер слота (SIM 1, SIM 2 и т.д). В зависимости от состояния слота меняется цвет названия:

    • серый — слот не активен или SIM карта не установлена
    • зеленый — установлена SIM карта и данный слот включен в работу, то есть привязан к одной из линий GSM шлюза
    • синий — SIM карта установлена, но находится в состоянии ожидания, другими словами, не привязана в настоящий момент к GSM шлюзу
    • красный — питание отключено
  • S — (Status) отображает текущее состояние:

    • RUNNING — SIM-карта находится в работе, те подключена к GSM шлюзу
    • SLEEP – SIM карта установлена, но находится в состоянии ожидания, другими словами, не привязана в настоящий момент к GSM шлюзу
    • DISCNT — SIM-карта была удалена из слота или питание отключено

  • B (Bind Line) — номер GSM линии, в связке с которой работает данная SIM карта; состоит из <идентификационный номер шлюза> + <номер GSM линии> — например, для нашего шлюза с ID 70064 первая линия будет иметь вид — 7006401, вторая — 7006402 и так далее.
  • G — (GSM Register) указывает, зарегистрирована ли SIM карта или нет: Y — зарегистрирована, N — не зарегистрирована.
  • T — (Call Time) общее время звонков, в минутах
  • C — (Call Count) общее количество вызовов

Также, при наведении курсора мыши на ячейку, появится всплывающая подсказка с расширенными параметрами состояния и статистикой для данной SIM-карты.



SIM-банк в роли клиента


Работа SIM-банка в качестве клиента возможна при использовании бесплатного ПО Scheduler Server. Scheduler Server — это программный сервер, который позволяет управлять сразу несколькими шлюзами GoIP и SIM банками SMB. На момент написания статьи актуальная релизная версия ПО 1.7.2 и доступна для скачивания по ссылке.

При использовании Scheduler Server становятся доступны следующие возможности:

  • централизованное управление несколькими устройствами SIM-банк SMB и шлюзами GoIP
  • статическая привязка SIM-карты к линии GSM шлюза
  • динамическое распределение SIM-карт между GSM шлюзами
  • автоматическая замена SIM-карт на GSM шлюзах при наступлении определенного события
  • автоматическое переключение SIM-карты с одного GSM шлюза на другой

Забегая вперед, отмечу, что у Scheduler Server есть и свои ограничения по сравнению с использованием SIM-банка в качестве сервера. В первую очередь это касается того, что переключение между SIM-картами возможно только по времени, в по событиям – нет.

Установка Scheduler Server


Требования к системе:

  • рекомендуется использовать в качестве ОС — Linux Centos 32-bit
  • в качестве HTTP сервера рекомендуется использовать Apache 2 или выше
  • PHP 5 или выше
  • сервер MySQL версии 5 или выше

Требования к сети:

  • потери пакетов не должны превышать 5%
  • задержка передачи пакетов не должна превышать 300 мс
  • один SIM канал может занимать полосу до 11 Кбит/сек

После разархивирования полученного пакета, нужно запустить скрипт smb_scheduler_install.sh, который задаст несколько уточняющих вопросов и всё установит, включая БД. Далее, вся настройка производится в веб интерфейсе.

Как работает Scheduler Server


Главная роль сервера — связать SIM-карту в SIM-банке с линией GoIP шлюза. Работает это следующим образом:

  1. GSM-шлюз и SIM-банк регистрируются на Scheduler сервере
  2. Scheduler сервер связывает SIM-карту в SIM-банке с линией GSM-шлюза в соответствии с заданными правилами
  3. GSM-шлюз регистрирует соответствующую SIM карту у оператора связи

Есть два способа распределения SIM карт: в фиксированном режиме и в режиме группового назначения. Фиксированный режим — это установление связи GSM-линия — SIM слот вручную, данная связь не изменится, пока пользователь сам не внесет какие либо изменения. Режим группового назначения — это динамический режим создания связей GSM-линия — SIM слот.

Режим группового назначения


В отличии от режима работы SIM-банка в качестве сервера, где каждая группа SIM-карт может быть привязана только к определенному GSM-каналу, использование Scheduler Server дает намного больше возможностей по распределению SIM-карт. Работает это следующим образом: создаются группы, к которым можно привязать как любые слоты в SIM-банке, так и любые GSM-линии любого GSM-шлюза. Соответственно, распределение SIM-карт по GSM-линиям осуществляется внутри этих групп.

Однако есть еще одна особенность – каждый GSM-шлюз (именно шлюз, не линия) привязывается к зоне. Зоны создаются самим пользователем и по задумке разработчиков должны характеризовать реальное территориальное расположение шлюза. Нужно для реализации функции эмуляции передвижения SIM-карты: Scheduler Server настроен по умолчанию таким образом, чтобы постоянно переключать SIM-карты между шлюзами из различных зон.

В каких случаях происходит переключение SIM-карты? Увы, в случае с Scheduler Server работают только временные условия. Для каждой группы могут быть заданы следующие временные правила распределения SIM-карт:

  • циклический интервал — перераспределение выполняется через равные промежутки времени, например каждый час
  • по дневному расписанию — на каждый день выделяется до 9 временных интервалов, в каждый из которых работает одна SIM-карта. По истечении этого временного интервала, SIM-карта переходит в режим ожидания. При наступлении нового интервала – GSM-линии назначается следующая SIM-карта.
  • по недельному расписанию — аналогично предыдущему пункту, но расписание назначается сразу на всю неделю.

Последний вопрос, на который стоит ответить – это как происходит выбор следующей для назначения SIM-карты. Алгоритм работы тут довольно простой:

  1. В первый раз SIM карта и GSM-линия из одной группы связываются случайным образом и запускаются в работу
  2. Когда рабочее время заканчивается, SIM карта и GSM-линия разрывают связь и переходят в состояние ожидания
  3. При наступлении нового рабочего интервала, собирается новая связь с учетом следующих правил:

    1. SIM карта не будет связана с GSM-линией, с которой она была связана в последний раз
    2. SIM карта не будет связана с линией GSM-шлюза, имеющего тот же номер зоны, что был в последний раз

Подключение устройств к Scheduler Server


Для начала с помощью Web-интерфейса Scheduler Server требуется завести учетные записи для всех GSM-шлюзов и SIM-банков, которые будут к нему подключены. Учетные записи для GSM-шлюзов заводятся в разделе GoIP. Нажимаем Add и заполняем следующие поля:

  • GoIP ID(number): ID номер (будет использоваться как логин при подключении)
  • GoIP Name: произвольное название подключаемого шлюза
  • Password: пароль
  • Type: модель шлюза GoIP — выбирается из выпадающего списка
  • Group: группа, в которую будет включен GoIP (если уже создана)
  • Zone ID: номер территориальной зоны
  • Zone Name: произвольное название территориальной зоны



Учетные записи для SIM-банков создаются, соответственно, в разделе SIM-Bank. Для добавления нового устройства, требуется заполнить следующие поля:

  • SIM Bank ID(Number): ID номер (будет использоваться как логин при подключении)
  • SIM Bank Name: произвольное название подключаемого SIM-банка
  • Password: пароль
  • Type: тип — модель SIM-банка — выбирается из выпадающего списка
  • Group: группа, в которую будет включен SIM банк (если уже создана)
  • Остальные параметры относятся уже к тонкой настройке работы Scheduler Server, в рамках этой статьи мы их рассматривать не будем.



Переходим к Web-интерфейсам наших устройств. Начнем с GSM-шлюза GoIP. В разделе Configurations — Preferences переводим опции Remote Server и Remote SIM в состояние Enable. В опции Server указываем IP адрес Scheduler Server или его доменное имя, в опции ID указывается идентификационный номер шлюза — тот самый GoIP ID, который мы использовали при заведении учетной записи в Scheduler Server, в поле Password указываем соответствующий пароль. Переключатель Net protocol переводим в состояние UDP.



Теперь зарегистрируем на Scheduler Server наш SIM-банк. В Web-интерфейсе SMB128 переходим в раздел Configurations — SIM Bank Setting и в опции Operation Mode выбираем Use External SIM Server, а в опции SIM Data Communications with выбираем SIM Server. Все остальные настройки аналогичны настройкам GSM-шлюза.



Настройка режима группового назначения


Проще всего осуществлять настройку группового назначения SIM-карт в разделе Web-интерфейса Configuration – Group. После того, как необходимое количество групп создано, к ним можно привязывать слоты SIM-банка – для этого необходимо кликнуть по ссылке SIM справа от названия группы. Для того чтобы управлять привязанными к группе GSM-каналами есть ссылка GoIP, а для управления расписанием – Scheduler.



Настройка режима фиксированного назначения


Если требуется одну или несколько SIM-карт «намертво» привязать к определенной GSM-линии определенного GSM-шлюза, то проще всего это сделать в разделе Monitor — GoIP Channel.

  1. В строке с линией, к которой требуется привязать SIM-слот, в столбце Operation нажимаем Modify
  2. В опции Group выбираем None (for fixed bind mode)
  3. В опции Plan to bind Sim выбираем SIM-слот, если он уже доступен и нажимаем Save.
  4. Теперь переходим в раздел просмотра SIM слотов Monitor — SIM Slot
  5. В строке со слотом, который требуется привязать к GSM-линии, в столбце Operation нажимаем на ссылку Modify
  6. В опции Group следует выбрать None (for fixed bind mode)
  7. В опции Plan to bind GoIP Channel выбираем GSM-линию и нажимаем Save.



На этом мы заканчиваем наше краткое знакомство с основными функциями SIM-банков GoIP SMB и ПО Scheduler Server. Обладая этими базовыми знаниями, разобраться со всеми дополнительными возможностями будет уже значительно проще, чем делая это «с нуля». Для тех, кто хочет изучить вопрос еще глубже и/или получить больше функционала, я бы советовал обратить внимание на интерфейс GoAntiFraud. Это ПО сторонней компании, разработанное специально для управления и мониторинга устройствами GoIP и SMB. Распространяется оно по подписке и стоит, в общем-то, довольно прилично. Однако, имеется 7-дневный пробный период, который позволяет ознакомиться со всеми возможностями и принять решение о покупке.
Поделиться с друзьями
-->

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


  1. zuborg
    12.12.2016 12:07

    А где и для чего, в основном, применяются такие устройства?


    1. Baja
      12.12.2016 13:13

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


      1. m0Ray
        14.12.2016 19:35

        В статье ни слова как раз о SMS-рассылках. Было бы интересно посмотреть, как это конфигурируется с таким железом. Пока обходимся кучкой «свистков» в USB-хабе и smsd, но интерено было бы на альтернативы посмотреть.


        1. Baja
          14.12.2016 20:09

          Вас интересуют особенности отправки SMS именно при использовании связки GSM-шлюз — SIM-банк? Подумаем над такой статьей. Про отправку SMS с GoIP (без SIM-банка) у нас статья уже была.


          1. m0Ray
            14.12.2016 20:45

            Вот за ту статейку благодарю, отправка через AMI порадовала.
            Ну и про особенности связи с SIM-банком, конечно, интересно было бы почитать.
            Тут просто в работе CRM с call-центром, всё накручено вокруг Asterisk. Рассылки SMS сейчас к этому всему прикручены отдельным костылём (со «свистками»), и хотелось бы предложить заказчику что-то более консистентное.


    1. dinoth
      12.12.2016 15:00
      +2

      Для рассылки спама и терминации голосового трафика.


    1. Tura
      12.12.2016 15:00
      +1

      Возможно их используют коллекторы (их роботы-доставалы), как средство борьбы с черными списками.


    1. arheops
      13.12.2016 02:37

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


  1. nikerossxp
    12.12.2016 15:00

    Работал с таким. Документации по минимуму, часто действовали наугад. Все возможности ПО для линуха вообще не были задокументированы :) И приходилось искать последнии версии ПО, потому что работали коряво.

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


  1. MrVebber
    12.12.2016 16:33

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


    1. Baja
      12.12.2016 17:29

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


      1. MrVebber
        12.12.2016 18:01

        А может есть информация о том, как это работает в других устройствах? Я вообще не могу представить как подобное можно реализовать с симкартами. В голову приходит только мысль об использовании в симбанке отдельного GSM-модуля на каждую из симкарт, но это уже будет не симбанк, да и в статье указывается что местом регистрации является именно GSM шлюз.
        Одним словом я в растерянности.


        1. kindacute
          12.12.2016 18:41

          Сим-банк работает без GSM модуля. Но шлюз должен уметь работать с сим-банком. Дальше все запросы заворачиваются в пакеты и отправляются по сети. Что именно вас приводит в состояние растерянности?


          1. MrVebber
            12.12.2016 18:56

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


            1. kindacute
              12.12.2016 19:02

              Как именно я думаю вам не расскажут, по скольку мне известно только 2 вендора, ну ладно может три, из которых живых остался только 1.

              На сколько я знаю с симками все просто, вот можете почитать: https://habrahabr.ru/company/beeline/blog/133388/

              Учитывая что сим карта только отвечает на запросы телефона, я не вижу никаких причин не мочь завернуть это в пакеты.


            1. ant12345
              12.12.2016 19:45
              +1

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


              1. stifff
                13.12.2016 02:25

                там может быть нюанс в таймаутах.
                но, в целом, лечится на стороне обёртки к модему.


                1. arheops
                  13.12.2016 02:31

                  Поскольку первые чипы были реально тормознутые, там таймауты выставлены настолько, что позовляют ему работать даже по спутниковому каналу(800мс задержка) почти без накладок.


        1. arheops
          13.12.2016 02:33
          +1

          Существуют устройства, вставляющиеся вместо сим-карты и передающие сигнал на парное устройство по tcp в которое ставиться сим. Там ОЧЕНЬ низкоскоростной интерфейс, даже ардуино позволяет просто передавать смены уровней на площадках. Если передавать только смены уровней, траффик минимальный. Обращение к карте происходит только при регистрациях и начале/конце звонка. В шлюзах обычно просто запросы сразу передаются в цифре по tcp.


          1. reagent
            14.12.2016 14:36

            Можете подсказать что-то для осуществление «удаленного сим-банка» для одной симкарты желательно по вменяемой стоимости?
            А если есть открытая реализация на ардуино или чем-то подобным было бы очень неплохо посмотреть.
            Спасибо


        1. McSava
          14.12.2016 00:16

          Мы подобное делали на ПЛИС. Основная идея использования ПЛИС в нашей системе — для эмуляции GSM-модуля для SIM-карты, реализации буфера обмена данных (медлено, последовательно но много каналов) и передачи их в PCI-шину (одну, широкую и быструю). Из-за особенностей прототкола обмена данными с SIM-картами мы не можем пропускать (терять) пакеты приходящие от SIM-карты иначе весь обмен нужно вести с начала. Для необльшого количества карт, можно воспользоваться микроконтроллером, но при большом количестве карт мы рискуем завалить процессор обработкой мелких задач, и в итоге он завалится.
          Для того чтоб просунуть данные в модуль, в шлюзе тоже приходится использовать ПЛИС, но эмулировать уже SIM-карту, отвечая модулю на сброс пакетом ATR, переходя на более высокую скорость по запросу и проталкивая полученые из сети данные реальной SIM-карты.


  1. QDeathNick
    12.12.2016 23:44

    Разве нельзя перевести этот функционал в софт? Вставил карту, скопировал с неё данные и работай с ними без железного оригинала.
    А операторы не могу выдать сразу KI оптовым покупателям?


    1. arheops
      13.12.2016 02:30
      +1

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


      1. QDeathNick
        13.12.2016 02:52

        Да, почитал, теперь это уже гораздо сложнее, чем раньше, но вроде еще есть возможность раз есть такие устройства.


        1. arheops
          13.12.2016 03:29
          +1

          Клонирование сим не работает с современными картами. Обычно это значит со всеми картами старше гдето 10го года. Просто продавцам чудо-устройства невыгодно это сразу говорить.


      1. ant12345
        13.12.2016 19:09

        А зачем их обязательно шифровать? Ведь старые сим карты, а следовательно и их клоны до сих пор работают.


        1. arheops
          13.12.2016 22:00

          Старые тоже работают. Просто они отдавали этот ключик. А новые — не отдают.

          Старые, кстати, не у всех работают. Карты ломаются, некоторые их просто запретили в разное время потихому, клиенты пришли с вопросом «ой чето сим карта сломалася» и поменяли. Много у вас карт старше 2010го года?


          1. ant12345
            13.12.2016 22:35

            У меня только одна 2004-го года в личном телефоне. Замена пока не требуется. 3G с ней вроде работало. 4G не знаю. Клонировать не пробовал…


      1. vikarti
        14.12.2016 03:38

        Если оператор не против — можно этот чип обновлять новыми данными в том числе и на другого оператора. Потому что есть например Apple SIM и CwSIM ( https://geektimes.ru/company/comfortway/blog/280122/ ).


        1. arheops
          14.12.2016 03:43

          Если оператор не против, то вы просто по SIP протоколу получите сразу ваши линии, и не надо вам никакие гсм приблуды. 95% использования этих приблуд — обман оператора.


  1. MikkiMouse
    13.12.2016 11:46

    А возможно ли, например, при запросе симбанка позвонить на какой-либо номер — узнать номер использованной им симкарты (только не руками в веб-интерфейсе, а на лету)?


    1. kindacute
      13.12.2016 13:02

      В класических симбанках никто такое не реализовывал. По сути симбанк только отвечает на запросы, сам он не может запросить шлюз позвонить куда-то.


      1. MikkiMouse
        14.12.2016 07:48

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