SMS 문제 해결

다른 외부 계정 간 충돌

인스턴스에 여러 SMS 외부 계정이 있는 경우 외부 계정 간의 충돌로 인해 문제가 발생하지 않는지 확인해야 합니다.

Adobe Campaign은 외부 계정을 관련 없는 엔티티로 처리합니다.

계정이 여러 개인 경우 다음 절차에 따라 문제를 일으키는 외부 계정을 분리하십시오.

  1. 모든 외부 계정을 비활성화합니다.
  2. 외부 계정 하나를 활성화합니다.
  3. 문제를 재현해 보세요.
  4. 초기 문제가 항상 나타나지 않는 경우에는, 결론을 내리기 전에 상당한 양의 시도를 해야 합니다.
  5. 해당 단일 계정에 문제가 표시되지 않으면 해당 계정을 비활성화하고 다음 계정의 2단계로 다시 시작하십시오.

모든 계정을 개별적으로 확인했으면 다음 두 가지 가능한 시나리오가 있습니다.

  • 그 문제는 하나 또는 여러 개의 계좌에 나타나 있다

    이 경우 각 계정에 대해 다른 문제 해결 절차를 개별적으로 적용할 수 있습니다. 네트워크 트래픽과 로그 수를 줄이기 위해 계정을 진단하는 동안 다른 계정을 비활성화하는 것이 가장 좋습니다.

  • 하나의 계정만 활성 상태인 경우에는 문제가 나타나지 않습니다

    계정 간에 충돌이 있습니다. 앞에서 언급했듯이 Adobe Campaign은 계정을 개별적으로 처리하지만, 공급자는 계정을 단일 계정으로 처리할 수 있습니다.

    • 모든 계정 간에 서로 다른 로그인/암호 조합을 사용합니다.
      해당 쪽에서 발생할 수 있는 충돌을 진단하려면 공급자에게 문의해야 합니다.

    • 일부 외부 계정은 동일한 로그인/암호 조합을 공유합니다.
      공급자는 BIND PDU 에서 왔기 때문에 여러 계정의 모든 연결을 하나의 계정으로 처리합니다. MO와 SR을 두 개의 계정에 임의로 라우팅하여 문제가 발생할 수 있습니다.
      공급자가 동일한 로그인/암호 조합에 대해 여러 개의 짧은 코드를 지원하는 경우 해당 짧은 코드를 BIND PDU. 이 정보는 BIND PDU, 및에서 아님 SUBMIT_SM다음 이후 BIND PDU 은 라우팅 MO를 올바르게 허용하는 유일한 위치입니다.
      자세한 내용은 각 PDU의 정보 위의 섹션에서 사용 가능한 필드를 확인할 수 있습니다. BIND PDU일반적으로 에는 짧은 코드를 address_range하지만, 이 경우 공급자의 특별한 지원이 필요합니다. 여러 짧은 코드를 독립적으로 라우팅하는 방법을 알아보려면 해당 팀에 문의하십시오.
      Adobe Campaign에서는 동일한 외부 계정에서 여러 개의 짧은 코드 처리를 지원합니다.

일반적으로 외부 계정 문제

  • 커넥터가 최근에 변경되었는지, 누가 변경되었는지 확인합니다(외부 계정을 그룹으로 확인).

    select saccount, (sserver ||':'||sport) as serverPort, iextaccountid, CASE WHEN N0.iactive=1 THEN 'Yes' ELSE 'No' END as "(x) Enabled",
    
    (select X1.sname from xtkoperator X1 where N0.icreatedbyid = X1.ioperatorid) as "Created By",
    
    (select X1.sname from xtkoperator X1 where N0.imodifiedbyid = X1.ioperatorid) as "Last Modified By",
    
    N0.slabel as "External Account", N0.tslastmodified as "LastModifiedDate"
    
    from nmsextaccount N0 LEFT JOIN xtkoperator X0 ON (N0.icreatedbyid=X0.ioperatorid) order by 8 DESC LIMIT 50;
    
  • 시스템이 업그레이드되었는지 여부와 시기를 조사합니다(/postupgrade%20%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC?lang=ko).

  • SMS에 영향을 주는 패키지가 최근에 업그레이드되었는지(/var/log/dpkg.log?lang=ko) 확인합니다.

