Nella pagina “SMS->RAPPORTO INVII” potrai trovare uno dei seguenti stati : “Consegnato al dispositivo”, "Spedito all'operatore", "Consegna fallita"
Cosa vogliono dire esattamente?
Consegnato al dispositivo: significa che dopo l'invio, il gestore telefonico del destinatario ha inviato ai nostri sistemi di invio sms un avviso dicendoci, in parole povere "Il messaggio è stato ricevuto dal cellulare del destinatario";
Spedito all'operatore: significa che l'invio è stato effettuato e preso in gestione dal gestore telefonico del destinatario, ma non ha ancora avvisato i nostri sistemi se il messaggio è stato ricevuto dal cellulare. Solitamente questa informazione arriva in modo quasi immediato, ma ci sono delle dinamiche tecniche (telefono spento, assenza di segnale, scarsa copertura, pessima condizione della cella telefonica a cui la Simo è agganciata, e via dicendo) che provocano i ritardi nella ricezione dell'sms. Il gestore tenta l'invio, solo in questi casi, nei minuti/ore subito successive (al massimo per 48 ore);
Consegna fallita: significa che l'invio è stato effettuato ma il gestore telefonico del destinatario ci ha dato un responso negativo alla consegna, una delle cause potrebbe essere, per esempio, che il numero di cellulare non può ricevere sms, il numero è inesistente.
Ci sono casi in cui il gestore telefonico non riesce a darci un responso, di conseguenza e per trasparenza non cambiamo lo stato e manteniamo Spedito all'operatore.
I messaggi corrispondenti ad una consegna fallita hanno invece una descrizione con il seguente formato:
Status_RoutingCode_ErrorCode
Un messaggio può risultare “spedito all'operatore” per i seguenti motivi:
› Il messaggio è stato inviato all’operatore telefonico ed è in attesa di essere consegnato
- spedizione in corso da parte dell’operatore telefonico
- il terminale del destinatario potrebbe essere spento o irraggiungibile e l’operatore telefonico sta provvedendo a tentativi ripetuti di invio
› Il messaggio è stato inviato ad un numero di un operatore telefonico per il quale non sono disponibili le ricevute di ritorno. In questo caso il messaggio risulterà sempre accodato anche dopo l’effettiva consegna
Di seguito si riportano le descrizioni dei codici restituiti in caso di errore.
I possibili valori di errore sono i seguenti
| SMPP 3.4 definition | Descrizione | Esempi |
---|
NACK | Submit to SMSC failed | Richiesta rifiutata immediatamente dall’operatore SMSC | La richiesta ha un formato sbagliato |
UNDELIV | Message is undeliverable | Il messaggio non può essere consegnato | Non esiste una rotta per consegnare il messaggio al numero specificato |
EXPIRED | Message validity period has expired | non è stato possibile consegnare il messaggio e il periodo di validità è scaduto | Il destinatario ha il telefono spento o non raggiungibile |
UNKNOWN | Message is in invalid state | Messaggio generico, dettagli non specificati |
|
REJECTD | Message is in a rejected state | La richiesta non è stata accettata dal server | Richiesta rifiutata |
FAILED | Submit to SMSC failed |
|
|
Nota: per il protocollo utilizzato esistono anche lo stato DELIVRD (consegnato al dispositivo) e lo stato ACCEPTED (spedito all'operatore) ma questi non saranno mai visualizzati perché non rientrano nelle casistiche di errore
Routing Code
A seconda della rotta (SMSC) su cui è instradato un SMS il codice di errore può essere diverso. I codici dei possibili percorsi sono:
- AT
- IB
- AG
Error Code
Codice di errore, dipende dallo status e, in alcuni casi, anche dal Routing Code
Per le risposte con "Status = NACK” ci sono alcuni codici di errore che dipendono dalla rotta (SMSC).
Errori restituiti con NACK
ErrorCode | SMSCs | Error Description |
0x00000000 | ALL | No Error |
0x00000001 | ALL | Message Length is invalid |
0x00000002 | ALL | Command Length is invalid |
0x00000003 | ALL | Invalid Command ID |
0x00000004 | ALL | Incorrect BIND Status for given command |
0x00000005 | ALL | ESME Already in Bound State |
0x00000006 | ALL | Invalid Priority Flag |
0x00000007 | ALL | Invalid Registered Delivery Flag |
0x00000008 | ALL | System Error |
0x00000009 | ALL | Reserved |
0x0000000A | ALL | Invalid Source Address |
0x0000000B | ALL | Invalid Dest Addr |
0x0000000C | ALL | Message ID is invalid |
0x0000000D | ALL | Bind Failed |
0x0000000E | ALL | Invalid Password |
0x0000000F | ALL | Invalid System ID |
0x00000010 | ALL | Reserved |
0x00000011 | ALL | Cancel SM Failed |
0x00000012 | ALL | Reserved |
0x00000013 | ALL | Replace SM Failed |
0x00000014 | ALL | Message Queue Full |
0x00000015 | ALL | Invalid Service Type |
0x00000016-0x00000032 | ALL | Reserved |
0x00000033 | ALL | Invalid number of destinations |
0x00000034 | ALL | Invalid Distribution List name |
0x00000035-0x0000003F | - | Reserved |
0x00000040 | ALL | Destination flag is invalid (submit_multi) |
0x00000041 | ALL | Reserved |
0x00000042 | ALL | Invalid ‘submit with replace’ request (i.e. submit_sm with replace_if_present_flag set) |
0x00000043 | ALL | Invalid esm_class field data |
0x00000044 | ALL | Cannot Submit to Distribution List |
0x00000045 | ALL | submit_sm or submit_multi failed |
0x00000046-0x00000047 | - | Reserved |
0x00000048 | ALL | Invalid Source address TON |
0x00000049 | ALL | Invalid Source address NPI |
0x00000050 | ALL | Invalid Destination address TON |
0x00000051 | ALL | Invalid Destination address NPI |
0x00000052 | ALL | Reserved |
0x00000053 | ALL | Invalid system_type field |
0x00000054 | ALL | Invalid replace_if_present flag |
0x00000055 | ALL | Invalid number of messages |
0x00000056-0x00000057 | - | Reserved |
0x00000058 | ALL | Throttling error (ESME has exceeded allowed message limits) |
0x00000059-0x00000060 | - | Reserved |
0x00000061 | ALL | Invalid Scheduled Delivery Time |
0x00000062 | ALL | Invalid message validity period (Expiry time) |
0x00000063 | ALL | Predefined Message Invalid or Not Found |
0x00000064 | ALL | ESME Receiver Temporary App |
0x00000065 | ALL | ESME Receiver Permanent App Error |
0x00000066 | ALL | ESME Receiver Reject Message Error |
0x00000067 | ALL | query_sm request failed |
0x00000068-0x000000BF | - | Reserved |
0x000000C0 | ALL | Error in the optional part of the PDU |
0x000000C1 | ALL | Optional Parameter not allowed |
0x000000C2 | ALL | Invalid Parameter Length. |
0x000000C3 | ALL | Expected Optional Parameter missing |
0x000000C4 | ALL | Invalid Optional Parameter Value |
0x000000C5-0x000000FD | - | Reserved |
0x000000FE | ALL | Delivery Failure (used for data_sm_resp) |
0x000000FF | ALL | Unknown Error |
0x00000100-0x000003FF | - | Reserved for SMPP extension |
0x00000401 | MB | Number blacklisted in system |
0x00000402 | MB | Client blacklisted in system |
0x00000402 | MO | Quota reached |
0x00000403 | MB | Prefix blacklisted in system |
0x00000403 | MO | Spam detected |
0x00000404 | MB | Invalid account Error |
0x00000404 | MO | Hammering detected |
0x00000405 | MB | No longer applicable |
0x00000405 | MO | Blacklisted |
0x00000406 | MB | Destination busy - The message was not sent due to the fact that the QoS was busy, please try again. |
0x00000407 | MB | Reply Type Error. |
0x00000408 | MB | MSIP Syntax Error. |
0x00000409 | MB | No longer applicable |
0x0000040A | MB | System unavailable. |
0x0000040B | MB | System unavailable. |
0x0000040C | MB | System unavailable. |
0x0000040D | MB | Profile Error. |
0x0000040E | MB | Username not set - No username was specified. |
0x0000040F | MB | Do not try again. Binary message not allowed on profile. - This message does not allow binary messages. |
0x00000410 | MB | Temporary System failure, please retry. |
0x00000411 | MB | Number unroutable. Do not retry. |
0x00000412 | MB | Number Temporarily unroutable, please try again. |
0x00000413 | MB | Number unroutable. Do not retry. |
0x00000414 | MB | Number unroutable on current settings. Do not retry. |
0x00000415 | MB | Number Temporarily unroutable, please try again. |
0x00000416 - 0x0000041B | MB | Number unroutable. Do not retry. |
0x0000041C | MB | Number Temporarily unroutable, please try again. |
0x0000041D | MB | Number unroutable. Do not retry. |
0x0000041E - 0x0000041F | MB | Number Temporarily unroutable, please try again. |
0x00000420 | MB | Unable to send on local deliverer |
0x00000421 | MB | Cannot find originator for index. Do not retry. |
0x00000422 | MB | Destination unavailable, please try again. |
0x00000500-0xFFFFFFFF | - | Reserved |
Status diverso da "NACK"
Di seguito si riportano i valori di ErrorCode specifici per la rotta. Le righe evidenziate in verde si riferiscono al messaggio restituito in caso di messaggio inviato con successo.
Routing-Code AT
Error-Code | Status | Permanent | Descrizione |
00 | DELIVRD | Y | Message is delivered to destination |
01 | REJECTD | Y | SMPP Gateway cannot accept the message for delivery ( i.e. you run out of credit if your account is a prepaid one ) |
02 | UNDELIV | Y | Mobile network attemtps to deliver the message have been failed |
03 | ACCEPTED | N | Mobile network has accepted message for delivery |
04 | FAILED | Y | Mobile network is unable to accept message for delivery |
05 | EXPIRED | Y | Message validity period has expired |
99 | UNKNOWN | Y | AT cannot determine the status of your message |
Routing-Code IB
Error code | Error description | Permanent | Status |
0000 | EC_DELIVRD | Yes | DELIVERED |
1 | EC_UNKNOWN_SUBSCRIBER | Yes | UNDELIV |
5 | EC_UNIDENTIFIED_SUBSCRIBER | No | EXPIRED |
6 | EC_ABSENT_SUBSCRIBER_SM | No | EXPIRED |
9 | EC_ILLEGAL_SUBSCRIBER | Yes | UNDELIV |
11 | EC_TELESERVICE_NOT_PROVISIONED | Yes | UNDELIV |
12 | EC_ILLEGAL_EQUIPMENT | Yes | UNDELIV |
13 | EC_CALL_BARRED | No | EXPIRED |
21 | EC_FACILITY_NOT_SUPPORTED | No | EXPIRED |
27 | EC_ABSENT_SUBSCRIBER | No | EXPIRED |
31 | EC_SUBSCRIBER_BUSY_FOR_MT_SMS | No | EXPIRED |
32 | EC_SM_DELIVERY_FAILURE | No | EXPIRED |
33 | EC_MESSAGE_WAITING_LIST_FULL | No | EXPIRED |
34 | EC_SYSTEM_FAILURE | No | EXPIRED |
35 | EC_DATA_MISSING | Yes | UNDELIV |
36 | EC_UNEXPECTED_DATA_VALUE | Yes | UNDELIV |
256 | EC_SM_DF_memoryCapacityExceeded | No | EXPIRED |
257 | EC_SM_DF_equipmentProtocolError | No | EXPIRED |
258 | EC_SM_DF_equipmentNotSM_Equipped | No | EXPIRED |
259 | EC_SM_DF_unknownServiceCentre | No | EXPIRED |
260 | EC_SM_DF_sc_Congestion | No | EXPIRED |
261 | EC_SM_DF_invalidSME_Address | No | EXPIRED |
262 | EC_SM_DF_subscriberNotSC_Subscriber | No | EXPIRED |
500 | EC_PROVIDER_GENERAL_ERROR | No | EXPIRED |
502 | EC_NO_RESPONSE | No | EXPIRED |
503 | EC_SERVICE_COMPLETION_FAILURE | No | EXPIRED |
504 | EC_UNEXPECTED_RESPONSE_FROM_PEER | No | EXPIRED |
507 | EC_MISTYPED_PARAMETER | No | EXPIRED |
508 | EC_NOT_SUPPORTED_SERVICE | No | EXPIRED |
509 | EC_DUPLICATED_INVOKE_ID | No | EXPIRED |
511 | EC_INITIATING_RELEASE | No | EXPIRED |
1024 | EC_OR_appContextNotSupported | No | EXPIRED |
1025 | EC_OR_invalidDestinationReference | No | EXPIRED |
1026 | EC_OR_invalidOriginatingReference | No | EXPIRED |
1027 | EC_OR_encapsulatedAC_NotSupported | No | EXPIRED |
1028 | EC_OR_transportProtectionNotAdequate | No | EXPIRED |
1030 | EC_OR_potentialVersionIncompatibility | No | EXPIRED |
1031 | EC_OR_remoteNodeNotReachable | No | EXPIRED |
1152 | EC_NNR_noTranslationForAnAddressOfSuchNatur | No | EXPIRED |
1153 | EC_NNR_noTranslationForThisSpecificAddress | No | EXPIRED |
1154 | EC_NNR_subsystemCongestion | No | EXPIRED |
1155 | EC_NNR_subsystemFailure | No | EXPIRED |
1156 | EC_NNR_unequippedUser | No | EXPIRED |
1157 | EC_NNR_MTPfailure | No | EXPIRED |
1158 | EC_NNR_networkCongestion | No | EXPIRED |
1159 | EC_NNR_unqualified | No | EXPIRED |
1160 | EC_NNR_errorInMessageTransportXUDT | No | EXPIRED |
1161 | EC_NNR_errorInLocalProcessingXUDT | No | EXPIRED |
1162 | EC_NNR_destinationCannotPerformReassemblyXUDT | No | EXPIRED |
1163 | EC_NNR_SCCPfailure | No | EXPIRED |
1164 | EC_NNR_hopCounterViolation | No | EXPIRED |
1165 | EC_NNR_segmentationNotSupported | No | EXPIRED |
1166 | EC_NNR_segmentationFailure | No | EXPIRED |
1281 | EC_UA_userSpecificReason | No | EXPIRED |
1282 | EC_UA_userResourceLimitation | No | EXPIRED |
1283 | EC_UA_resourceUnavailable | No | EXPIRED |
1284 | EC_UA_applicationProcedureCancellation | No | EXPIRED |
1536 | EC_PA_providerMalfunction | No | EXPIRED |
1537 | EC_PA_supportingDialogOrTransactionRealeased | No | EXPIRED |
1538 | EC_PA_ressourceLimitation | No | EXPIRED |
1539 | EC_PA_maintenanceActivity | No | EXPIRED |
1540 | EC_PA_versionIncompatibility | No | EXPIRED |
1541 | EC_PA_abnormalMapDialog | No | EXPIRED |
1793 | EC_NC_responseRejectedByPeer | No | EXPIRED |
1794 | EC_NC_abnormalEventReceivedFromPeer | No | EXPIRED |
1795 | EC_NC_messageCannotBeDeliveredToPeer | No | EXPIRED |
1796 | EC_NC_providerOutOfInvoke | No | EXPIRED |
2048 | EC_TIME_OUT | No | EXPIRED |
2049 | EC_IMSI_BLACKLISTED | Yes | UNDELIV |
2050 | EC_DEST_ADDRESS_BLACKLISTED | Yes | UNDELIV |
2051 | EC_InvalidMscAddress | No | EXPIRED |
4096 | EC_InvalidPduFormat | Yes | UNDELIV |
4100 | EC_Cancelled | Yes | EXPIRED |
4101 | EC_ValidityExpired | Yes | UNDELIV |
Routing-Code AG
Error-Code | Description | Permanent | Status |
0 | Successfully delivered. | Y | DELIVERED |
3 | SMSC did not return a status for this delivery |
| UNKNOWN |
4
| SMSC refused the message. | Y | REJECTED |
Message delivery expired. | Y | EXPIRED |
SMSC was not able to deliver the message. | Y | UNDELIVERABLE |