dastapov: (Default)
[personal profile] dastapov
Заказной пост на тему: "А про sms можно рассказать? какой там протокол, и почему сообщение ограничено 160 символами?"

Учитывая, что про SMS материалов в сети масса, ответ будет коротким.

В процессе "придумывания" SMS (а его именно "придумывали", т.к. в отличие от голоса/факса у SMS не было аналога в "проводном" мире) перед авторами спецификации встал вопрос - как передавать SMS-ы между коммутаторами? Было принято решение использовать механизмы, доступные в рамках стека протоколов SS7 (Signalling System #7). Протокол MAP (используемый MSC для передачи "сигнальной" информации о звонке в процессе коммутации - кто звонит, кому звонит, и т.п.) был расширен специальным сообщением forward_short_message, содержимое которого, собственно, и является телом SMS.

Именно отсюда ростут ноги у известного ограничения. Протокол MAP основан на протоколе TCAP, который по своей природе предусматривал работу в режиме real-time, в стиле "короткий request - короткий responce". Естественно, что ни о какой фрагментации/сессиях в стиле TCP в рамках TCAP речь не шла. MAP унаследовал эту особенность.

Вот и получилось, что 1 SMS должен был обязательно влазить в одно MAP-сообщение. Максимальный размер payload в MAP - 140 байт или (140 * 8 = 1120 бит). В такое кол-во бит можно засунуть либо 160 7-битных символов, либо 140 8-битных, либо 70 16-битных. И только сравнительно недавно мобильные терминалы научились делать SMS concatenation и обходить это ограничение.

Литература:

(no subject)

Date: 2006-11-10 02:59 pm (UTC)
From: [identity profile] egorfine.livejournal.com
Ты еще про SMPP расскажи, только предупреди, что под катом сплошная нецензурщина ;;)))

(no subject)

Date: 2006-11-10 03:01 pm (UTC)
From: [identity profile] http://users.livejournal.com/_adept_/
Что ты! Если я расскажу про SMPP, меня забанит abuse team. В LiveJournal порнуха запрещена :)

(no subject)

Date: 2006-11-10 04:00 pm (UTC)
From: [identity profile] blinohod.livejournal.com
Ну, можно про мудреные способы передачи инфы по SMS. Штука истеорически полезная. Или про то, почему некоторый народ в спеках по гейтованию путает message class с esm class ;-)))

(no subject)

Date: 2006-11-10 04:09 pm (UTC)
From: [identity profile] http://users.livejournal.com/_adept_/
"Слишишь, Гоги! На, сам расскжи!"(с)анекдот.

(no subject)

Date: 2006-11-10 04:43 pm (UTC)
From: [identity profile] blinohod.livejournal.com
Ладно, я тогда у себя тоже тег gsm повешу :)

(no subject)

Date: 2006-11-11 11:18 am (UTC)
From: [identity profile] http://users.livejournal.com/_adept_/
И ссылочку сюда кинь :)

(no subject)

Date: 2006-11-10 04:01 pm (UTC)
From: [identity profile] blinohod.livejournal.com
О!!! А может про семейство протоколов MM1-MM10 ?
Если не углубляться - сойдет за софт порно :)

(no subject)

Date: 2006-11-10 03:37 pm (UTC)
From: [identity profile] awind.livejournal.com
однако...

(no subject)

Date: 2006-11-10 04:18 pm (UTC)
From: [identity profile] rssh.livejournal.com
А вот еще такой вопрос -- один мой знакомый, из тех что уехал в Штаты до или во-время распада Союза, как-то хвастался что ему прислали SMS-ку на русском, отчего у местного провайдера упала сеть. Насколько это правдоподобно ?

(no subject)

Date: 2006-11-10 04:45 pm (UTC)
From: [identity profile] blinohod.livejournal.com
Ну, сеть то от этого вряд ли упадет, а вот SMSC, который от сообщения с содержимым не в GSM-алфавите завалился, вполне мог бы и существовать. Там же софт, который регулярно пишется настолько криво, что даже я себя начинаю чувствовать неплохим девелопером :)

(no subject)

Date: 2006-11-11 11:17 am (UTC)
From: [identity profile] http://users.livejournal.com/_adept_/
Учитывая, что метаданные транспортного пакета никак не зависят от содержимого SMS-а, то пострадать может только та система, которая заглядывает в payload - т.е. SMSC, да и то - врядли. Даже если бы упал/повис/сгорел SMSC, вся остальная сеть работала бы (можно было бы совершать звонки, и т.п.). Скорее всего, совпало :)

