Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Создание сервера приема, обработки и отправки SMS

Тип: дипломная работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Спецификация организации службы Short Message Service. Алгоритм работы сервера и возможность расширения функциональных возможностей. Реализация проекта на языке высокого уровня С++ на платформе Linux. Расчет себестоимости и цены программного продукта.
Краткое сожержание материала:

Размещено на

Введение

Целью данного дипломного проекта является создание сервера приема, обработки и отправки SMS сообщений. Сервер должен обладать следующими возможностями:

- удаленное выполнение команд командной строки;

- прием/передача SMS сообщений

Данный проект позволит с легкостью управлять персональным компьютером из любой точки планеты, где есть GSM (Global System for Mobile Communications) связь. А также вести переписку посредством SMS сообщений.

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

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

1. Спецификация Short Message Service (SMS)

Для организации службы SMS создается так называемый центр обработки сообщений (Short Message Service Center - SMSC), который и выполняет все функции, связанные с получением, промежуточным хранением и контролем за доставкой сообщений мобильным пользователям. В структуре SMSC оборудования обычно выделяют типовые компоненты: это сервер сообщений (непосредственно занимается обработкой сообщений и отслеживает их доставку) и шлюзовое устройство. Последнее обеспечивает взаимодействие сервера с элементами сетевой инфраструктуры (центром коммутации мобильной связи MSC, опорным регистром местонахождения HLR), интерфейс со службами голосовой и электронной почты, а также связь с внешними для данной сети источниками сообщений, например центрами SMSC других мобильных систем.

Хотя поддержка технологии SMS предусмотрена во многих стандартах сотовой и PCS-связи, эта служба получила наибольшее распространение в сетях GSM. Стандарт GSM предусматривает возможность реализации двух видов услуг SMS - индивидуального обмена информацией и вещания.

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

Ограниченный объем информации и использование для ее транспортировки сигнального канала позволяют осуществлять передачу непосредственно во время телефонного разговора абонента; при этом не оказывается сколько-нибудь существенного влияния на речевой и служебный трафики.

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

Отправляемое сообщение вместе со служебной информацией (адресом получателя и меткой времени) передается с сервера SMSC на интерфейсное устройство, которое запрашивает базу данных HLR и определяет текущее местонахождение абонента.

Затем сообщение в виде сигнального пакета (MAP message) направляется в соответствующий центр коммутации сети. Последний устанавливает связь с мобильной станцией (если она не была активизирована ранее вызовом речевой связи) и передает ей данные, используя протокол сигнального канала.

Полученный текст отображается на экране, запоминается в идентификационном модуле сотового телефона (Subscriber Identity Module - SIM) либо пересылается на другое устройство, например ПК. Если соединение с мобильной станцией не состоялось, MSC сообщает об этом в центр SMSC и просит повторить передачу, когда связь станет возможной.

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

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

Текстовые сообщения формируются в центре вещания SMS (Cell Broadcast Short Message Service). Они адресованы одновременно всем абонентам и подтверждения факта приема не требуется, поэтому сообщения поступают (непосредственно или через контроллер) на базовые приемо-передающие станции (БС), минуя центр мобильной коммутации. От БС до мобильной станции такие сообщения передаются по одному из служебных каналов общего пользования (Broadcast Control Channel - BCCH), предусмотренных спецификациями GSM. Следует отметить, что в пределах сотовой сети могут создаваться несколько центров вещания, обслуживающих разные ее участки (группы ячеек), однако каждая из базовых станций (или контроллеров БС) должна быть соединена только с одним из них.

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

В качестве примера можно указать системы MXE компании Ericsson и Nokia SMSC. Первая из них обеспечивает все основные функции центра SMS - от пересылки небольших текстовых блоков, уведомления мобильных пользователей о поступлении сообщений голосовой почты и факсов до выполнения различных приложений, основанных на использовании модулей SIM. Вторая поддерживает целый ряд функций, связанных с информационным обслуживанием абонентов, - передачу биржевых сводок, прогноза погоды, спортивных новостей и т. д.

