Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Необходимо разработать комплекс программ:
1. программное обеспечение для GSM модема GL6110 на OpenAT С++ (ПО1),
2. программное обеспечение для компьютера (Windows XP, 7, Vista, 32/64 bit)) (ПО2)
для передачи звука между GSM модемом GL6110 и звуковой картой компьютера через USB. Аналог – Coordinator.
Технические требования:
ПО1 должно обеспечивать передачу звука GSM – ПО1 во время голосового соединения.
ПО2 должно обеспечивать:
1. подключение к GSM модему через заданный COM порт (список портов для подключения должен автоматически определяться);
2. инициализацию GSM модема (ATE0, AT+IFC= , AT+IPR= , AT+CPIN?, AT+COPS, AT+CLIP=1, AT+SPEAKER, AT+ECHO=…), проверку работы ПО1;
3. Периодическую диагностику состояния GSM модема (AT+CSQ, AT+COPS) и отображение состояния модема (модем OK, PIN OK, уровень приема, состояние регистрации/оператор, ПО1 OK);
4. установку голосового соединения с заданным номером/ ответ на входящий звонок, индикацию состояния голосового соединения;
5. передачу звука между ПО1 и звуковой картой во время голосового соединения (микрофон + динамик, параметры эхоподавления задаются при инициализации, примеры есть в DiscoveryTool);
6. доп. функции (SMS, работа с SIM, терминал) приветствуются, но не обязательны.
Разработанные ПО1 и ПО2 передаются Заказчику в виде исходных текстов программ (проектов со всеми служебными файлами) с комментариями и в виде скомпилированных файлов (dwl + exe).
ПО предназначено для собственных нужд Заказчика и не предназначено для коммерческого распространения, можем подписать NDA. Исполнитель вправе использовать наработки для других Заказчиков. В настоящее время используем Coordinator, который не устраивает.
Технические требования по согласованию можем менять.
В Приложениях 1 и 2 даны дополнительные материалы для работы.
Срок выполнения работы: Исполнимес., 1 мес. на тестирование ПО Заказчиком.
Оплата работы: любым удобным Исполнителю способом (можно договор) после выполнения и проверки работы.
Контакты: Находимся в Москве, м. Войковская (личные встречи при написании софта не обязательны), *****@***ru.
Удаленка / не удаленка – нет предпочтений.
Приложение 1. Ответ производителя о возможности реализации.
Yes it is possible using the Audio and Open USB service provided by the ADL library. To answer your questions:
1. Could it be done in as a matter of principle?
Yes, using the CDC audio class for USB.
2. Can OAT application get access to digital stream of GSM voice call?
Yes, using the audio service, viz. adl_audioStreamListen,
adl_audioStreamPlay
3. What Plug-In supports access to GSM codec?
No plug-in is required. This service is supported by the ADL library.
4. Does OAT application have enough resources to push digital data over USB with reasonable latency?
Yes because the OAT application uses the interrupt framework to listen to audio stream over GSM call. Please refer to the USB_Compos ite_Audio_CDC sample provided with the ADL library.
Приложение 2. Пример работы с Coordinator.
Для использования цифрового звука:
использовать команды MCUsb_Write/MCUsb_Read
Устройство открывать стандартным CreateFile
Имя устройства: "\\.\MCUSB0" (номер в конце соответствует
номеру устройства \Device\MCUSB_SERIAL0 из
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM
Передача по цифровому интерфейсу осуществляется
только при наличии голосового соединения. Т. е. если соединения нет,
то вызовы чтения/записи будут заблокированы (если устройство было
открыто в соответствующем режиме).
//[]------------------------------------------------------------------------[]
// MCUsb device UI declaration
//
//
// Created by GSh.
//[]------------------------------------------------------------------------[]
#ifndef __MCUSB_H
#define __MCUSB_H
#ifdef __cplusplus
extern "C" {
#endif
typedef DWORD MCUsb_Result;
//[]------------------------------------------------------------------------[]
//
MCUsb_Result WINAPI MCUsb_GetMSR (HANDLE hDevice ,
DWORD * pMSRValue );
MCUsb_Result WINAPI MCUsb_SetMCR (HANDLE hDevice ,
DWORD dMCRValue );
MCUsb_Result WINAPI MCUsb_Write (HANDLE hDevice ,
const void * pBuffer ,
DWORD dBufferLen,
DWORD * dTransfered,
LPOVERLAPPED pOverlapped,
DWORD dTimeout );
MCUsb_Result WINAPI MCUsb_Read (HANDLE hDevice ,
void * pBuffer ,
DWORD dBufferLen,
DWORD * dTransfered,
LPOVERLAPPED pOverlapped,
DWORD dTimeout );
MCUsb_Result WINAPI MCUsb_ReadDTMF (HANDLE hDevice ,
void * pBuffer ,
DWORD dBufferLen,
DWORD * dTransfered,
LPOVERLAPPED pOverlapped,
DWORD dTimeout );
#define MCUSB_PURGE_TXABORT PURGE_TXABORT
#define MCUSB_PURGE_RXABORT PURGE_RXABORT
#define MCUSB_PURGE_DTMFABORT 0x10
#define MCUSB_PURGE_TXCLEAR PURGE_TXCLEAR
#define MCUSB_PURGE_RXCLEAR PURGE_RXCLEAR
#define MCUSB_PURGE_DTMFCLEAR 0x20
MCUsb_Result WINAPI MCUsb_Purge (HANDLE hDevice ,
DWORD dFlags );
//
//[]------------------------------------------------------------------------[]
#ifdef __cplusplus
}
#endif
#endif//__MCUSB_H