Мне рассказывали, как вкручивание лампочки на узле одного крупного интернет-провайдера совпало с выключением света во всем районе :) Скорее всего, что-то подобное и имело место.

(no subject)

Date: 2006-11-25 10:05 pm (UTC)
From: [identity profile] jerom.livejournal.com
Мне однажды (в 1999 году) выдали в качестве интерфейса для обмена короткими сообщениями логин-пароль на ftp сервер и текстовый формат с комментарием: "Любая опечатка в имени тега, любой пробел после тега, вызывает падение нашего сервера и сообщения вообще перестают ходить. Кроме того, если номер не существует, генерируется текстовый файл, который вы обязаны забрать до следующего прохода нашего робота, иначе он упадёт. Пожалуйста, будьте осторожны!"

Это был пейджинговый оператор...

(no subject)

Date: 2006-11-26 03:25 pm (UTC)
From: [identity profile] http://users.livejournal.com/_adept_/
Возможно, кто-то написал им систему "задешево" и исчез с радара. А отлаживать-чинить в самой конторе ее было некому. Вот и жили, как могли :)

(no subject)

Date: 2006-11-11 07:41 am (UTC)
From: [identity profile] zverik.livejournal.com
А почему тогда на русские сообщения выделяется 80 символов, а не 60?
И почему нельзя было сделать лимит в 140 сообщений для русского языка - всего лишь минимальная поддержка кодировок... Да и вообще, десяти бит на символ должно зватить всем, кроме африканцев и китайцев, которым и так это не нужно...

Блин, массовые опечатки =)

Date: 2006-11-11 07:44 am (UTC)
From: [identity profile] zverik.livejournal.com
60 -> 70
сообщений -> символов
зватить -> хватить
From: [identity profile] http://users.livejournal.com/_adept_/
А кто сказал 80? Я проверил на трех доступных телефонах разных производителей - везде 70.

По поводу меньшего кол-ва бит на символ - возможно, оно было бы и хорошо. Но с точки зрения вселенского счастья, зачем городить еще один UTF-10, кроме UTF-8 и UTF-16?
From: [identity profile] zverik.livejournal.com
Ну, когда счёт идёт на биты - оптимизация всегда полезна.. UTF-8/16 излишне избыточны, я их изначально не одобрял :)
From: [identity profile] http://users.livejournal.com/_adept_/
(став в позу, с пафосом) Да? И что ты сделал для того, чтобы не допустить их всемирного распространения? :)
From: [identity profile] zverik.livejournal.com
Возглавил движение против utf-8 (в котором, правда, пока лишь один участник =))

А действительно, создатели стандарта отправки сообщений могли выбрать любую кодировку, благо маловероятно, что телефоны к тому времени поддерживали юникод. Вон, выбрали семибитную кодировку, которая ведь не совпадает с ASCII, так? Могли бы заодно принять стандарт на расширенную десятибитную кодировку, а не [внезапно] использовать существующий избыточный стандарт, который ОЧЕНЬ маловероятно, что полностью поддерживается всеми телефонами на текущий момент...
From: [identity profile] http://users.livejournal.com/_adept_/
По поводу того, что могли выбрать другую кодировку - Тут уже приводили фразу про верблюда и "А что у меня вообще прямое?".

Я уверен, что если найти, где копнуть историю, то высплывут тоннами подробности о том, как каждый участник консорциума тянул одеяло на себя, и в конце концов выбрали UTF-16, как вариант, который был одинаково всем неудобный.
From: [identity profile] zverik.livejournal.com
Мда. Тогда другой глупый вопрос - где можно почитать про саму семибитную кодировку, в частности, про её управляющие коды? Надеюсь найти что-нибудь интересное :)
From: [identity profile] http://users.livejournal.com/_adept_/
Я сегодня делал пост с ссылкой на "GSM Handbook". В нем есть appendix, а в нем - кодировка. Только похоже, что с управляющими кодами там не густо :)

(no subject)

Date: 2006-11-11 09:53 am (UTC)
From: [identity profile] lashzcore.livejournal.com
очень познавательно. этот вопрос меня очень интересовал. остался еще один - есть ли другие способы передачи сообщений в GSM? чтоб без ограничения в 70 юникодовых знаков? и кста, нос у белого медведя черный потому, что его кожа черного цвета ;)

(no subject)

Date: 2006-11-11 04:30 pm (UTC)
From: [identity profile] http://users.livejournal.com/_adept_/
Написать на бумаге, сфотографировать, и передать, как ММS. разве что :)

(no subject)

Date: 2006-11-11 07:49 pm (UTC)
From: [identity profile] zverik.livejournal.com
В MMS же можно и просто многокилобайтный текст писать? :)

