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,36 @@
|
|
|
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 SMPPHexOutputter < AntHill::TxtOutputter
|
|
24
|
+
include SMPPOutputterBase
|
|
25
|
+
|
|
26
|
+
def initialize(ostream)
|
|
27
|
+
super(ostream)
|
|
28
|
+
initialize_smpp_outputter_base()
|
|
29
|
+
raise Errors::INTERFACE_NOT_IMPLEMENTED
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,315 @@
|
|
|
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
|
+
module SMPPOutputterBase
|
|
23
|
+
include ISMPPOutputter
|
|
24
|
+
|
|
25
|
+
def initialize_smpp_outputter_base()
|
|
26
|
+
initialize_i_smpp_outputter()
|
|
27
|
+
@encoder = SMPPEncoder.new()
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
# Get command name based on comamnd id
|
|
32
|
+
def get_command_name(command_id)
|
|
33
|
+
case command_id
|
|
34
|
+
when CommandId::CM_GENERIC_NACK
|
|
35
|
+
return CommandName::CM_GENERIC_NACK
|
|
36
|
+
when CommandId::CM_BIND_RECEIVER
|
|
37
|
+
return CommandName::CM_BIND_RECEIVER
|
|
38
|
+
when CommandId::CM_BIND_RECEIVER_RESP
|
|
39
|
+
return CommandName::CM_BIND_RECEIVER_RESP
|
|
40
|
+
when CommandId::CM_BIND_TRANSMITTER
|
|
41
|
+
return CommandName::CM_BIND_TRANSMITTER
|
|
42
|
+
when CommandId::CM_BIND_TRANSMITTER_RESP
|
|
43
|
+
return CommandName::CM_BIND_TRANSMITTER_RESP
|
|
44
|
+
when CommandId::CM_QUERY_SM
|
|
45
|
+
return CommandName::CM_QUERY_SM
|
|
46
|
+
when CommandId::CM_QUERY_SM_RESP
|
|
47
|
+
return CommandName::CM_QUERY_SM_RESP
|
|
48
|
+
when CommandId::CM_SUBMIT_SM
|
|
49
|
+
return CommandName::CM_SUBMIT_SM
|
|
50
|
+
when CommandId::CM_SUBMIT_SM_RESP
|
|
51
|
+
return CommandName::CM_SUBMIT_SM_RESP
|
|
52
|
+
when CommandId::CM_DELIVER_SM
|
|
53
|
+
return CommandName::CM_DELIVER_SM
|
|
54
|
+
when CommandId::CM_DELIVER_SM_RESP
|
|
55
|
+
return CommandName::CM_DELIVER_SM_RESP
|
|
56
|
+
when CommandId::CM_UNBIND
|
|
57
|
+
return CommandName::CM_UNBIND
|
|
58
|
+
when CommandId::CM_UNBIND_RESP
|
|
59
|
+
return CommandName::CM_UNBIND_RESP
|
|
60
|
+
when CommandId::CM_REPLACE_SM
|
|
61
|
+
return CommandName::CM_REPLACE_SM
|
|
62
|
+
when CommandId::CM_REPLACE_SM_RESP
|
|
63
|
+
return CommandName::CM_REPLACE_SM_RESP
|
|
64
|
+
when CommandId::CM_CANCEL_SM
|
|
65
|
+
return CommandName::CM_CANCEL_SM
|
|
66
|
+
when CommandId::CM_CANCEL_SM_RESP
|
|
67
|
+
return CommandName::CM_CANCEL_SM_RESP
|
|
68
|
+
when CommandId::CM_BIND_TRANSCEIVER
|
|
69
|
+
return CommandName::CM_BIND_TRANSCEIVER
|
|
70
|
+
when CommandId::CM_BIND_TRANSCEIVER_RESP
|
|
71
|
+
return CommandName::CM_BIND_TRANSCEIVER_RESP
|
|
72
|
+
when CommandId::CM_OUTBIND
|
|
73
|
+
return CommandName::CM_OUTBIND
|
|
74
|
+
when CommandId::CM_ENQUIRE_LINK
|
|
75
|
+
return CommandName::CM_ENQUIRE_LINK
|
|
76
|
+
when CommandId::CM_ENQUIRE_LINK_RESP
|
|
77
|
+
return CommandName::CM_ENQUIRE_LINK_RESP
|
|
78
|
+
when CommandId::CM_SUBMIT_MULTI
|
|
79
|
+
return CommandName::CM_SUBMIT_MULTI
|
|
80
|
+
when CommandId::CM_SUBMIT_MULTI_RESP
|
|
81
|
+
return CommandName::CM_SUBMIT_MULTI_RESP
|
|
82
|
+
when CommandId::CM_ALERT_NOTIFICATION
|
|
83
|
+
return CommandName::CM_ALERT_NOTIFICATION
|
|
84
|
+
when CommandId::CM_DATA_SM
|
|
85
|
+
return CommandName::CM_DATA_SM
|
|
86
|
+
when CommandId::CM_DATA_SM_RESP
|
|
87
|
+
return CommandName::CM_DATA_SM_RESP
|
|
88
|
+
when CommandId::CM_BROADCAST_SM
|
|
89
|
+
return CommandName::CM_BROADCAST_SM
|
|
90
|
+
when CommandId::CM_BROADCAST_SM_RESP
|
|
91
|
+
return CommandName::CM_BROADCAST_SM_RESP
|
|
92
|
+
when CommandId::CM_QUERY_BROADCAST_SM
|
|
93
|
+
return CommandName::CM_QUERY_BROADCAST_SM
|
|
94
|
+
when CommandId::CM_QUERY_BROADCAST_SM_RESP
|
|
95
|
+
return CommandName::CM_QUERY_BROADCAST_SM_RESP
|
|
96
|
+
when CommandId::CM_CANCEL_BROADCAST_SM
|
|
97
|
+
return CommandName::CM_CANCEL_BROADCAST_SM
|
|
98
|
+
when CommandId::CM_CANCEL_BROADCAST_SM_RESP
|
|
99
|
+
return CommandName::CM_CANCEL_BROADCAST_SM_RESP
|
|
100
|
+
else
|
|
101
|
+
return "Unknown command id"
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
# Get error name based on error code
|
|
107
|
+
def get_error_name(error_code)
|
|
108
|
+
case error_code
|
|
109
|
+
when ErrorCode::ESME_ROK
|
|
110
|
+
return ErrorName::ESME_ROK
|
|
111
|
+
when ErrorCode::ESME_RINVMSGLEN
|
|
112
|
+
return ErrorName::ESME_RINVMSGLEN
|
|
113
|
+
when ErrorCode::ESME_RINVCMDLEN
|
|
114
|
+
return ErrorName::ESME_RINVCMDLEN
|
|
115
|
+
when ErrorCode::ESME_RINVCMDID
|
|
116
|
+
return ErrorName::ESME_RINVCMDID
|
|
117
|
+
when ErrorCode::ESME_RINVBNDSTS
|
|
118
|
+
return ErrorName::ESME_RINVBNDSTS
|
|
119
|
+
when ErrorCode::ESME_RALYBND
|
|
120
|
+
return ErrorName::ESME_RALYBND
|
|
121
|
+
when ErrorCode::ESME_RINVPRTFLG
|
|
122
|
+
return ErrorName::ESME_RINVPRTFLG
|
|
123
|
+
when ErrorCode::ESME_RINVREGDLVFLG
|
|
124
|
+
return ErrorName::ESME_RINVREGDLVFLG
|
|
125
|
+
when ErrorCode::ESME_RSYSERR
|
|
126
|
+
return ErrorName::ESME_RSYSERR
|
|
127
|
+
when ErrorCode::ESME_RINVSRCADR
|
|
128
|
+
return ErrorName::ESME_RINVSRCADR
|
|
129
|
+
when ErrorCode::ESME_RINVDSTADR
|
|
130
|
+
return ErrorName::ESME_RINVDSTADR
|
|
131
|
+
when ErrorCode::ESME_RINVMSGID
|
|
132
|
+
return ErrorName::ESME_RINVMSGID
|
|
133
|
+
when ErrorCode::ESME_RBINDFAIL
|
|
134
|
+
return ErrorName::ESME_RBINDFAIL
|
|
135
|
+
when ErrorCode::ESME_RINVPASWD
|
|
136
|
+
return ErrorName::ESME_RINVPASWD
|
|
137
|
+
when ErrorCode::ESME_RINVSYSID
|
|
138
|
+
return ErrorName::ESME_RINVSYSID
|
|
139
|
+
when ErrorCode::ESME_RREPLACEFAIL
|
|
140
|
+
return ErrorName::ESME_RREPLACEFAIL
|
|
141
|
+
when ErrorCode::ESME_RMSGQFUL
|
|
142
|
+
return ErrorName::ESME_RMSGQFUL
|
|
143
|
+
when ErrorCode::ESME_RINVSERTYP
|
|
144
|
+
return ErrorName::ESME_RINVSERTYP
|
|
145
|
+
when ErrorCode::ESME_RINVNUMDESTS
|
|
146
|
+
return ErrorName::ESME_RINVNUMDESTS
|
|
147
|
+
when ErrorCode::ESME_RINVDLNAME
|
|
148
|
+
return ErrorName::ESME_RINVDLNAME
|
|
149
|
+
when ErrorCode::ESME_RINVDESTFLAG
|
|
150
|
+
return ErrorName::ESME_RINVDESTFLAG
|
|
151
|
+
when ErrorCode::ESME_RINVSUBREP
|
|
152
|
+
return ErrorName::ESME_RINVSUBREP
|
|
153
|
+
when ErrorCode::ESME_RINVESMCLASS
|
|
154
|
+
return ErrorName::ESME_RINVESMCLASS
|
|
155
|
+
when ErrorCode::ESME_RCNTSUBDL
|
|
156
|
+
return ErrorName::ESME_RCNTSUBDL
|
|
157
|
+
when ErrorCode::ESME_RSUBMITFAIL
|
|
158
|
+
return ErrorName::ESME_RSUBMITFAIL
|
|
159
|
+
when ErrorCode::ESME_RINVSRCTON
|
|
160
|
+
return ErrorName::ESME_RINVSRCTON
|
|
161
|
+
when ErrorCode::ESME_RINVSRCNPI
|
|
162
|
+
return ErrorName::ESME_RINVSRCNPI
|
|
163
|
+
when ErrorCode::ESME_RINVDSTTON
|
|
164
|
+
return ErrorName::ESME_RINVDSTTON
|
|
165
|
+
when ErrorCode::ESME_RINVDSTNPI
|
|
166
|
+
return ErrorName::ESME_RINVDSTNPI
|
|
167
|
+
when ErrorCode::ESME_RINVSYSTYP
|
|
168
|
+
return ErrorName::ESME_RINVSYSTYP
|
|
169
|
+
when ErrorCode::ESME_RINVREPFLAG
|
|
170
|
+
return ErrorName::ESME_RINVREPFLAG
|
|
171
|
+
when ErrorCode::ESME_RINVNUMMSGS
|
|
172
|
+
return ErrorName::ESME_RINVNUMMSGS
|
|
173
|
+
when ErrorCode::ESME_RTHROTTLED
|
|
174
|
+
return ErrorName::ESME_RTHROTTLED
|
|
175
|
+
when ErrorCode::ESME_RINVSCHED
|
|
176
|
+
return ErrorName::ESME_RINVSCHED
|
|
177
|
+
when ErrorCode::ESME_RINVEXPIRY
|
|
178
|
+
return ErrorName::ESME_RINVEXPIRY
|
|
179
|
+
when ErrorCode::ESME_RINVDFTMSGID
|
|
180
|
+
return ErrorName::ESME_RINVDFTMSGID
|
|
181
|
+
when ErrorCode::ESME_RX_T_APPN
|
|
182
|
+
return ErrorName::ESME_RX_T_APPN
|
|
183
|
+
when ErrorCode::ESME_RX_P_APPN
|
|
184
|
+
return ErrorName::ESME_RX_P_APPN
|
|
185
|
+
when ErrorCode::ESME_RX_R_APPN
|
|
186
|
+
return ErrorName::ESME_RX_R_APPN
|
|
187
|
+
when ErrorCode::ESME_RQUERYFAIL
|
|
188
|
+
return ErrorName::ESME_RQUERYFAIL
|
|
189
|
+
when ErrorCode::ESME_RINVOPTPARSTREAM
|
|
190
|
+
return ErrorName::ESME_RINVOPTPARSTREAM
|
|
191
|
+
when ErrorCode::ESME_ROPTPARNOTALLWD
|
|
192
|
+
return ErrorName::ESME_ROPTPARNOTALLWD
|
|
193
|
+
when ErrorCode::ESME_RINVPARLEN
|
|
194
|
+
return ErrorName::ESME_RINVPARLEN
|
|
195
|
+
when ErrorCode::ESME_RMISSINGOPTPARAM
|
|
196
|
+
return ErrorName::ESME_RMISSINGOPTPARAM
|
|
197
|
+
when ErrorCode::ESME_RINVOPTPARAMVAL
|
|
198
|
+
return ErrorName::ESME_RINVOPTPARAMVAL
|
|
199
|
+
when ErrorCode::ESME_RDELIVERYFAILURE
|
|
200
|
+
return ErrorName::ESME_RDELIVERYFAILURE
|
|
201
|
+
when ErrorCode::ESME_RUNKNOWNERR
|
|
202
|
+
return ErrorName::ESME_RUNKNOWNERR
|
|
203
|
+
when ErrorCode::ESME_RSERTYPUNAUTH
|
|
204
|
+
return ErrorName::ESME_RSERTYPUNAUTH
|
|
205
|
+
when ErrorCode::ESME_RPROHIBITED
|
|
206
|
+
return ErrorName::ESME_RPROHIBITED
|
|
207
|
+
when ErrorCode::ESME_RSERTYPUNAVAIL
|
|
208
|
+
return ErrorName::ESME_RSERTYPUNAVAIL
|
|
209
|
+
when ErrorCode::ESME_RSERTYPDENIED
|
|
210
|
+
return ErrorName::ESME_RSERTYPDENIED
|
|
211
|
+
when ErrorCode::ESME_RINVDCS
|
|
212
|
+
return ErrorName::ESME_RINVDCS
|
|
213
|
+
when ErrorCode::ESME_RINVSRCADDRSUBUNIT
|
|
214
|
+
return ErrorName::ESME_RINVSRCADDRSUBUNIT
|
|
215
|
+
when ErrorCode::ESME_RINVDSTADDRSUBUNIT
|
|
216
|
+
return ErrorName::ESME_RINVDSTADDRSUBUNIT
|
|
217
|
+
when ErrorCode::ESME_RINVBCASTFREQINT
|
|
218
|
+
return ErrorName::ESME_RINVBCASTFREQINT
|
|
219
|
+
when ErrorCode::ESME_RINVBCASTALIAS_NAME
|
|
220
|
+
return ErrorName::ESME_RINVBCASTALIAS_NAME
|
|
221
|
+
when ErrorCode::ESME_RINVBCASTAREAFMT
|
|
222
|
+
return ErrorName::ESME_RINVBCASTAREAFMT
|
|
223
|
+
when ErrorCode::ESME_RINVNUMBCAST_AREAS
|
|
224
|
+
return ErrorName::ESME_RINVNUMBCAST_AREAS
|
|
225
|
+
when ErrorCode::ESME_RINVBCASTCNTTYPE
|
|
226
|
+
return ErrorName::ESME_RINVBCASTCNTTYPE
|
|
227
|
+
when ErrorCode::ESME_RINVBCASTMSGCLASS
|
|
228
|
+
return ErrorName::ESME_RINVBCASTMSGCLASS
|
|
229
|
+
when ErrorCode::ESME_RBCASTFAIL
|
|
230
|
+
return ErrorName::ESME_RBCASTFAIL
|
|
231
|
+
when ErrorCode::ESME_RBCASTQUERYFAIL
|
|
232
|
+
return ErrorName::ESME_RBCASTQUERYFAIL
|
|
233
|
+
when ErrorCode::ESME_RBCASTCANCELFAIL
|
|
234
|
+
return ErrorName::ESME_RBCASTCANCELFAIL
|
|
235
|
+
when ErrorCode::ESME_RINVBCAST_REP
|
|
236
|
+
return ErrorName::ESME_RINVBCAST_REP
|
|
237
|
+
when ErrorCode::ESME_RINVBCASTSRVGRP
|
|
238
|
+
return ErrorName::ESME_RINVBCASTSRVGRP
|
|
239
|
+
when ErrorCode::ESME_RINVBCASTCHANIND
|
|
240
|
+
return ErrorName::ESME_RINVBCASTCHANIND
|
|
241
|
+
else
|
|
242
|
+
return "Unknown error code (vendor?)"
|
|
243
|
+
end
|
|
244
|
+
end
|
|
245
|
+
|
|
246
|
+
# Get message state name based on message state code
|
|
247
|
+
def get_message_state_name(message_state_code)
|
|
248
|
+
case message_state_code
|
|
249
|
+
when MessageState::ENROUTE
|
|
250
|
+
return MessageStateName::ENROUTE
|
|
251
|
+
when MessageState::DELIVERED
|
|
252
|
+
return MessageStateName::DELIVERED
|
|
253
|
+
when MessageState::EXPIRED
|
|
254
|
+
return MessageStateName::EXPIRED
|
|
255
|
+
when MessageState::DELETED
|
|
256
|
+
return MessageStateName::DELETED
|
|
257
|
+
when MessageState::UNDELIVERABLE
|
|
258
|
+
return MessageStateName::UNDELIVERABLE
|
|
259
|
+
when MessageState::ACCEPTED
|
|
260
|
+
return MessageStateName::ACCEPTED
|
|
261
|
+
when MessageState::UNKNOWN
|
|
262
|
+
return MessageStateName::UNKNOWN
|
|
263
|
+
when MessageState::REJECTED
|
|
264
|
+
return MessageStateName::REJECTED
|
|
265
|
+
when MessageState::SKIPPED
|
|
266
|
+
return MessageStateName::SKIPPED
|
|
267
|
+
else
|
|
268
|
+
return "Unknown message state code"
|
|
269
|
+
end
|
|
270
|
+
end
|
|
271
|
+
|
|
272
|
+
# Get netwok name based on network code
|
|
273
|
+
def get_network_error_name(network_error_code)
|
|
274
|
+
case network_error_code
|
|
275
|
+
when NetworkTypeErrorCode::ANSI_136_ACCESS_DENIED_REASON
|
|
276
|
+
return NetworkTypeErrorName::ANSI_136_ACCESS_DENIED_REASON
|
|
277
|
+
when NetworkTypeErrorCode::IS_95_ACCESS_DENIED_REASON
|
|
278
|
+
return NetworkTypeErrorName::IS_95_ACCESS_DENIED_REASON
|
|
279
|
+
when NetworkTypeErrorCode::GSM
|
|
280
|
+
return NetworkTypeErrorName::GSM
|
|
281
|
+
when NetworkTypeErrorCode::ANSI_136_CAUSE_CODE
|
|
282
|
+
return NetworkTypeErrorName::ANSI_136_CAUSE_CODE
|
|
283
|
+
when NetworkTypeErrorCode::IS_95_CAUSE_CODE
|
|
284
|
+
return NetworkTypeErrorName::IS_95_CAUSE_CODE
|
|
285
|
+
when NetworkTypeErrorCode::ANSI_41_ERROR
|
|
286
|
+
return NetworkTypeErrorName::ANSI_41_ERROR
|
|
287
|
+
when NetworkTypeErrorCode::SMPP_ERROR
|
|
288
|
+
return NetworkTypeErrorName::SMPP_ERROR
|
|
289
|
+
when NetworkTypeErrorCode::MESSAGE_CENTER_SPECIFIC
|
|
290
|
+
return NetworkTypeErrorName::MESSAGE_CENTER_SPECIFIC
|
|
291
|
+
else
|
|
292
|
+
return "Unknown network error code"
|
|
293
|
+
end
|
|
294
|
+
end
|
|
295
|
+
|
|
296
|
+
# Get netwok name based on network code
|
|
297
|
+
def get_area_format_name(area_format_code)
|
|
298
|
+
case area_format_code
|
|
299
|
+
when BroadcastAreaFormat::ALIAS
|
|
300
|
+
return BroadcastAreaFormatName::ALIAS
|
|
301
|
+
when BroadcastAreaFormat::ELLIPSOID
|
|
302
|
+
return BroadcastAreaFormatName::ELLIPSOID
|
|
303
|
+
when BroadcastAreaFormat::POLYGON
|
|
304
|
+
return BroadcastAreaFormatName::POLYGON
|
|
305
|
+
else
|
|
306
|
+
return "Unknown area format code"
|
|
307
|
+
end
|
|
308
|
+
end
|
|
309
|
+
protected
|
|
310
|
+
attr_accessor :encoder
|
|
311
|
+
|
|
312
|
+
end
|
|
313
|
+
end
|
|
314
|
+
end
|
|
315
|
+
end
|
|
@@ -0,0 +1,98 @@
|
|
|
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 describe SMPP header
|
|
23
|
+
class Header
|
|
24
|
+
# Constructor.
|
|
25
|
+
def initialize()
|
|
26
|
+
@command_length = 0
|
|
27
|
+
@command_id = 0
|
|
28
|
+
@command_status = 0
|
|
29
|
+
@sequence_number = 0
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Public accessors
|
|
33
|
+
attr_accessor :command_length
|
|
34
|
+
attr_accessor :command_id
|
|
35
|
+
attr_accessor :command_status
|
|
36
|
+
attr_accessor :sequence_number
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Class describe SME address
|
|
40
|
+
class SMEAddress
|
|
41
|
+
# Constructor.
|
|
42
|
+
def initialize(ton = TON::UNKNOWN, npi = NPI::UNKNOWN, address = "")
|
|
43
|
+
@ton = ton
|
|
44
|
+
@npi = npi
|
|
45
|
+
@address = address
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Public accessors
|
|
49
|
+
attr_accessor :ton
|
|
50
|
+
attr_accessor :npi
|
|
51
|
+
attr_accessor :address
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
# Class describe destination adress at SUBMIT_MULTI command
|
|
56
|
+
class DestAddress
|
|
57
|
+
# Constructor.
|
|
58
|
+
def initialize(dest_flag = DestFlag::UNKNOWN)
|
|
59
|
+
@dest_flag = dest_flag
|
|
60
|
+
@address = nil
|
|
61
|
+
@distr_list_name = nil
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
public
|
|
65
|
+
attr_accessor :dest_flag
|
|
66
|
+
attr_accessor :address
|
|
67
|
+
attr_accessor :distr_list_name
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Class describe unsuccessSME at SUBMIT_MULTI_RESP
|
|
71
|
+
class UnsuccessSME
|
|
72
|
+
# Constructor.
|
|
73
|
+
def initialize(sme_address = nil, error_status_code = nil)
|
|
74
|
+
@sme_address = sme_address
|
|
75
|
+
@error_status_code = error_status_code
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
public
|
|
79
|
+
attr_accessor :sme_address
|
|
80
|
+
attr_accessor :error_status_code
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# Class describe SMPP network error code
|
|
84
|
+
class NetworkErrorCode
|
|
85
|
+
# Constructor.
|
|
86
|
+
def initialize(network_code, error_code)
|
|
87
|
+
@network_code = network_code
|
|
88
|
+
@error_code = error_code
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
# Public accessors
|
|
92
|
+
attr_accessor :network_code
|
|
93
|
+
attr_accessor :error_code
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
end
|