File Coverage

blib/lib/NetSDS/Const/Message.pm
Criterion Covered Total %
statement 156 156 100.0
branch n/a
condition n/a
subroutine 52 52 100.0
pod n/a
total 208 208 100.0


line stmt bran cond sub pod time code
1             #===============================================================================
2             #
3             # FILE: Message.pm
4             #
5             # DESCRIPTION: Common messaging constants
6             #
7             # NOTES: ---
8             # AUTHOR: Grigory Milev (Weekend), <week@altlinux.org>
9             # COMPANY: Net.Style
10             # CREATED: 25.07.2008 01:06:46 EEST
11             #===============================================================================
12              
13             =head1 NAME
14              
15             NetSDS::Const::Message - common constants for messaging
16              
17             =head1 SYNOPSIS
18              
19             use NetSDS::Const::Message;
20              
21             =head1 DESCRIPTION
22              
23             C<NetSDS::Const::Message> module contains based constants
24              
25             =cut
26              
27             package NetSDS::Const::Message;
28              
29 2     2   21129 use 5.8.0;
  2         7  
  2         94  
30 2     2   9 use strict;
  2         9  
  2         227  
31 2     2   13 use warnings 'all';
  2         5  
  2         205  
32              
33 2     2   9 use Exporter;
  2         4  
  2         147  
34             our @ISA = qw(
35             Exporter
36             );
37              
38 2     2   2233 use version; our $VERSION = '0.021';
  2         6065  
  2         15  
39              
40             our @EXPORT = qw(
41             COD_7BIT
42             COD_GSM0338
43             COD_8BIT
44             COD_BINARY
45             COD_UNICODE
46             COD_UCS2
47              
48             ENC_7BIT
49             ENC_8BIT
50             ENC_BINARY
51             ENC_UNICODE
52              
53             DLR_DELIVERED
54             DLR_EXPIRED
55             DLR_DELETED
56             DLR_UNDELIVERABLE
57             DLR_ACCEPTED
58             DLR_UNKNOWN
59             DLR_REJECTED
60              
61             TRANSPORT_ANY
62             TRANSPORT_KANNEL
63             TRANSPORT_CPA2
64             TRANSPORT_UMC
65              
66             DCS_EMS
67             DCS_NOKIA
68             DCS_SIEMENS
69              
70             IEC_SPLIT8
71             IEC_SPLIT16
72             IEC_TEXTFMT
73             IEC_SOUND
74             IEC_MELODY
75             IEC_SMILES
76             IEC_ANIM16
77             IEC_ANIM8
78             IEC_ICON32
79             IEC_ICON16
80             IEC_PICTURE
81             IEC_UPI
82              
83             PORT_LOGO
84             PORT_CLI
85             PORT_RINGTONE
86             PORT_VCARD
87             PORT_VCALENDAR
88             PORT_ITEMS
89             PORT_PUSHWAP
90              
91             SMS_SIZE
92              
93             SEO_VER
94             SEO_FILL
95             SEO_LEN
96             );
97              
98             our @EXPORT_OK = qw(
99             );
100              
101             #-- SMS encoding
102 2     2   860 use constant COD_7BIT => '0'; # GSM 03.38 default charset
  2         5  
  2         189  
103 2     2   11 use constant COD_GSM0338 => COD_7BIT();
  2         6  
  2         97  
104 2     2   11 use constant COD_8BIT => '1'; # Binary encoded message
  2         5  
  2         108  
105 2     2   11 use constant COD_BINARY => COD_8BIT();
  2         4  
  2         103  
106 2     2   11 use constant COD_UNICODE => '2'; # UCS-2BE Unicode message
  2         4  
  2         119  
107 2     2   11 use constant COD_UCS2 => COD_UNICODE();
  2         4  
  2         101  
108              
109             #-- Charset encodings
110 2     2   11 use constant ENC_7BIT => 'ISO-8859-1';
  2         3  
  2         98  
111 2     2   9 use constant ENC_8BIT => '8-BIT';
  2         10  
  2         171  
112 2     2   11 use constant ENC_BINARY => ENC_8BIT();
  2         2  
  2         120  
113 2     2   10 use constant ENC_UNICODE => 'UTF-16BE';
  2         3  
  2         101  
114              
115             #-- Delivery status
116 2     2   9 use constant DLR_DELIVERED => 'DELIVRD'; # Message is delivered to destination
  2         4  
  2         109  
117 2     2   17 use constant DLR_EXPIRED => 'EXPIRED'; # Message validity period has expired.
  2         27  
  2         84  
