- •Тема: Функциональные спецификации приложений WhatsApp, Telegram и сервера обслуживания ip-телефонии
- •Основные термины
- •- Android os 2.3.3 , либо iOs 4.3, либо ос Windows Phone 7.5, либо BlackBerry os 4.6.
- •Текущие и исключённые возможности приложения
- •Uml диаграмма прецедентов (Use Case) приложения WhatsApp
- •- Android os 2.2 , либо iOs 6.0, либо ос Windows Phone 8.1, либо MacOs 10.8, либо наличие обновлённого интерент-браузера на пк.
- •Текущие и исключённые возможности приложения
- •Uml диаграмма прецедентов (Use Case) приложения Telegram
- •Uml диаграмма классов (Class Model) приложений WhatsApp, Telegram
- •Описание кода приложений WhatsApp, Telegram
- •Диаграмма коммуникации протоколов приложения WhatsApp
- •Описание кода взаимодействия протоколов приложения WhatsApp
- •Xmpp ServerRequestRef); /ссылка ServerRequest
- •Описание протоколов приложения Telegram
- •Диаграмма коммуникации протоколов приложения Telegram
- •Описание кода взаимодействия протоколов приложения Telegram
- •IncludePayload (ref /через скрипт mtproto
- •Invite (приглашение) — приглашает пользователя принять участие в сеансе связи (служит для установления нового соединения; может содержать параметры для согласования);
- •Диаграмма коммуникации сервера обслуживания ip-телефонии
- •Описание кода сервера обслуживания ip-телефонии
- •Список использованных источников
- •Приложение
Диаграмма коммуникации протоколов приложения Telegram
Для осуществления программного описания протоколов приложения Telegram используем UML-диаграмму коммуникации. (Рисунок 5)
Обозначение на диаграмме 1 |
Расшифровка |
Комментарий |
|
Пользователь |
Изображение объекта(-ов) пользователя
|
|
Объект
|
Изображение объекта, а так же описание его функций/возможностей. |
|
Взаимодействие |
Указывает направление и порядок взаимодействия между объектами |
Описание взаимодействий между объектами и пользователем на диаграмме коммуникации протоколов приложения WhatsApp.
Наименование: 1.1: Send/Get Message 1.2: Include Payload
1.3: Server Request 1.4: Server Response 1.5: Get Payload
1.6: return Message |
Описание: Отправить/Вывести(получить) сообщение Включение зашифрованного контейнера в 1 из 3х (TCP/HTTP/UDP) протоколов. Запрос через 1 из 3х протоколов к серверу Ответ от сервера Получение зашифрованного контейнера через 1 из 3х протоколов (его расшифровка через протокол MTProto) Получение(вывод) сообщения, информации о сообщении |
Описание кода взаимодействия протоколов приложения Telegram
#include mtproto.h /добавление скрипта протокола MTProto
#include tcp_http_udp.h /добавление скрипта протоколов TCP/HTTP/UDP
public class Client{ /создаём класс Client (App/Browser)
client.sendMessage; /отправка сообщения
client.getMessage; /запрос на отображение сообщения
public void /зашифровка сообщения
EncryptingData (ref /через скрипт mtproto
MTProto EncryptRef); /по ссылке Encrypt
public void /включение контейнера
IncludePayload (ref /через скрипт mtproto
MTProto TcpHttpUdpIncludeRef); /по ссылке TcpHttpUdpInclude
public void ServerRequest (ref /зарос к серверу
TcpHttpUdp RequestRef);
public void GetSererResponse(){ /получить ответ сервера
return response;} /вернуть значение ответа сервера
public void GetPayload(){ /получить зашифрованное сообщение
return getpayload;}
public void GetDecryptingData(){ /получить расшифровку сообщения
return decryptingdata;}
public void GetReturnMessage(){ /отобразить сообщение
return message;}}
public class Server{ /создаём класс Server
public void GetsendMessage(){ /получить отправление сообщения
return sendmessage;}
public void GetMessage(){ /получить запрос на отображение сообщения
return getmessage;}
public void GetEncryptingData (){ /получить зашифровку сообщения
return encryptingdata;}
public void GetIncludePayload(){ /получить включение контейнера
return includepayload;}
public void GetSererRequest(){ /получить запрос к серверу
return request;}
server.response; /ответ сервера
public void Payload(ref /извлечение контейнера с сообщением
TcpHttpUdp MTprotoGetRef); /через скрипт tcp_http_udp по ссылке MTprotoGet
public void DecryptingData (ref /расшифровка сообщения
MTProto DecryptRef);
public void ReturnMessage (ref /получение сообщения
MTProto ClientMessageRef);}
Функциональная спецификация сервера обслуживания IP-телефонии.
Описание сервера обслуживания IP-телефонии.
Под IP-телефонией подразумевается голосовая связь, которая осуществляется по сетям передачи данных, в частности по IP-сетям (IP — Internet Protocol). На сегодняшний день IP-телефония все больше вытесняет традиционные телефонные сети за счет легкости развертывания, низкой стоимости звонка, простоты конфигурирования, высокого качества связи и сравнительной безопасности соединения.
Для работы сервера обслуживания IP-телефонии распространено использование следующих составляющих.
SIP(Session Initiation Protocol) — протокол сигнализации, предназначенный для организации, изменения и завершения сеансов связи. SIP не зависим от транспортных технологий, однако при установлении соединения предпочтительно использовать UDP. Протокол SIP состоит из таких компонентов, как:
Клиент SIP (SIP user agent) – представляется ус-вом/приложением. Обычно SIP-клиент содержит и клиентскую часть - User Agent Client (UAC), и серверную часть - User Agent Server (UAS). Основные функции данного компонента — инициирование и завершение вызовов.
Прокси-сервер SIP — управляет маршрутизацией вызовов и работой приложения.
Redirect-сервер SIP — перенаправляет звонки согласно заданным условиям.
Сервер регистрации SIP (registrar/location) — осуществляет регистрацию пользователей и ведет базу соответствия имен пользователей их адресам, телефонным номерам.
В SIP определены два типа сигнальных сообщений — запрос и ответ. Также существует шесть процедур:
