Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NPE when provider not return protocol version on bind response + SMPP providers may be use long passwords over SMPP 3.4 standard (like t-sms.ru) #44

Closed
wants to merge 274 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
274 commits
Select commit Hold shift + click to select a range
64f3e6a
Merge branch 'master' into alphabet-fixes
dpocock Jan 6, 2015
d49d255
Merge branch 'master' into mr-838
dpocock Jan 6, 2015
796356a
Merge branch 'master' into pmoerenhout-master
dpocock Jan 6, 2015
c51fd13
Merge branch 'master' into scop-master
dpocock Jan 6, 2015
50ff268
Disable the unit test formatRelativeDate until RelativeTimeFormatter …
dpocock Jan 6, 2015
2d8e5ef
Merge branch 'master' into TomasAndersen-master
dpocock Jan 6, 2015
446708a
Merge branch 'master' into alphabet-fixes
dpocock Jan 6, 2015
24b276a
Merge branch 'master' into mr-838
dpocock Jan 6, 2015
35e8368
Merge branch 'master' into pmoerenhout-master
dpocock Jan 6, 2015
7a04d66
Merge branch 'master' into scop-master
dpocock Jan 6, 2015
b78df99
pom.xml: add extra metadata about license, URL
dpocock Jan 6, 2015
e2b415f
Add README.md
dpocock Jan 6, 2015
eb2a68f
Merge branch 'master' into alphabet-fixes
dpocock Jan 6, 2015
3d9e76b
Revert Alphabet.ALPHA_UNSPECIFIED_4 to original name Alphabet.ALPHA_8…
dpocock Jan 6, 2015
66211d9
Formatting fixes
dpocock Jan 6, 2015
c98fb70
Remove close() method that just calls super.close()
dpocock Jan 6, 2015
add9435
Use while loop to make sure thread has really finished
dpocock Jan 6, 2015
5da83c0
Merge branch 'TomasAndersen-master'
dpocock Jan 6, 2015
6fe845f
Merge branch 'master' into scop-master
dpocock Jan 6, 2015
187f654
Update to v2.2.0
dpocock Jan 6, 2015
99de76b
Add parent oss-parent
dpocock Jan 6, 2015
5aef26d
README.md: Add release procedure
dpocock Jan 6, 2015
a0c5c11
Add signing to release profile
dpocock Jan 6, 2015
b171f73
Made the jsmpp jar as an OSGi bundle
WillemJiang Jan 7, 2015
339f57a
Fixed the ConcurrentModificationException which could lead to the thr…
WillemJiang Jan 7, 2015
3d0d2f7
Merge pull request #2 from WillemJiang/master
dpocock Jan 7, 2015
d7d55cc
Merge pull request #3 from WillemJiang/thread-leak
dpocock Jan 7, 2015
b3ebf6c
Update for v2.2.1
dpocock Jan 7, 2015
f555cd1
Added IntelliJ and Mac OSX entries.
pmoerenhout Jan 7, 2015
2941fa8
Updated Log4j version.
pmoerenhout Jan 7, 2015
d143a6b
Changed COctetString to limit number of calls to getBytes().
pmoerenhout Jan 7, 2015
4a83425
Added Travis CI support.
pmoerenhout Jan 7, 2015
8eaea26
Merge branch 'master' of https://github.com/pmoerenhout/jsmpp into pm…
dpocock Jan 7, 2015
1d9d2f8
Merge branch 'master' into pmoerenhout-master
dpocock Jan 7, 2015
64f5969
Implement the SMPP 3.4 Relative Time Format.
pmoerenhout Jan 14, 2015
1f31b15
Removed incorrect expected Exception in test case.
pmoerenhout Jan 14, 2015
daf92ab
Set date to future date to fix testcase.
pmoerenhout Jan 14, 2015
b7b47bd
Fixed a type.
pmoerenhout Jan 14, 2015
a2c0c7c
Merge pull request #4 from pmoerenhout/master
dpocock Jan 15, 2015
2d1a2fd
Correct the hours to use 24 hour format in Calendar.
pmoerenhout Jan 16, 2015
cffd8c5
Fix test case formatRelativeDateIgnoreMilliSeconds.
pmoerenhout Jan 17, 2015
a0892ad
NPE when provider not return protocol version on bind response:
vharseko Feb 7, 2015
4b76e39
Test was failing in April, now using fixed dates.
pmoerenhout Apr 5, 2015
64d4ab3
With invalid command lengths (<4) an IndexOutOfBoundsException was th…
pmoerenhout Apr 5, 2015
00b5430
Minor typo.
pmoerenhout Apr 5, 2015
874feba
Removed the system output during test.
pmoerenhout Apr 5, 2015
484a423
Removed system output during test.
pmoerenhout Apr 5, 2015
bb9a1b2
Handle unexpected RuntimeException when receiving invalid PDU.
pmoerenhout Apr 5, 2015
a7160f5
Updated SLF4J and JUnit versions.
pmoerenhout Apr 5, 2015
8695efc
Updated Maven wagon to 2.8
pmoerenhout Apr 5, 2015
574ea98
Added Oracle Java 8 to Travis CI.
pmoerenhout Apr 5, 2015
d117aff
Updated TestNG version.
pmoerenhout Apr 5, 2015
7a6ea53
Fix for NullPointerException when OptionalParameters are empty in Bin…
pmoerenhout Jun 9, 2015
f410bab
upper password ro 256 (ampitel.ru)
vharseko Jul 17, 2015
171054c
Remove enquireLinkSender.join() during session.close() because this p…
mykolap Aug 2, 2015
788a4dc
Add support of sending messageId in DeliverSmResp, setting and return…
Aug 17, 2015
efcbcc6
Fixed some logging
pmoerenhout Aug 20, 2015
6c56e53
Added SMPP 5.0 message states.
pmoerenhout Aug 20, 2015
b772cc8
Fixed typo.
pmoerenhout Aug 20, 2015
c053fe6
Fixed a typo
pmoerenhout Oct 1, 2015
243e7ef
Prepare for 2.2.2 release.
pmoerenhout Oct 1, 2015
cd869bc
Remain JDK 1.6 compatible.
pmoerenhout Oct 1, 2015
dfc8eb6
Merge branch 'master' of https://github.com/mykolap/jsmpp into mykola…
pmoerenhout Oct 3, 2015
8f61961
Merge branch 'mykolap-master'
pmoerenhout Oct 3, 2015
b77092a
Leave thread join in the code, after merge. Rewrite some logging.
pmoerenhout Oct 4, 2015
38672be
Use StringBuilder.
pmoerenhout Oct 4, 2015
3936f27
Format log to use SLF4J formatting.
pmoerenhout Oct 4, 2015
7978a34
Format log to use SLF4J formatting.
pmoerenhout Oct 4, 2015
552631c
Used slf4j formatting in logging
pmoerenhout Oct 4, 2015
da966d5
Create .travis.yml
vharseko Oct 11, 2015
f05951f
Update .travis.yml
vharseko Oct 11, 2015
ed1669b
Create README.md
vharseko Oct 12, 2015
388bf2f
Fixed typo in log message.
pmoerenhout Dec 20, 2015
b74a54d
Return "000" for error instead of "null"
pmoerenhout Dec 21, 2015
4270ec9
Only decode the address when enough information is received.
pmoerenhout Dec 22, 2015
450f324
Return all data for unknown OptionalParameter in an OctetString inste…
pmoerenhout Jan 4, 2016
6867c62
Add testcases for COctetString OptionalParameter.
pmoerenhout Jan 4, 2016
517ed85
Add String constructors for COctetString typed OptionalParameter.
pmoerenhout Jan 4, 2016
e9ef2d5
some corrections and improvements to README
PascalSchumacher Jan 5, 2016
d731939
Merge pull request #19 from PascalSchumacher/improve_readme
pmoerenhout Jan 6, 2016
a2f96bb
Fetch the OptionalParameter on the code, for unknown OptionalParameters.
pmoerenhout Jan 6, 2016
1fe30fa
Remove space.
pmoerenhout Jan 6, 2016
7df407e
small corrections and improvements of CHANGES.txt
PascalSchumacher Jan 6, 2016
c341259
Merge pull request #20 from PascalSchumacher/changes_improvements
pmoerenhout Jan 7, 2016
3f91509
CHANGES.txt: most recent changes at the top of the file
PascalSchumacher Jan 7, 2016
3686620
Use StringBuilder instead of StringBuffer.
pmoerenhout Jan 7, 2016
d2b8a86
Fix typo.
pmoerenhout Jan 7, 2016
b08048e
Merge pull request #21 from PascalSchumacher/changes_descending_order
pmoerenhout Jan 7, 2016
1b42fe2
Alignment
pmoerenhout Jan 7, 2016
3557c0a
Merge remote-tracking branch 'origin/master'
pmoerenhout Jan 7, 2016
174c586
Prepare for 2.2.3
pmoerenhout Jan 7, 2016
fdc539a
fix some typos in javadoc
PascalSchumacher Jan 7, 2016
102a5a0
Merge pull request #22 from PascalSchumacher/javadoc_typos
pmoerenhout Jan 7, 2016
25c8a96
Set version to 2.2.4-SNAPSHOT.
pmoerenhout Jan 7, 2016
8fb424d
add maven central badge, which displays the latest released version, …
PascalSchumacher Jan 10, 2016
9206641
Merge pull request #23 from PascalSchumacher/maven_central_badge
pmoerenhout Jan 11, 2016
6ef8649
Correct spelling for (C)Octet
pmoerenhout Jan 28, 2016
f8f6bc2
Correct spelling for (C)Octet
pmoerenhout Jan 28, 2016
d50fbd7
When offset is 0, use '+' sign.
pmoerenhout Feb 2, 2016
164d56d
Add subpackages to OSGi export packages in order to make them accessi…
ihrigb Feb 3, 2016
bc6207c
Add subpackages to OSGi export packages in order to make them accessi…
ihrigb Feb 3, 2016
fa9992a
Merge branch 'master' of https://github.com/ihrigb/jsmpp
ihrigb Feb 3, 2016
9615706
Merge pull request #25 from ihrigb/master
pmoerenhout Feb 4, 2016
2dcc4c8
Update Slf4j
pmoerenhout Feb 4, 2016
6516631
squid:S1854 - Dead stores should be removed
georgekankava Feb 8, 2016
d41bb37
squid:S1118 - Utility classes should not have public constructorsx
georgekankava Feb 8, 2016
2dc4236
Merge pull request #26 from georgekankava/staging/dead-stores-should-…
pmoerenhout Feb 10, 2016
874b59c
Move split8Bit main method to Test class.
pmoerenhout Feb 10, 2016
a55e471
squid:CommentedOutCodeLine - Sections of code should not be commented…
Feb 17, 2016
470315a
Multiple code improvements: squid:S2786, squid:UselessParenthesesCheck
Feb 17, 2016
f0988ad
Merge pull request #28 from georgekankava/release/utility-classes-sho…
pmoerenhout Feb 21, 2016
84a4e6d
Merge pull request #29 from georgekankava/release/sections-of-code-sh…
pmoerenhout Feb 21, 2016
4daf3fb
Merge pull request #30 from georgekankava/release/multiple-code-impro…
pmoerenhout Feb 21, 2016
e10e6b9
Lexical improvement.
pmoerenhout Feb 21, 2016
e3bdd4c
Use @Override and remove public from interface.
pmoerenhout Feb 21, 2016
01c72ec
Remove redundant private for enum.
pmoerenhout Feb 21, 2016
b769069
Update Slf4j
pmoerenhout Feb 22, 2016
2116cc3
Add test for RawDataCoding
pmoerenhout Feb 24, 2016
74bdaf1
Change definition of SimpleDataCoding() to MessageClass1, add tests.
pmoerenhout Feb 24, 2016
faf19f6
Multiple code improvements: squid:S00105, squid:S1165
Feb 25, 2016
b07d314
multiple code improvements: squid:S1213, squid:S1488, squid:S1197, sq…
georgekankava Feb 25, 2016
bd99acb
multiple code improvements: squid:S1197, squid:S1170
georgekankava Feb 25, 2016
1b8789c
Merge pull request #32 from georgekankava/release/multiple-code-impro…
pmoerenhout Feb 25, 2016
f63388e
Lexical improvement
pmoerenhout Feb 25, 2016
b0629d6
Merge pull request #34 from georgekankava/staging/multiple-code-impro…
pmoerenhout Feb 26, 2016
6221d82
Merge pull request #33 from georgekankava/staging/multiple-code-impro…
pmoerenhout Feb 26, 2016
b9ce7b2
multiple code improvements: squid:S00117, squid:S1192, squid:S00117
georgekankava Mar 1, 2016
8f9994c
squid:S1192 String literals should not be duplicated
georgekankava Mar 1, 2016
046cd72
multiple code improvements: squid:S1213, squid:S1905, squid:S1488, sq…
georgekankava Mar 1, 2016
04f9534
Merge pull request #35 from DevFactory/release/multiple-code-improvem…
pmoerenhout Mar 1, 2016
9a95051
Merge pull request #36 from DevFactory/release/multiple-code-improvem…
pmoerenhout Mar 1, 2016
e7a144b
Merge pull request #37 from DevFactory/release/string-literals-should…
pmoerenhout Mar 1, 2016
179790d
Add @Override
pmoerenhout Mar 1, 2016
09b0ca3
multiple code improvements: squid:S1192, squid:AssignmentInSubExpress…
georgekankava Mar 1, 2016
2db9fa8
Merge pull request #38 from DevFactory/release/multiple-code-improvem…
pmoerenhout Mar 2, 2016
97ee0be
quid:S1066 Collapsible "if" statements should be merged
georgekankava Mar 2, 2016
2f7298b
Merge pull request #39 from DevFactory/release/collapsible-if-stateme…
pmoerenhout Mar 2, 2016
8627de7
Update Slf4j to 1.7.18.
pmoerenhout Mar 7, 2016
af3e79e
Spelling, rewrite log statements
pmoerenhout Mar 7, 2016
2e8172f
Fix test for relativeTimeFormatter
pmoerenhout Mar 8, 2016
8559871
Update Slf4j to 1.7.19
pmoerenhout Mar 15, 2016
a2fe78b
Layout
pmoerenhout Mar 20, 2016
cac4e53
Improve logging
pmoerenhout Mar 20, 2016
fcb495f
Renamed the SMSC delivery receipt failed value to FAILURE
aabiabdallah Mar 27, 2016
46cd4e9
Merge pull request #41 from aabiabdallah/master
pmoerenhout Mar 29, 2016
9a0653d
Update Slf4j
pmoerenhout Apr 4, 2016
df8578c
Add SSL connection factory implementation for use in SMPP Session
pmoerenhout Apr 4, 2016
8bf24c0
Add priority flag enum.
pmoerenhout Apr 4, 2016
889736d
Update Slf4j to 1.7.21
pmoerenhout Apr 6, 2016
91b8112
Move back to Java 1.6
pmoerenhout Apr 6, 2016
0a194ad
Formatting and add sessionid in logging
pmoerenhout Apr 14, 2016
89ff4f8
Update plugins
pmoerenhout Apr 14, 2016
e822644
Fix for Java 1.6
pmoerenhout Apr 14, 2016
fe76d2e
Use 1.6 compatible plugins
pmoerenhout Apr 14, 2016
1b7889a
Textual change
pmoerenhout Apr 14, 2016
17af2ae
Fix typo
pmoerenhout May 1, 2016
2744027
Remove unused varaiable.
pmoerenhout May 15, 2016
05bf554
Minor change in log
pmoerenhout May 29, 2016
75b30d3
Add test classed for DataCoding factories.
pmoerenhout May 29, 2016
d52f94b
Prepare for release 2.2.4
pmoerenhout May 29, 2016
a051d1d
Add DataCodings test.
pmoerenhout May 29, 2016
d71ea36
Fix testcase.
pmoerenhout May 29, 2016
46a43cb
Update to 2.2.5-SNAPSHOT
pmoerenhout May 29, 2016
6112cf5
Add GeneralDataCoding tests.
pmoerenhout May 29, 2016
604227c
Add myself.
pmoerenhout May 29, 2016
55a50c3
squid:S1132 - Strings literals should be placed on the left side when…
Jun 24, 2016
2133a31
Merge pull request #44 from DevFactory/release/strings-literals-left-…
pmoerenhout Jun 24, 2016
2ad8854
squid:S1149 - Synchronized classes Vector, Hashtable, Stack and Strin…
Jun 24, 2016
e071399
Merge pull request #45 from DevFactory/release/synchronized-classes-s…
pmoerenhout Jun 26, 2016
1a5f0bc
Remove unused import.
pmoerenhout Jun 27, 2016
c47ba9f
Remove unnecessary private
pmoerenhout Jun 30, 2016
c3ed8ce
squid:S1161 - '@Override' annotation should be used on any method ove…
Jul 1, 2016
3aa4886
Merge pull request #46 from DevFactory/release/@Override-annotation-s…
pmoerenhout Jul 1, 2016
84289a7
pmd:ConsecutiveAppendsShouldReuse - Consecutive Appends Should Reuse
Jul 1, 2016
29cdf1b
squid:S1168 - Empty arrays and collections should be returned instead…
Jul 1, 2016
4a2c3f6
Merge pull request #47 from DevFactory/release/consecutive-appends-sh…
pmoerenhout Jul 1, 2016
66911f8
squid:S2142 -'InterruptedException' should not be ignored
Jul 2, 2016
db1f2d0
Merge pull request #48 from DevFactory/release/empty-arrays-and-colle…
pmoerenhout Jul 8, 2016
cc877de
Add outbind processing
pmoerenhout Jul 8, 2016
a679982
Merge pull request #49 from DevFactory/release/InterruptedException-s…
pmoerenhout Jul 8, 2016
18e7aae
Prevent class instantiation
pmoerenhout Jul 9, 2016
8af0e01
Fix typo
pmoerenhout Jul 9, 2016
1ba5b7e
Remove unnecessary public.
pmoerenhout Jul 21, 2016
080554a
Refactor the outbind functionality, needs some more abstraction.
pmoerenhout Jul 23, 2016
5f85b5f
Renamed file
pmoerenhout Jul 25, 2016
915f695
Remove redundant private declaration for enum.
pmoerenhout Jul 27, 2016
1f9496a
Remove redundant private declaration for enum.
pmoerenhout Jul 27, 2016
dffb4c5
Prepare for release 2.3.0
pmoerenhout Sep 16, 2016
bb9f991
Update DeliveryReceiptState.java
vkosharskyi Sep 16, 2016
7a6cb9c
Merge pull request #53 from vkosharskyi/patch-1
pmoerenhout Sep 18, 2016
1b4e458
Allow replace_sm for state OUTBOUND_TRX (allowed in SMPP 5.0)
pmoerenhout Sep 26, 2016
4251dc1
Fix Java doc annotations
pmoerenhout Sep 26, 2016
22eb9fa
OptionalParameter:deserialize log level changed to DEBUG. INFO makes …
engin Nov 28, 2016
9926681
Some SMSC supports seconds precision in submit and done date
engin Nov 28, 2016
a7a6863
Merge pull request #58 from roadrunner/master
pmoerenhout Nov 29, 2016
0c71386
Add SMPP 5.0 message_state values
pmoerenhout Dec 4, 2016
9b41507
Prepare for 2.3.2 release
pmoerenhout Dec 4, 2016
eac8007
Fix typo.
pmoerenhout Dec 4, 2016
92be910
Update the version to 2.3.3-SNAPSHOT
pmoerenhout Dec 11, 2016
bb11d4d
Interrupt the enquireLinkSender thread before join, for Apache Camel …
pmoerenhout Dec 11, 2016
aa94239
Set synchronized for the close method and modified the stopping of th…
pmoerenhout Dec 12, 2016
4adf074
Update Maven plugin and OSS parent versions.
pmoerenhout Dec 13, 2016
84e1a98
Revert Felix plugin to JDK6 compatible.
pmoerenhout Dec 13, 2016
83dfa84
Minor log change and set enquireLinkSender to null after join.
pmoerenhout Dec 14, 2016
5328c13
Prepare for 2.3.3 release
pmoerenhout Dec 14, 2016
cae4a55
Fix Javadoc errors
pmoerenhout Dec 14, 2016
4ea1d26
Lower log level for enquiry starting message
pmoerenhout Jan 14, 2017
d16ec39
Add stress/logs/ to be ignored by Git.
pmoerenhout Jan 14, 2017
9aeb3ab
Add out-commented Log4j configuration for file appender
pmoerenhout Jan 14, 2017
90970a2
Added standard Log4j appender to stdout for examples.
pmoerenhout Jan 14, 2017
868ef9a
Update to 2.3.4, use slf4j-simple for test, use slf4j-api in examples…
pmoerenhout Jan 14, 2017
5fc2bc6
Update examples to use slf4j-api.
pmoerenhout Jan 14, 2017
03a0349
Return negative reponses.
pmoerenhout Jan 14, 2017
5ad9675
Only allow transceiver in SMPPServerSimulator.
pmoerenhout Jan 15, 2017
6cfa282
Fixed typo
pmoerenhout Jan 15, 2017
fa73084
Removed synchronized for close to prevent deadlock.
pmoerenhout Jan 25, 2017
9ad1356
Updated for 2.3.4 release.
pmoerenhout Jan 25, 2017
cdfaa64
Updated to 2.3.5-SNAPSHOT.
pmoerenhout Jan 25, 2017
d168a5c
Add example of custom delivery receipt, accept by default delivery re…
pmoerenhout Jan 26, 2017
b801dc3
Update Slf4j to 1.7.23
pmoerenhout Feb 16, 2017
d90a928
Update Slf4j to 1.7.25
pmoerenhout Jun 13, 2017
1624a5e
Update Maven plugins.
pmoerenhout Aug 13, 2017
274668d
Rewrite the GSM 03.38 class, and add unit tests.
pmoerenhout Aug 13, 2017
bc8b11c
Don't check the sequence number, but the session state.
pmoerenhout Sep 21, 2017
f1c5168
Travis CI doesn't support openjdk6 anymore.
pmoerenhout Sep 22, 2017
df92f39
Update Maven plugins to compile under Java 9
pmoerenhout Sep 23, 2017
16147aa
Add custom Delivery Receipt stripper.
pmoerenhout Sep 27, 2017
d58d535
Add custom Delivery Receipt stripper.
pmoerenhout Sep 27, 2017
edaa437
Update to 2.3.5.
pmoerenhout Sep 27, 2017
d0c3357
Update to 2.3.5.
pmoerenhout Sep 27, 2017
61acb94
Update to 2.3.6-SNAPSHOT
pmoerenhout Sep 28, 2017
5525812
Remove extra semicolumn.
pmoerenhout Oct 9, 2017
74052af
Custom delivery receipt implementation plus example. Fix typo in meth…
pmoerenhout Oct 19, 2017
6638fd8
Always log caught exceptions when logging warn messages.
PascalSchumacher Oct 20, 2017
4f3aed2
remove unused import statements
PascalSchumacher Oct 20, 2017
0ed0746
remove unused non-visible code
PascalSchumacher Oct 20, 2017
fc6403b
Merge pull request #72 from PascalSchumacher/log_exceptions
pmoerenhout Oct 20, 2017
3f51513
Merge pull request #73 from PascalSchumacher/remove_unused
pmoerenhout Oct 23, 2017
7855ae7
#74 NPE in DeliveryReceipt constructor
assens Dec 20, 2017
ef9ce85
Merge pull request #75 from assens/master
pmoerenhout Dec 22, 2017
8eac74c
Add extra parenthesis, and add test case for nearly empty delivery re…
pmoerenhout Dec 22, 2017
e86b89b
Add command status description to NegativeResponseException (closes #76)
PascalSchumacher Jan 19, 2018
9d60f29
Merge pull request #77 from PascalSchumacher/add_command_status_descr…
pmoerenhout Jan 21, 2018
c55ce5b
Add missing command status description (according to SMMP 3.4) to Neg…
PascalSchumacher Jan 22, 2018
83144c9
Merge pull request #78 from PascalSchumacher/add_command_status_descr…
pmoerenhout Jan 25, 2018
035a9d9
Use the actual sequence number.
pmoerenhout Feb 5, 2018
932a4d6
Prepare for 2.3.6 release
pmoerenhout Feb 5, 2018
ab2916b
Move to 2.3.7-SNAPSHOT release
pmoerenhout Feb 7, 2018
aa44cb0
Merge remote-tracking branch 'opentelecoms/master'
vharseko Jun 8, 2018
6e2041a
fix logs errors
vharseko Jun 8, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
target/
out/
classes/
stress/logs/
syntax:glob
*.swp

Expand All @@ -10,6 +11,16 @@ syntax:glob
.gwt/
.project
.classpath
.externalToolBuilders

# IntelliJ Project Files
*.iml
*.ipr
*.iws
.idea/

# MAC_OSX
*.DS_Store

version.properties
git.properties
5 changes: 5 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
language: java
jdk:
- oraclejdk9
- oraclejdk8
- openjdk7
139 changes: 96 additions & 43 deletions CHANGES.txt
Original file line number Diff line number Diff line change
@@ -1,60 +1,113 @@
Changes:

2.0 beta 3
2.3.6
- Add descriptions to negative response exceptions.
- Added custom delivery receipt examples
- Fix NPE in DeliveryReceipt constructor when date was blank
- Removed unused code
- Fix typo in composeSmeManualAcknowledgment method name

- Add SMPP Server component
- Add Optional Parameter support (contribution from [email protected])
- Handling PDU processing concurrently (performance improvement)
- Add data_sm support
- Add cancel_sm support
- Add replace_sm support
- Add alert_notification support
- Add CapacityPolicy to PDUByteBuffer (performance improvement, minimize array
of byte creation)

2.0 beta 4
2.3.5
- Rewrote the GSM 03.38 class
- Don't check explicitly the sequence 1, but the session state
- Add custom delivery receipt stripper

- Modify Optional Parameter API (currently for TLV related to message
concatenation case)
- Add ServerResponseDeliveryListener (listener to receive success or failure
event of submit_sm_resp/submit_multi_resp delivery)
- Change license from LGPL to "Apache License, Version 2.0"
- Add license notice on every sources.
2.3.4
- Removed synchronized from close to prevent deadlock
- When stopping the enquire_link sender, only stop when still alive
- Use slf4j-simple in test case, instead of log4j and System.Out
- Improve the SMPP server simulator example

2.3.3
- Change the close of session method, to fix deadlock in Apache Camel SMPP component

2.3.2
- Process optional seconds in delivery receipt
- Change log level for not recognized optional parameter
- Allow replace_sm in state OUTBOUND_TRX (as it is allowed in SMPP 5.0)
- Add ENROUTE in DeliveryReceiptState enum
- Add SCHEDULED and SKIPPED (SMPP 5.0) message_state

2.3.1
- Allow replace_sm for state OUTBOUND_TRX

2.3.0
- Add outbind processing

2.2.4
- Fixed some logging
- Add PriorityFlag enum
- Add SSL connection factory implementation
- Fixed SMSCDeliveryReceipt.SUCCESS to FAILURE
- Fix RelativeTimeFormatter test
- Multiple lexical and code improvements

2.2.3
- Use StringBuilder instead of StringBuffer
- Use OctetString for unknown OptionalParameter

2.2.2
- Fixed some logging
- Added SMPP 5.0 message states
- Fixed NullPointerException when OptionaParameters are empty in a BindResp
- Fixed invalid command length (<4) throws an IndexOutOfBoundsException
- Added RelativeTimeFormatter

2.2.1
- Fix examples
- Use StrictBufferedInputStream for better performance
- Provide source for onAcceptDataSm

2.2.0
- New DataCoding API.
Removed the old class (since I could not make the change backwards compatible)
Added some new classes instead:
1. DataCodings
2. DataCoding (GeneralDataCoding, MessageWaitingDataCoding, SimpleDataCoding, RawDataCoding)
- Expose remote InetAddress on server side API via SMPPServerSession
Add new method: InetAddress SMPPServerSession#getInetAddress()
- Ensure command execution is in valid state. Checking done on local side (remote side also does the checking)
- Make Command and its subclasses serializable

2.1.0
- set connection timeout when binding
- provide source (the session) for onAcceptDataSm
- use StrictBufferedInputStream

2.0.1
- Bug fix, MessageReceiverListener should be subclass of GenericMessageReceiverListener

2.0 beta 6
- Change the max length of short message to 254, referring to SMPP 3.4
Previously using 255 (taken from SMPP 5.0)

2.0 beta 5
- Bug fix for type on OptionalParameters class
- Update the SessionState way to return the value from:
1. isBound()
2. isTransmittable()
3. isReceiveable()
- Add examples for auto-reconnect gateway
it can be found on org.jsmpp.examples.gateway
- Add examples for auto-reconnect gateway (found in the org.jsmpp.examples.gateway package)
- Fix the destination addresses on SMPPSession#submitMultiple
Some classes and interfaces created to support the bug fixes.
- Fix the date parsing on delivery receipt
- Referring to Appendix C of SMPP 3.4 for year parsing rule

2.0 beta 6
- Change the max length of short message to 254, referring to SMPP 3.4
Previously using 255 (taken from SMPP 5.0)

2.0.1
- Bug fix, MessageReceiverListener should be subclass of
GenericMessageReceiverListener

2.1.0
- set connection timeout when binding
- provide source (the session) for onAcceptDataSm
- use StrictBufferedInputStream

2.0 beta 4
- Modify Optional Parameter API (currently for TLV related to message
concatenation case)
- Add ServerResponseDeliveryListener (listener to receive success or failure
event of submit_sm_resp/submit_multi_resp delivery)
- Change license from LGPL to "Apache License, Version 2.0"
- Add license notice to every source file

2.2.0
- New DataCoding API.
Remove the old class (since I can't make backward compatibility)
Add some class:
1. DataCodings
2. DataCoding (GeneralDataCoding, MessageWatingDataCoding, SimpleDataCoding, RawDataCoding)
- Expose remote InetAddress on server side API via SMPPServerSession
Add new method: InetAddress SMPPServerSession#getInetAddress()
- Ensure command execution is in valid state. Checking done on local side (remote side do the checking also).
- Make Command and it's subclasses serializeable
2.0 beta 3
- Add SMPP Server component
- Add Optional Parameter support (contribution from [email protected])
- Handling PDU processing concurrently (performance improvement)
- Add data_sm support
- Add cancel_sm support
- Add replace_sm support
- Add alert_notification support
- Add CapacityPolicy to PDUByteBuffer (performance improvement, minimize ByteArray
creation)
48 changes: 48 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
Introduction
------------

[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.jsmpp/jsmpp/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.jsmpp/jsmpp)

jSMPP is a java implementation (SMPP API) of the SMPP protocol (currently supports
SMPP v3.4). It provides interfaces to communicate with a Message Center or
an ESME (External Short Message Entity) and is able to handle
traffic of 3000-5000 messages per second.

jSMPP is not a high-level library. People looking for a quick way to
get started with SMPP may be better of using an abstraction layer such
as the Apache Camel SMPP component:
http://camel.apache.org/smpp.html

Travis-CI status:
-----------------

[![Build Status](https://travis-ci.org/opentelecoms-org/jsmpp.svg?branch=master)](https://travis-ci.org/opentelecoms-org/jsmpp)

History
-------

The project started on Google Code: http://code.google.com/p/jsmpp/

It was maintained by uudashr on Github until 2013.

It is now a community project maintained at http://jsmpp.org

Release procedure
-----------------

mvn deploy -DperformRelease=true -Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ -DrepositoryId=sonatype-nexus-staging -Dgpg.passphrase=\<yourpassphrase\>

* log in here: https://oss.sonatype.org
* click the 'Staging Repositories' link
* select the repository and click close
* select the repository and click release

License
-------

Copyright (C) 2007-2013, Nuruddin Ashr <[email protected]>
Copyright (C) 2012-2013, Denis Kostousov <[email protected]>
Copyright (C) 2014, Daniel Pocock http://danielpocock.com
Copyright (C) 2016, Pim Moerenhout <[email protected]>

This project is licensed under the Apache Software License 2.0.
10 changes: 6 additions & 4 deletions jsmpp-examples/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,14 @@
<parent>
<artifactId>jsmpp-pom</artifactId>
<groupId>org.jsmpp</groupId>
<version>2.2.0-SNAPSHOT</version>
<version>2.3.7-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>jsmpp-examples</artifactId>

<name>jSMPP - Examples</name>

<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
Expand All @@ -17,13 +19,13 @@
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<scope>compile</scope>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</dependency>
</dependencies>

</project>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -17,61 +17,60 @@
import java.io.IOException;
import java.util.concurrent.TimeoutException;

import org.apache.log4j.BasicConfigurator;
import org.jsmpp.PDUStringException;
import org.jsmpp.SMPPConstant;
import org.jsmpp.session.BindRequest;
import org.jsmpp.session.SMPPServerSession;
import org.jsmpp.session.SMPPServerSessionListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
* @author uudashr
*
*/
public class AcceptingConnectionAndBindExample {
private static final Logger LOGGER = LoggerFactory.getLogger(AcceptingConnectionAndBindExample.class);

public static void main(String[] args) {
BasicConfigurator.configure();
try {
System.out.println("Listening ...");
LOGGER.info("Listening ...");
SMPPServerSessionListener sessionListener = new SMPPServerSessionListener(8056);

// accepting connection, session still in OPEN state
SMPPServerSession session = sessionListener.accept();
System.out.println("Accept connection");
LOGGER.info("Accept connection");

try {
BindRequest request = session.waitForBind(5000);
System.out.println("Receive bind request");
LOGGER.info("Receive bind request");

if (request.getSystemId().equals("test") &&
request.getPassword().equals("test")) {
if ("test".equals(request.getSystemId()) &&
"test".equals(request.getPassword())) {

// accepting request and send bind response immediately
System.out.println("Accepting bind request, interface version is " + request.getInterfaceVersion());
LOGGER.info("Accepting bind request, interface version is " + request.getInterfaceVersion());
request.accept("sys");

try { Thread.sleep(20000); } catch (InterruptedException e) {}
} else {
System.out.println("Rejecting bind request");
LOGGER.info("Rejecting bind request");
request.reject(SMPPConstant.STAT_ESME_RINVPASWD);
}
} catch (TimeoutException e) {
System.out.println("No binding request made after 5000 millisecond");
e.printStackTrace();
LOGGER.error("No binding request made after 5000 millisecond", e);
}


if (session.getSessionState().isBound()) {
System.out.println("Closing session");
LOGGER.info("Closing session");
session.unbindAndClose();
}
System.out.println("Closing session listener");
LOGGER.info("Closing session listener");
sessionListener.close();
} catch (PDUStringException e) {
e.printStackTrace();
LOGGER.error("PDUStringException", e);
} catch (IOException e) {
e.printStackTrace();
LOGGER.error("IOException", e);
}

}
Expand Down
Loading