среда, 28 февраля 2018 г.

Как позвонить на телефон используя C++ и SIP?....

 Как позвонить на телефон используя C++ и SIP?....


Как работать с sip с использованием C++? Это интересный вопрос задавал в google пока не прочитал rfc по sip  + еще несколько справочников + несколько статей в интернете.

Моя задача была простая, взять sip аккаунт, позвонить на телефон, и все.


Что понадобится!?
- Скомпилированная библиотека osip(GNU), я её использовал лишь для парсинга ответов, это библиотека действительно очень мощная, с ней можно написать софт(для sip), практически любой сложности. Единственный недостаток данной библиотеки является это отсутствие хорошей документации.

- VS 2010 C++

Я Буду использовать WINSOCK, поэтому не буду использовать не каких сторонних библиотек, для работы с сетью.

Из sip протокола необходимо пониманием авторизации, как это происходит?! Обратимся к картинки из той-же wiki.

Это типичная схема авторизации. Схема авторизации чего спросите вы?! – авторизации на sip сервере разумеется, как и на любом другом сервисе.

Помимо этого следует так-же знать об методе аутентификации пользователя с помощью
Дайджест-аунтенификации, обратимся опять-же к вики и посмотрим на картику. Для чего это надо!? Все дело в том что sip сервер использует именно эти методы.


четверг, 15 февраля 2018 г.

Бесплатная программа для удалённого доступа, аналог teamviewer

Рад представить аналог teamviewer, ammyy.

Описание :
 RDT — Программа для удалённого администрирования компьютера в реальном времени, которая в некоторых случаях может заменить знаменитые AMMY  или TV. В настоящее время находится в стадии beta-тестирования. Данная программа может передавать файлы, буфер обмена(текстовую информацию). По внешнему виду напоминает TV. Данная программа использует свой сервер для обхода nat, данная программа была написана с нуля без каких либо библиотек VNC, включая протокол.





   Пока данная программа находится в стадии бета-тестирования, сервер может быть недоступен. Как и некоторая некорректная работа самой программы так-же возможна.
Подробнее тут



вторник, 13 февраля 2018 г.

Как написать простой драйвер в Linux?

Как написать простой драйвер в Linux?

/* Заголовочные файлы */
#include <linux/init.h>
#include <linux/module.h>
/* Загрузка драйвера */
static int driver_init(void)
{
  printk(KERN_ALERT "Driver Loaded!\r\n");
  return 0;
}
/* Выгрузка драйвера*/
static void driver_unload(void)
{
  printk(KERN_ALERT "Driver Unloaded!\r\n");
}
/* Инициализация call-back на функционал */
module_init(driver_init);
module_exit(driver_unload);

можно заметить что программирование драйверов под Linux,
похоже с программирование драйверов под Windows, похоже тем, что используются все те же call-back механизмы...

###
назовем этот файл main.c

###
Создаем файл Makefile (Будьте внимательные к регистру, для make - это чувствительно!) nano Makefile
т.к у нас модуль называется main.c