PDU формат в мобильной связи
Краткий экскурс...
Использовать мобильные аппараты средней цены невыгодно, а вот “бросовые” самое оно… НО, как правило в таких аппаратах доступен лишь PDU формат отправки сообщений в UNICODE кодировке.
Все вроде – бы ничего: преобразуй в UCS2 и посылай… но толковых готовых решений не оказалось, даже пресловутый PDUspy [5] не оправдал ожиданий по конвертации sms.
Формат однобайтовой кодировки SMS в статье не рассматривается, ввиду отсутствия в ней поддержки кириллицы.
Решение
Состав полей и алгоритм формирования PDU-SMS виден из текста ниже (в терминах си- компилятора контроллера приведенный код будет гораздо компактней) ...
function cpdu(ksz,sz,num,msg: string): string;
begin
result:= inttohex(length(sz),2) + // 07=длина номера SMSC
'91' + // 91=интернациональность номера SMSC
cnv(ksz + sz) + // 97103701F0=+790173100 плюс признак окончания номера F
'01' + // 01=PDU Type: MTI=01 -> исходящий SMS
'00' + // 00=MR - параметр, который устанавливается в SMSC
inttohex(length(num)-1,2) + // длина номера получателя-1
'91' + // 91=интернациональность получателя
cnv(num) + // номер получателя
'00' + // 00=PID идентификатор номера протокола
tcod + // 18/08=DCS схема кодирования на экран/вну: кириллическое
inttohex(length(msg)*2,2)+ // длина сообщения
ucs2(msg) // сообщение
end;
Формирование номера оправки и sms – центра осуществим по простому принципу: переставляем соседние цифры местами, если номер нечетный то добавляем Fh …
function cnv(s: string):string;
var i: integer;
begin
delete(s,1,1);
if length(s) mod 2>0 then s:=s + 'F';
i:= 1;
while (i=192 then k:= k + 1040 - 192;
result:= result + inttohex(k,4)
end
end;
Теперь дело за малым – проверим как работает:
sendcom('AT+CMGS='+inttostr(length(txt.text)*2)+#13+#10); // 0Dh
sendcom(pdu.Text+#26); // символ конца строки 1Ah
Практика
Итак, имеем сформированное “100% отправляемое” кириллическое PDU сообщение:
AT+CMGS=54x0d
079183609310000001000C91835050391443000836041D043504420020043F043804420430043D0438044F0020043A043E043D04420440043E043B043B043504400430002000470053004Dx1a
… разберем подробно!!!
AT+CMGS=54 - длина в dec
07 91 836093100000 01 00 0C 91 835050391443 00 08 36
041D043504420020043F043804420430043D0438044F0020043A043E043D04420440043E043B043B043504400430002000470053004D
06 для номера SMSC + 1 байт интернациональности
91 интернациональность SMSC
836093100000 номер sms центра плюс признак окончания номера (перестановка)
01 PDU Type: исходящий SMS
00 MR - параметр, который устанавливается в SMSC
0C длина номера получателя-1 в hex
91 интернациональность получателя
835050391443 номер получателя (перестановка +380505934134)
00 PID идентификатор номера протокола
08 [18/08] = [на экран – flash / вну] DCS 2-x байтная схема кодирования данных
36 длина текста сообщения!!! заметьте- это длина в hex (каждый символ по 2-байта)
... текст сообщения
Полные исходные тексты проекта в AVR на ATTiny с дозвоном доступны по согласованию с автором.
(RusArticles SC #186280)
Статья о технологии Cisco HealthPresence - Спрос и предложение в медицинской области серьезно разбалансированы.
Передовая видеотехнология для совместной работы создаёт надёжно защищенный канал для доставки медицинских услуг в виртуальной среде, сравнимой с физическим посещением доктора
Компания Starwood Hotels & Resorts Worldwide, Inc. (www.starwoodhotels.com) ознаменовала открытие в своих отелях первых переговорных помещений с технологией Cisco TelePresence организацией виртуальной интерактивной встречи людей, находившихся в Северной Америке и Австралии
Технологии, программное обеспечение, использованные при создании смартфонов, телефонов и коммуникаторов в 2009 - 2010 гг.
Статья о новых технологиях в мире мобильных технологий
Во время создания предприятия мы чётко понимаем то, что мы создаём новое, уникальное имя с уникальными возможностями. Наши революционные умения создают нам бренд, постоянных клиентов и приводят новых. Но чтобы этого всего добиться, нужно чётко и ясно осознавать то, что создание бренда - это великий и кропотливый труд. И один неверный шаг может привести к тому, что наши старания будут выброшены на ветер.
18 февраля 2010 года в Нижнем Новгороде пройдет аукцион платиновых телефонных номеров компании «МегаФон
На сегодняшний день непросто себе даже представить, что ещё вовсе немного времени назад люди для связи использовали исключительно стандартную телефонную связь. И наиболее продвинутым мобильным устройством для коммуникации оказывался пейджер. Это случалось только несколько лет тому назад, а на сегодня уже и количество мобильных операторов, обеспечивающих всё более высококачественную связь и в том числе интернет, стремительно растет.
Поводом к написанию данной статьи явилась необходимость создания моста между ПК и телефонной линией.
Основой для статьи послужила отладка GSM – пейджера с голосовым дозвоном. Проект в сети довольно известный [4]. На местном “радиорынке” готовые изделия (без телефона) котируются в районе 34$. Сам контроллер ATtiny2313 – 2$, разницу чувствуете? Зачем платить “чужому дяде”…
Во многом данный материал является развитием идеи GSM – пейджера в аппаратной его части. В быту и промышленности… Область применения подобных систем поистине безгранична: от охранных функций имущества и автосигнализации, защиты и предупреждения взлома промышленных шкафов, контроля вагон - весов, передачи данных датчиков ПДФ, климатических параметров, аварийных сигналов предупреждения в серверных… и многое другое.