118 2     2   10 use constant DLR_DELETED => 'DELETED'; # Message has been deleted.
  2         3  
  2         101  
119 2     2   10 use constant DLR_UNDELIVERABLE => 'UNDELIV'; # Message is undeliverable
  2         4  
  2         96  
120 2     2   10 use constant DLR_ACCEPTED => 'ACCEPTD'; # Message is in accepted state (i.e. has been manually read on behalf of the subscriber by customer service)
  2         4  
  2         97  
121 2     2   10 use constant DLR_UNKNOWN => 'UNKNOWN'; # Message is in invalid state
  2         4  
  2         96  
122 2     2   10 use constant DLR_REJECTED => 'REJECTD'; # Message is in a rejected state
  2         11  
  2         81  
123              
124             #-- Transports
125 2     2   11 use constant TRANSPORT_ANY => '';
  2         3  
  2         94  
126 2     2   9 use constant TRANSPORT_KANNEL => 'kannel';
  2         4  
  2         117  
127 2     2   10 use constant TRANSPORT_CPA2 => 'cpa2';
  2         3  
  2         718  
128 2     2   11 use constant TRANSPORT_UMC => 'umc';
  2         4  
  2         96  
129              
130             #-- Data Coding Schemes
131 2     2   10 use constant DCS_EMS => '64:245';
  2         3  
  2         157  
132 2     2   12 use constant DCS_NOKIA => '64:245';
  2         2  
  2         84  
133 2     2   11 use constant DCS_SIEMENS => '0:245';
  2         3  
  2         109  
134              
135             #-- EMS Constants
136 2     2   10 use constant IEC_SPLIT8 => "\x00"; # Messages chain, 8-bit reference
  2         4  
  2         93  
137 2     2   9 use constant IEC_SPLIT16 => "\x08"; # Messages chain, 16-bit reference
  2         4  
  2         103  
138 2     2   26 use constant IEC_TEXTFMT => "\x0A"; # Text formatting
  2         11  
  2         97  
139 2     2   10 use constant IEC_SOUND => "\x0B"; # Predefined sound
  2         4  
  2         101  
140 2     2   10 use constant IEC_MELODY => "\x0C"; # User Defined iMelody
  2         3  
  2         94  
141 2     2   9 use constant IEC_SMILES => "\x0D"; # Predefined animation
  2         3  
  2         134  
142 2     2   9 use constant IEC_ANIM16 => "\x0E"; # User Defined 16x16x4 animation
  2         4  
  2         99  
143 2     2   10 use constant IEC_ANIM8 => "\x0F"; # User Defined 8x8x4 animation
  2         2  
  2         93  
144 2     2   9 use constant IEC_ICON32 => "\x10"; # User Defined 32x32 icon
  2         3  
  2         529  
145 2     2   12 use constant IEC_ICON16 => "\x11"; # User Defined 16x16 icon
  2         4  
  2         114  
146 2     2   10 use constant IEC_PICTURE => "\x12"; # User Defined variable size picture
  2         3  
  2         105  
147 2     2   10 use constant IEC_UPI => "\x13"; # User Prompt Indicator
  2         3  
  2         113  
148              
149             #-- Nokia SmartMessaging ports
150 2     2   11 use constant PORT_RINGTONE => "\x15\x81"; # Ringtone
  2         3  
  2         100  
151 2     2   9 use constant PORT_LOGO => "\x15\x82"; # Operator Logo
  2         3  
  2         173  
152 2     2   10 use constant PORT_CLI => "\x15\x83"; # CLI Icon
  2         4  
  2         113  
153 2     2   10 use constant PORT_ITEMS => "\x15\x8A"; # Picture Message
  2         11  
  2         97  
154 2     2   10 use constant PORT_VCARD => "\x23\xF4"; # VCard
  2         2  
  2         104  
155 2     2   10 use constant PORT_VCALENDAR => "\x23\xF5"; # Operator Logo
  2         4  
  2         190  
156 2     2   12 use constant PORT_PUSHWAP => "\x0B\x84"; # Wap push
  2         2  
  2         101  
157              
158             #-- Siemens OTA constants
159 2     2   10 use constant SMS_SIZE => 140; # Maximum SMS size in bytes
  2         3  
  2         87  
160 2     2   9 use constant SEO_VER => 1; # SEO version 1
  2         3  
  2         132  
161 2     2   16 use constant SEO_FILL => "\0"; # SEO Chunk padding character
  2         3  
  2         83  
162 2     2   11 use constant SEO_LEN => 22; # SEO Header length in bytes w/o strings
  2         4  
  2         127  
