Скачать 406.59 Kb.
|
Санкт-Петербургский Государственный Университет Математико-механический факультет Кафедра системного программирования Малышев Виталий Владиславович Дипломная работа Реализация SIP-телефонии для мобильных устройств с операционной системой Android Допущено к защите Зав. кафедрой д.ф.-м.н, проф. А.Н. Терехов Научный руководитель д.т.н., проф. кафедры информатики В.О. Сафонов Рецензент аспирант кафедры информатики В.С. Соловьев г. Санкт-Петербург 2010 год St. Petersburg State University Faculty of Mathematics and Mechanics Chair of Software Engineering Malyshev Vitaly Vladislavovich Graduate paper SIP-telephony implementation for mobile devices powered by Android operating system Admitted to proof Head of the chair Dr. of Phys. and Math. Sci., Professor A.N. Terekhov Scientific advisor Doctor of Sciences, Professor of Computer Science V. O. Safonov Reviewer Post-graduate student of Computer Science V.S. Soloviev St. Petersburg 2010 ОглавлениеДля пользователей персональных компьютеров уже давно стало привычным голосовое общение через Интернет, но для мобильных устройств качественных решений до недавнего времени просто не существовало. Однако развитие современных мобильных технологий, а именно появление мобильных устройств с быстрым доступом в Интернет и работающих под операционной системой Android[1], открывает новые возможности. В июле 2005 Google приобрела небольшую компанию Android, Inc., занимающуюся развитием собственных проектов. В то время было немного известно про компанию Android, Inc. – только то, что компания занималась разработкой программного обеспечения для мобильных телефонов. Как раз тогда и пошли слухи о том, что Google собирается выйти на рынок мобильных устройств. Под руководством Google команда разработала операционную систему, основанную на ядре Linux, гибкую и предлагающую широкие возможности по конфигурации. В ноябре 2007 Open Handset Alliance (OHA)[2] - консорциум множества компаний, куда входит и Google, поставил перед собой задачу разработки открытых стандартов для мобильных устройств. Тогда же OHA и выпустил свой первый продукт – операционную систему Android, основанную на ядре Linux версии 2.6. Основными особенностями данной системы являлась открытость и многозадачность. Официальный выход первого смартфона HTC Dream (G1), под управлением ОС Android, на рынок США состоялся 22 октября 2008 года. После появления первого устройства под управлением Android, стало возможным предоставить пользователю возможность использовать Интернет-телефонию так же, как и GSM телефонию. Широкополосный доступ в Интернет, многозадачность операционной системы дали возможность пользователю забыть о проблемах, связанных с Интернет связью. До Android самые удобные приложения Интернет-телефонии предлагала ОС iPhone, но с ее ограниченной многозадачностью невозможно использовать другие приложения вместе с Интернет-телефонией, что означает, например, невозможность читать документы и одновременно принимать звонки. На данный момент существует ряд решений по обеспечению Интернет-телефонии для Android, однако все они обладают существенными ограничениями по использованию. Данная работа ставит целью проведение анализа существующих решений Интернет-телефонии для ОС Android и создание приложения SIP телефонии под Android, удовлетворяющего следующим требованиям:
Рисунок : Соотношение числа устройств, работающих под управлением конкретной версии ОС Android. Данные приведены по состоянию на 01.04.2010
Разработку SIP телефонии возможно разбить на несколько этапов:
Так как одним из основных требований является работа на всех версиях ОС, то необходимо написать низкоуровневый модуль, работающий со звуком напрямую - записывать голос с устройства и передавать звук в динамики – на ранних версиях ОС (Android 1.1 и Android 1.5) такой возможности не было.
В Android есть механизм подключения низкоуровневых библиотек в формате “.so” – формате понятном Linux, на ядре которого базируется Android. Сборка осуществляется с помощью компилятора arm gcc.
В качестве базы для обмена SIP сообщений используется Open Source библиотека “MjSip”[4]. К данному этапу уже необходимо создать простейшее приложение, которое позволяет звонить и принимать звонки через Интернет.
Для удобства использования необходимо обеспечить возможность конфигурации клиента и возможность управления звонками. На данном этапе должна быть реализована возможность совершения автоматического и ручного “Handover” – переключение звонка с GSM на SIP и обратно. Мною были спроектированы и реализованы этапы 1, 3, 4, в ходе чего были получены результаты, которые легли в основу данной работы. Этап 2 реализовали Смирнов Олег и Семаков Семен. Стоит отметить, что проект по разработки SIP телефонии для Android является коммерческим, поэтому исходный код проекта является коммерческой тайной компании ООО “e-Legion Ltd.”. В связи с этим в данной работе будут приведены описания только тех частей проекта, что отражают основные результаты. Проект, являющийся результатом разработка SIP телефонии для Android, описан в разделе “Реализация и применение решения”. SIP (Session Initiation Protocol — протокол установления сессии) - стандарт установления и завершения пользовательского Интернет-сеанса, включающего обмен мультимедийным содержимым (видео - и аудиоконференция, мгновенные сообщения). В модели взаимодействия открытых систем SIP является сетевым протоколом прикладного уровня. Протокол описывает, каким образом клиентское приложение (например, MC Client) запрашивает начало соединения у другого, возможно физически удалённого, клиента, находящегося в той же сети, используя его уникальное имя. Протокол определяет способ согласования между клиентами об открытии каналов обмена на основе других протоколов, которые могут использоваться для непосредственной передачи информации (например, RTP). Допускается добавление или удаление таких каналов в течение установленного сеанса, а также подключение и отключение дополнительных клиентов (то есть допускается участие в обмене более двух сторон — конференцсвязь). Протокол также определяет порядок завершения сеанса. Схему организации работы по протоколу SIP можно видеть на рисунке 2. Рисунок : Пример сети на базе протокола SIP Наряду с устаревшим H.323, SIP — один из протоколов, лежащих в основе Voice over IP (VoIP). В основе протокола лежат следующие принципы:
Протокол SIP имеет клиент-серверную архитектуру. Клиент выдает запросы, с указанием того, что он хочет получить от сервера. Сервер принимает и обрабатывает запросы, выдает ответы, содержащие уведомление об успешности выполнения запроса, уведомление об ошибке или информацию, запрошенную клиентом. Обслуживание вызова распределено между различными элементами сети SIP. Основным функциональным элементом, реализующим функции управления соединением, является абонентский терминал. Остальные элементы сети могут отвечать за маршрутизацию вызовов, а иногда служат для предоставления дополнительных сервисов. Сообщения протокола SIP (запросы и ответы), представляют собой последовательности текстовых строк, закодированных в соответствии с документом RFC 2279. Структура и синтаксис сообщений SIP идентичны используемым в протоколе HTTP. Структура сообщений протокола SIP:
|
Дипломная работа Мамзеров Д. В., навигация и интерфейс в средах виртуальной реальности, дипломная работа | Дипломная работа по теме: “ Интерактивная база данных по дендроклиматологии” Работу Моя дипломная работа очень актуальна, потому что дендроклиматология – малоизученная и малоизвестная область биологии. Дендроклиматология... | ||
Дипломная работа содержит 104 листа, 6 таблиц, 35 рисунков. Тема:... Данная дипломная работа посвящена проблемам разработки и внедрения устройств связи высокочастотного и сверхвысокочастотного диапазона.... | Название организации Заголовок «Дипломная работа» или «Курсовая работа»: Times New Roman, 14 (вопреки П. 113), по центру. Затем – 2 пустые строки | ||
Реферат. Содержание Дипломная работа (далее просто работа) выполняется на листах формата А4 с размерами полей: сверху – 20 мм, снизу – 20мм, справа –... | 2 требования к содержанию работы Дипломная работа (далее просто работа) выполняется на листах формата А4 с соблюдением следующих размеров полей: правое – 10 мм, верхнее... | ||
Дипломная работа | Реферат. Содержание Дипломная работа (далее просто работа) выполняется на листах формата А4 с размерами полей: сверху – 20 мм, снизу –20мм, справа- 15мм,... | ||
Дипломная работа пгу 030501 | Книга 1 Объем работы – реферат от 12 до 25 печатных листов, курсовая работа – от 20 до 30 страниц, дипломная работа 60-70 страниц компьютерного... | ||
Требования к дипломной работе учащихся 10 11-х классов Дипломная работа заключительная работа учебно-исследовательского характера, выполняемая оканчивающими университеты, экономические,... | Латинские заимствования в современном русском литературном языке (дипломная работа) | ||
Дипломная работа Создание программы помогающей изучать английский язык | Дипломная работа на тему: «Совершенствование организации поддержки... Дипломная работа «Совершенствование организации поддержки и развития малого предпринимательства в муниципальном районе на примере... | ||
Дипломная работа Соответствие современной интернет-рекламы психологическим особенностям подростков | Дипломная работа не менее 65 страниц без приложения Курсовая работа выполняется на одной стороне листа белой бумаги формата А4 (210 Х 297 мм). Иллюстрированный материал (таблицы, схемы,... |