anthill_smpp_ruby 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/MIT-LICENSE +21 -0
- data/README +30 -0
- data/anthill_smpp_ruby.gemspec +18 -0
- data/changelog +43 -0
- data/data/dumps/random_command.dump +1 -0
- data/data/dumps/smpp_alert_notification.dump +1 -0
- data/data/dumps/smpp_bind_receiver.dump +1 -0
- data/data/dumps/smpp_bind_receiver_resp.dump +1 -0
- data/data/dumps/smpp_bind_transceiver.dump +1 -0
- data/data/dumps/smpp_bind_transceiver_1.dump +2 -0
- data/data/dumps/smpp_bind_transceiver_resp.dump +1 -0
- data/data/dumps/smpp_bind_transmitter.dump +1 -0
- data/data/dumps/smpp_bind_transmitter_resp.dump +1 -0
- data/data/dumps/smpp_broadcast_sm.dump +1 -0
- data/data/dumps/smpp_broadcast_sm_resp.dump +1 -0
- data/data/dumps/smpp_cancel_broadcast_sm.dump +1 -0
- data/data/dumps/smpp_cancel_broadcast_sm_resp.dump +1 -0
- data/data/dumps/smpp_cancel_sm.dump +1 -0
- data/data/dumps/smpp_cancel_sm_resp.dump +1 -0
- data/data/dumps/smpp_data_sm.dump +1 -0
- data/data/dumps/smpp_data_sm_resp.dump +1 -0
- data/data/dumps/smpp_deliver_sm.dump +1 -0
- data/data/dumps/smpp_deliver_sm_resp.dump +1 -0
- data/data/dumps/smpp_enquire_link.dump +1 -0
- data/data/dumps/smpp_enquire_link_resp.dump +1 -0
- data/data/dumps/smpp_generic_nack.dump +1 -0
- data/data/dumps/smpp_outbind.dump +1 -0
- data/data/dumps/smpp_query_broadcast_sm.dump +1 -0
- data/data/dumps/smpp_query_broadcast_sm_resp.dump +1 -0
- data/data/dumps/smpp_query_broadcast_sm_resp_1.dump +1 -0
- data/data/dumps/smpp_query_sm.dump +1 -0
- data/data/dumps/smpp_query_sm_resp.dump +1 -0
- data/data/dumps/smpp_replace_sm.dump +1 -0
- data/data/dumps/smpp_replace_sm_resp.dump +1 -0
- data/data/dumps/smpp_submit_multi.dump +1 -0
- data/data/dumps/smpp_submit_multi_resp.dump +1 -0
- data/data/dumps/smpp_submit_sm.dump +1 -0
- data/data/dumps/smpp_submit_sm_resp.dump +1 -0
- data/data/dumps/smpp_unbind.dump +1 -0
- data/data/dumps/smpp_unbind_resp.dump +1 -0
- data/data/pdus/random_command.xml +35 -0
- data/data/pdus/smpp_alert_notification.xml +14 -0
- data/data/pdus/smpp_alert_notification_no_optional.xml +13 -0
- data/data/pdus/smpp_bind_receiver.xml +17 -0
- data/data/pdus/smpp_bind_receiver_resp.xml +12 -0
- data/data/pdus/smpp_bind_receiver_resp_no_optional.xml +11 -0
- data/data/pdus/smpp_bind_transceiver.xml +17 -0
- data/data/pdus/smpp_bind_transceiver_resp.xml +12 -0
- data/data/pdus/smpp_bind_transceiver_resp_no_optional.xml +11 -0
- data/data/pdus/smpp_bind_transmitter.xml +17 -0
- data/data/pdus/smpp_bind_transmitter_resp.xml +12 -0
- data/data/pdus/smpp_bind_transmitter_resp_no_optional.xml +11 -0
- data/data/pdus/smpp_broadcast_sm.xml +47 -0
- data/data/pdus/smpp_broadcast_sm_no_optional.xml +26 -0
- data/data/pdus/smpp_broadcast_sm_resp.xml +14 -0
- data/data/pdus/smpp_broadcast_sm_resp_no_optional.xml +8 -0
- data/data/pdus/smpp_cancel_broadcast_sm.xml +17 -0
- data/data/pdus/smpp_cancel_broadcast_sm_no_optional.xml +15 -0
- data/data/pdus/smpp_cancel_broadcast_sm_resp.xml +7 -0
- data/data/pdus/smpp_cancel_sm.xml +18 -0
- data/data/pdus/smpp_cancel_sm_resp.xml +10 -0
- data/data/pdus/smpp_commands.xsd +914 -0
- data/data/pdus/smpp_data_sm.xml +58 -0
- data/data/pdus/smpp_data_sm_no_optional.xml +17 -0
- data/data/pdus/smpp_data_sm_resp.xml +15 -0
- data/data/pdus/smpp_data_sm_resp_no_optional.xml +8 -0
- data/data/pdus/smpp_deliver_sm.xml +46 -0
- data/data/pdus/smpp_deliver_sm_no_optional.xml +25 -0
- data/data/pdus/smpp_deliver_sm_resp.xml +14 -0
- data/data/pdus/smpp_deliver_sm_resp_no_optional.xml +8 -0
- data/data/pdus/smpp_enquire_link.xml +10 -0
- data/data/pdus/smpp_enquire_link_resp.xml +10 -0
- data/data/pdus/smpp_generic_nack.xml +10 -0
- data/data/pdus/smpp_outbind.xml +12 -0
- data/data/pdus/smpp_query_broadcast_sm.xml +12 -0
- data/data/pdus/smpp_query_broadcast_sm_no_optional.xml +11 -0
- data/data/pdus/smpp_query_broadcast_sm_resp.xml +17 -0
- data/data/pdus/smpp_query_broadcast_sm_resp_no_optional.xml +15 -0
- data/data/pdus/smpp_query_sm.xml +11 -0
- data/data/pdus/smpp_query_sm_resp.xml +11 -0
- data/data/pdus/smpp_replace_sm.xml +18 -0
- data/data/pdus/smpp_replace_sm_no_optional.xml +17 -0
- data/data/pdus/smpp_replace_sm_resp.xml +7 -0
- data/data/pdus/smpp_submit_multi.xml +73 -0
- data/data/pdus/smpp_submit_multi_no_optional.xml +51 -0
- data/data/pdus/smpp_submit_multi_resp.xml +35 -0
- data/data/pdus/smpp_submit_sm.xml +57 -0
- data/data/pdus/smpp_submit_sm_no_optional.xml +28 -0
- data/data/pdus/smpp_submit_sm_resp.xml +8 -0
- data/data/pdus/smpp_unbind.xml +10 -0
- data/data/pdus/smpp_unbind_resp.xml +10 -0
- data/examples/dump_viewer.rb +298 -0
- data/examples/pdu_composer.rb +1331 -0
- data/knownbugs +24 -0
- data/lib/anthill_smpp_ruby.rb +83 -0
- data/lib/i_smpp_outputter.rb +425 -0
- data/lib/pdu/smpp_alert_notification.rb +132 -0
- data/lib/pdu/smpp_bind.rb +102 -0
- data/lib/pdu/smpp_bind_receiver.rb +29 -0
- data/lib/pdu/smpp_bind_receiver_resp.rb +30 -0
- data/lib/pdu/smpp_bind_resp.rb +100 -0
- data/lib/pdu/smpp_bind_transceiver.rb +29 -0
- data/lib/pdu/smpp_bind_transceiver_resp.rb +31 -0
- data/lib/pdu/smpp_bind_transmitter.rb +29 -0
- data/lib/pdu/smpp_bind_transmitter_resp.rb +30 -0
- data/lib/pdu/smpp_broadcast_sm.rb +566 -0
- data/lib/pdu/smpp_broadcast_sm_resp.rb +130 -0
- data/lib/pdu/smpp_cancel_broadcast_sm.rb +143 -0
- data/lib/pdu/smpp_cancel_broadcast_sm_resp.rb +60 -0
- data/lib/pdu/smpp_cancel_sm.rb +110 -0
- data/lib/pdu/smpp_cancel_sm_resp.rb +60 -0
- data/lib/pdu/smpp_data_sm.rb +679 -0
- data/lib/pdu/smpp_data_sm_resp.rb +148 -0
- data/lib/pdu/smpp_deliver_sm.rb +458 -0
- data/lib/pdu/smpp_deliver_sm_resp.rb +137 -0
- data/lib/pdu/smpp_enquire_link.rb +59 -0
- data/lib/pdu/smpp_enquire_link_resp.rb +61 -0
- data/lib/pdu/smpp_generic_nack.rb +61 -0
- data/lib/pdu/smpp_outbind.rb +71 -0
- data/lib/pdu/smpp_pdu.rb +90 -0
- data/lib/pdu/smpp_query_broadcast_sm.rb +120 -0
- data/lib/pdu/smpp_query_broadcast_sm_resp.rb +192 -0
- data/lib/pdu/smpp_query_sm.rb +92 -0
- data/lib/pdu/smpp_query_sm_resp.rb +92 -0
- data/lib/pdu/smpp_replace_sm.rb +172 -0
- data/lib/pdu/smpp_replace_sm_resp.rb +61 -0
- data/lib/pdu/smpp_resp.rb +40 -0
- data/lib/pdu/smpp_submit_multi.rb +517 -0
- data/lib/pdu/smpp_submit_multi_resp.rb +90 -0
- data/lib/pdu/smpp_submit_sm.rb +591 -0
- data/lib/pdu/smpp_submit_sm_resp.rb +72 -0
- data/lib/pdu/smpp_unbind.rb +60 -0
- data/lib/pdu/smpp_unbind_resp.rb +61 -0
- data/lib/smpp_constants.rb +917 -0
- data/lib/smpp_csv_outputter.rb +1601 -0
- data/lib/smpp_datatypes.rb +89 -0
- data/lib/smpp_decoder.rb +627 -0
- data/lib/smpp_encoder.rb +495 -0
- data/lib/smpp_hex_outputter.rb +36 -0
- data/lib/smpp_outputter_base.rb +315 -0
- data/lib/smpp_structures.rb +98 -0
- data/lib/smpp_txt_outputter.rb +1895 -0
- data/lib/smpp_validator.rb +373 -0
- data/lib/smpp_xml_outputter.rb +34 -0
- data/roadmap +18 -0
- data/setup.rb +1585 -0
- data/test/anthill_smpp_test.rb +29 -0
- data/test/smpp_codec_test.rb +30 -0
- data/test/smpp_datatypes_test.rb +69 -0
- data/test/smpp_outputter_test.rb +1261 -0
- data/test/smpp_parsing_test.rb +1758 -0
- data/test/smpp_rawdump_test.rb +2095 -0
- data/test/smpp_validator_test.rb +441 -0
- metadata +206 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright 2007 Majoron.com (developers@majoron.com)
|
|
3
|
+
# Original sources are available at www.majoron.com
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
#
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
module Majoron
|
|
20
|
+
|
|
21
|
+
module AntHill
|
|
22
|
+
module SMPP
|
|
23
|
+
class SMPPSubmitSMResp < SMPPResp
|
|
24
|
+
# Constructor.
|
|
25
|
+
def initialize(command_status = ErrorCode::ESME_ROK, sequence_number = nil)
|
|
26
|
+
super(CommandId::CM_SUBMIT_SM_RESP, command_status, sequence_number)
|
|
27
|
+
|
|
28
|
+
# Mandatory fields
|
|
29
|
+
@message_id = ""
|
|
30
|
+
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Interface to encode SMPP packet
|
|
34
|
+
def encode_packet(encoder)
|
|
35
|
+
# Encode header and mandatory fields
|
|
36
|
+
encoder.encode_header(@header)
|
|
37
|
+
encoder.encode_message_id(@message_id)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Interface to decode SMPP packet
|
|
41
|
+
def decode_packet(decoder)
|
|
42
|
+
# Decode header and mandatory fields
|
|
43
|
+
@header = decoder.decode_header()
|
|
44
|
+
@message_id = decoder.decode_message_id(command_length())
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Interface to validate SMPP packet
|
|
48
|
+
def validate_packet(validator)
|
|
49
|
+
# Validate header and mandatory fields
|
|
50
|
+
validator.validate_header(@header)
|
|
51
|
+
validator.validate_message_id(@message_id)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# Interface to output SMPP packet
|
|
55
|
+
def output_packet(outputter)
|
|
56
|
+
# Output header and mandatory fields
|
|
57
|
+
outputter.output_header(@header)
|
|
58
|
+
outputter.output_message_id(@message_id)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
public
|
|
62
|
+
# Mandatory fields
|
|
63
|
+
attr_accessor :message_id
|
|
64
|
+
|
|
65
|
+
# Optional fields
|
|
66
|
+
|
|
67
|
+
# Optional fields length
|
|
68
|
+
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright 2007 Majoron.com (developers@majoron.com)
|
|
3
|
+
# Original sources are available at www.majoron.com
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
#
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
module Majoron
|
|
20
|
+
module AntHill
|
|
21
|
+
module SMPP
|
|
22
|
+
class SMPPUnbind < SMPPPDU
|
|
23
|
+
def initialize(command_status = ErrorCode::ESME_ROK, sequence_number = nil)
|
|
24
|
+
super(CommandId::CM_UNBIND, command_status, sequence_number)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Interface to encode SMPP packet
|
|
28
|
+
def encode_packet(encoder)
|
|
29
|
+
# Encode header and mandatory fields
|
|
30
|
+
encoder.encode_header(@header)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Interface to decode SMPP packet
|
|
34
|
+
def decode_packet(decoder)
|
|
35
|
+
# Decode header and mandatory fields
|
|
36
|
+
@header = decoder.decode_header()
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Interface to validate SMPP packet
|
|
40
|
+
def validate_packet(validator)
|
|
41
|
+
# Validate header and mandatory fields
|
|
42
|
+
validator.validate_header(@header)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Interface to output SMPP packet
|
|
46
|
+
def output_packet(outputter)
|
|
47
|
+
# Output header and mandatory fields
|
|
48
|
+
outputter.output_header(@header)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
public
|
|
52
|
+
# Mandatory fields
|
|
53
|
+
|
|
54
|
+
# Optional fields
|
|
55
|
+
|
|
56
|
+
# Optional fields length
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright 2007 Majoron.com (developers@majoron.com)
|
|
3
|
+
# Original sources are available at www.majoron.com
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
#
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
module Majoron
|
|
20
|
+
module AntHill
|
|
21
|
+
module SMPP
|
|
22
|
+
class SMPPUnbindResp < SMPPResp
|
|
23
|
+
# Constructor.
|
|
24
|
+
def initialize(command_status = ErrorCode::ESME_ROK, sequence_number = nil)
|
|
25
|
+
super(CommandId::CM_UNBIND_RESP, command_status, sequence_number)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# Interface to encode SMPP packet
|
|
29
|
+
def encode_packet(encoder)
|
|
30
|
+
# Encode header and mandatory fields
|
|
31
|
+
encoder.encode_header(@header)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Interface to decode SMPP packet
|
|
35
|
+
def decode_packet(decoder)
|
|
36
|
+
# Decode header and mandatory fields
|
|
37
|
+
@header = decoder.decode_header()
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Interface to validate SMPP packet
|
|
41
|
+
def validate_packet(validator)
|
|
42
|
+
# Validate header and mandatory fields
|
|
43
|
+
validator.validate_header(@header)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Interface to output SMPP packet
|
|
47
|
+
def output_packet(outputter)
|
|
48
|
+
# Output header and mandatory fields
|
|
49
|
+
outputter.output_header(@header)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
public
|
|
53
|
+
# Mandatory fields
|
|
54
|
+
|
|
55
|
+
# Optional fields
|
|
56
|
+
|
|
57
|
+
# Optional fields length
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
@@ -0,0 +1,917 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Copyright 2007 Majoron.com (developers@majoron.com)
|
|
3
|
+
# Original sources are available at www.majoron.com
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
#
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
module Majoron
|
|
20
|
+
module AntHill
|
|
21
|
+
module SMPP
|
|
22
|
+
# SMPP commands indentifier
|
|
23
|
+
module CommandId
|
|
24
|
+
CM_GENERIC_NACK = 0x80000000
|
|
25
|
+
CM_BIND_RECEIVER = 0x00000001
|
|
26
|
+
CM_BIND_RECEIVER_RESP = 0x80000001
|
|
27
|
+
CM_BIND_TRANSMITTER = 0x00000002
|
|
28
|
+
CM_BIND_TRANSMITTER_RESP = 0x80000002
|
|
29
|
+
CM_QUERY_SM = 0x00000003
|
|
30
|
+
CM_QUERY_SM_RESP = 0x80000003
|
|
31
|
+
CM_SUBMIT_SM = 0x00000004
|
|
32
|
+
CM_SUBMIT_SM_RESP = 0x80000004
|
|
33
|
+
CM_DELIVER_SM = 0x00000005
|
|
34
|
+
CM_DELIVER_SM_RESP = 0x80000005
|
|
35
|
+
CM_UNBIND = 0x00000006
|
|
36
|
+
CM_UNBIND_RESP = 0x80000006
|
|
37
|
+
CM_REPLACE_SM = 0x00000007
|
|
38
|
+
CM_REPLACE_SM_RESP = 0x80000007
|
|
39
|
+
CM_CANCEL_SM = 0x00000008
|
|
40
|
+
CM_CANCEL_SM_RESP = 0x80000008
|
|
41
|
+
CM_BIND_TRANSCEIVER = 0x00000009
|
|
42
|
+
CM_BIND_TRANSCEIVER_RESP = 0x80000009
|
|
43
|
+
CM_OUTBIND = 0x0000000B
|
|
44
|
+
CM_ENQUIRE_LINK = 0x00000015
|
|
45
|
+
CM_ENQUIRE_LINK_RESP = 0x80000015
|
|
46
|
+
CM_SUBMIT_MULTI = 0x00000021
|
|
47
|
+
CM_SUBMIT_MULTI_RESP = 0x80000021
|
|
48
|
+
CM_ALERT_NOTIFICATION = 0x00000102
|
|
49
|
+
CM_DATA_SM = 0x00000103
|
|
50
|
+
CM_DATA_SM_RESP = 0x80000103
|
|
51
|
+
CM_BROADCAST_SM = 0x00000111
|
|
52
|
+
CM_BROADCAST_SM_RESP = 0x80000111
|
|
53
|
+
CM_QUERY_BROADCAST_SM = 0x00000112
|
|
54
|
+
CM_QUERY_BROADCAST_SM_RESP = 0x80000112
|
|
55
|
+
CM_CANCEL_BROADCAST_SM = 0x00000113
|
|
56
|
+
CM_CANCEL_BROADCAST_SM_RESP = 0x80000113
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# SMPP commands name
|
|
60
|
+
module CommandName
|
|
61
|
+
CM_GENERIC_NACK = "CM_GENERIC_NACK"
|
|
62
|
+
CM_BIND_RECEIVER = "CM_BIND_RECEIVER"
|
|
63
|
+
CM_BIND_RECEIVER_RESP = "CM_BIND_RECEIVER_RESP"
|
|
64
|
+
CM_BIND_TRANSMITTER = "CM_BIND_TRANSMITTER"
|
|
65
|
+
CM_BIND_TRANSMITTER_RESP = "CM_BIND_TRANSMITTER_RESP"
|
|
66
|
+
CM_QUERY_SM = "CM_QUERY_SM"
|
|
67
|
+
CM_QUERY_SM_RESP = "CM_QUERY_SM_RESP"
|
|
68
|
+
CM_SUBMIT_SM = "CM_SUBMIT_SM"
|
|
69
|
+
CM_SUBMIT_SM_RESP = "CM_SUBMIT_SM_RESP"
|
|
70
|
+
CM_DELIVER_SM = "CM_DELIVER_SM"
|
|
71
|
+
CM_DELIVER_SM_RESP = "CM_DELIVER_SM_RESP"
|
|
72
|
+
CM_UNBIND = "CM_UNBIND"
|
|
73
|
+
CM_UNBIND_RESP = "CM_UNBIND_RESP"
|
|
74
|
+
CM_REPLACE_SM = "CM_REPLACE_SM"
|
|
75
|
+
CM_REPLACE_SM_RESP = "CM_REPLACE_SM_RESP"
|
|
76
|
+
CM_CANCEL_SM = "CM_CANCEL_SM"
|
|
77
|
+
CM_CANCEL_SM_RESP = "CM_CANCEL_SM_RESP"
|
|
78
|
+
CM_BIND_TRANSCEIVER = "CM_BIND_TRANSCEIVER"
|
|
79
|
+
CM_BIND_TRANSCEIVER_RESP = "CM_BIND_TRANSCEIVER_RESP"
|
|
80
|
+
CM_OUTBIND = "CM_OUTBIND"
|
|
81
|
+
CM_ENQUIRE_LINK = "CM_ENQUIRE_LINK"
|
|
82
|
+
CM_ENQUIRE_LINK_RESP = "CM_ENQUIRE_LINK_RESP"
|
|
83
|
+
CM_SUBMIT_MULTI = "CM_SUBMIT_MULTI"
|
|
84
|
+
CM_SUBMIT_MULTI_RESP = "CM_SUBMIT_MULTI_RESP"
|
|
85
|
+
CM_ALERT_NOTIFICATION = "CM_ALERT_NOTIFICATION"
|
|
86
|
+
CM_DATA_SM = "CM_DATA_SM"
|
|
87
|
+
CM_DATA_SM_RESP = "CM_DATA_SM_RESP"
|
|
88
|
+
CM_BROADCAST_SM = "CM_BROADCAST_SM"
|
|
89
|
+
CM_BROADCAST_SM_RESP = "CM_BROADCAST_SM_RESP"
|
|
90
|
+
CM_QUERY_BROADCAST_SM = "CM_QUERY_BROADCAST_SM"
|
|
91
|
+
CM_QUERY_BROADCAST_SM_RESP = "CM_QUERY_BROADCAST_SM_RESP"
|
|
92
|
+
CM_CANCEL_BROADCAST_SM = "CM_CANCEL_BROADCAST_SM"
|
|
93
|
+
CM_CANCEL_BROADCAST_SM_RESP = "CM_CANCEL_BROADCAST_SM_RESP"
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
# SMPP errors code
|
|
97
|
+
module ErrorCode
|
|
98
|
+
ESME_ROK = 0x00000000
|
|
99
|
+
ESME_RINVMSGLEN = 0x00000001
|
|
100
|
+
ESME_RINVCMDLEN = 0x00000002
|
|
101
|
+
ESME_RINVCMDID = 0x00000003
|
|
102
|
+
ESME_RINVBNDSTS = 0x00000004
|
|
103
|
+
ESME_RALYBND = 0x00000005
|
|
104
|
+
ESME_RINVPRTFLG = 0x00000006
|
|
105
|
+
ESME_RINVREGDLVFLG = 0x00000007
|
|
106
|
+
ESME_RSYSERR = 0x00000008
|
|
107
|
+
ESME_RINVSRCADR = 0x0000000A
|
|
108
|
+
ESME_RINVDSTADR = 0x0000000B
|
|
109
|
+
ESME_RINVMSGID = 0x0000000C
|
|
110
|
+
ESME_RBINDFAIL = 0x0000000D
|
|
111
|
+
ESME_RINVPASWD = 0x0000000E
|
|
112
|
+
ESME_RINVSYSID = 0x0000000F
|
|
113
|
+
ESME_RCANCELFAIL = 0x00000011
|
|
114
|
+
ESME_RREPLACEFAIL = 0x00000013
|
|
115
|
+
ESME_RMSGQFUL = 0x00000014
|
|
116
|
+
ESME_RINVSERTYP = 0x00000015
|
|
117
|
+
ESME_RINVNUMDESTS = 0x00000033
|
|
118
|
+
ESME_RINVDLNAME = 0x00000034
|
|
119
|
+
ESME_RINVDESTFLAG = 0x00000040
|
|
120
|
+
ESME_RINVSUBREP = 0x00000042
|
|
121
|
+
ESME_RINVESMCLASS = 0x00000043
|
|
122
|
+
ESME_RCNTSUBDL = 0x00000044
|
|
123
|
+
ESME_RSUBMITFAIL = 0x00000045
|
|
124
|
+
ESME_RINVSRCTON = 0x00000048
|
|
125
|
+
ESME_RINVSRCNPI = 0x00000049
|
|
126
|
+
ESME_RINVDSTTON = 0x00000050
|
|
127
|
+
ESME_RINVDSTNPI = 0x00000051
|
|
128
|
+
ESME_RINVSYSTYP = 0x00000053
|
|
129
|
+
ESME_RINVREPFLAG = 0x00000054
|
|
130
|
+
ESME_RINVNUMMSGS = 0x00000055
|
|
131
|
+
ESME_RTHROTTLED = 0x00000058
|
|
132
|
+
ESME_RINVSCHED = 0x00000061
|
|
133
|
+
ESME_RINVEXPIRY = 0x00000062
|
|
134
|
+
ESME_RINVDFTMSGID = 0x00000063
|
|
135
|
+
ESME_RX_T_APPN = 0x00000064
|
|
136
|
+
ESME_RX_P_APPN = 0x00000065
|
|
137
|
+
ESME_RX_R_APPN = 0x00000066
|
|
138
|
+
ESME_RQUERYFAIL = 0x00000067
|
|
139
|
+
ESME_RINVOPTPARSTREAM = 0x000000C0
|
|
140
|
+
ESME_ROPTPARNOTALLWD = 0x000000C1
|
|
141
|
+
ESME_RINVPARLEN = 0x000000C2
|
|
142
|
+
ESME_RMISSINGOPTPARAM = 0x000000C3
|
|
143
|
+
ESME_RINVOPTPARAMVAL = 0x000000C4
|
|
144
|
+
ESME_RDELIVERYFAILURE = 0x000000FE
|
|
145
|
+
ESME_RUNKNOWNERR = 0x000000FF
|
|
146
|
+
ESME_RSERTYPUNAUTH = 0x00000100
|
|
147
|
+
ESME_RPROHIBITED = 0x00000101
|
|
148
|
+
ESME_RSERTYPUNAVAIL = 0x00000102
|
|
149
|
+
ESME_RSERTYPDENIED = 0x00000103
|
|
150
|
+
ESME_RINVDCS = 0x00000104
|
|
151
|
+
ESME_RINVSRCADDRSUBUNIT = 0x00000105
|
|
152
|
+
ESME_RINVDSTADDRSUBUNIT = 0x00000106
|
|
153
|
+
ESME_RINVBCASTFREQINT = 0x00000107
|
|
154
|
+
ESME_RINVBCASTALIAS_NAME = 0x00000108
|
|
155
|
+
ESME_RINVBCASTAREAFMT = 0x00000109
|
|
156
|
+
ESME_RINVNUMBCAST_AREAS = 0x0000010A
|
|
157
|
+
ESME_RINVBCASTCNTTYPE = 0x0000010B
|
|
158
|
+
ESME_RINVBCASTMSGCLASS = 0x0000010C
|
|
159
|
+
ESME_RBCASTFAIL = 0x0000010D
|
|
160
|
+
ESME_RBCASTQUERYFAIL = 0x0000010E
|
|
161
|
+
ESME_RBCASTCANCELFAIL = 0x0000010F
|
|
162
|
+
ESME_RINVBCAST_REP = 0x00000110
|
|
163
|
+
ESME_RINVBCASTSRVGRP = 0x00000111
|
|
164
|
+
ESME_RINVBCASTCHANIND = 0x00000112
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
# SMPP errors name
|
|
168
|
+
module ErrorName
|
|
169
|
+
ESME_ROK = "ESME_ROK"
|
|
170
|
+
ESME_RINVMSGLEN = "ESME_RINVMSGLEN"
|
|
171
|
+
ESME_RINVCMDLEN = "ESME_RINVCMDLEN"
|
|
172
|
+
ESME_RINVCMDID = "ESME_RINVCMDID"
|
|
173
|
+
ESME_RINVBNDSTS = "ESME_RINVBNDSTS"
|
|
174
|
+
ESME_RALYBND = "ESME_RALYBND"
|
|
175
|
+
ESME_RINVPRTFLG = "ESME_RINVPRTFLG"
|
|
176
|
+
ESME_RINVREGDLVFLG = "ESME_RINVREGDLVFLG"
|
|
177
|
+
ESME_RSYSERR = "ESME_RSYSERR"
|
|
178
|
+
ESME_RINVSRCADR = "ESME_RINVSRCADR"
|
|
179
|
+
ESME_RINVDSTADR = "ESME_RINVDSTADR"
|
|
180
|
+
ESME_RINVMSGID = "ESME_RINVMSGID"
|
|
181
|
+
ESME_RBINDFAIL = "ESME_RBINDFAIL"
|
|
182
|
+
ESME_RINVPASWD = "ESME_RINVPASWD"
|
|
183
|
+
ESME_RINVSYSID = "ESME_RINVSYSID"
|
|
184
|
+
ESME_RCANCELFAIL = "ESME_RCANCELFAIL"
|
|
185
|
+
ESME_RREPLACEFAIL = "ESME_RREPLACEFAIL"
|
|
186
|
+
ESME_RMSGQFUL = "ESME_RMSGQFUL"
|
|
187
|
+
ESME_RINVSERTYP = "ESME_RINVSERTYP"
|
|
188
|
+
ESME_RINVNUMDESTS = "ESME_RINVNUMDESTS"
|
|
189
|
+
ESME_RINVDLNAME = "ESME_RINVDLNAME"
|
|
190
|
+
ESME_RINVDESTFLAG = "ESME_RINVDESTFLAG"
|
|
191
|
+
ESME_RINVSUBREP = "ESME_RINVSUBREP"
|
|
192
|
+
ESME_RINVESMCLASS = "ESME_RINVESMCLASS"
|
|
193
|
+
ESME_RCNTSUBDL = "ESME_RCNTSUBDL"
|
|
194
|
+
ESME_RSUBMITFAIL = "ESME_RSUBMITFAIL"
|
|
195
|
+
ESME_RINVSRCTON = "ESME_RINVSRCTON"
|
|
196
|
+
ESME_RINVSRCNPI = "ESME_RINVSRCNPI"
|
|
197
|
+
ESME_RINVDSTTON = "ESME_RINVDSTTON"
|
|
198
|
+
ESME_RINVDSTNPI = "ESME_RINVDSTNPI"
|
|
199
|
+
ESME_RINVSYSTYP = "ESME_RINVSYSTYP"
|
|
200
|
+
ESME_RINVREPFLAG = "ESME_RINVREPFLAG"
|
|
201
|
+
ESME_RINVNUMMSGS = "ESME_RINVNUMMSGS"
|
|
202
|
+
ESME_RTHROTTLED = "ESME_RTHROTTLED"
|
|
203
|
+
ESME_RINVSCHED = "ESME_RINVSCHED"
|
|
204
|
+
ESME_RINVEXPIRY = "ESME_RINVEXPIRY"
|
|
205
|
+
ESME_RINVDFTMSGID = "ESME_RINVDFTMSGID"
|
|
206
|
+
ESME_RX_T_APPN = "ESME_RX_T_APPN"
|
|
207
|
+
ESME_RX_P_APPN = "ESME_RX_P_APPN"
|
|
208
|
+
ESME_RX_R_APPN = "ESME_RX_R_APPN"
|
|
209
|
+
ESME_RQUERYFAIL = "ESME_RQUERYFAIL"
|
|
210
|
+
ESME_RINVOPTPARSTREAM = "ESME_RINVOPTPARSTREAM"
|
|
211
|
+
ESME_ROPTPARNOTALLWD = "ESME_ROPTPARNOTALLWD"
|
|
212
|
+
ESME_RINVPARLEN = "ESME_RINVPARLEN"
|
|
213
|
+
ESME_RMISSINGOPTPARAM = "ESME_RMISSINGOPTPARAM"
|
|
214
|
+
ESME_RINVOPTPARAMVAL = "ESME_RINVOPTPARAMVAL"
|
|
215
|
+
ESME_RDELIVERYFAILURE = "ESME_RDELIVERYFAILURE"
|
|
216
|
+
ESME_RUNKNOWNERR = "ESME_RUNKNOWNERR"
|
|
217
|
+
ESME_RSERTYPUNAUTH = "ESME_RSERTYPUNAUTH"
|
|
218
|
+
ESME_RPROHIBITED = "ESME_RPROHIBITED"
|
|
219
|
+
ESME_RSERTYPUNAVAIL = "ESME_RSERTYPUNAVAIL"
|
|
220
|
+
ESME_RSERTYPDENIED = "ESME_RSERTYPDENIED"
|
|
221
|
+
ESME_RINVDCS = "ESME_RINVDCS"
|
|
222
|
+
ESME_RINVSRCADDRSUBUNIT = "ESME_RINVSRCADDRSUBUNIT"
|
|
223
|
+
ESME_RINVDSTADDRSUBUNIT = "ESME_RINVDSTADDRSUBUNIT"
|
|
224
|
+
ESME_RINVBCASTFREQINT = "ESME_RINVBCASTFREQINT"
|
|
225
|
+
ESME_RINVBCASTALIAS_NAME = "ESME_RINVBCASTALIAS_NAME"
|
|
226
|
+
ESME_RINVBCASTAREAFMT = "ESME_RINVBCASTAREAFMT"
|
|
227
|
+
ESME_RINVNUMBCAST_AREAS = "ESME_RINVNUMBCAST_AREAS"
|
|
228
|
+
ESME_RINVBCASTCNTTYPE = "ESME_RINVBCASTCNTTYPE"
|
|
229
|
+
ESME_RINVBCASTMSGCLASS = "ESME_RINVBCASTMSGCLASS"
|
|
230
|
+
ESME_RBCASTFAIL = "ESME_RBCASTFAIL"
|
|
231
|
+
ESME_RBCASTQUERYFAIL = "ESME_RBCASTQUERYFAIL"
|
|
232
|
+
ESME_RBCASTCANCELFAIL = "ESME_RBCASTCANCELFAIL"
|
|
233
|
+
ESME_RINVBCAST_REP = "ESME_RINVBCAST_REP"
|
|
234
|
+
ESME_RINVBCASTSRVGRP = "ESME_RINVBCASTSRVGRP"
|
|
235
|
+
ESME_RINVBCASTCHANIND = "ESME_RINVBCASTCHANIND"
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
# SMPP optional tags identifier
|
|
239
|
+
module OptTags
|
|
240
|
+
TAG_DEST_ADDR_SUBUNIT = 0x0005 # GSM
|
|
241
|
+
TAG_DEST_NETWORK_TYPE = 0x0006 # Generic
|
|
242
|
+
TAG_DEST_BEARER_TYPE = 0x0007 # Generic
|
|
243
|
+
TAG_DEST_TELEMATICS_ID = 0x0008 # GSM
|
|
244
|
+
TAG_SOURCE_ADDR_SUBUNIT = 0x000D # GSM
|
|
245
|
+
TAG_SOURCE_NETWORK_TYPE = 0x000E # Generic
|
|
246
|
+
TAG_SOURCE_BEARER_TYPE = 0x000F # Generic
|
|
247
|
+
TAG_SOURCE_TELEMATICS_ID = 0x0010 # GSM
|
|
248
|
+
TAG_QOS_TIME_TO_LIVE = 0x0017 # Generic
|
|
249
|
+
TAG_PAYLOAD_TYPE = 0x0019 # Generic
|
|
250
|
+
TAG_ADDITIONAL_STATUS_INFO_TEXT = 0x001D # Generic
|
|
251
|
+
TAG_RECEIPTED_MESSAGE_ID = 0x001E # Generic
|
|
252
|
+
TAG_MS_MSG_WAIT_FACILITIES = 0x0030 # GSM
|
|
253
|
+
TAG_PRIVACY_INDICATOR = 0x0201 # CDMA, TDMA
|
|
254
|
+
TAG_SOURCE_SUBADDRESS = 0x0202 # CDMA, TDMA
|
|
255
|
+
TAG_DEST_SUBADDRESS = 0x0203 # CDMA, TDMA
|
|
256
|
+
TAG_USER_MESSAGE_REFERENCE = 0x0204 # Generic
|
|
257
|
+
TAG_USER_RESPONSE_CODE = 0x0205 # CDMA, TDMA
|
|
258
|
+
TAG_SOURCE_PORT = 0x020A # Generic
|
|
259
|
+
TAG_DESTINATION_PORT = 0x020B # Generic
|
|
260
|
+
TAG_SAR_MSG_REF_NUM = 0x020C # Generic
|
|
261
|
+
TAG_LANGUAGE_INDICATOR = 0x020D # CDMA, TDMA
|
|
262
|
+
TAG_SAR_TOTAL_SEGMENTS = 0x020E # Generic
|
|
263
|
+
TAG_SAR_SEGMENT_SEQNUM = 0x020F # Generic
|
|
264
|
+
TAG_SC_INTERFACE_VERSION = 0x0210 # Generic
|
|
265
|
+
TAG_CALLBACK_NUM_PRES_IND = 0x0302 # TDMA
|
|
266
|
+
TAG_CALLBACK_NUM_ATAG = 0x0303 # TDMA
|
|
267
|
+
TAG_NUMBER_OF_MESSAGES = 0x0304 # CDMA
|
|
268
|
+
TAG_CALLBACK_NUM = 0x0381 # CDMA, TDMA, GSM, iDEN
|
|
269
|
+
TAG_DPF_RESULT = 0x0420 # Generic
|
|
270
|
+
TAG_SET_DPF = 0x0421 # Generic
|
|
271
|
+
TAG_MS_AVAILABILITY_STATUS = 0x0422 # Generic
|
|
272
|
+
TAG_NETWORK_ERROR_CODE = 0x0423 # Generic
|
|
273
|
+
TAG_MESSAGE_PAYLOAD = 0x0424 # Generic
|
|
274
|
+
TAG_DELIVERY_FAILURE_REASON = 0x0425 # Generic
|
|
275
|
+
TAG_MORE_MESSAGES_TO_SEND = 0x0426 # GSM
|
|
276
|
+
TAG_MESSAGE_STATE = 0x0427 # Generic
|
|
277
|
+
TAG_USSD_SERVICE_OP = 0x0501 # GSM (USSD)
|
|
278
|
+
TAG_DISPLAY_TIME = 0x1201 # CDMA, TDMA
|
|
279
|
+
TAG_SMS_SIGNAL = 0x1203 # TDMA
|
|
280
|
+
TAG_MS_VALIDITY = 0x1204 # CDMA, TDMA
|
|
281
|
+
TAG_ALERT_ON_MESSAGE_DELIVERY = 0x130C # CDMA
|
|
282
|
+
TAG_ITS_REPLY_TYPE = 0x1380 # CDMA
|
|
283
|
+
TAG_ITS_SESSION_INFO = 0x1383 # CDMA
|
|
284
|
+
TAG_BROADCAST_CHANNEL_INDICATOR = 0x0600 # GSM
|
|
285
|
+
TAG_BROADCAST_CONTENT_TYPE = 0x0601 # CDMA, TDMA, GSM
|
|
286
|
+
TAG_BROADCAST_CONTENT_TYPE_INFO = 0x0602 # CDMA, TDMA
|
|
287
|
+
TAG_BROADCAST_MESSAGE_CLASS = 0x0603 # GSM
|
|
288
|
+
TAG_BROADCAST_REP_NUM = 0x0604 # GSM
|
|
289
|
+
TAG_BROADCAST_FREQUENCY_INTERVAL = 0x0605 # CDMA, TDMA, GSM
|
|
290
|
+
TAG_BROADCAST_AREA_IDENTIFIER = 0x0606 # CDMA, TDMA, GSM
|
|
291
|
+
TAG_BROADCAST_ERROR_STATUS = 0x0607 # CDMA, TDMA, GSM
|
|
292
|
+
TAG_BROADCAST_AREA_SUCCESS = 0x0608 # GSM
|
|
293
|
+
TAG_BROADCAST_END_TIME = 0x0609 # CDMA, TDMA, GSM
|
|
294
|
+
TAG_BROADCAST_SERVICE_GROUP = 0x060A # CDMA, TDMA
|
|
295
|
+
TAG_BILLING_IDENTIFICATION = 0x060B # Generic
|
|
296
|
+
TAG_SOURCE_NETWORK_ID = 0x060D # Generic
|
|
297
|
+
TAG_DEST_NETWORK_ID = 0x060E # Generic
|
|
298
|
+
TAG_SOURCE_NODE_ID = 0x060F # Generic
|
|
299
|
+
TAG_DEST_NODE_ID = 0x0610 # Generic
|
|
300
|
+
TAG_DEST_ADDR_NP_RESOLUTION = 0x0611 # CDMA, TDMA (US Only)
|
|
301
|
+
TAG_DEST_ADDR_NP_INFORMATION = 0x0612 # CDMA, TDMA (US Only)
|
|
302
|
+
TAG_DEST_ADDR_NP_COUNTRY = 0x0613 # CDMA, TDMA (US Only)
|
|
303
|
+
end
|
|
304
|
+
|
|
305
|
+
# Destination flags values
|
|
306
|
+
module DestFlag
|
|
307
|
+
UNKNOWN = 0
|
|
308
|
+
SME_ADDRESS = 1
|
|
309
|
+
DISTR_LIST_NAME = 2
|
|
310
|
+
end
|
|
311
|
+
|
|
312
|
+
# Broacast area format values
|
|
313
|
+
module BroadcastAreaFormat
|
|
314
|
+
ALIAS = 0x00;
|
|
315
|
+
ELLIPSOID = 0x01
|
|
316
|
+
POLYGON = 0x02
|
|
317
|
+
UNKNOWN = 0xFF
|
|
318
|
+
end
|
|
319
|
+
|
|
320
|
+
# Broadcast area format names
|
|
321
|
+
module BroadcastAreaFormatName
|
|
322
|
+
ALIAS = "ALIAS"
|
|
323
|
+
ELLIPSOID = "ELLIPSOID"
|
|
324
|
+
POLYGON = "POLYGON"
|
|
325
|
+
UNKNOWN = "UNKNOWN"
|
|
326
|
+
end
|
|
327
|
+
|
|
328
|
+
# The following is a list of allowable states for a short message.
|
|
329
|
+
# The message_state value is returned by the SMSC to the ESME as
|
|
330
|
+
# part of the query_sm_resp PDU.
|
|
331
|
+
module MessageState
|
|
332
|
+
# The message is in enroute state.
|
|
333
|
+
ENROUTE = 0x01
|
|
334
|
+
|
|
335
|
+
# Message is delivered todestination.
|
|
336
|
+
DELIVERED = 0x02
|
|
337
|
+
|
|
338
|
+
# Message validity period hasexpired.
|
|
339
|
+
EXPIRED = 0x03
|
|
340
|
+
|
|
341
|
+
# Message has been deleted.
|
|
342
|
+
DELETED = 0x04
|
|
343
|
+
|
|
344
|
+
# Message is undeliverable.
|
|
345
|
+
UNDELIVERABLE = 0x05
|
|
346
|
+
|
|
347
|
+
# Message is in accepted state (i.e. has been manually read
|
|
348
|
+
# on behalf of the subscriber by customer service).
|
|
349
|
+
ACCEPTED = 0x06
|
|
350
|
+
|
|
351
|
+
# Message is in invalid state.
|
|
352
|
+
UNKNOWN = 0x07
|
|
353
|
+
|
|
354
|
+
# Message is in a rejected state.
|
|
355
|
+
REJECTED = 0x08
|
|
356
|
+
|
|
357
|
+
# The message was accepted but not transmitted or
|
|
358
|
+
# broadcast on the network.
|
|
359
|
+
SKIPPED = 0x09
|
|
360
|
+
end
|
|
361
|
+
|
|
362
|
+
# The following is a list of allowable states for a short message.
|
|
363
|
+
# The message_state value is returned by the SMSC to the ESME as
|
|
364
|
+
# part of the query_sm_resp PDU.
|
|
365
|
+
module MessageStateName
|
|
366
|
+
# Message is delivered todestination.
|
|
367
|
+
ENROUTE = "ENROUTE"
|
|
368
|
+
|
|
369
|
+
# Message is delivered todestination.
|
|
370
|
+
DELIVERED = "DELIVRD"
|
|
371
|
+
|
|
372
|
+
# Message validity period hasexpired.
|
|
373
|
+
EXPIRED = "EXPIRED"
|
|
374
|
+
|
|
375
|
+
# Message has been deleted.
|
|
376
|
+
DELETED = "DELETED"
|
|
377
|
+
|
|
378
|
+
# Message is undeliverable.
|
|
379
|
+
UNDELIVERABLE = "UNDELIV"
|
|
380
|
+
|
|
381
|
+
# Message is in accepted state (i.e. has been manually read
|
|
382
|
+
# on behalf of the subscriber by customer service).
|
|
383
|
+
ACCEPTED = "ACCEPTD"
|
|
384
|
+
|
|
385
|
+
# Message is in invalid state.
|
|
386
|
+
UNKNOWN = "UNKNOWN"
|
|
387
|
+
|
|
388
|
+
# Message is in a rejected state.
|
|
389
|
+
REJECTED = "REJECTD"
|
|
390
|
+
|
|
391
|
+
# The message was accepted but not transmitted or
|
|
392
|
+
# broadcast on the network.
|
|
393
|
+
SKIPPED = "SKIPPED"
|
|
394
|
+
end
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
# The network_error_code parameter is used to indicate the actual network
|
|
398
|
+
# error code for a delivery failure.
|
|
399
|
+
module NetworkTypeErrorCode
|
|
400
|
+
ANSI_136_ACCESS_DENIED_REASON = 0x01
|
|
401
|
+
IS_95_ACCESS_DENIED_REASON = 0x02
|
|
402
|
+
GSM = 0x03
|
|
403
|
+
ANSI_136_CAUSE_CODE = 0x04
|
|
404
|
+
IS_95_CAUSE_CODE = 0x05
|
|
405
|
+
ANSI_41_ERROR = 0x06
|
|
406
|
+
SMPP_ERROR = 0x07
|
|
407
|
+
MESSAGE_CENTER_SPECIFIC = 0x08
|
|
408
|
+
end
|
|
409
|
+
|
|
410
|
+
# The network_error_code parameter is used to indicate the actual network
|
|
411
|
+
# error code for a delivery failure.
|
|
412
|
+
module NetworkTypeErrorName
|
|
413
|
+
ANSI_136_ACCESS_DENIED_REASON = "ANSI 136 Access Denied Reason"
|
|
414
|
+
IS_95_ACCESS_DENIED_REASON = "IS 95 Access Denied Reason"
|
|
415
|
+
GSM = "GSM"
|
|
416
|
+
ANSI_136_CAUSE_CODE = "ANSI 136 Cause Code"
|
|
417
|
+
IS_95_CAUSE_CODE = "IS 95 Cause Code"
|
|
418
|
+
ANSI_41_ERROR = "ANSI-41 Error"
|
|
419
|
+
SMPP_ERROR = "SMPP Error"
|
|
420
|
+
MESSAGE_CENTER_SPECIFIC = "Message Center Specific"
|
|
421
|
+
end
|
|
422
|
+
|
|
423
|
+
# This parameter is used to indicate the version of the SMPP protocol.
|
|
424
|
+
module InterfaceVersion
|
|
425
|
+
# Indicates that the ESME supports version 3.3 or earlier of
|
|
426
|
+
# the SMPPprotocol.
|
|
427
|
+
SMPP_VER_0_0 = 0x00
|
|
428
|
+
|
|
429
|
+
# Indicates that the ESME supports version 3.3 or earlier of
|
|
430
|
+
# the SMPPprotocol.
|
|
431
|
+
SMPP_VER_3_3 = 0x33
|
|
432
|
+
|
|
433
|
+
# Indicates that the ESME is supporting SMPP version 3.4.
|
|
434
|
+
SMPP_VER_3_4 = 0x34
|
|
435
|
+
|
|
436
|
+
# Indicates that the ESME is supporting SMPP version 5.0.
|
|
437
|
+
SMPP_VER_5_0 = 0x50
|
|
438
|
+
end
|
|
439
|
+
|
|
440
|
+
# These fields define the Type of Number (TON) to be used in the SME address parameters.
|
|
441
|
+
module TON
|
|
442
|
+
UNKNOWN = 0x00
|
|
443
|
+
INTERNATIONAL = 0x01
|
|
444
|
+
NATIONAL = 0x02
|
|
445
|
+
NETWORK_SPECIFIC = 0x03
|
|
446
|
+
SUBSCRIBER_NUMBER = 0x04
|
|
447
|
+
ALPHANUMERIC = 0x05
|
|
448
|
+
ABBREVIATED = 0x06
|
|
449
|
+
end
|
|
450
|
+
|
|
451
|
+
# These fields define the Numeric Plan Indicator (NPI) to be used in the SME address parameters.
|
|
452
|
+
module NPI
|
|
453
|
+
UNKNOWN = 0x00
|
|
454
|
+
ISDN = 0x01
|
|
455
|
+
DATA = 0x02
|
|
456
|
+
TELEX = 0x03
|
|
457
|
+
LAND_MOBILE = 0x04
|
|
458
|
+
NATIONAL = 0x05
|
|
459
|
+
PRIVATE = 0x06
|
|
460
|
+
ERMES = 0x07
|
|
461
|
+
INTERNET = 0x08
|
|
462
|
+
WAP_CLIENT_ID = 0x09
|
|
463
|
+
end
|
|
464
|
+
|
|
465
|
+
# The service_type parameter can be used to indicate the SMS Application
|
|
466
|
+
# service associated with the message.
|
|
467
|
+
module ServiceType
|
|
468
|
+
NULL_ = "NULL"
|
|
469
|
+
CMT = "CMT"
|
|
470
|
+
CPT = "CPT"
|
|
471
|
+
VMN = "VMN"
|
|
472
|
+
VMA = "VMA"
|
|
473
|
+
WAP = "WAP"
|
|
474
|
+
USSD = "USSD"
|
|
475
|
+
end
|
|
476
|
+
|
|
477
|
+
# The priority_flag parameter allows the originating SME to assign a
|
|
478
|
+
# priority level to the short message.
|
|
479
|
+
module PriorityFlag
|
|
480
|
+
LOWEST = 0x00
|
|
481
|
+
LEVEL1 = 0x01
|
|
482
|
+
LEVEL2 = 0x02
|
|
483
|
+
HIGHEST = 0x03
|
|
484
|
+
end
|
|
485
|
+
|
|
486
|
+
# The replace_if_present_flag parameter is used to request the SMSC
|
|
487
|
+
# to replace a previously submitted message, that is still pending delivery.
|
|
488
|
+
module ReplaceIfPresentFlag
|
|
489
|
+
DONT_REPLACE = 0x00
|
|
490
|
+
REPLACE = 0x01
|
|
491
|
+
end
|
|
492
|
+
|
|
493
|
+
# The network type is used to indicate a network type
|
|
494
|
+
# associated with the destination address of a message.
|
|
495
|
+
module NetworkType
|
|
496
|
+
UNKNOWN = 0x00
|
|
497
|
+
GSM = 0x01
|
|
498
|
+
TDMA = 0x02
|
|
499
|
+
CDMA = 0x03
|
|
500
|
+
PDC = 0x04
|
|
501
|
+
PHS = 0x05
|
|
502
|
+
IDEN = 0x06
|
|
503
|
+
AMPS = 0x07
|
|
504
|
+
PAGING = 0x08
|
|
505
|
+
end
|
|
506
|
+
|
|
507
|
+
# The bearer type parameter is used to request the desired
|
|
508
|
+
# bearer for delivery of the message to the destination address.
|
|
509
|
+
module BearerType
|
|
510
|
+
UNKNOWN = 0x00
|
|
511
|
+
SMS = 0x01
|
|
512
|
+
CSD = 0x02
|
|
513
|
+
PACKET_DATA = 0x03
|
|
514
|
+
USSD = 0x04
|
|
515
|
+
CDPD = 0x05
|
|
516
|
+
DATATAC = 0x06
|
|
517
|
+
FLEX = 0x07
|
|
518
|
+
CELLCAST = 0x08
|
|
519
|
+
end
|
|
520
|
+
|
|
521
|
+
# The privacy indicator indicates the privacy level of the message.
|
|
522
|
+
module PrivacyIndicator
|
|
523
|
+
NOT_RESTRICTED = 0x00
|
|
524
|
+
RESTRICTED = 0x01
|
|
525
|
+
CONFIDENTIAL = 0x02
|
|
526
|
+
SECRET = 0x03
|
|
527
|
+
end
|
|
528
|
+
|
|
529
|
+
# The display time parameter is used to associate a display time of
|
|
530
|
+
# the short message on the MS.
|
|
531
|
+
module DisplayTime
|
|
532
|
+
TEMPORARY = 0x00
|
|
533
|
+
DEFAULT = 0x01
|
|
534
|
+
INVOKE = 0x02
|
|
535
|
+
end
|
|
536
|
+
|
|
537
|
+
# The ms validity parameter is used to provide an MS with validity
|
|
538
|
+
# information associated with the received short message.
|
|
539
|
+
module MsValidity
|
|
540
|
+
Store_Indefinitely = 0x00
|
|
541
|
+
POWER_DOWN = 0x01
|
|
542
|
+
SID_BASED_RA = 0x02
|
|
543
|
+
DISPLAY_ONLY = 0x03
|
|
544
|
+
end
|
|
545
|
+
|
|
546
|
+
# The dpf result parameter is used in the data_sm_resp PDU to indicate
|
|
547
|
+
# if delivery pending flag (DPF) was set for a delivery failure of
|
|
548
|
+
# the short message.
|
|
549
|
+
module DpfResult
|
|
550
|
+
DPF_NOT_SET = 0x00
|
|
551
|
+
DPF_SET = 0x01
|
|
552
|
+
end
|
|
553
|
+
|
|
554
|
+
#
|
|
555
|
+
module SetDpf
|
|
556
|
+
NOT_REQUESTED = 0x00
|
|
557
|
+
REQUESTED = 0x01
|
|
558
|
+
end
|
|
559
|
+
|
|
560
|
+
# The ms_availability_status parameter is used in the alert_notification
|
|
561
|
+
# operation to indicate the availability state of the MS to the ESME.
|
|
562
|
+
module MsAvailabilityStatus
|
|
563
|
+
AVAILABLE = 0x00
|
|
564
|
+
DENIED = 0x01
|
|
565
|
+
UNAVAILABLE = 0x02
|
|
566
|
+
end
|
|
567
|
+
|
|
568
|
+
# The delivery failure_reason parameter is used in the data_sm_resp operation to
|
|
569
|
+
# indicate the outcome of the message delivery attempt (only applicable for
|
|
570
|
+
# transaction message mode).
|
|
571
|
+
module DeliveryFailureReason
|
|
572
|
+
DESTINATION_UNAVAILABLE = 0x00
|
|
573
|
+
DESTINATION_ADDRESS_INVALID = 0x01
|
|
574
|
+
PERMANENT_NETWORK_ERROR = 0x02
|
|
575
|
+
TEMPORARY_NETWORK_ERROR = 0x03
|
|
576
|
+
end
|
|
577
|
+
|
|
578
|
+
# The more messages to send parameter is used by the ESME in the submit_sm and
|
|
579
|
+
# data_sm operations to indicate to the SMSC that there are further messages
|
|
580
|
+
# for the same destination SME.
|
|
581
|
+
module MoreMessagesToSend
|
|
582
|
+
NO_MORE_MESSAGES = 0x00
|
|
583
|
+
MORE_MESSAGES = 0x01
|
|
584
|
+
end
|
|
585
|
+
|
|
586
|
+
# The its reply type parameter is a required parameter for the CDMA
|
|
587
|
+
# Interactive Teleservice as defined by the Korean PCS carriers [KORITS].
|
|
588
|
+
# It indicates and controls the MS user's reply method to an SMS delivery
|
|
589
|
+
# message received from the ESME.
|
|
590
|
+
module ItsReplyType
|
|
591
|
+
DIGIT = 0x00
|
|
592
|
+
NUMBER = 0x01
|
|
593
|
+
TELEPHONE_NO = 0x02
|
|
594
|
+
PASSWORD = 0x03
|
|
595
|
+
CHARACTER_LINE = 0x04
|
|
596
|
+
MENU = 0x05
|
|
597
|
+
DATE = 0x06
|
|
598
|
+
TIME = 0x07
|
|
599
|
+
CONTINUE = 0x07
|
|
600
|
+
end
|
|
601
|
+
|
|
602
|
+
# The ussd service op parameter is required to define the USSD service
|
|
603
|
+
# operation when SMPP is being used as an interface to a (GSM) USSD system.
|
|
604
|
+
module UssdServiceOp
|
|
605
|
+
PSSD_INDICATION = 0x00
|
|
606
|
+
PSSR_INDICATION = 0x01
|
|
607
|
+
USSR_REQUEST = 0x02
|
|
608
|
+
USSN_REQUEST = 0x03
|
|
609
|
+
PSSD_RESPONSE = 0x10
|
|
610
|
+
PSSR_RESPONSE = 0x11
|
|
611
|
+
USSR_CONFIRM = 0x12
|
|
612
|
+
USSN_CONFIRM = 0x13
|
|
613
|
+
end
|
|
614
|
+
|
|
615
|
+
# Limitation for SMPP fields.
|
|
616
|
+
module SMPPMaxLen
|
|
617
|
+
# A max len for field.
|
|
618
|
+
SYSTEM_ID_MAX_LEN = 16
|
|
619
|
+
|
|
620
|
+
# A max len for field.
|
|
621
|
+
PASSWORD_MAX_LEN = 9
|
|
622
|
+
|
|
623
|
+
# A max len for field.
|
|
624
|
+
SYSTEM_TYPE_MAX_LEN = 13
|
|
625
|
+
|
|
626
|
+
# A max len for field.
|
|
627
|
+
ADDRESS_RANGE_MAX_LEN = 41
|
|
628
|
+
|
|
629
|
+
# A max len for field.
|
|
630
|
+
SERVICE_TYPE_MAX_LEN = 6
|
|
631
|
+
|
|
632
|
+
# A max len for field.
|
|
633
|
+
SOURCE_ADDR_MAX_LEN_21 = 21
|
|
634
|
+
|
|
635
|
+
# A max len for field.
|
|
636
|
+
DESTINATION_ADDR_MAX_LEN_21 = 21
|
|
637
|
+
|
|
638
|
+
# A max len for field.
|
|
639
|
+
SOURCE_ADDR_MAX_LEN_65 = 65
|
|
640
|
+
|
|
641
|
+
# A max len for field.
|
|
642
|
+
DESTINATION_ADDR_MAX_LEN_65 = 65
|
|
643
|
+
|
|
644
|
+
# A max len for field.
|
|
645
|
+
SMPP_DATETIME_MAX_LEN = 17
|
|
646
|
+
|
|
647
|
+
# A max len for field.
|
|
648
|
+
MESSAGE_ID_MAX_LEN = 65
|
|
649
|
+
|
|
650
|
+
# A max len for field.
|
|
651
|
+
ESME_ADDR_MAX_LEN = 65
|
|
652
|
+
|
|
653
|
+
# A max len for field.
|
|
654
|
+
DL_NAME_MAX_LEN = 21
|
|
655
|
+
|
|
656
|
+
# A max len for field.
|
|
657
|
+
SCHEDULE_DELIVERY_TIME_MAX_LEN = 17
|
|
658
|
+
|
|
659
|
+
# A max len for field.
|
|
660
|
+
VALIDITY_PERIOD_MAX_LEN = 17
|
|
661
|
+
|
|
662
|
+
# A max len for field.
|
|
663
|
+
BROADCAST_END_TIME_MAX_LEN = 17
|
|
664
|
+
end
|
|
665
|
+
|
|
666
|
+
# TLV len
|
|
667
|
+
module SMPPTLVLen
|
|
668
|
+
# Byte len at TLV field
|
|
669
|
+
ZERO_LEN = 0
|
|
670
|
+
|
|
671
|
+
# Byte len at TLV field
|
|
672
|
+
BYTE_LEN = 1
|
|
673
|
+
|
|
674
|
+
# Word len at TLV field
|
|
675
|
+
WORD_LEN = 2
|
|
676
|
+
|
|
677
|
+
# Three bytes len at TLV field
|
|
678
|
+
THREE_BYTE_LEN = 3
|
|
679
|
+
|
|
680
|
+
# Dword len at TLV field
|
|
681
|
+
DWORD_LEN = 4
|
|
682
|
+
end
|
|
683
|
+
|
|
684
|
+
# Errors code for reporting.
|
|
685
|
+
module FieldsName
|
|
686
|
+
COMMAND_LENGTH = "Command length"
|
|
687
|
+
COMMAND_ID = "Command id"
|
|
688
|
+
COMMAND_STATUS = "Command status"
|
|
689
|
+
SEQUENCE_NUMBER = "Sequence number"
|
|
690
|
+
SYSTEM_ID = "System id"
|
|
691
|
+
PASSWORD = "Password"
|
|
692
|
+
SYSTEM_TYPE = "System type"
|
|
693
|
+
INTERFACE_VERSION = "Interface version"
|
|
694
|
+
ADDR_TON = "Addr TON"
|
|
695
|
+
ADDR_NPI = "Addr NPI"
|
|
696
|
+
ADDRESS_RANGE = "Address range"
|
|
697
|
+
SERVICE_TYPE = "Service type"
|
|
698
|
+
SOURCE_ADDR_TON = "Source addr TON"
|
|
699
|
+
SOURCE_ADDR_NPI = "Source addr NPI"
|
|
700
|
+
SOURCE_ADDR = "Source addr"
|
|
701
|
+
DEST_ADDR_TON = "Dest addr TON"
|
|
702
|
+
DEST_ADDR_NPI = "Dest addr NPI"
|
|
703
|
+
DEST_ADDR = "Dest addr"
|
|
704
|
+
ESM_CLASS = "ESM class"
|
|
705
|
+
PROTOCOLID = "ProtocolId"
|
|
706
|
+
PRIORITY_FLAG = "Priority flag"
|
|
707
|
+
SCHEDULE_DELIVERY_TIME = "Schedule delivery time"
|
|
708
|
+
VALIDITY_PERIOD = "Validity period"
|
|
709
|
+
REGISTERED_DELIVERY = "Registered delivery"
|
|
710
|
+
REPLACE_IF_PRESENT = "Replace if present"
|
|
711
|
+
DATA_CODING = "Data coding"
|
|
712
|
+
SM_DEFAULT_MSG_ID = "SM default msg id"
|
|
713
|
+
SM_LENGTH = "SM length"
|
|
714
|
+
SHORT_MESSAGE = "Short message"
|
|
715
|
+
MESSAGE_ID = "Message id"
|
|
716
|
+
ESME_ADDR_TON = "ESME addr TON"
|
|
717
|
+
ESME_ADDR_NPI = "ESME addr NPI"
|
|
718
|
+
ESME_ADDR = "ESME addr"
|
|
719
|
+
NUMBER_OF_DEST = "Number of dest"
|
|
720
|
+
DEST_ADDRESSES = "Dest addresses"
|
|
721
|
+
DESTFLAG = "DestFlag"
|
|
722
|
+
TON = "TON"
|
|
723
|
+
NPI = "NPI"
|
|
724
|
+
ADDRESS = "Address"
|
|
725
|
+
DISTR_LIST_NAME = "Distr List Name"
|
|
726
|
+
NO_UNSUCCESS = "No unsuccess"
|
|
727
|
+
UNSUCCESS_SMES = "Unsuccess SMEs"
|
|
728
|
+
FINAL_DATE = "Final date"
|
|
729
|
+
MESSAGE_STATE = "Message state"
|
|
730
|
+
ERROR_CODE = "Error code"
|
|
731
|
+
BROADCAST_AREA_SUCCESS = "Broadcast area success"
|
|
732
|
+
BROADCAST_AREA_IDENTIFIER = "Broadcast area identifier"
|
|
733
|
+
BROADCAST_REP_NUM = "Broadcast rep num"
|
|
734
|
+
BROADCAST_FREQUENCY_INTERVAL = "Broadcast frequency interval"
|
|
735
|
+
BROADCAST_CONTENT_TYPE = "Broadcast content type"
|
|
736
|
+
SC_INTERFACE_VERSION = "Sc interface version"
|
|
737
|
+
MS_AVAILABILITY_STATUS = "MS availability status"
|
|
738
|
+
ALERT_ON_MSG_DELIVERY = "Alert on msg delivery"
|
|
739
|
+
BROADCAST_CHANNEL_INDICATOR = "Broadcast channel indicator"
|
|
740
|
+
BROADCAST_CONTENT_TYPE_INFO = "Broadcast content type info"
|
|
741
|
+
BROADCAST_MESSAGE_CLASS = "Broadcast message class"
|
|
742
|
+
BROADCAST_SERVICE_GROUP = "Broadcast service group"
|
|
743
|
+
CALLBACK_NUM = "Callback num"
|
|
744
|
+
CALLBACK_NUM_ATAG = "Callback num atag"
|
|
745
|
+
CALLBACK_NUM_PRES_IND = "Callback num pres ind"
|
|
746
|
+
DEST_ADDR_SUBUNIT = "Dest addr subunit"
|
|
747
|
+
DEST_SUBADDRESS = "Dest subaddress"
|
|
748
|
+
DISPLAY_TIME = "Display time"
|
|
749
|
+
LANGUAGE_INDICATOR = "Language indicator"
|
|
750
|
+
MESSAGE_PAYLOAD = "Message payload"
|
|
751
|
+
MS_VALIDITY = "Ms validity"
|
|
752
|
+
PAYLOAD_TYPE = "Payload type"
|
|
753
|
+
PRIVACY_INDICATOR = "Privacy indicator"
|
|
754
|
+
SMS_SIGNAL = "Sms signal"
|
|
755
|
+
SOURCE_ADDR_SUBUNIT = "Source addr subunit"
|
|
756
|
+
SOURCE_PORT = "Source port"
|
|
757
|
+
SOURCE_SUBADDRESS = "Source subaddress"
|
|
758
|
+
USER_MESSAGE_REFERENCE = "User message reference"
|
|
759
|
+
BROADCAST_ERROR_STATUS = "Broadcast error status"
|
|
760
|
+
FAILED_BROADCAST_AREA_IDENTIFIER = "Failed broadcast area identifier"
|
|
761
|
+
SOURCE_NETWORK_TYPE = "Source network type"
|
|
762
|
+
SOURCE_BEARER_TYPE = "Source bearer type"
|
|
763
|
+
SOURCE_TELEMATICS_ID = "Source telematics id"
|
|
764
|
+
DESTINATION_PORT = "Destination port"
|
|
765
|
+
DEST_NETWORK_TYPE = "Dest network type"
|
|
766
|
+
DEST_BEARER_TYPE = "Dest bearer type"
|
|
767
|
+
DEST_TELEMATICS_ID = "Dest telematics id"
|
|
768
|
+
SAR_MSG_REF_NUM = "Sar msg ref num"
|
|
769
|
+
SAR_TOTAL_SEGMENTS = "Sar total segments"
|
|
770
|
+
SAR_SEGMENT_SEQNUM = "Sar segment seqnum"
|
|
771
|
+
MORE_MESSAGES_TO_SEND = "More messages to send"
|
|
772
|
+
QOS_TIME_TO_LIVE = "Qos time to live"
|
|
773
|
+
SET_DPF = "Set dpf"
|
|
774
|
+
RECEIPTED_MESSAGE_ID = "Receipted message id"
|
|
775
|
+
NETWORK_ERROR_CODE = "Network error code"
|
|
776
|
+
MS_MSG_WAIT_FACILITIES = "Ms msg wait facilities"
|
|
777
|
+
NUMBER_OF_MESSAGES = "Number of messages"
|
|
778
|
+
ITS_REPLY_TYPE = "Its reply type"
|
|
779
|
+
ITS_SESSION_INFO = "Its session info"
|
|
780
|
+
USER_RESPONSE_CODE = "User response code"
|
|
781
|
+
DELIVERY_FAILURE_REASON = "Delivery failure reason"
|
|
782
|
+
ADDITIONAL_STATUS_INFO_TEXT = "Additional status info text"
|
|
783
|
+
DPF_RESULT = "Dpf result"
|
|
784
|
+
BROADCAST_END_TIME = "Broadcast end time"
|
|
785
|
+
USSD_SERVICE_OP = "Ussd service op"
|
|
786
|
+
ERROR_STATUS_CODE = "Error status code"
|
|
787
|
+
|
|
788
|
+
INV_DEST_FLAG = "Inv dest flag"
|
|
789
|
+
|
|
790
|
+
end
|
|
791
|
+
|
|
792
|
+
# Outputter symbols
|
|
793
|
+
module Outputter
|
|
794
|
+
WIDTH_HEADER = 3
|
|
795
|
+
WIDTH_LENGTH = 7
|
|
796
|
+
WIDTH_FLDNAME = 40
|
|
797
|
+
HEADER = "H"
|
|
798
|
+
MANDATORY = "M"
|
|
799
|
+
OPTIONAL_ = "O"
|
|
800
|
+
COMMA = ","
|
|
801
|
+
LBRACKET = "["
|
|
802
|
+
RBRACKET = "]"
|
|
803
|
+
LCURLYBRACE = "{"
|
|
804
|
+
RCURLYBRACE = "}"
|
|
805
|
+
SEPARATOR = "|"
|
|
806
|
+
COLON = ":"
|
|
807
|
+
SEMICOLON = ";"
|
|
808
|
+
SPACE = " "
|
|
809
|
+
EQUAL = "="
|
|
810
|
+
HEX = "HEX"
|
|
811
|
+
HEXSIGN = "0x"
|
|
812
|
+
ZEROSIGN = "0"
|
|
813
|
+
EMPTY = ""
|
|
814
|
+
end
|
|
815
|
+
|
|
816
|
+
# Constants about esm class.
|
|
817
|
+
module EsmClass
|
|
818
|
+
MESSAGING_MODE = "Messaging mode"
|
|
819
|
+
MESSAGE_TYPE = "Message type"
|
|
820
|
+
MESSAGE_FEATURES = "Message features"
|
|
821
|
+
|
|
822
|
+
# Available messing mode.
|
|
823
|
+
MODE_UNKNOWN = "Unknown"
|
|
824
|
+
MODE_DEFAULT = "Default SMSC Mode"
|
|
825
|
+
MODE_DATAGRAM = "Datagram mode"
|
|
826
|
+
MODE_TRANSACTION = "Forward (i.e. Transaction) mode"
|
|
827
|
+
MODE_STORE = "Store and Forward mode"
|
|
828
|
+
|
|
829
|
+
# Available message type.
|
|
830
|
+
TYPE_UNKNOWN = "Unknown"
|
|
831
|
+
TYPE_DEFAULT = "Default message Type (i.e. normal message)"
|
|
832
|
+
TYPE_DELIVERY_RECEIPT = "Short Message contains SMSC Delivery Receipt"
|
|
833
|
+
TYPE_DELIVERY_ACKNOWLEDGEMENT = "Short Message contains SMSC Delivery Acknowledgment"
|
|
834
|
+
TYPE_USER_ACKNOWLEDGEMENT = "Short Message contains SME Manual/User Acknowledgment"
|
|
835
|
+
TYPE_ABORT = "Short Message contains Conversation Abort (Korean CDMA)"
|
|
836
|
+
TYPE_INTERMEDIATE_NOTIFICATION = "Short Message contains Intermediate Delivery Notification"
|
|
837
|
+
|
|
838
|
+
# Available message features.
|
|
839
|
+
FEATURES_UNKNOWN = "Unknown"
|
|
840
|
+
FEATURES_NO_SELECTED = "No specific features selected"
|
|
841
|
+
FEATURES_UDHI = "UDHI Indicator set"
|
|
842
|
+
FEATURES_REPLY_PATH = "Reply Path"
|
|
843
|
+
FEATURES_UDHI_REPLY_PATH = "UDHI and Reply Path"
|
|
844
|
+
end
|
|
845
|
+
|
|
846
|
+
|
|
847
|
+
# SMPP fields offsets inside command header
|
|
848
|
+
module SMPPOffset
|
|
849
|
+
# SMPP's header size in the bytes.
|
|
850
|
+
SMPP_HEADER_SIZE = 16
|
|
851
|
+
|
|
852
|
+
# Offset or shift for message lenght field at header.
|
|
853
|
+
COMMAND_LENGTH_POS = 0
|
|
854
|
+
|
|
855
|
+
# Offset or shift for command code field at header.
|
|
856
|
+
COMMAND_ID_POS = 4
|
|
857
|
+
|
|
858
|
+
# Offset or shift for command code field at header.
|
|
859
|
+
TLV_CODE_POS = 0
|
|
860
|
+
|
|
861
|
+
# SMPP tag size at TLV structure.
|
|
862
|
+
TLV_TAG_LENGHT = 2
|
|
863
|
+
|
|
864
|
+
# SMPP length size at TLV structure..
|
|
865
|
+
TLV_LENGTH_LENGHT = 2
|
|
866
|
+
end
|
|
867
|
+
|
|
868
|
+
# SMPP packet validation errors
|
|
869
|
+
module CodecErrors
|
|
870
|
+
ENCODER_INV_DSTFLAG = "Unable to encode dest addresses due to invalid dest flag. Offset is: %d. Dest flag is: %d"
|
|
871
|
+
|
|
872
|
+
DECODER_INV_DSTFLAG = "Unable to decode dest addresses due to invalid dest flag. Offset is: %d. Dest flag is: %d"
|
|
873
|
+
|
|
874
|
+
VALIDATE_PASSWORD_MAX_LEN = "Password is greater than max size according to spec."
|
|
875
|
+
VALIDATE_SYSTEM_TYPE_MAX_LEN = "System type is greater than max size according to spec."
|
|
876
|
+
VALIDATE_ADDRESS_RANGE_MAX_LEN = "Address range is greater than max size according to spec.";
|
|
877
|
+
VALIDATE_SCHEDULE_DELIVERY_TIME_MAX_LEN = "Schedule delivery time is greater than max size according to spec."
|
|
878
|
+
VALIDATE_SCHEDULE_DELIVERY_TIME_RANGE_LEN = "Schedule delivery time size is not according to spec."
|
|
879
|
+
VALIDATE_VALIDITY_PERIOD_MAX_LEN = "Validity period is greater than max size according to spec."
|
|
880
|
+
VALIDATE_VALIDITY_PERIOD_RANGE_LEN = "Validity period size is not according to spec."
|
|
881
|
+
VALIDATE_DEST_ADDRESSES_LEN = "Dest addresses len should be equal to number of dests."
|
|
882
|
+
VALIDATE_UNSUCCESS_SMES_LEN = "Unsuccess SMEs len should be equal to no unsuccess."
|
|
883
|
+
VALIDATE_TLV_BYTE_LEN = "Len value for TLV is not according to spec. It should be equal to 1. Len is: %1% Tag is: %2%"
|
|
884
|
+
VALIDATE_TLV_WORD_LEN = "Len value for TLV is not according to spec. It should be equal to 2. Len is: %2% Tag is: %2%"
|
|
885
|
+
VALIDATE_TLV_THREE_BYTE_LEN = "Len value for TLV is not according to spec. It should be equal to 3. Len is: %2% Tag is: %2%"
|
|
886
|
+
VALIDATE_TLV_DWORD_LEN = "Len value for TLV is not according to spec. It should be equal to 4. Len is: %2% Tag is: %2%"
|
|
887
|
+
VALIDATE_BROADCAST_END_TIME_MAX_LEN = "Broadcast end time is greater than max size according to spec."
|
|
888
|
+
VALIDATE_BROADCAST_END_TIME_RANGE_LEN = "Broadcast end time size is not according to spec."
|
|
889
|
+
VALIDATE_BROADCAST_AREA_IDENTIFIER_MIN_LEN = "Broadcast area identifier is mandatory fields. It should present"
|
|
890
|
+
VALIDATE_BROADCAST_AREA_IDENTIFIER_LEN = "Broadcast area identifier and broadcast area identifier len should be the same size."
|
|
891
|
+
VALIDATE_FAILED_BROADCAST_AREA_IDENTIFIER_LEN = "Failed broadcast area identifier and failed broadcast area identifier len should be the same size."
|
|
892
|
+
|
|
893
|
+
VALIDATE_INTERFACE_VERSION_VALUE = "Interface version or sc interface version is not according to spec. Allowed values between 0x00 and 0x34 or 0x50. Version is: %d"
|
|
894
|
+
VALIDATE_MESSAGE_STATE_VALUE = "Message State is not according to spec. Allowed values between 1 and 9. Message state is: %d"
|
|
895
|
+
|
|
896
|
+
VALIDATE_MESSAGE_ID_NULL_LEN = "Message id should be NULL."
|
|
897
|
+
VALIDATE_SHORT_MESSAGE_PAYLOAD_LEN = "Short message and message payload shoult not be used simultaneously."
|
|
898
|
+
end
|
|
899
|
+
|
|
900
|
+
# SMPP errors
|
|
901
|
+
module Errors
|
|
902
|
+
# Interface is not implemented
|
|
903
|
+
INTERFACE_NOT_IMPLEMENTED = "Interface is not impelemented"
|
|
904
|
+
|
|
905
|
+
#
|
|
906
|
+
DECODE_FAILURE_MSG = "Error: unable to decode packet. "
|
|
907
|
+
|
|
908
|
+
#
|
|
909
|
+
UNKNOWN_TAG_MSG = "Error: unable to decode TLV due to unknown tag. "
|
|
910
|
+
|
|
911
|
+
end
|
|
912
|
+
|
|
913
|
+
|
|
914
|
+
|
|
915
|
+
end
|
|
916
|
+
end
|
|
917
|
+
end
|