ModemManager - 중괄호가 포함된 SMS를 보낼 수 없습니다.

ModemManager - 중괄호가 포함된 SMS를 보낼 수 없습니다.

아직 인식할 수 없는 특수 문자의 특정 조합이 포함된 문자 메시지를 프로그래밍 방식으로 보내는 데 ModemManager(mmcli 1.14.2)를 사용하는 데 문제가 있습니다.

제가 보내려고 하는 문자 메시지는 다음과 같습니다.

OK({ yRgK1DNXQKo4C7uK43WnHArW1XbNekn6JJ80qgMTRcPM8pgGTJMwYDgseRRYOEA6NdCgQNgiSoheRZnK0czZy5P0GTny3rRrSEE9HTiFepFnhDxM6B2J3bpbHnHJiYbSQt40rt0dwIoZYeiEYyo7glw1kswTrg7He5Ojl8ysyxF4X54SCQomZrKRPsrEHpT2vLjCLfGn9pDGHxodwXbbKADm8j4waiGVnZfRBJBDSx8VUO28Yit068aM32t9a91NC0eUVkyUEGkNsm75cVQ7KJ0rpzucTRSudO7DJLxrgetz })

여기서는 대규모 페이로드를 시뮬레이션하기 위해 임의의 문자열을 사용하고 있습니다. 실제로 중괄호 사이의 페이로드는 더 구조화된 모델입니다..

문제는 중괄호를 사용하여 페이로드를 캡슐화할 때마다 메시지가 수신자에게 전달되지 않는다는 것입니다.

다음 전송 방법을 사용하면 이 문제가 발생합니다.

MMCLI 사용

mmcli를 사용하여 문자 메시지를 보냅니다.

mmcli -m 1 --messaging-create-sms="number=<NUMBER>,text='OK({yRgK1DNXQKo4C7uK43WnHArW1XbNekn6JJ80qgMTRcPM8pgGTJMwYDgseRRYOEA6NdCgQNgiSoheRZnK0czZy5P0GTny3rRrSEE9HTiFepFnhDxM6B2J3bpbHnHJiYbSQt40rt0dwIoZYeiEYyo7glw1kswTrg7He5Ojl8ysyxF4X54SCQomZrKRPsrEHpT2vLjCLfGn9pDGHxodwXbbKADm8j4waiGVnZfRBJBDSx8VUO28Yit068aM32t9a91NC0eUVkyUEGkNsm75cVQ7KJ0rpzucTRSudO7DJLxrgetz})'"

그런 다음

mmcli -m 1 --sms <id> --send

다음과 같은 결과를 제공합니다.

SMS가 성공적으로 전송되었습니다.

DBUS 사용

나는 사용한다메시징새 DBUS 인터페이스 생성짧은 메시지Send(), "숫자" 및 "텍스트"(UTF8 문자열) 속성을 설정한 다음 해당 메서드를 사용하여 보냅니다.

저는 C#을 사용하고 있습니다.TMDS.D버스버스와 상호 작용합니다.

질문

두 가지 방법을 모두 사용하면 수신자의 휴대폰으로 메시지를 받을 수 없습니다. 같은 메시지를 보내려고 하면아니요중괄호는 문제없이 전달됩니다. 다른 메시지를 보내려고 하면그리고중괄호("와 유사)알았어 ({테스트})"여전히 문제 없이 전달됩니다. 모뎀 관리자를 사용하여 휴대폰에서 사용 중인 장치로 위의 메시지를 보내려고 하면 문제 없이 수신됩니다(중괄호 유무, 길거나 짧음) 버전 ).

ModemManager에 문제를 일으키는 특별한 문자 조합이 있는 것 같아서 전송되지 않습니다.

휴대폰에서 ModemManager로 동일한 메시지를 보낼 수 있다는 점을 보면 통신사 측에서는 아무 문제가 없다고 생각하게 됩니다.

불행하게도 실제 페이로드에는 JSON으로 인코딩된 모델이 포함되어 있으므로 중괄호가 중요합니다.

답변1

309자의 버퍼를 보내려고 합니다. SMS는 제한되어 있습니다(최대 104개 메시지).

관련 정보