Art Of Mobile provides snippets, tutorials, news articles, newsletters, blogs, reviews and conferences covering all aspects of wireless technology.
Thu 07 5 Jul
Posted in Perl, WAP by artofmobile
Open Mobile Alliance (OMA) is a standards body founded by telecommunication companies which develops open standards for the mobile phone industry. In order to ensure interoperability across all implementations for Digital Rights Management (DRM), the OMA provides DRM specifications so that content providers, operators and mobile phone manufacturers can easily integrate the DRM solution as smoothly as possible.
I have created Net::OmaDrm Perl module so that content providers can format the content-type quickly.
This module support the OMA DRM version 1.0 method of sending content to the handset. A device will declare the support for OMA-DRM by including one of the method which is provided by this module:
- Forward-lock
- Content-Type
- application/vnd.oma.drm.message
- Combined delivery
- Content-Type
- application/vnd.oma.drm.message
- application/vnd.oma.drm.rights+xml
- o-ex:permission
- o-ex:constraint
A detailed document of OMA-DRM can be found at:
http://www.openmobilealliance.org/release_program/drm_v1_0.html
I have tested this module on perl v5.8.5.
INSTALL
To install, do the following:
perl Makefile.PL
make
make install
Read the rest of this entry »
Posted in Perl, WAP | Comments Off
Sun 07 3 Jun
Posted in MMS, Perl, SMS, WAP by artofmobile
I’ve written a perl module to access to Clickatell HTTP API. This module supports the API from Clickatell’s HTTP API Specification v.2.2.7.
The following are all the available APIs and whether they are supported or not:
Basic Commands
- http://api.clickatell.com/http/auth
- Yes (But session Not support)
- http://api.clickatell.com/http/ping
- Yes (But session Not support)
- http://api.clickatell.com/http/querymsg
- http://api.clickatell.com/http/sendmsg
Additional Commands
- http://api.clickatell.com/http/delmsg
- http://api.clickatell.com/http/getbalance
- http://api.clickatell.com/http/routeCoverage.php
- http://api.clickatell.com/mms/ind_push.php
- http://api.clickatell.com/mms/si_push.php
- http://api.clickatell.com/http/getmsgcharge
- http://api.clickatell.com/http/token_pay
Batch Messaging
- http://api.clickatell.com/http_batch/startbatch
- http://api.clickatell.com/http_batch/senditem
- http://api.clickatell.com/http_batch/quicksend
- http://api.clickatell.com/http_batch/endbatch
I tested this module on perl v5.8.5.
INSTALL
To install the module, perform the usual perl module installation procedures. The following is the steps:
perl Makefile.PL
make
make install
Read the rest of this entry »
Posted in MMS, Perl, SMS, WAP | Comments Off
Sun 07 20 May
Posted in Perl, WAP by artofmobile
There is a CPAN library that helps to parse the User-Agent. You can download the Perl library at:
http://search.cpan.org/~cmanley/Mobile-UserAgent-1.05/lib/Mobile/UserAgent.pm
After you download the library, perform the usual installation procedures:
perl Makefile.PL
make
make install
The following is the source code:
#!/usr/local/bin/perl
use strict;
use Mobile::UserAgent;
my $uaobj = new Mobile::UserAgent();
The codes above is the standard declaration so that you can call “Mobile::UserAgent” library. The following 3 lines are used for testing purposes. Uncomment the following 3 lines and comment the above 1 line to do some testing.
#my $useragent = 'Nokia6600/1.0 (4.09.1) SymbianOS/7.0s Series60/2.0 '.
# 'Profile/MIDP-2.0 Configuration/CLDC-1.0';
#my $uaobj = new Mobile::UserAgent($useragent);
The following lines check the User-Agent string and pass the output to the subroutine “printWml” if the device suppose WML or the subroutine “printHtml” if the device doesn’t.
if ($uaobj->success()) {
my $out='Vendor: ' . $uaobj->vendor() . "<br />\\n";
$out.='Model: ' . $uaobj->model() . "<br />\\n";
$out.='Version: ' . $uaobj->version() . "<br />\\n";
$out.='Series60: ' . $uaobj->isSeries60() . "<br />\\n";
&printWml($out);
} else {
&printHtml("Connecting Client is not a mobile user-agent \\n");
}
Read the rest of this entry »
Posted in Perl, WAP | Comments Off
Sat 07 5 May
Posted in Java, SMS, WAP by artofmobile
After publishing the article on “How to send WAP Push data through SMPP”, there is a lot of requests on how to formulate the GSM SMS User Data.
Basically, the following is an example in java with remark in the code to explain how this is done:
public String toSmsBinary() {
/**
GSM SMS User Data
06: UDH Length which is 6
05: 16 bit address
04: Length(4)
0B84: Destination Port(2948)
23F0: Source Port(9200)
Wireless Session Protocol
90: Transaction ID
06: PDU Type(Push)
01: Headers Length is 1
AE: Content-Type is application/vnd.wap.sic
*/
StringBuilder ud = new StringBuilder().append("0605040b8423f0900601ae");
ud.append(toWBXML());
return ud.toString();
}
The above function creates the GSM SMS User Data and Wireless Session Protocol (WSP) header. Read the rest of this entry »
Posted in Java, SMS, WAP | Comments Off
Thu 07 19 Apr
Posted in Java, SMS, WAP by artofmobile
Here we would like to show you how to send a WAP Push message through SMPP using Java. This short tutorial will use the library and example source code from OpenSMPP. You can download the file from SourceForge.
The downloadable zipped file include source code and jar file libraries, and this article will modify this file SMPPTest.java to demonstrate how to do that.
Modify SMPPTest.java and include the following 2 functions:
private static final String HEXINDEX = "0123456789abcdef ABCDEF";
public static byte[] hexToByte(String s) {
int l = s.length() / 2;
byte data[] = new byte[l];
int j = 0;
for (int i = 0; i < l; i++) {
char c = s.charAt(j++);
int n, b;
n = HEXINDEX.indexOf(c);
b = (n & 0xf) << 4;
c = s.charAt(j++);
n = HEXINDEX.indexOf(c);
b += (n & 0xf);
data[i] = (byte) b;
}
return data;
}
The above function is used to convert Hexadecimal to binary data.
Read the rest of this entry »
Posted in Java, SMS, WAP | Comments Off