As this example in the dev
branch referes to a class which exists in the dev
branch. You could clone the repository and build a package from that branch.
git clone https://github.com/smslib/smslib.git
cd smslib/smslib
mvn package
After that you have the library available in target/smslib-dev-SNAPSHOT.jar
which you can use for the example to run.
Or you clone the repository and open the maven project in the project root in your IDE. Then you could play with the code in smslib/src/test/java/org/smslib/Test_IPModem.java
. A build in your IDE will do all the dependency related stuff for you.
Down voting for a correct answer? The class o.s.g.m.Modem
does not exist in version v.3.5.4
.

This fact can easily be verified.
jar tf smslib-3.5.4.jar | grep "modem/Modem"
org/smslib/modem/ModemGateway$IPProtocols.class
org/smslib/modem/ModemGateway$ModemTypes.class
org/smslib/modem/ModemGateway.class
Whereas the class exist in the dev
snapshot.
jar tf smslib-dev-20151220.150109-6.jar | grep "modem/Modem"
org/smslib/gateway/modem/Modem.class
org/smslib/gateway/modem/ModemResponse.class