공급자에 연결할 때 발생하는 문제

  • 만약 BIND PDU 0이 아닌 반환 command_status 코드를 사용하여 자세한 내용을 공급자에게 문의하십시오.

  • TCP 연결을 공급자에 연결할 수 있도록 네트워크가 올바르게 구성되어 있는지 확인합니다.

  • 공급자가 Adobe Campaign 인스턴스의에 IP를 제대로 추가했는지 허용 목록에 추가하다 확인하도록 합니다.

  • 확인 외부 계정 설정. 공급자에게 필드 값을 요청하십시오.

  • 연결이 성공했지만 불안정하면 불안정한 연결 문제 섹션을 참조하십시오.

  • 연결 문제를 진단하기 어려운 경우 네트워크 캡처에서 정보를 제공할 수 있습니다. 문제가 나타나는 동안 네트워크 캡처가 동시에 실행되어 효율적으로 분석할 수 있는지 확인하십시오. 또한 문제가 표시되는 정확한 시간을 기록해야 합니다.

불안정한 연결 문제

다음 중 하나가 발생하면 연결이 불안정으로 간주됩니다.

  • MTA를 다시 시작하면 일시적으로 문제가 해결됩니다. 즉, 불안정한 연결이 Adobe Campaign Standard에서 MTA 조정을 트리거하여 MTA 전송률 조절을 재시작합니다. 근본 원인이 발견될 때까지 다시 발생합니다.

  • 공급자가 UNBIND PDUs.

  • enquire_link Adobe Campaign 쪽이나 공급자 측에서 시간이 초과됩니다. 아마 ENQUIRE_LINK_RESP 이 경우 0이 아닌 오류 코드와 함께 사용할 수 있습니다.

  • 많은 것들이 있습니다 BIND PDUs. 연결 횟수에 따라 하루 중 몇 개 이상이 없어야 합니다. 시간당 1개 이상의 BIND PDU가 경고 대상이어야 합니다.

연결 안정성 문제를 해결하는 방법:

  • 불안정한 연결이 근본 원인은 거의 없으며, 단절을 트리거하는 다른 문제의 결과이기도 합니다. 근본 원인을 찾는 것이 우선입니다.

  • 자세한 SMPP 추적을 활성화합니다. 연결이 다시 시작될 때 발생하는 상황을 보려면 연결이 필요합니다.

  • 공급자가 BIND PDU뭔가 잘못되었을 수도 있어요 공급자에게 이유 문의 UNBING 가 전송됩니다.

  • 네트워크 캡처를 수행하는 것이 때로 연결이 종료되는 방식을 확인하는 유일한 방법입니다.

  • 공급자가 연결을 닫을 경우 TCP FIN 또는 TCP RST 패킷, 자세한 내용은 공급자에게 문의하십시오.

  • 다음과 같은 클린 오류를 보낸 후 공급자가 연결을 닫는 경우 DELIVER_SM_RESP 오류 코드와 함께 다른 유형의 메시지가 전송되지 않도록 커넥터를 수정하고 MTA 전송률 조정을 트리거해야 합니다. 이는 연결을 닫으면 MT 및 SR 모두에 영향을 주는 송수신 모드에서 특히 중요합니다.