(no subject)

Date: 2006-11-11 09:32 pm (UTC)
From: [identity profile] http://users.livejournal.com/_adept_/
Нууу, это неспортивно :)

(no subject)

Date: 2006-11-11 11:12 am (UTC)
From: [identity profile] tarantul.livejournal.com
btw, а между телефоном и станцией какая сигнализация ходит ?

(no subject)

Date: 2006-11-11 11:38 am (UTC)
From: [identity profile] http://users.livejournal.com/_adept_/
Всякая :) Ее там много - LAPDm, RR, MM, CM. Интерфейс между MS и BTS называется "Um interface" (взяли название "U Interface" из ISDN и прилепили букву "m" для mobile). По этим ключевым словам в сети можно нарыть рассказки с картинками. Например, такие:

http://www.ee.surrey.ac.uk/Personal/L.Wood/constellations/tables/gsm.html

(no subject)

Date: 2006-11-11 12:00 pm (UTC)
From: [identity profile] tarantul.livejournal.com
Как я понял в основе старый добрый ISDN.
А по физике CDMA у тебя ссылок нет ? Типы модуляции, частоты/каналы...

(no subject)

Date: 2006-11-11 02:32 pm (UTC)
From: [identity profile] http://users.livejournal.com/_adept_/
Wish recorded (http://users.livejournal.com/_adept_/39100.html)

(no subject)

Date: 2006-11-11 10:54 pm (UTC)
From: [identity profile] gvy.livejournal.com
Какой UTF16, там же UCS2 непомнюкакойименно был вроде. BE, кажется.

PS: а ещё во времена inmetex мы как-то с Мишкой были вечером озарены деталями реализации pycuфukaцuu такой немалой кучи того, с чем народ народ ходил, что изрядное время думали, а как теперь с ней бороться, если не циферками. И таки решили циферками, где разве что вместо 0 воткнут O.

(no subject)

Date: 2006-11-11 11:12 pm (UTC)
From: [identity profile] http://users.livejournal.com/_adept_/
Если меня не подводит склероз, то UCS2 - это charset, а UTF-16 - это таки transport format для unicode charsets, в том числе - и для UCS2.

(no subject)

Date: 2006-11-16 10:23 pm (UTC)
From: [identity profile] kzerza.livejournal.com
не знаю, нужно, нет, Гвинель Ле-Бодик, Мобильные сообщения. Службы и технологии SMS, EMS и MMS - http://rapidshare.com/files/3227176/SMS_EMS_MMS.rar

(no subject)

Date: 2006-11-17 09:42 pm (UTC)
From: [identity profile] http://users.livejournal.com/_adept_/
Вроде как у меня был оригинал, но - спасибо, заначу еще и перевод :)

Reply Via Same SC

Date: 2007-07-19 07:28 am (UTC)
From: [identity profile] zona007.livejournal.com
Кстати, растолкуйте плиз такую весчь: в SMS-настройках телефонов есть такая примочка "Ответ по тому же каналу" /"Reply Via Same SC", либо нечто подобное. При этом в сигнальных сообщениях устанавливается флаг "TP-Reply-Path", т.е. телефон абонента "Б" при ответе на полученное сообщение будет посылать его (пытаться посылать) на тот же SMSC, с которого сообщение было получено.
Механизм понятен.
Вопрос: в чем прикол, зачем это нужно ?

Re: Reply Via Same SC

Date: 2007-08-11 07:26 pm (UTC)
From: [identity profile] http://users.livejournal.com/_adept_/
Не знаю. ВОзможно, это пережитки времен, когда в SMS появлялись чарсеты, отличные от SMS charset, и были проблемы с передачей ответов.

как оно на самом деле

Date: 2010-09-08 05:18 pm (UTC)
From: (Anonymous)
СМС имеет ограничение 140 байт потому что по радиоэфиру оно передается по сигнальному каналу. Сигнальный пакет имеет ограничение 160(примерно) байт. 20 байт тратится на служебную информацию (от кого, тип пакета, кодировка, протокол, тип сессии и т.п.)

оставшиеся 140 символов - под текст.

в MAP/TCAP ограничений на размер нет. в SCCP ограничение 252 байт на пакет (UNITDATA) и есть возможность посылать составные пакеты (XUNITDATA) или пакеты длиной до 4096 байт.
в MTP3/MTP2 ограничение 4096 байт. В расширенном MTP еще больше.

Profile

dastapov: (Default)
Dmitry Astapov

May 2022

M T W T F S S
       1
2345678
9101112131415
161718 19202122
23242526272829
3031     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags