Получение исходного адреса (номера отправителя) с помощью SMSC - PullRequest
1 голос
/ 23 мая 2019

Я пытаюсь реализовать передачу SMS между двумя устройствами GSM.Я много искал и читал стандарты и статьи, но не смог найти ответ на следующий вопрос.Кто-нибудь знает, как SMSC узнает номер отправителя и вставляет его в поле TP-OA стека пакетов SMS-Deliver?

1 Ответ

1 голос
/ 23 мая 2019

На самом деле я не уверен, что это либо то, что вам нужно, либо это поможет вам, но в любом случае ..

В GSM сети много узлов, и каждый из нихвещи, за которые он отвечает.Они общаются друг с другом сообщениями , которые содержат определенную информацию, необходимую для обработки требуемой операции: установление вызова, отправка SMS, выполнение обновления местоположения и т. Д.

Таким образом, приходит информация о номере отправителя.на SMSC с другого узла с именем VLR / MSC вместе с сообщением, которое говорит ему "Эй, один парень хочет отправить SMS другому парню. Так вот это сообщение иинформация об этих парнях. Пожалуйста, перешлите ее ".

Вот сценарий пользователя A отправки SMS на пользователя B :

  1. Пользователь A отправляет SMS на VLR / MSC вместе с информацией о его назначении
  2. VLR / MSC , затем вызывает MAP сообщение ForwardSM (Переадресация короткого сообщения) для дальнейшей отправки полученных данных по сети на узел, называемый SMS IMSC

SMS IMSC - это узел, который играет роль интерфейса между сетями.k и SMSC

SMS IMSC при получении ForwardSM отправляет сообщение TPDU (блок данных протокола передачи) в направлении SMSC стекст отправленного SMS и информация о маршрутизации

После этого SMSC отправляет ответ пользователю A с результатом получения SMS.В случае успеха SMSC начинает маршрутизацию этого SMS через сеть к пользователю B

Итак, сообщение, которое вы ищете, TPDU сообщение от Точка 3 .Тип этого сообщения: SMS-SUBMIT в соответствии с TPDU типов.

Редактировать :

Аутентификация - это отдельная операция, которая выполняется, когда абонент начинает свою деятельность (например, включает свой телефон) или перемещается в другую область, обслуживаемую другим VLR / MSC .В любом случае, VLR / MSC рассматривает этого пользователя как new для этой области.Пропустите эту часть, если вы знаете, что такое VLR / MSC :

HLR - это узел, который хранит всю информацию о каждом абоненте в сети оператора.Таким образом, в основном это база данных , которая содержит всю информацию о каждом отдельном абоненте в сети всей оператора.

И сеть охватывает огромную географическую область, поэтому она разделена на меньшие областиназывается клеток . VLR / MSC - это узел, аналогичный HLR (он также хранит данные подписчиков).Но он отвечает за одну определенную ячейку , поэтому хранит данные подписчиков, которые в настоящее время работают в этой определенной ячейке .Поэтому, когда новый абонент приходит в свою зону, VLR / MSC загружает свои данные из HLR .И когда абонент покидает эту область, VLR / MSC удаляет его данные.

И если некоторому узлу потребуется получить данные подписчика, он не будет "спрашивать" HLR для этого, но вместо этого он будет «спрашивать» VLR / MSC , в чьей области абонент в настоящее время активен.

Поэтому, когда VLR / MSC видитновый абонент приходит в свою область, прежде чем загружать свои данные из HLR , он запускает аутентификацию процесс, чтобы проверить, является ли этот пользователь действительным и что кто-то еще не претендует на то, чтобы быть этим пользователем:

  1. VLR / MSC отправляет Отправить информацию аутентификации MAP-сообщение вместе с IMSI (номер мобильного абонента, который уникально идентифицируется его SIM-картой) до HLR
  2. HLR проверяет указанный IMSI и проверяет подписчика. Если абонент существует и с ним нет проблем, HLR отправляет IMSI на AUC (Центр аутентификации)
  3. Вкл. IMSI прием AUC генерирует триплет (некоторые ключи шифрования, необходимые для идентификации абонента), который содержит SRES , RAND и Kc значений и отправляет эти данные обратно HLR
  4. HLR пересылает эти данные обратно в VLR / MSC , который вызвал аутентификацию процесс
  5. VLR / MSC после приема SRES , RAND и Kc отправляет полученные RAND мобильному абоненту
  6. После того, как мобильный абонент получает RAND , он вычисляет SRES , используя заданные RAND и Ki (некоторое значение, которое записано на SIM-карте пользователя карта) и отправляет рассчитанные SRES обратно VLR / MSC
  7. На последнем шаге VLR / MSC сравнивает SRES , сгенерированный AUC , с SRES , сгенерированным пользователем. И если они совпадают, пользователь успешно идентифицируется, VLR / MSC извлекает данные подписчика из HLR и аутентификация процесс завершен.

После того, как VLR / MSC загрузит данные из HLR , каждый другой узел, которому потребуются данные этого абонента, получит их из VLR / MSC , а не HLR . И после этого аутентификация процесс не запускается каждый раз, когда абонент хочет что-то сделать (позвонить, отправить SMS и т. Д.).

Поэтому, когда пользователь A отправляет SMS пользователю B , данные о пользователе A (например, его номер) сохраняются в VLR / MSC уже и он приходит к SMSC от VLR / MSC вместе с SMS отправленным пользователем A .

...