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

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

아직 식별하지 못한 특수 문자의 특정 조합이 포함된 SMS를 프로그래밍 방식으로 보내기 위해 ModemManager(mmcli 1.14.2)를 사용하는 데 문제가 발생했습니다.

제가 보내려는 SMS는 다음과 같습니다.

OK({ yRgK1DNXQKo4C7uK43WnHArW1XbNekn6JJ80qgMTRcPM8pgGTJMwYDgseRRYOEA6NdCgQNgiSoheRZnK0czZy5P0GTny3rRrSEE9HTiFepFnhDxM6B2J3bpbHnHJiYbSQt40rt0dwIoZYeiEYyo7glw1kswTrg7He5Ojl8ysyxF4X54SCQomZrKRPsrEHpT2vLjCLfGn9pDGHxodwXbbKADm8j4waiGVnZfRBJBDSx8VUO28Yit068aM32t9a91NC0eUVkyUEGkNsm75cVQ7KJ0rpzucTRSudO7DJLxrgetz })

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

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

다음 보내기 방법을 사용하면 이 문제가 발생합니다.

MMCLI 사용

다음을 사용하여 mmcli를 사용하여 SMS 보내기:

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

그런 다음

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

결과는 다음과 같습니다.

성공적으로 SMS를 보냈습니다

DBUS 사용

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

나는 C#을 사용하고Tmds.Dbus버스와 상호 작용합니다.

문제

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

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

휴대폰에서 ModemManager로 같은 메시지를 보낼 수 있다는 점을 보면 통신사 측에서는 문제가 없을 것 같다는 생각이 듭니다.

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

답변1

309자의 버퍼를 보내려고 합니다. SMS에는 104개의 제한이 있습니다.

관련 정보