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 |
A operação de BIND é a operação de tentativa de abertura do canal SMPP entre uma ESME e um SMSC. Conforme dito anteriormente, uma ESME pode fazer um bind_transmitter, bind_receiver ou bind_transceiver. Caso a ESME tente conectar-se com um bind_transceiver em um SMSC não suporte esta operação, este deve retornar uma mensagem de resposta contendo o erro ”Invalid Command ID” e a ESME deverá tentar conectar-se novamente, desta vez com um bind_transmitter ou bind_receiver ou um par bind_transmitter, bind_receiver. Caso a ESME tente conectar-se com um bind_transmitter ou bind_receiver em um SMSC não suporte esta operação, este deve retornar uma mensagem de resposta contendo o erro ”Invalid Command ID” e a ESME deverá tentar conectar-se novamente, desta vez com um bind_transceiver.
Uma ESME conectada como uma transmitter está autorizada a enviar mensagens a um SMSC e receber as respostas SMPP correspondentes. Uma ESME indica que não deseja receber mensagens originadas de outra SME (i.e. terminais móveis), conectando-se como transmitter. Verifique na tabela 1 quais são as operações permitidas a uma ESME conectada como transmitter.
4.1.1.1
- Sintaxe
do BIND_TRANSMITTER
|
Field
Name |
Size Octets |
Type |
Description |
Ref. |
header |
Command_length |
4 |
Integer |
Defines
the overall length of the bind_transmitter
PDU. |
|
command_id |
4 |
Integer |
Value
corresponding to bind_transmitter
request. |
|
|
Command_status |
4 |
Integer |
Not
used in bind_transmitter
PDU. Must be set to NULL. |
|
|
Sequence_number |
4 |
Integer |
Set to a unique sequence number. The associated bind_transmitter_resp PDU will echo the same sequence number. |
|
|
body |
system_id
b |
var.
max 16 |
C-Octet
String |
Identifies
the ESME system requesting to bind as a transmitter with the SMSC. |
|
password
c |
var.
16 |
C-Octet
String |
The
password may be used by the SMSC to authenticate the ESME requesting
to bind. |
|
|
system_type
d |
var.
16 |
C-Octet
String |
Identifies
the type of ESME system requesting to bind as a transmitter with the
SMSC. |
|
|
interface_version |
1 |
Integer |
Indicates
the version of the SMPP Protocol supported by the ESME. |
|
|
body |
addr_ton |
1 |
Integer |
Indicates
Type of Number of the ESME address. If not known set to NULL |
|
addr_npi |
1 |
Integer |
Numbering
Plan Indicator for ESME address. If not known set to NULL. |
|
|
address_range |
Var.
max 41 |
C-Octet
String |
The
ESME address. If not known set to NULL. |
|
Tabela 6 - PDU do BIND_TRANSMITTER
a.
There is no specific requirement on how the sequence_number
should be set. However, it is recommended that the sequence number be a
monotonically increasing number.
b.
The recommended use of system_id is
to identify the binding entity, e.g., “InternetGW” in the case of an
Internet Gateway or ‘VMS’ for a Voice Mail System.
c.
The password is used for
authentication to secure SMSC access. The ESME may set the password to NULL to
gain insecure access (if allowed by SMSC administration).
d.
The system_type
(optional) may be used to categorise the system, e.g., “EMAIL”,
“WWW”, etc.
4.1.1.2 - Sintaxe do BIND_TRANSMITTER_RESP
|
Field
Name |
Size Octets |
Type |
Description |
Ref. |
header |
command_length |
4 |
Integer |
Defines
the overall length of the bind_transmitter_resp
PDU. |
|
command_id |
4 |
Integer |
Value
corresponding to bind_transmitter_resp
request. |
|
|
command_status |
4 |
Integer |
Indicates
status (success or error code) of original bind_transmitter
request. |
|
|
sequence_number |
4 |
Integer |
Set
to sequence number of original bind_transmitter
request. |
|
|
body |
system_id
b |
var.
max 16 |
C-Octet
String |
SMSC
identifier. Identifies the SMSC to the ESME. |
|
|
OPTIONAL
PARAMETERS for BIND_TRANSMITTER_RESP |
||||
|
sc_interface_version |
TLV |
SMPP
version supported by SMSC |
|
Tabela 7 - PDU do BIND_TRANSMITTER_RESP
Note: The body portion of the SMPP bind_transmitter_resp PDU is not returned if the command_status field contains a non-zero value; i.e., if there is an error in the original bind_transmitter request, the SMSC system_id is not returned
Uma ESME conectada como uma receiver está autorizada a receber mensagens de um SMSC e retornar as respostas SMPP correspondentes. Verifique na tabela 1 quais são as operações permitidas a uma ESME conectada como receiver.
4.1.2.1 - Sintaxe do BIND_RECEIVER
|
Field
Name |
Size
Octets |
Type |
Description |
Ref. |
header |
command_length |
4 |
Integer |
Defines
the overall length of the bind_receiver
PDU. |
|
command_id |
4 |
Integer |
Value
corresponding to bind_receiver
request. |
|
|
command_status |
4 |
Integer |
Not
used in bind_receiver
PDU. Must be set to NULL. |
|
|
sequence_number |
4 |
Integer |
Set
to a unique sequence number. The associated bind_receiver_resp
PDU will echo the same sequence number. |
|
|
body |
system_id
b |
var.
max 16 |
C-Octet
String |
Identifies
the ESME system requesting to bind as a receiver with the SMSC. |
|
password
c |
var.
16 |
C-Octet
String |
The
password may be used by the SMSC to authenticate the ESME requesting
to bind. |
|
|
system_type
d |
var.
16 |
C-Octet
String |
Identifies
the type of ESME system requesting to bind as a receiver with the
SMSC. |
|
|
interface_version |
1 |
Integer |
Indicates
the version of the SMPP Y Protocol
supported by the ESME. |
|
|
addr_ton |
1 |
Integer |
Indicates
Type of Number of the ESME address. If not known set to NULL |
|
|
addr_npi |
1 |
Integer |
Numbering
Plan Indicator for ESME address. If not known set to NULL. |
|
|
address_range |
Var.
max 41 |
C-Octet
String |
The
ESME address. If not known set to NULL. |
|
Tabela 8 - PDU do BIND_RECEIVER
4.1.2.2 - Sintaxe do BIND_RECEIVER_RESP
|
Field
Name |
Size Octets |
Type |
Description |
Ref. |
header |
command_length |
4 |
Integer |
Defines
the overall length of the bind_receiver_resp
PDU. |
|
command_id |
4 |
Integer |
Value
corresponding to bind_receiver_resp
request. |
|
|
command_status |
4 |
Integer |
Indicates
status (success or error code) of original bind_receiver
request. |
|
|
sequence_number |
4 |
Integer |
Set
to sequence number of original bind_receiver
request. |
|
|
body |
system_id
b |
var.
max 16 |
C-Octet
String |
SMSC
identifier. Identifies the SMSC to the ESME. |
|
|
OPTIONAL
PARAMETERS for BIND_RECEIVER_RESP |
||||
|
Optional
Parameter Name |
Type |
Description |
Ref. |
|
|
sc_interface_version |
TLV |
SMPP
version supported by SMSC |
|
Tabela 9 - PDU do BIND_RECEIVER_RESP
Uma ESME conectada como uma transceiver está autorizada receber/enviar mensagens de/para o SMSC e retornar as respostas SMPP correspondentes, em uma única sessão SMPP. Verifique na tabela 1 quais são as operações permitidas a uma ESME conectada como transceiver.
4.1.3.1 - Sintaxe do BIND_TRANSCEIVER
|
Field
Name |
Size Octets |
Type |
Description |
Ref. |
header |
command_length |
4 |
Integer |
Defines
the overall length of the bind_transceiver
PDU. |
|
command_id |
4 |
Integer |
Value
corresponding to bind_transceiver
request. |
|
|
command_status |
4 |
Integer |
Not
used in bind_transceiver
PDU. Must be set to NULL. |
|
|
sequence_number |
4 |
Integer |
Set
to a unique sequence number. The associated bind_transceiver_resp
PDU will echo the same sequence number. |
|
|
body |
system_id
b |
var.
max 16 |
C-Octet
String |
Identifies
the ESME system requesting to bind as a transceiver with the SMSC. |
|
password
c |
var.
16 |
C-Octet
String |
The
password may be used by the SMSC to authenticate the ESME requesting
to bind. |
|
|
system_type
d |
var.
16 |
C-Octet
String |
Identifies
the type of ESME system requesting to bind as a transceiver with the
SMSC. |
|
|
interface_version |
1 |
Integer |
Indicates
the version of the SMPP Y Protocol
supported by the ESME. |
|
|
addr_ton |
1 |
Integer |
Indicates
Type of Number of the ESME address. If not known set to NULL |
|
|
addr_npi |
1 |
Integer |
Numbering
Plan Indicator for ESME address. If not known set to NULL. |
|
|
address_range |
Var.
max 41 |
C-Octet
String |
The
ESME address. If not known set to NULL. |
|
Tabela 10 - PDU do BIND_TRANSCEIVER
a.
There is no specific requirement on how the sequence_number
should be set. However, it is recommended that the sequence number be a
monotonically increasing number.
b.
The recommended use of system_id is
to identify the binding entity, e.g., “InternetGW” in the case of an
Internet Gateway or ‘VMS’ for a Voice Mail System.
c.
The password is used for
authentication to secure SMSC access. The ESME may set the password to NULL to
gain insecure access (if allowed by SMSC administration).