MT(최종 사용자에게 전송된 일반 SMS)를 보낼 때 발생하는 문제

  • 연결이 안정되었는지 확인합니다. SMPP 연결은 최소한 1시간 동안 지속적으로 유지되어야 합니다. 섹션을 참조하십시오 불안정한 연결 문제.

  • MTA를 다시 시작하면 전송 MT가 잠시 동안 다시 작동하게 되면 불안정한 연결로 인해 전송이 제한될 수 있습니다. 섹션을 참조하십시오 불안정한 연결 문제.

  • 브로드 로그가 있고 올바른 날짜가 있는 올바른 상태로 있는지 확인하십시오. 없는 경우 게재 또는 게재 준비 문제일 수 있습니다.

  • MTA가 실제로 메시지를 처리하는지 확인합니다. 그렇지 않은 경우 SMS 문제가 아닐 수 있습니다.

  • SMS 커넥터가 실제로 공급자 장비와 연결되어 있는지 확인합니다. 모든 시스템이 제대로 통신하는지 확인하려면 공급자에게 피드백을 요청하십시오. 자세한 내용은 BIND_TRANSMITTERBIND_TRANSCEIVER PDU바인딩 프로세스에 대한 정보입니다. 적절한 문제 해결을 위해 SMPP 추적을 활성화해야 할 수 있습니다.

  • SMPP 추적이 활성화된 상태에서 SUBMIT_SM PDU 에는 올바른 정보가 포함되어 있습니다.

  • 공급자가 SUBMIT_SM_RESP PDU 를 "OK" 값(코드 0)으로 사용하여 매핑해야 합니다. PDU가 적절한 지연과 함께 도착하는지 확인합니다. 1초 이상의 시간은 일반적으로 100ms 이내에 공급자와 논의해야 합니다.

  • 이러한 단계가 모두 작동하면 공급자 측에 문제가 있음을 확신할 수 있습니다. 플랫폼 문제 해결을 수행해야 합니다.

  • 작동하지만 처리량이 일치하지 않으면 전송 기간을 조정하고 MT 처리량을 낮추십시오. 공급자와 협력하여 조정해야 합니다. Adobe Campaign은 메시지를 매우 빠르게 전송할 수 있으므로 공급자 장치에서 성능 문제가 발생할 수 있습니다.

MT가 복제됩니다(동일한 SMS가 한 행에 여러 번 전송됨)

중복은 다시 시도로 인해 발생하는 경우가 많습니다. 메시지를 재시도할 때 중복이 있는 것은 정상이며, 다시 시도하는 근본 원인을 제거하도록 대신 시도해야 합니다.

  • 정확히 60초 간격으로 전송된 중복이 표시되면 공급자 측에서 문제가 될 수 있으며 전송되지 않습니다 SUBMIT_SM_RESP 빨리!

  • 많이 보면 BIND/UNBIND이렇게 되면 연결 상태가 불안정해집니다. 자세한 내용은불안정한 연결 문제 섹션 을 참조하십시오.

다시 시도할 때 중복 수 감소:

  • 전송 창을 낮춥니다. 보내는 창이 커져서 SUBMIT_SM_RESP 지연. 이 값은 창이 가득 찬 동안 오류가 발생하는 경우 복제할 수 있는 최대 메시지 수를 나타냅니다.

SR(납품 입고) 처리 시 발생하는 문제

  • 모든 종류의 SR 문제 해결을 수행하려면 SMPP 추적을 사용하도록 설정해야 합니다.

  • 다음을 확인하십시오. DELIVER_SM PDU 은(는) 공급자로부터 오고 있으며 제대로 구성되어 있습니다.

  • Adobe Campaign이 성공적으로 답글을 달는지 확인 DELIVER_SM_RESP PDU 적시에. Adobe Campaign Standard에서 이렇게 하면 전체 처리 논리가 적용되도록 보장되며, 그렇지 않으면 처리에 실패한 이유를 알려주는 로그에 오류 메시지가 계속 표시됩니다.

만약 DELIVER_SM PDU 가 제대로 확인되지 않은 경우 다음을 확인해야 합니다.

  • 에서 ID 추출 및 오류 처리와 관련된 regex를 확인합니다 외부 계정. 의 컨텐츠에 대해 유효성을 검사해야 할 수 있습니다 DELIVER_SM PDU.

  • 에서 오류가 제대로 프로비저닝되었는지 확인합니다. broadLogMsg 테이블.

  • Adobe Campaign Standard의 경우 다음을 확인하십시오 broadLogbroadLogExec 테이블이 올바르게 동기화됩니다.

모든 문제를 해결했지만 일부 잘못된 SR이 여전히 공급자의 버퍼에 있는 경우 잘못된 ID 승인 수입니다. 선택 사항입니다. 이 값은 버퍼가 정리 된 후 가능한 한 빨리 0으로 재설정하고 주의해서 사용해야 합니다.

MO(및 차단 목록/자동 회신) 처리 시 문제가 발생합니다

  • 테스트 중에 SMPP 추적을 사용하도록 설정합니다. TLS를 활성화하지 않는 경우 MO를 문제 해결할 때 네트워크 캡처를 수행하여 PDU에 올바른 정보가 포함되어 있고 올바르게 포맷되어 있는지 확인해야 합니다.

  • 네트워크 트래픽을 캡처하거나 SMPP 추적을 분석할 때는 응답이 구성된 경우 MO 및 응답 MT와의 전체 대화를 캡처해야 합니다.

  • MO(DELIVER_SM PDU)은 추적에 표시되지 않으며, 문제는 공급자 측에 있습니다. 플랫폼 문제 해결을 수행해야 합니다.

  • 만약 DELIVER_SM PDU Adobe Campaign에서 성공했는지 확인합니다. DELIVER_SM_RESP PDU (코드 0). 이 RESP는 모든 처리 논리가 Adobe Campaign(자동 회신 및 허용/차단 목록)에 의해 적용되었음을 보장합니다. 그렇지 않으면 MTA 로그에서 오류 메시지를 검색합니다.

  • 자동 회신이 활성화된 경우 SUBMIT_SM 이(가) 공급자에게 전송되었습니다. 그렇지 않으면 MTA 로그에서 오류 메시지를 찾을 수 있습니다.

  • 만약 SUBMIT_SM MT PDU 답글이 포함된 부분은 추적에 나와 있지만 SMS가 휴대폰에 도달하지 않으므로 문제 해결에 대한 도움이 필요하면 공급자에게 문의하십시오.

게재를 준비하는 동안 격리된 수신자(자동 회신 기능으로 격리됨)를 제외하지 않는 문제가 발생했습니다

  • 격리 테이블과 게재 로그에서 전화 번호 형식이 정확히 같은지 확인합니다. 그렇지 않으면, 다음을 참조하십시오 섹션 국제 전화 번호 형식의 더하기 접두사에 문제가 있는 경우.

  • 짧은 코드를 확인합니다. 수신자의 짧은 코드가 외부 계정에 정의된 코드와 동일하거나 비어 있는 경우(empty = any shortcode) 제외가 발생할 수 있습니다. 전체 Adobe Campaign 인스턴스에 짧은 코드가 한 개만 사용되는 경우 모든 코드를 그대로 유지하는 것이 더 쉽습니다 짧은 코드 필드가 비어 있습니다.

인코딩 문제

1단계: 공급자에게 문의

그들에게 연락하여 무엇이 문제인지 알아보세요. 해당 고객은 문제가 자신의 옆이나 Adobe Campaign 쪽에 있는지 확인할 수 있습니다. Adobe Campaign에 문제가 있으면 어떤 필드가 잘못되었는지 정확히 알 수 있어야 합니다.

2단계: 메시지에 포함된 내용 파악

유니코드를 사용하면 유사 문자의 많은 변형을 사용할 수 있으며 Adobe Campaign에서 모든 변형을 처리할 수 없습니다.

문제의 가장 일반적인 원인은 워드 프로세서의 복사-붙여넣기인데, 이는 일반적인 문자를 오포그래피 수정 버전으로 바꿉니다. 공백은 줄바꿈 없는 공백으로 변경되고, 큰따옴표는 시작 및 종료 따옴표로 변경되고, 빼기 기호는 다양한 하이픈 등으로 변경되었습니다.

테스트할 때 메시지를 복사하여 붙여 넣지 말고 항상 인터페이스에 직접 입력하십시오.

16진수로 유사한 문자 간의 차이를 알 수 있습니다. 소문자 L, 대문자 I, O, 0, 모든 유형의 따옴표, 라틴어가 아닌 인코딩 또는 서로 다른 유형의 공백도 모두 동일하게 보이거나 전혀 표시되지 않을 수 있습니다.

유니코드를 16진수로 변환하려면 유니코드 코드 변환기 웹 사이트입니다. 텍스트를 입력하고 전화 번호와 같은 PII가 없는지 확인하고 를 클릭합니다. 변환. 아래쪽의 16진수 값이 표시됩니다(UTF-32 영역).

공급자나 Adobe Campaign 지원 여부와 관계없이 인코딩 문제에 대한 티켓을 열 때는 항상 입력하는 내용과 표시되는 내용을 16진수 버전으로 포함해야 합니다.

3단계: 전송해야 하는 사항 파악

사용할 인코딩을 결정하고 해당 문자 표를 온라인으로 검색합니다. 전송하려는 문자가 실제로 대상 코드 페이지에서 사용할 수 있는지 확인합니다. 다음을 확인하십시오. data_coding 필드가 올바르고 사용자와 공급자가 예상하는 내용과 일치합니다.

4단계: 실제로 보낸 내용 파악

공급자에 보내는 바이트를 정확히 보려면 커넥터의 디버그 출력이 필요합니다. 인코딩 문제가 SUBMIT_SM PDU네, 꼭 잡으세요 로그에서 쉽게 찾을 수 있는 매우 고유한 메시지를 보냅니다.

테스트할 때 다양한 종류의 특수 문자를 보냅니다. 예를 들어 GSM7 인코딩에는 16진수 형태로 매우 구별되는 확장 문자가 포함되어 있으므로 다른 인코딩에 나타나지 않으므로 쉽게 찾을 수 있습니다.

SMS 문제에 대해 통신할 때 포함할 요소

SMS 문제에 대한 지원을 요청할 때마다, Adobe Campaign에 대한 지원 티켓을 열지, SMS 공급자에게 보내거나, 문제에 대한 모든 커뮤니케이션을 공개하려면 다음 정보를 포함하여 제대로 된 자격이 있는지 확인해야 합니다. 문제가 빨리 해결되도록 적절한 조건을 갖춘 것이 중요합니다.

  • 자세한 SMPP 메시지 사용 문제가 나타나면 대부분의 SMS 문제는 이것 없이는 해결할 수 없습니다.

  • 문제가 SMS 트래픽과 관련된 경우, 공급자에게 먼저 문의하십시오. 플랫폼이 SMS 트래픽 문제를 실시간으로 효율적으로 진단하기 위해 가장 적합합니다.

  • 그 문제에 대한 간략한 사실적 설명을 포함시키시오.

  • 예상 결과에 대한 설명을 포함합니다.

  • 공급자의 피드백을 포함합니다.

  • 관련 로그 및/또는 네트워크 캡처를 포함합니다. 캡처를 수행할 때는 캡처 중에 문제를 재현해야 합니다.

  • 로그, 추적 또는 캡처를 포함하는 경우 문제가 나타날 때 파일의 정확한 위치를 파악합니다.

  • 메시지, PDU 또는 로그를 참조하는 경우 해당 타임스탬프를 명확히 표시하여 찾기 쉽게 합니다.

  • 테스트 환경에서 문제를 재현해 보십시오. 설정에 대해 잘 모를 경우 테스트 환경에서 테스트해 보고 SMPP 추적으로 결과를 확인하십시오. 일반적으로 운영 환경에서 문제를 직접 보고하는 것보다 테스트 환경에서 복제된 문제를 보고하는 것이 좋습니다.

  • 플랫폼에서 수행한 변경 또는 변경 사항을 포함합니다. 또한 공급자가 자체적으로 했을 수 있는 변경 사항을 포함합니다.

네트워크 캡처

네트워크 캡처가 항상 필요한 것은 아닙니다. 일반적으로 자세한 SMPP 메시지는 충분합니다. 다음은 네트워크 캡처가 필요한지 여부를 확인하는 데 도움이 되는 몇 가지 지침입니다.

  • 연결 문제가 있지만 자세한 정보는 표시되지 않습니다 BIND_RESP PDU.

  • 설명이 없는 연결 해제 오류 메시지와 함께 낮은 수준 프로토콜 오류를 감지하는 커넥터의 일반적인 동작입니다.

  • 공급자가 연결 해제/연결 해제 프로세스에 대해 불평합니다.

  • 선택적 TLV 필드의 인코딩 문제가 발생합니다.

  • 서로 다른 연결 간에 트래픽이 섞여 있는 것으로 간주됩니다.

