SMSDriver
Полное название
HeadwindGSM.SMSDriver
Назначение
Класс для конфигурации SMS Сервера и работы с SMS-сообщениями. Рекомендуется использовать этот класс только для уведомлений о статусе сообщений, а конфигурацию проводить в интерфейсе пользователя Персонального SMS Сервера.
Свойства
- String PortName - порт (например, COM5);
- Boolean Advanced - использовать ли при конфигурации дополнительные параметры (baud rate, data bits, stop bits, parity);
- Long BaudRate - baud rate (скорость, например, 115200);
- Long DataBits - data bits;
- String Parity - parity (возможные значения: "none", "odd", "even", "mark", "space");
- Long StopBits - stop bits;
- String SendMode - режим отправки (возможные значения: "pdu", "text");
- String ReadMode - режим получения (возможные значения: "index", "content", "polling", "none");
- String DeleteMode - режим удаления (возможные значения: "none", "last", "all");
- String PollingMemory - память, из которой читаются сообщения (возможные значения: "SM", "ME");
- Long PollingTime - время опроса памяти (в секундах);
- Long DeleteAfter - сколько SMS должно быть принято перед отправкой команды удаления всех SMS;
- Long Timeout - таймаут порта (в секундах);
- Boolean AutoConfig - флаг автоматической конфигурации (FALSE означает ручную конфигурацию);
- [read-only] String ModemName - модель модема (может быть получена только после соединения);
- [read-only] Long SignalStrength - уровень сигнала в процентах (может быть получена только после соединения);
- Long ModemChecks - Флаги, устанавливающие, какие проверки проводить после соединения:
0x0001 - запрос поддержки SMS
0x0002 - запрос поддерживаемых режимов отправки SMS
0x0004 - запрос поддерживаемых режимов получения SMS
0x0008 - запрос поддерживаемых режимов уведомления об ошибках
0x0010 - запрос поддерживаемых режимов удаления SMS
0x0020 - запрос модели устройства
0x0040 - запрос уровня сигнала
0x0080 - запрос поддерживаемых типов памяти - [read-only] Long ModemFeatures - определенные после соединения свойства модема:
0x0001 - поддержка SMS (GSM 03.40)
0x0002 - поддержка SMS (Phase 2+)
0x0004 - поддерживается текстовый режим
0x0008 - поддерживается PDU режим
0x0010 - может получать SMS
0x0020 - полученные SMS хранятся в памяти (доступны по индексу)
0x0040 - мгновенные уведомления о полученных SMS
0x0080 - режим подавления ошибок
0x0100 - режим уведомления об ошибках кодом
0x0200 - режим уведомления об ошибках текстом
0x0400 - может удалять сообщения по индексу
0x0800 - может удалять все сообщения
0x1000 - поддержка отправки USSD запросов
0x2000 - получение ответов на USSD запросы - [read-only] Long ModemFailures - свойства, которые не удалось определить (те же флаги, что и в ModemChecks);
- [read-only] String StatusStr - статус модема ("disconnected", "ready", "configuring", "busy", "error");
- [read-only] Long StatusCode - код статуса (0 - disconnected, 1 - ready, 2 - configuring, 3 - busy, 4 - error);
- [read-only] String ErrorStr - сообщение об ошибке (текст);
- [read-only] Long ErrorCode - код ошибки (зарезервировано).
- [read-only] Long ErrorNum - число неудачных среди последних 10 отправленных сообщений (0-10);
- [read-only] Long OutboxSize - число сообщений в очереди исходящих;
- [read-only] Long PID - ID процесса Персонального SMS Сервера.
Методы
- Connect() - установить соединение с модемом;
- Disconnect() - разорвать соединение;
- OpenConfigWizard() - открыть мастер настройки модема (эта функция не возвращается, пока работа мастера не закончена).
События
- SMSStatusChanged(Long id, Long StatusCode) - это событие генерируется при изменении статуса отправленного SMS-сообщения. Возможны следующие коды статуса: 1 - отправлено, 2 - ошибка отправки, 3 - доставлено, 4 - не доставлено.
- USSDReply(String content, Long code, String rcpt) - уведомление о получении ответа на запрос USSD. Поле 'content' содержит текст ответа, 'code' - код результата USSD (0 - OK, 1 - требуется действие, 2 - USSD прерван, 4 - не поддерживается), 'rcpt' - зарезервировано и не используется.