Получение номера SMSC (SMS Center) с помощью AT Commands SIM900A

Здравствуйте, я пытаюсь выяснить номер SMSC SMS, который я получаю, используя Arduino Uno и SIM900A.

Пример того, что я получаю:

+CMT: "Facebook","","16/05/24,07:40:32+24"
Hello there, this is test message.

Есть ли способ получить исходный номер, с которого было отправлено сообщение (SMSC)? Поскольку я получаю только имя отправителя ex: Facebook.


person Ali jezzini    schedule 20.04.2021    source источник


Ответы (2)


Это невозможно.

Для вызовов с коммутацией каналов исходящий номер телефона передается по сети в настройке вызова до последнего MSC на принимающей стороне, а затем, в зависимости от настроек дополнительных услуг CLIP/CLIR/COLP/COLR, будет представлен номер вызывающего абонента. на вызываемый телефон.

Однако для смс-сообщений существует только исходный номер, являющийся неотъемлемой частью сообщения, и он всегда заполняется, когда вы отправляете кому-то смс-сообщение с мобильного телефона. Стандарты протокола, охватывающие мобильную связь с сетью, никоим образом не позволяют отправлять sms-сообщения без исходного номера.

Тем не менее, сетевые операторы также имеют возможность вводить sms-сообщения непосредственно в свою сеть с устройств, не являющихся мобильными телефонами, и, таким образом, сетевые операторы могут предоставлять услугу, которую другие компании могут (заплатив) использовать для отправки sms-сообщений без исходный номер и с предварительно заданным исходным именем (в отличие от обычного поиска в телефонной книге по имени).

person hlovdal    schedule 20.04.2021

Решение, которое я нашел, заключалось в том, чтобы получить полный PDU SMS, а затем декодировать его, SMSC и имя отправителя будут видны в результате.

person Ali jezzini    schedule 22.04.2021
comment
Команда AT+CMGF=0 включает режим PDU. - person Ali jezzini; 22.04.2021