Команды инициализации модемов для отправки факса (AT+CMGF) подходят для инициализации отправки sms, если конечно у вас радиомодем и поддерживается команда AT+CMGS, AT+CSCS — кодировка, например как в GSM-модемах терминалах QIWI. Переменные, для инициализации передаются у меня через html-форму в виде JavaScript как document.form1.FaxInitCmd.value = ‘ATE0S7=255X3’;… и хранятся в файле modem.ini — ввиде строчек с указателем. Инициализация радиомодемов GSM-модемов, на примере ES75COM, подсоединённых к COM-порту. Сделал тип: Russian GSM-modem at COM-port. По желанию, можно переделать под себя. Разница лишь в том, что на USB-происходит программная эмуляция COM-порта и плюс инициализация самого модема к работе. Так же желательно использовать программу отладчик, например: ‘SMSSender’ для визуализации смс. Подойдёт и окно терминала в настройках модема (В Панели управления Windows). Ещё одним условием гарантированного приёма/передачи Русского языка в смс считается настройка вашего провайдера под передаваемую кодировку: CP1251, KOI-8, UCP, Transliteration — которая обеспечивается на уровне сервера ретранслирующего ваше сообщение от вас. С английским языком и с цифрами проблем нет никаких. Т.к. настройки под русский язык я не нашёл, то решил переделать сие из существующих инициализаций. Для начала я открыл два файла: отладчик (отправитель sms) и modem.ini где прописаны данные конфигурации. Опытным путём нашёл необходимые настройки — всё оказалось куда проще. В итоге мне потребовалось полтора дня что бы разобраться что к чему и сделать свой собственный софт для отсылки sms.
Состоящий из:
1) COMM-объект (для обмена переменными в локальной среде) — он был ввиде программы
2) HTML-форму (для настройки GSM-модема) — как писал сделал свою, для «Русского» модема
3) Файл конфигураций: modem.ini (Редактировал в Блокноте)
4) Отладчик SMSSender (или тот, в котором видно как проходит инициализация GSM-модема)
Привожу некоторые настройки инициализаций, использованных в моей html-форме:
------------------------------------------------- / **************** Chipset Rockwell **********/ FaxInitCmd.value = 'ATE0X1S7=255&K4L3'; FaxClass.value = 20; GMEcheck.value = 1; / ************* US Robotics 56K *****************/ FaxInitCmd.value = 'ATE0X1S7=255&K4L3'; FaxClass.value = 20; GMEcheck.value = 1; / **************** GSM **********************/ FaxInitCmd.value = 'ATS7=255&D3&E5x3'; FaxResetCmd.value = 'ATZ'; FaxServerMode.value = 4; FaxClass.value = 1; / **************** Courier I-Modem ISDN-V.34 ***/ FaxServerMode.value = 4; FaxInitCmd.value = '+X3'; FaxClass.value = 20; GMEcheck.value = 0; //- пустое поле может быть FaxResetCmd.value = 'ATZ'; / **************** GSM WaveCom Fastrack ********/ FaxInitCmd.value = 'ATE0S7=255X3'; FaxResetCmd.value = 'ATZ'; FaxServerMode.value = 2; FaxClass.value = 1; / **************** Creative Modem Blaster USB */ FaxInitCmd.value = 'AT&FE0V1X3S0=0'; FaxResetCmd.value = ''; FaxServerMode.value = 4; FaxClass.value = 1; / **************** Russian GSM-modem at COM-port */ FaxInitCmd.value = 'ATE0S7=255X3'; FaxResetCmd.value = 'ATZ'; FaxServerMode.value = 2; FaxClass.value = 1; Протоколы для отправки sms требуемые операторами (Файл modem.ini): Начинается с [OPTIONS] -------------------------------------------------
Синтаксис записи:
<‘Отсылаемый поток’> и <‘Ответный поток’> может быть любой текст
ВНИМАНИЕ: Не используйте в качестве разделителя (,) или (‘) в текстах!
Специальные выражения:
^M=Текст тревоги
^N = Телефонный номер
^Z = Знаки ASCII. 26
^S = Отправка телефонного номера
^TAPchk=Проверка контрольной суммы для протокола TAP
^UCPchk=Проверка контрольной суммы для протокола UCP
^UCPL=Длина сообщения по UCP (исчесляеться 8знаками)
^UCPM=Закодированное сообщение по UCP (приходит белеберда ввиде цифр)
Другие знаки: ‘\0xnn ‘ nn представлен в HEX формате, (nn=20; 0x20 — как пробел в тексте смс)
Используется: \nocr в конце потока в качестве CR знака (перенос каретки)
[OPTIONS] CONNECT_TIMEOUT=65 [GERMANY (Mannesmann-Mobilfunk)] 9600,N,8,1 00491722278030 01722278030 01722278030 'Wдhlen Sie < 1' '1' 'Terminal-Rufnummer :' '' 'Wдhlen Sie < 1' '1' 'Wдhlen Sie < 1' '5' 'Rufnummer des Empfдngers :' '^N' 'Wдhlen Sie < 1' '7' 'Geben Sie Ihre Nachricht ein (<= 160 Zeichen).' '^M' 'Wдhlen Sie < 1' '8' 'Nachricht senden 'RETURN um fortzufahren.' '' 'Wдhlen Sie < 1' '^Z' 'Wдhlen Sie < 1' '^Z' 'Verbindung unterbrechen? : ' '1' ' : ' '12' ' 2>: ' '1' ' 8>: ' '5' ' : ' '^N' ' 8>: \0x1B [0J' '7' 'er>:\0x1B [0J\0x0D \0x0A ' '^M' ' 8>: \0x1B [0J' '8' ' N>: ' 'J' 'rtsette...' '^Z' ' 2>: ' '^Z' ' N>: ' 'J' END [NORWAY (Telenor PS-Tekst)] 9600,N,8,1 004796890030 96890030 96890030 '>' '^N' '>' '^M' '>' '^Z' END [SPAIN (Telefonica) - UCP] 9600,N,8,1 0034649400001 649400001 649400001 '\0x0D' '\x02 01/^UCPL/O/01/^N/2345//3/^UCPM/^UCPchk\x03\nocr' '/R/01/A/' '\nocr' '\0x03 ' '\nocr' END [GERMANY (Mannesman) - UCP] 2400,N,8,1 00491722278020 01722278020 01722278020 '\0x0D' '\x02 01/^UCPL/O/01/^N/0123//3/^UCPM/^UCPchk\x03\nocr' '/R/01/A/' '\nocr' '\0x03 ' '\nocr' END [GERMANY (Telekom D1) - TAP] 2400,N,8,1 00491712092522 01712092522 01712092522 Handshaking=XON '' '' 'ID=' '\0x1B PG1' '[p\0x0D ' '\0x02 ^N\0x0D ^M\0x0D \0x03 ^TAPchk' '\0x06 ' '\nocr' END [USA (SkyTel) - TAP] 1200,E,7,1 0016013600504 16013600504 16013600504 Handshaking=XON '' '' 'ID=' '\0x1B PG1' '[p\0x0D ' '\0x02 ^N\0x0D ^M\0x0D \0x03 ^TAPchk' '\0x06 ' '\nocr' END [USA (Mobile COM3) - TAP] 1200,E,7,1 0018055646049 8055646049 8055646049 Handshaking=XON '' '' 'ID=' '\0x1B PG1PG1' '[p\0x0D ' '\0x02 ^N\0x0D ^M\0x0D \0x03 ^TAPchk' '\0x06 ' '\nocr' END [USA (VoiceStream) - TAP] 9600,N,8,1 0018009378941 18009378941 18009378941 Handshaking=XON '' '' 'ID=' '\0x1B PG1mnmail' '[p\0x0D ' '\0x02 ^N\0x0D ^M\0x0D \0x03 ^TAPchk' '\0x06 ' '\nocr' END [Telstra NEW - MobileNet SMS TAP] 19200,E,7,1 0061125107 125107 125107 Handshaking=XON '' '\0x0D \nocr' 'ID=' '\0x1B PG1mnmail\0x0D \nocr' '[p\0x0D ' '\0x02 ^N\0x0D ^M\0x0D \0x03 ^TAPchk\0x0D \nocr' '\0x06 ' '\nocr' END [UK (Cellnet) - TAP] 9600,N,8,1 00447860980480 07860980480 447860980480 Handshaking=XON '' '' 'ID=' '\0x1B PG1' '[p\0x0D ' '\0x02 ^N\0x0D ^M\0x0D \0x03 ^TAPchk\0x0D \nocr' '\0x06 ' '\nocr' END [CH Swisscom - UCP] 2400,N,8,1 0041794998990 0794998990 41794998990 '\0x0D' '\x02 01/^UCPL/O/01/^N/0001//3/^UCPM/^UCPchk\x03\nocr' '/R/01/A/' '\nocr' '\0x03 ' '\nocr' END [D Mannesmann 2.4k D2 - UCP] 2400,N,8,1 00491722278020 01722278020 491722278020 '\0x0D' '\x02 01/^UCPL/O/01/^N/0002//3/^UCPM/^UCPchk\x03\nocr' '/R/01/A/' '\nocr' '\0x03 ' '\nocr' END [D Mannesmann 14.4k D2 - UCP] 14400,N,8,1 00491722278020 01722278020 491722278020 '\0x0D' '\x02 01/^UCPL/O/01/^N/0003//3/^UCPM/^UCPchk\x03\nocr' '/R/01/A/' '\nocr' '\0x03 ' '\nocr' END [N Telenor - UCP] 2400,N,8,1 004790002198 090002198 4790002198 '\0x0D' '\x02 01/^UCPL/O/01/^N/0004//3/^UCPM/^UCPchk\x03\nocr' '/R/01/A/' '\nocr' '\0x03 ' '\nocr' END [NL PTT Telecom - UCP] 2400,N,8,1 0031653141414 0653141414 31653141414 '\0x0D' '\x02 01/^UCPL/O/01/^N/0005//3/^UCPM/^UCPchk\x03\nocr' '/R/01/A/' '\nocr' '\0x03 ' '\nocr' END [P TMN - UCP] 2400,N,8,1 00351962113000 0962113000 351962113000 '\0x0D' '\x02 01/^UCPL/O/01/^N/0006//3/^UCPM/^UCPchk\x03\nocr' '/R/01/A/' '\nocr' '\0x03 ' '\nocr' END [Sweden Generic] 2400,N,8,1 0046740900000 0740900000 0740900000 '\0x0D' '\x02 01/^UCPL/O/01/^N/0007//3/^UCPM/^UCPchk\x03\nocr' '/R/01/A/' '\nocr' '\0x03 ' '\nocr' END [Ireland (Esat Digifone) - TAP] 2400,N,8,1 00353868525352 0868525352 0868525352 Handshaking=XON '' '' 'ID=' '\0x1B PG1' '[p\0x0D ' '\0x02 ^N\0x0D ^M\0x0D \0x03 ^TAPchk' '\0x06 ' '\nocr' END [Belgium (Proximus) - TAP] 2400,N,8,1 0032475161621 0475161621 0475161621 Handshaking=XON '' '' 'ID=' '\0x1B PG1' '[p\0x0D ' '\0x02 ^N\0x0D ^M\0x0D \0x03 ^TAPchk' '\0x06 ' '\nocr' END [NZ (Vodafone) Auckland - TAP] 9600,E,7,1 00xx093575664 093575664 093575664 Handshaking=XON '' '\0x0D \nocr' 'ID=' '\0x1B PG1mnmail\0x0D \nocr' '[p\0x0D ' '\0x02 ^N\0x0D ^M\0x0D \0x03 ^TAPchk\0x0D \nocr' '\0x06 ' '\nocr' END [NZ (Vodafone) Wellington - TAP] 9600,E,7,1 00xx044708599 044708599 044708599 Handshaking=XON '' '\0x0D \nocr' 'ID=' '\0x1B PG1mnmail\0x0D \nocr' '[p\0x0D ' '\0x02 ^N\0x0D ^M\0x0D \0x03 ^TAPchk\0x0D \nocr' '\0x06 ' '\nocr' END [NZ (Vodafone) Christchurch - TAP] 9600,E,7,1 00xx033633699 033633699 033633699 Handshaking=XON ' ' '\0x0D \nocr' 'ID=' '\0x1B PG1mnmail\0x0D \nocr' '[p\0x0D ' '\0x02 ^N\0x0D ^M\0x0D \0x03 ^TAPchk\0x0D \nocr' '\0x06 ' '\nocr' END ; Кавычки одинарные, прямые везде! [Russian GSM for SMS] 9600,N,8,1 ' ' ' ' ' ' ' ' 'ATE0' 'OK' 'AT+CMGS=?' 'OK' 'AT+CSCS=UCS2' // Для русских букв! 'OK' 'AT+CMGF=1' 'OK' 'AT+CMGS='^N'' '>' '^M' ' ' '\0x1A' 'OK' ' ' END [Direct SMS Falcom Twist] 9600,N,8,1 ' ' ' ' ' ' ' ' 'ATE0' 'OK' 'AT+CMGS=?' 'OK' 'AT+CMGF=1' 'OK' 'AT+CMGS='^N'' '>' '^M' ' ' '\0x1A' 'OK' ' ' END [Iceland (Siminn) - UCP] 2400,N,8,1 003459541010 9541010 9541010 '\0x0D' '\x02 01/^UCPL/O/01/^N/0123//3/^UCPM/^UCPchk\x03\nocr' '/R/01/A/' '\nocr' '\0x03 ' '\nocr' END
Обратите внимания, что второй строчкой идёт идентификатор, и третьей строчкой номер сервисного центра смс! У Русских всё куда проще, он записан на sim-карту, по-этому не требует инициализации! В место этого — пустые строки, отсоединённая одинароной кавычкой! Инициализацию ‘Russian GSM for SMS‘ — переделал из стандартной, так как подходит инициализация для обычного GSM-модема для всех операторов сотовой связи в России.
Листинг теста инициализации модема и отправки sms (В программе отладчике):
————————————————-
SMS Thread started.
SMS : RestartTAPI.
Calling
Connected
===> WAIT:
===> SEND: ATE0===> WAIT: OK
===> READ:
OK
===> String DETECTED.
===> SEND: AT+CMGS=?===> WAIT: OK
===> READ:
OK
===> String DETECTED.
===> SEND: AT+CMGF=1===> WAIT: OK
===> READ:
OK
===> String DETECTED.
===> SEND: AT+CMGS=’+79037770099’===> WAIT: >
===> READ:
>
===> String DETECTED.
===> SEND: Тут сообщение — Test Тест — ура, бля! Всё отправляется!
===> WAIT:
===> SEND: ===> WAIT: OK
===> READ:
+CMGS: 8
OK
Похоже, на программирование COM-порта, как на старом добром dialup-модеме.
Мнемоника передаваемых команд:
—————————————————
AT+CMGS — «подаёт несущую», включает линию и инициализирует работу с sms
AT+CMGF — аналогично, только для факса
ОК — сделано, отправлено
READ — слушает порт (мало ли ошибка придёт обратно, так же получает подтверждение о прочитанном сообщении)
WAIT — ждёт (сек.)
SEND — отправка команды, запроса, кода
CMGS — счётчик всех сообщений (обнуляеться при сбросе питания GSM-модема)
По-умолчанию идеально подходят кодировки win-1251 используемые во всех моих файлах, и в той же кодировке отправляеться сообщение и инициализация. Жаль, что из-под MS-DOS (окно терминала) не проходят русские буквы в SMS.
Но на php можно дописать конвертер символов — переводимых перед отправкой в кодировку utf-8, чего оказываеться делать и не потребовалось, а нужно было в ‘личном кабинете’ (на сайте оператора) выставить нужную кодировку (или отправить смс *123… для установки кодировки передаваемого/принимаемого смс сообщения)
Единственным глюком, что попробывал сделать является пробел — он передаётся как x20 — бесит, пока не знаю как это обойти.
Знаю лишь, что у провайдера на sms-сервере, по-умолчанию в настройках, в окошке где разделитель, написано в настройках: Spacer:X20 Может кто подскажет, как сие заменить? При отправке — даже ‘ё’ принимается нормально, а вот ‘пробел’ — как x20 — приходит. Что нужно сделать? Писать так: _мама_мыла_раму — ну так и придёт, как есть. Видемо это косяк операторов сотовой связи — не знающих что ЭТО обозначет (x20) Пользуйтесь!
Audio Transcoder позволяет конвертировать аудио файлы в другие форматы в три простых шага.
Аудио Транскодер – это конвертор аудио файлов, который позволит легко и качественно конвертировать аудио файлы в 14 популярных аудио форматов.Программа предлагает интуитивно понятный интерфейс и массу полезных функции, включая встроенный аудиоплеер, режим перетаскивания мышью, набор предустановок качества звука и редактор мета тегов.
Программа позволит вам сохранить необходимые мета теги в выходных файлах (ID3v1, ID3v2, Ogg/FLAC, APE).Режим пакетной обработки файлов поможет вам преобразовать большое количество файлов в новый аудио формат.
После конвертирования файлов вы сможете загрузить их в свой любимый iPod, iPhone, MP3 плеер или PSP и наслаждаться музыкой в движении.
hттp://www.audio-transcoder.com/how-to-convert-wma-files-to-mp3
Огромное спасибо за этот сайт, наконец-то нашла то что искала!