WirelessBR |
WirelessBr é um site brasileiro, independente, sem vínculos com empresas ou organizações, sem finalidade comercial, feito por voluntários, para divulgação de tecnologia em telecomunicações |
|
SMPP
- SHORT MESSAGE PEER TO PEER |
||
Autor: João Bosco Silvino Júnior |
Neste protocolo, todos os campos relacionados a data e hora seguirão o formato a seguir, codificados em ASCII:
"YYMMDDhhmmsstnnp" onde:
"YY" últimos dois digítos do ano (00-99)
"MM" mês(01-12)
"DD" Dia(01-31)
"hh" Hora(00-23)
"mm" Minutos(00-59)
"ss" Segundos(00-59)
"t" dezenas de segundos (0-9)
"nn" diferença de tempo em quarto de horas entre a hora local e a UTC (Universal Time Constant) (00-48)
"p" - "+" A hora local está avançada em um quarto em relação à UTC
"-" A hora local está atrasada em um quarto em relação à UTC
"R" A hora local é relativa à hora corrente no SMSC
6.1.1 - Formato de tempo absoluto
Este é o formato de tempo padrão utilizado pelo SMPP. Entregas agendadas e tempo de expiração são especificados no seu formato global UTC, incluindo a variação de um quarto de hora e símbolo de direção “+” ou “-”.
6.1.2 - Formato de tempo relativo
O tempo relativo pode ser indicado configurando o sinalizador de orientação do UTC para “R” ao invés de “+” ou “-”. Desta forma será tomado como base a hora e data do SMSC.
6.2
- Definições de temporizadores
É recomendável que os seguintes temporizadores sejam implementados em sessões SMPP transmitter e receiver. Todos estes temporizadores são configuráveis.
Timer
|
Action
on expiration |
Description |
session_init_timer
|
The
network connection should be terminated.
|
This
timer specifies the time lapse allowed between a network connection
being stablished and a bind_transmitter or bind_receiver
request being sent to the SMSC. This timer should be active on
the SMSC. |
enquire_link_timer |
An
enquire_link request should be initiated.
|
This
timer specifies the time lapse allowed between operations after which
an SMPP entity should interrogate whether it’s peer still has an
active session. This
timer may be active on either communicating SMPP entity (i.e. SMSC or
ESME). |
inactivity_timer
|
The
SMPP session should be dropped. |
This
timer specifies the maximum time lapse allowed between transactions,
after which period of inactivity, an SMPP entity may assume that the
session is no longer active. This timer may be active on either
communicating SMPP entity (i.e. SMSC or ESME). |
response_timer
|
The
entity which originated the SMPP Request may assume that Request has
not been processed and should take the appropriate action for the
particular SMPP operation in question. |
This
timer specifies the time lapse allowed between an SMPP request and the
corresponding SMPP response. This timer may be active on either
communicating SMPP entity (i.e. SMSC or ESME). |
Tabela
26 - Tipos de temporizadores do SMPP
7 - Tópico Especial – O Recibo de Entrega do SMPP
O SMPP implementa
um recibo de entrega da mensagem pelo SMSC via os PDU`s deliver_sm
e data_sm, que indica o status de entrega da mensagem.
O conteúdo informativo de um recibo de entrega pose ser inserido no parâmetro short_message da operação de deliver_sm. O formato deste recibo de entrega é especificado pelo fabricante mas deve seguir o seguinte formato:
“id:IIIIIIIIII
sub:SSS dlvrd:DDD submit date:YYMMDDhhmm done
date:YYMMDDhhmm
stat:DDDDDDD err:E Text: . . . . . . . . .”
Os campos acima são explicados na tabela seguinte:
Field
|
Size (octets)
|
Type |
Description |
id
|
10 |
C-Octet
String (Decimal)
|
The
message ID allocated to the message by the SMSC when
originally submitted. |
sub
|
3 |
C-Octet
String (Decimal)
|
Number
of short messages originallysubmitted. This is only relevant when
the original message was submitted to a distribution list.The value
is padded with leading zeros if necessary. |
dlvrd
|
3 |
C-Octet
Fixed Length String (Decimal)
|
Number
of short messages delivered. This is only relevant where the
original message was submitted to a distribution list.The value is
padded with leading zeros if necessary. |
submit
date |
10 |
C-Octet
Fixed Length String |
The
time and date at which the short message was submitted. In the case
of a message which has been replaced, this is the date that the
original message was
replaced.The format is as follows: YYMMDDhhmm where: YY = last two
digits of the year (00-99) MM = month (01-12) DD = day (01-31) hh =
hour (00-23) mm = minute (00-59) |
done
date |
10
|
C-Octet
Fixed Length String |
The
time and date at which the short message reached it’s final state.
The format is the same as for the submit date. |
stat
|
7 |
C-Octet
Fixed Length String |
The
final status of the message. For settings for this field see Table
B-2. |
err |
3 |
C-Octet
Fixed Length String |
Where
appropriate this may hold a Network specific error code or an SMSC
error code for the attempted delivery of the message. These errors
are Network or SMSC specific and are not included here. |
text
|
20
|
Octet
String |
The
first 20 characters of the short message. |
Tabela
27 - Formato
do recibo de entrega das mensagens SMPP
Os estados de entrega da mensagem podem ser os seguintes:
Message
State |
Final
Message States |
Description |
DELIVERED |
DELIVRD |
Message
is delivered to destination |
EXPIRED |
EXPIRED |
Message
validity period has expired. |
DELETED |
DELETED |
Message
has been deleted. |
UNDELIVERABLE |
UNDELIV |
Message
is undeliverable |
ACCEPTED |
ACCEPTD |
Message
is in accepted state (i.e. has been manually read on behalf of the
subscriber by customer service) |
UNKNOWN |
UNKNOWN |
Message
is in invalid state |
REJECTED |
REJECTD |
Message
is in a rejected state |
Tabela 28 - Estados possíveis para a entrega de mensagens SMPP