Суммарный размер сообщения может достигать 163 байт, из которых:

1 байт заголовка, содержит тип сообщения;

7 байт "временная отметка SMS-центра", в формате YYMMDDHHMMSSZZ;

до 12 байт - адрес источника сообщения;

1 байт - идентификатора протокола;

1 байт - схема кодирования данных;

1 байт - длина пользовательской области данных;

до 140 байт - собственно сообщение.

2. Алгоритм работы сервера

Для связи с GSM-модемом (в данном случае обычный мобильный телефон, поддерживающий стандарт GSM) я использовал уже существующее решение SMS Tools. Данная программа через определенные промежутки времени проверяет папку исходящих сообщений и, если в ней лежат неотправленные сообщения, отправляет их адресату. Также она проверяет GSM-модем на наличие новых сообщений и, если таковые имеются, перемещает их в папку входящих сообщений. Все остальные блоки были написаны мной.

В памяти персонально компьютера (ПК) постоянно находится программа, которая, через определенные промежутки времени, проверяет папку входящих сообщений. Если таковые имеются, то файл считывается в память и сообщение перемещается в архив. Далее идет блок разбора сообщений, который служит для выделения служебной информации и непосредственно текста сообщения. Также он определяет тип пришедшего сообщения. Если в начале сообщения стоит флаг "CMD", то текст сообщения содержит команду командной строки. Если данного флага не обнаружено, то текст представляет собой обычное сообщение, которое в виде e-mail сообщения доставляется адресату.

Данный проект не поддерживает работу по сети, а лишь поддерживает возможность расширения. Таким образом, сообщение помещается в почтовый ящик пользователя ПК, на котором установлен сервер.

В случае если текст сообщения представляет собой команду, формируется скрипт, в который записывается данная команда (или последовательность команд). Основной процесс формирует дочерний процесс, который замещает себя созданным скриптом. Результат выполнения команды (последовательности команд) записывается в ответное сообщение, которое будет отправлено назад абоненту, пославшему команду. Если количество символов в ответном сообщении превышает 120 символов (это необходимо для того чтобы не возникло ситуации когда абонент в ответ на команду получает сообщение состоящее из десятка SMS-сообщени - это не только накладно, но еще и затрудняет восприятие информации, т.к. очень сложно собрать воедино информацию состоящую из множества кусков), то такое сообщение помещается в архив, а абоненту посылается сообщение с именем файла и его месторасположением.

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

3. Средства реализации проекта

Практическая реализация основывается на созданном мною алгоритме. Для написания проекта был выбран язык программирования С++ шедшем в стандартном составе операционной системы ASPLinux 11.2.

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

В пользу операционной системы Linux говорят такие факты:

- является свободно распространяемой (freeware);

- с этой ОС работают большинство крупных компаний мира;

- большинство интернет-серверов, например, работает под управлением данной ОС;

4. Структурная схема проекта

Проект реализован в виде нескольких модулей.

SMSTools:

Другие файлы:

Автоматизация поиска информации для приема и отправки деталей в цехе гальванических покрытий
Разработка автоматизированной системы приема и отправки деталей для цеха гальванических покрытий ОАО НПК "УВЗ". Технико-экономическая характеристика п...

DHCP. Доставка почты
Общее понятие о DHCP (протоколе динамического конфигурирования адресов). Порядок настройки сервера и доставки почты. Описание конфигурации в специальн...

Проектирование и создание FTP-сервера на базе ОС Linux
Организация корпоративного файлового сервера, выполняющего функции прокси-сервера на базе ОС Linux. Процесс его реализации. Выбор оптимальной аппаратн...

Программа просмотра свободного места на жестком диске сервера
Разработать приложения клиент - сервер для отправки данных о наличии свободного места на жестком диске сервера с использованием UDP протокола. Клиент...

Администрирование информационных систем
Электронная почта – средство обмена информацией; администрирование почтового сервера. Протоколы принудительной доставки почты. Создание и настройка ви...