163              
164             #***********************************************************************
165              
166             1;
167              
168             __END__
169              
170             =head1 NAME
171              
172             NetSDS::Messaging::Const - основные константы для сообщений
173              
174             =head1 SYNOPSIS
175              
176             Нужны только константы:
177              
178             use NetSDS::Messaging::Const;
179              
180              
181             Потрібні додатково Ñ– деякі процедури:
182              
183             use NetSDS::Messaging::Const qw(
184             ncMessage
185             ncIsError
186             ...
187             );
188              
189             =head1 DESCRIPTION
190              
191             Пакунок C<NetSDS::Messaging::Const> містить загальні константи для SMS повідомлень та процедури роботи із ними.
192              
193             Ідею злизано із L<HTTP::Status>
194              
195             =head1 CONSTANTS
196              
197             =over
198              
199             =item B<COD_7BIT> - ...
200              
201             =item B<COD_8BIT> - ...
202              
203             =item B<COD_BINARY> - ...
204              
205             =item B<COD_UNICODE> - ...
206              
207             =item B<ENC_7BIT> - ...
208              
209             =item B<ENC_8BIT> - ...
210              
211             =item B<ENC_BINARY> - ...
212              
213             =item B<ENC_UNICODE> - ...
214              
215             =item B<DLR_DELIVERED> - ...
216              
217             =item B<DLR_EXPIRED> - ...
218              
219             =item B<DLR_DELETED> - ...
220              
221             =item B<DLR_UNDELIVERABLE> - ...
222              
223             =item B<DLR_ACCEPTED> - ...
224              
225             =item B<DLR_UNKNOWN> - ...
226              
227             =item B<DLR_REJECTED> - ...
228              
229             =item B<TRANSPORT_ANY> - ...
230              
231             =item B<TRANSPORT_KANNEL> - ...
232              
233             =item B<TRANSPORT_CPA2> - ...
234              
235             =item B<TRANSPORT_UMC> - ...
236              
237             =item B<DCS_EMS> - ...
238              
239             =item B<DCS_NOKIA> - ...
240              
241             =item B<DCS_SIEMENS> - ...
242              
243             =item B<IEC_SPLIT8> - ...
244              
245             =item B<IEC_SPLIT16> - ...
246              
247             =item B<IEC_TEXTFMT> - ...
248              
249             =item B<IEC_SOUND> - ...
250              
251             =item B<IEC_MELODY> - ...
252              
253             =item B<IEC_SMILES> - ...
254              
255             =item B<IEC_ANIM16> - ...
256              
257             =item B<IEC_ANIM8> - ...
258              
259             =item B<IEC_ICON32> - ...
260              
261             =item B<IEC_ICON16> - ...
262              
263             =item B<IEC_PICTURE> - ...
264              
265             =item B<IEC_UPI> - ...
266              
267             =item B<PORT_LOGO> - ...
268              
269             =item B<PORT_CLI> - ...
270              
271             =item B<PORT_RINGTONE> - ...
272              
273             =item B<PORT_VCARD> - ...
274              
275             =item B<PORT_VCALENDAR> - ...
276              
277             =item B<PORT_ITEMS> - ...
278              
279             =item B<SMS_SIZE> - ...
280              
281             =item B<SEO_VER> - ...
282              
283             =item B<SEO_FILL> - ...
284              
285             =item B<SEO_LEN> - ...
286              
287             =back
288              
289             =head1 EXPORTS
290              
291             Empty
292              
293             =head1 EXAMPLES
294              
295             Empty
296              
297             =head1 BUGS
298              
299             Unknown
300              
301             =head1 SEE ALSO
302              
303             Empty
304              
305             =head1 TODO
306              
307             Empty
308              
309             =head1 AUTHOR
310              
311             Valentyn Solomko <pere@pere.org.ua>
312              
313             Michael Bochkaryov <misha@rattler.kiev.ua>
314              
315             =head1 LICENSE
316              
317             Copyright (C) 2008 Michael Bochkaryov
318              
319             This program is free software; you can redistribute it and/or modify
320             it under the terms of the GNU General Public License as published by
321             the Free Software Foundation; either version 2 of the License, or
322             (at your option) any later version.
323              
324             This program is distributed in the hope that it will be useful,
325             but WITHOUT ANY WARRANTY; without even the implied warranty of
326             MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
327             GNU General Public License for more details.
328              
329             You should have received a copy of the GNU General Public License
330             along with this program; if not, write to the Free Software
331             Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
332              
333             =cut