다른 모든 경우에는 자세한 정보 SMPP 메시지를 먼저 분석하고 세부 정보 로그에 정보가 누락되었다는 것이 분명한 경우에만 네트워크 캡처를 요청합니다.

경우에 따라 네트워크 트래픽을 캡처할 필요가 없습니다. 다음은 가장 일반적인 경우입니다.

  • TLS 활성화: 기본적으로 TLS 트래픽은 암호화되므로 캡처할 수 없습니다.

  • 성능 문제: 로그에는 성능 문제를 추적하는 데 필요한 모든 정보가 포함되어 있습니다.

  • 시간 문제 (retry timing, enquire_link 기간, 처리량 최대 가용량 등)

  • SR 구문 분석 및 처리: 자세한 정보 로그를 사용하면 더 많은 컨텍스트를 얻을 수 있고 더 나은 프레젠테이션을 제공할 수 있습니다.

  • MO 처리(자동 회신, 격리).

  • 실제 SMPP 트래픽이 포함되지 않은 오류: 게재 준비, 메시지 센터 API 문제, 워크플로우 문제 등은

SMPP 추적 사용

새로운 커넥터는 추적을 통해 확장된 로깅을 지원합니다. SMPP. 추적은 표준 출력이 아니라 MTA 로그에 출력됩니다.

외부 계정당 활성화(기본 설정 방법)

  1. 에서 외부 계정, 선택 로그 파일에서 자세한 SMPP 추적을 활성화합니다.
  2. 저장. 커넥터가 추적이 활성화된 상태로 다시 연결됩니다.

즉시 사용

Adobe Campaign Standard MTA에는 즉시 추적 필터를 변경할 수 있는 HTTP 제어 인터페이스가 있습니다.
POST 호출은 추적을 활성화/비활성화할 수 있습니다. SMPP 추적을 활성화하는 URL 예:

POST http://host:7780/mta/trace?filter=SMPP

추적을 비활성화하려면 빈 필터를 설정합니다.

POST http://host:7780/mta/trace?filter=

구성에서 활성화

에서 config-instance.xml 파일에서 다음 매개 변수를 설정합니다.

<mta args="-tracefilter:SMPP"/>

컨테이너에서 열린 연결 수 확인

컨테이너에서 열린 연결 수를 확인하려면 다음 명령을 사용할 수 있습니다.

(for pid in $(ss -neopts  | sed -n ‘s/^.*:3600[ \t].*users:(([0-9A-Za-z”]*,pid=\([0-9]*\),.*$/\1/p’ | sort ); do  cat /proc/$pid/cmdline; echo  ” $pid” ;done;) | uniq --count

지정된 포트에 대해 열린 연결 수가 표시됩니다. 여기포트 3600을 사용하고 있습니다

결과는 다음과 같습니다.

4 nlserversms -noconsole -tracefile:sms@INSTANCE_NAME -instance:INSTANCE_NAME -detach 15180
2 nlservermtachild -tracefile:mtachild@INSTANCE_NAME -instance:INSTANCE_NAME -detach 1838
2 nlservermtachild -tracefile:mtachild@INSTANCE_NAME -instance:INSTANCE_NAME -detach 24025
2 nlservermtachild -tracefile:mtachild@INSTANCE_NAME -instance:INSTANCE_NAME -detach 24029
2 nlservermtachild -tracefile:mtachild@INSTANCE_NAME -instance:INSTANCE_NAME -detach 29088
2 nlservermtachild -tracefile:mtachild@INSTANCE_NAME -instance:INSTANCE_NAME -detach 30390

sms 프로세스에 대해 열려 있는 연결 4개 및 하위 항목이 5개인 mta당 2개

이 페이지에서는