<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Art Of Mobile</title>
	<atom:link href="http://www.artofmobile.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.artofmobile.com</link>
	<description>Art of Mobile provides information technology news articles, newsletters, blogs, reviews and conferences covering all aspects of wireless technology.</description>
	<lastBuildDate>Wed, 03 Apr 2013 18:23:21 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Net::SIGTRAN::M3UA</title>
		<link>http://www.artofmobile.com/2013/04/04/netsigtranm3ua/</link>
		<comments>http://www.artofmobile.com/2013/04/04/netsigtranm3ua/#comments</comments>
		<pubDate>Wed, 03 Apr 2013 16:24:42 +0000</pubDate>
		<dc:creator>artofmobile</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[SIGTRAN]]></category>

		<guid isPermaLink="false">http://www.artofmobile.com/?p=46</guid>
		<description><![CDATA[Have released a draft beta version of SCTP Perl Module that is published in CPAN. Net::SIGTRAN::M3UA &#8211; An implementation to create M3UA protol stack to provide SIGTRAN stack implementation in perl. Before installing Net::SIGTRAN::M3UA, make sure that the following package: &#8230; <a href="http://www.artofmobile.com/2013/04/04/netsigtranm3ua/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Have released a draft beta version of SCTP Perl Module that is published in <a href="http://www.cpan.org" title="CPAN">CPAN</a>.</p>
<p>Net::SIGTRAN::M3UA &#8211; An implementation to create M3UA protol stack to provide SIGTRAN stack implementation in perl. Before installing Net::SIGTRAN::M3UA, make sure that the following package:</p>
<p>$ rpm -qa|grep sctp<br />
lksctp-tools-1.0.6-3.el5<br />
lksctp-tools-devel-1.0.6-3.el5</p>
<p>Alternatively you can download and compile the source from  <a href="http://lksctp.sourceforge.net" title="lksctp">http://lksctp.sourceforge.net</a>.</p>
<p>The following is example source code to get started.</p>
<p><strong>SCTP Server Example</strong><br />
<pre><code>
use Net::SIGTRAN::M3UA;
use threads;

my $server=new Net::SIGTRAN::M3UA(
&nbsp;&nbsp; PORT=&gt;12346 ); my $ssock=$server-&gt;bind(); if ($ssock) {
&nbsp;&nbsp; my $csock;
&nbsp;&nbsp; while($csock = $server-&gt;accept($ssock)) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print &quot;New Client Connection\n&quot;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $thr=threads-&gt;create(\&amp;processRequest,$server,$csock);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$thr-&gt;detach();
&nbsp;&nbsp; }
}

sub processRequest {
&nbsp;&nbsp; my $server=shift;
&nbsp;&nbsp; my $ssock=shift;
&nbsp;&nbsp; my $connSock = $server-&gt;accept($ssock);
&nbsp;&nbsp; cmp_ok($connSock,&#039;&gt;&#039;,0,&#039;Unable to accept Client Connection&#039;);
&nbsp;&nbsp; print &quot;Sending to $connSock\n&quot;;
&nbsp;&nbsp; $server-&gt;ASPUP($connSock);
&nbsp;&nbsp; $server-&gt;ASPUP_ACK($connSock);
&nbsp;&nbsp; $server-&gt;ASPAC($connSock,2,0);
&nbsp;&nbsp; $server-&gt;ASPAC_ACK($connSock,2,0);
&nbsp;&nbsp; $server-&gt;NTFY($connSock,1,2);
&nbsp;&nbsp; $server-&gt;DAUD($connSock,12,0,1142);
&nbsp;&nbsp; $server-&gt;DAVA($connSock,12,0,1142);
&nbsp;&nbsp; $server-&gt;DUNA($connSock,12,0,1142);
&nbsp;&nbsp; my $heartbeat=&#039;0005000101ffd8398047021227041120&#039;;
&nbsp;&nbsp; $server-&gt;BEAT($connSock,$heartbeat);
&nbsp;&nbsp; $server-&gt;BEAT_ACK($connSock,$heartbeat);
&nbsp;&nbsp; $server-&gt;close($connSock);
}

</code></pre></p>
<p><strong>SCTP Server Example</strong><br />
<pre><code>
use Net::SIGTRAN::M3UA;

 my $client=new Net::SIGTRAN::M3UA(
&nbsp;&nbsp;&nbsp;&nbsp;HOST=&gt;&#039;127.0.0.1&#039;,
&nbsp;&nbsp;&nbsp;&nbsp;PORT=&gt;12346 );

 my $csock=$client-&gt;connect();
 #Read ASPUP
 &amp;clientread(&#039;ASPUP&#039;,$client,$csock);
 #Read ASPUP_ACK
 &amp;clientread(&#039;ASPUP_ACK&#039;,$client,$csock);
 #Read ASPAC
 &amp;clientread(&#039;ASPAC&#039;,$client,$csock);
 #Read ASPAC_ACK
 &amp;clientread(&#039;ASPAC_ACK&#039;, $client,$csock);
 #Read NTFY
 &amp;clientread(&#039;NTFY&#039;, $client,$csock);
 #Read DAUD
 &amp;clientread(&#039;DAUD&#039;, $client,$csock);
 #Read DAVA
 &amp;clientread(&#039;DAVA&#039;, $client,$csock);
 #Read DUNA
 &amp;clientread(&#039;DUNA&#039;, $client,$csock);
 #Read BEAT
 &amp;clientread(&#039;BEAT&#039;, $client,$csock);
 #Read BEAT_ACK
 &amp;clientread(&#039;BEAT_ACK&#039;, $client,$csock);

 $client-&gt;close($csock);

 sub clientread {
&nbsp;&nbsp; my $title=shift;
&nbsp;&nbsp; my $client=shift;
&nbsp;&nbsp; my $csock=shift;
&nbsp;&nbsp; my ($buffer)=$client-&gt;readpdu($csock);
&nbsp;&nbsp; if ($buffer) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ($buffer-&gt;{&#039;M3UA&#039;} =~/Invalid|Unknown/) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print(&quot;Reading $title test&quot;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print(&quot;reading $title test&quot;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print STDERR Dumper($buffer);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp; } else {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(&quot;Reading $title test, Client Socket does not recieve any packet&quot;);
&nbsp;&nbsp; }
}

</code></pre></p>
<p><strong>INSTALLATION</strong></p>
<p>To install the module, perform the usual perl module installation procedures. The following is the steps:</p>
<p><pre><code>
perl Makefile.PL
make
make install
</code></pre></p>
]]></content:encoded>
			<wfw:commentRss>http://www.artofmobile.com/2013/04/04/netsigtranm3ua/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Net::SIGTRAN::SCTP</title>
		<link>http://www.artofmobile.com/2012/05/23/sctp/</link>
		<comments>http://www.artofmobile.com/2012/05/23/sctp/#comments</comments>
		<pubDate>Tue, 22 May 2012 18:27:34 +0000</pubDate>
		<dc:creator>artofmobile</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[SIGTRAN]]></category>

		<guid isPermaLink="false">http://www.artofmobile.com/?p=37</guid>
		<description><![CDATA[Have released a draft beta version of SCTP Perl Module that is published in CPAN. This SCTP module is created to access lksctp to provide SCTP implementation. Before installing Net::SIGTRAN::SCTP, make sure that the following package: $ rpm -qa&#124;grep sctp &#8230; <a href="http://www.artofmobile.com/2012/05/23/sctp/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Have released a draft beta version of SCTP Perl Module that is published in <a href="http://www.cpan.org" title="CPAN">CPAN</a>.</p>
<p>This SCTP module is created to access lksctp to provide SCTP implementation. Before installing Net::SIGTRAN::SCTP, make sure that the following package:</p>
<p>$ rpm -qa|grep sctp<br />
lksctp-tools-1.0.6-3.el5<br />
lksctp-tools-devel-1.0.6-3.el5</p>
<p>Alternatively you can download and compile the source from  <a href="http://lksctp.sourceforge.net" title="lksctp">http://lksctp.sourceforge.net</a>.</p>
<p>The following is example source code to get started.</p>
<p><strong>SCTP Server Example</strong><br />
<pre><code>
use Net::SIGTRAN::SCTP; 
use threads;

my $server=new Net::SIGTRAN::SCTP( PORT=&gt;12345 );
my $ssock=$server-&gt;bind(); 
if ($ssock) { 
&nbsp;&nbsp; my $csock; 
&nbsp;&nbsp; while($csock = $server-&gt;accept($ssock)) { 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print &quot;New Client Connection\n&quot;; 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $thr=threads-&gt;create(\&amp;processRequest,$server,$csock); 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$thr-&gt;detach();
&nbsp;&nbsp; }
}

sub processRequest { 
&nbsp;&nbsp; my $connection=shift; 
&nbsp;&nbsp; my $socket=shift; 
&nbsp;&nbsp; my ($readlen,$buffer)= $connection-&gt;recieve($socket,1000); 
&nbsp;&nbsp; print &quot;Recieved ($readlen,$buffer)\n&quot;; 
}

</code></pre></p>
<p><strong>SCTP Server Example</strong><br />
<pre><code>
use Net::SIGTRAN::SCTP;

my $textstring=&#039;Hello World&#039;;
my $client=new Net::SIGTRAN::SCTP( HOST=&gt;&#039;127.0.0.1&#039;, PORT=&gt;12345 );

my $csock=$client-&gt;connect();

$client-&gt;send($csock,0,length($textstring),$textstring); 
$client-&gt;close($csock);

</code></pre></p>
<p><strong>INSTALLATION</strong></p>
<p>To install the module, perform the usual perl module installation procedures. The following is the steps:</p>
<p><pre><code>
perl Makefile.PL
make
make install
</code></pre></p>
]]></content:encoded>
			<wfw:commentRss>http://www.artofmobile.com/2012/05/23/sctp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Net::Clickatell New Released</title>
		<link>http://www.artofmobile.com/2008/03/28/netclickatell-new-released/</link>
		<comments>http://www.artofmobile.com/2008/03/28/netclickatell-new-released/#comments</comments>
		<pubDate>Fri, 28 Mar 2008 05:08:37 +0000</pubDate>
		<dc:creator>artofmobile</dc:creator>
				<category><![CDATA[WAP]]></category>

		<guid isPermaLink="false">http://www.artofmobile.com/?p=31</guid>
		<description><![CDATA[Net::Clickatell is a Perl Module that is published in CPAN. There are some bugs noticed in version 0.10 which is reported by Ian Clark. The actual details of the bugs are available at CPAN. The bugs are resolved by version &#8230; <a href="http://www.artofmobile.com/2008/03/28/netclickatell-new-released/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="/2007/06/03/perl-module-to-access-to-clickatell-http-api/">Net::Clickatell</a> is a Perl Module that is published in<br />
<a href="www.cpan.org">CPAN</a>.</p>
<p>There are some bugs noticed in version 0.10 which is reported by Ian Clark. The actual details of the bugs are available at <a href="<br />
http://rt.cpan.org/Public/Bug/Display.html?id=35249">CPAN</a>. The bugs are resolved by version 0.30.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artofmobile.com/2008/03/28/netclickatell-new-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Additional OMA DRM&#8217;s Permission</title>
		<link>http://www.artofmobile.com/2007/12/20/additional-oma-drms-permission/</link>
		<comments>http://www.artofmobile.com/2007/12/20/additional-oma-drms-permission/#comments</comments>
		<pubDate>Thu, 20 Dec 2007 13:13:19 +0000</pubDate>
		<dc:creator>artofmobile</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[WAP]]></category>

		<guid isPermaLink="false">http://www.artofmobile.com/2007/12/20/additional-oma-drms-permission/</guid>
		<description><![CDATA[The perl library in this article &#8212; &#8220;Perl Module to encapsulate OMA DRM format for a media type&#8221; only supports the following permissions: o-dd:display o-dd:play As some readers asked me to include additional permission, and I&#8217;ve included the following permissions: &#8230; <a href="http://www.artofmobile.com/2007/12/20/additional-oma-drms-permission/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>The perl library in this article &#8212; &#8220;<a href="/2007/07/05/perl-module-to-encapsulate-oma-drm-format-for-a-media-type/">Perl Module to encapsulate OMA DRM format for a media type</a>&#8221; only supports the following permissions:</p>
<ul>
<li>o-dd:display</li>
<li>o-dd:play</li>
</ul>
<p>As some readers asked me to include additional permission, and I&#8217;ve included the following permissions:</p>
<ul>
<li>o-dd:print</li>
<li>o-dd:execute</li>
</ul>
<p>You can download the package at <a href="http://www.artofmobile.com/posts/Net-OmaDrm-0.15.tar.gz">Net-OmaDrm-0.10.tar.gz</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artofmobile.com/2007/12/20/additional-oma-drms-permission/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EMI UCP protocol</title>
		<link>http://www.artofmobile.com/2007/11/10/emi-ucp-protocol/</link>
		<comments>http://www.artofmobile.com/2007/11/10/emi-ucp-protocol/#comments</comments>
		<pubDate>Sat, 10 Nov 2007 09:51:46 +0000</pubDate>
		<dc:creator>artofmobile</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[SMS]]></category>

		<guid isPermaLink="false">http://www.artofmobile.com/2007/11/10/emi-ucp-protocol/</guid>
		<description><![CDATA[External Machine Interface (EMI), an extension to Universal Computer Protocol (UCP) is a SMSC VAS protocol created by CMG. As one of the major SMSC vendor, EMI and SMPP are two of the widely used SMSC VAS protocol. Even after &#8230; <a href="http://www.artofmobile.com/2007/11/10/emi-ucp-protocol/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>External Machine Interface (EMI), an extension to Universal Computer Protocol (UCP) is a SMSC VAS protocol created by CMG. As one of the major SMSC vendor, EMI and SMPP are two of the widely used SMSC VAS protocol. Even after the merger of Logica and CMG, both protocols are still widely used.</p>
<p>One of the free library that I&#8217;ve using is from Marco Romano. It is a Perl library which can be used to generate EMI/UCP message easily. Please take a look at:</p>
<p><a href="http://search.cpan.org/~nemux/Net-UCP-0.29/">http://search.cpan.org/~nemux/Net-UCP-0.29/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.artofmobile.com/2007/11/10/emi-ucp-protocol/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transcoding Engine</title>
		<link>http://www.artofmobile.com/2007/10/06/transcoding-engine/</link>
		<comments>http://www.artofmobile.com/2007/10/06/transcoding-engine/#comments</comments>
		<pubDate>Sat, 06 Oct 2007 11:12:45 +0000</pubDate>
		<dc:creator>artofmobile</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.artofmobile.com/2008/01/23/transcoding-engine/</guid>
		<description><![CDATA[Nowadays, anyone that working in the telco space, esp. those who work in the ip mobile space, has to come in touch with transcoding one way or another. Today, topic is about transcoding and how to find information for each &#8230; <a href="http://www.artofmobile.com/2007/10/06/transcoding-engine/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Nowadays, anyone that working in the telco space, esp. those who work in the ip mobile space, has to come in touch with transcoding one way or another. Today, topic is about transcoding and how to find information for each transcoding engine that are free and widely available.</p>
<p><strong>Image Transcoding</strong></p>
<p>The best and free engine that I&#8217;ve come across is ImageMagick. You can take a look at <a href="http://www.imagemagick.org/">www.imagemagick.org</a>. To convert from one format to another is as simple as:<br />
<pre>convert rose.jpg rose.png</pre></p>
<p><strong>Audio Transcoding</strong></p>
<p>Searching for free audio transcoding is not as simple as I thought initially until I found this web site at<br />
<a href="http://xa.bi/mms/">http://xa.bi/mms/</a>. It describes the difference audio transcoding engine and how they work together to convert different format of audio to/from one another.</p>
<p><strong>Video Transcoding</strong></p>
<p><a href="http://ffmpeg.mplayerhq.hu/">FFMpeg</a> is always the choice when I ask someone for a free source to transcode video file.</p>
<p>Check out these web site, it should give you a starting point of where to look out for free library and third party software to do transcoding.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artofmobile.com/2007/10/06/transcoding-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perl Module to check OMA DRA support for a mobile device</title>
		<link>http://www.artofmobile.com/2007/09/03/perl-module-to-check-oma-dra-support-for-a-mobile-device/</link>
		<comments>http://www.artofmobile.com/2007/09/03/perl-module-to-check-oma-dra-support-for-a-mobile-device/#comments</comments>
		<pubDate>Sun, 02 Sep 2007 22:52:11 +0000</pubDate>
		<dc:creator>artofmobile</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[WAP]]></category>

		<guid isPermaLink="false">http://www.artofmobile.com/wordpress/2007/05/23/perl-module-to-check-oma-dra-support-for-a-mobile-device/</guid>
		<description><![CDATA[Last Month in one of articles, I covered a topic on how to get the screen size of a mobile device, someone is wondering about how to check the Open Mobile Alliance (OMA) Digital Rights Management (DRM) support. To check &#8230; <a href="http://www.artofmobile.com/2007/09/03/perl-module-to-check-oma-dra-support-for-a-mobile-device/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Last Month in one of articles, I covered a topic on how to <a href="/wordpress/2007/04/29/perl-module-to-get-the-screen-size-of-a-mobile-device/">get the screen size of a mobile device</a>, someone is wondering about how to check the Open Mobile Alliance (OMA) Digital Rights Management (DRM) support.</p>
<p>To check Forward-Lock, you need to ensure that the following content-type is accepted by the device:</p>
<ul>
<li>application/vnd.oma.drm.message</li>
</ul>
<p>To check Combined Delivery, you need to ensure that the following content-type is accepted by the device:</p>
<ul>
<li>application/vnd.oma.drm.message</li>
<li>application/vnd.oma.drm.rights+xml</li>
</ul>
<p>To check Separate Delivery, you need to ensure that the following content-type is accepted by the device:</p>
<ul>
<li>application/vnd.oma.drm.rights+xml</li>
<li>application/vnd.oma.drm.rights+wbxml</li>
<li>application/vnd.oma.drm.content</li>
</ul>
<p>One more thing is that the device may support (for example) Combined Delivery DRM, but you may not be able to use that in MMS. Thus, further check on &#8220;MmsCcppAccept&#8221; tag of the User Agent Profile (UAProf) to ensure that it is supported.</p>
<p>Some may wonder why I don&#8217;t just check the &#8220;DrmClass&#8221; tag instead. Well, you can, however, during my investigation, I found out that some mobile phone manufacturers do not include this in the UAProf. Thus, it is much safer to check the DRM&#8217;s content-types instead.</p>
<p>I have further modified the previous Mobile::UserAgentProfile library and include this checking into that. I have also make changes to the method calling so that I can hold the profile in memory rather than load the profile from file every time I need to check on the UAProf.</p>
<p><strong>INSTALL</strong></p>
<p>To install, do the following:<br />
<pre><pre>
perl Makefile.PL
make
make install
</pre></pre><br />
<span id="more-21"></span><br />
The following a a perldoc of this module:</p>
<p><strong>SYNOPSIS</strong><br />
<pre>[[code]]czo4MDpcIg0KIHVzZSBNb2JpbGU6OlVzZXJBZ2VudFByb2ZpbGU7DQogbXkgJHVhcHJvZj0gbmV3IE1vYmlsZTo6VXNlckFnZW50UHJ7WyYqJl19b2ZpbGUoKTsNClwiO3tbJiomXX0=[[/code]]</pre></p>
<p><strong>DESCRIPTION</strong><br />
This module will retrieve the screen size of the device from the UAProf.</p>
<p><strong>METHODS</strong></p>
<p><strong>new</strong>, this method is used to create the UserAgentProfile object. Initial call will be slow if the DefaultCacheDir directory is not found. If DefaultCacheDir is not found, this module will retrieve a list of UAProf from the Internet. The current list is available at <a href="/uaprof/">here</a> .</p>
<p>Usage:<br />
<pre>[[code]]czoyMzI6XCINCm15ICR1YXByb2Y9IG5ldyBNb2JpbGU6OlVzZXJBZ2VudFByb2ZpbGUoKTsNCg0KbXkgJHVhcHJvZj0gbmV3IE1vYml7WyYqJl19bGU6OlVzZXJBZ2VudFByb2ZpbGUoDQogICAgIERlZmF1bHRVcmw9PlwiaHR0cDovL3d3dy5hcnRvZm1vYmlsZS5jb20vdWFwcm9mL1wie1smKiZdfSwNCiAgICAgVXNlckFnZW50PT5cIlVzZXJBZ2VudFByb2ZpbGUgR3JhYmJlclwiLA0KICAgICBEZWZhdWx0Q2FjaGVEaXI9PlwiVUFHcmF7WyYqJl19YmJlclwiDQopOw0KXCI7e1smKiZdfQ==[[/code]]</pre></p>
<p><strong>setDevice</strong>, this method will retrieve device profile on the UAProf URL. If the UAProf is not found in the DefaultCacheDir directory, this module will retrieve the UAProf from the given url. If the UAProf is found, it will retrieve from DefaultCacheDir directory.</p>
<p>Usage:<br />
<pre>[[code]]czo2NzpcIg0KICAgICAkdWFwcm9mLT5zZXRTaXplKEhUVFBfWF9XQVBfUFJPRklMRT0+JEhUVFBfWF9XQVBfUFJPRklMRSk7DQpcIjt7WyYqJl19[[/code]]</pre><br />
     Example of accepted value for HTTP_X_WAP_PROFILE:<br />
<pre><pre>
http://nds1.nds.nokia.com/uaprof/N6070r100.xml
&quot;http://wap.sonyericsson.com/UAprof/K700iR201.xml&quot;, &quot;1-bgyyJlyTUYSczJUKDdFYyw==&quot;
</pre></pre></p>
<p><strong>getSize</strong>, this method will retrieve the size of the device.</p>
<p>Usage:<br />
<pre>[[code]]czozNjpcIg0KICAgbXkgJHNpemU9ICR1YXByb2YtPmdldFNpemUoKTsNClwiO3tbJiomXX0=[[/code]]</pre></p>
<p><strong>isOmaDrmForwardLock</strong>, this method will retrieve to see whether it supports the following content-type:</p>
<ul>
<li>application/vnd.oma.drm.message</li>
</ul>
<p>Usage:<br />
<pre>[[code]]czo1MTpcIg0KICAgbXkgJHN1cHBvcnQ9ICR1YXByb2YtPmlzT21hRHJtRm9yd2FyZExvY2soKTsNClwiO3tbJiomXX0=[[/code]]</pre></p>
<p><strong>isOmaDrmCombinedDelivery</strong>, this method will retrieve to see whether it supports the following content-type:</p>
<ul>
<li>application/vnd.oma.drm.message</li>
<li>application/vnd.oma.drm.rights+xml</li>
</ul>
<p>Usage:<br />
<pre>[[code]]czo1NjpcIg0KICAgbXkgJHN1cHBvcnQ9ICR1YXByb2YtPmlzT21hRHJtQ29tYmluZWREZWxpdmVyeSgpOw0KXCI7e1smKiZdfQ==[[/code]]</pre></p>
<p><strong>isOmaDrmSeparateDelivery</strong>, this method will retrieve to see whether it supports the following content-type:</p>
<ul>
<li>application/vnd.oma.drm.rights+xml</li>
<li>application/vnd.oma.drm.rights+wbxml</li>
<li>application/vnd.oma.drm.content</li>
</ul>
<p>Usage:<br />
<pre>[[code]]czo1NjpcIg0KICAgbXkgJHN1cHBvcnQ9ICR1YXByb2YtPmlzT21hRHJtU2VwYXJhdGVEZWxpdmVyeSgpOw0KXCI7e1smKiZdfQ==[[/code]]</pre></p>
<p>You can download the package at <a href="/posts/Mobile-UserAgentProfile-0.10.tgz" title="Mobile::UserAgentProfile Perl Module">Mobile-UserAgentProfile-0.10.tgz</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.artofmobile.com/2007/09/03/perl-module-to-check-oma-dra-support-for-a-mobile-device/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perl Module to get the Screen Size of a mobile device</title>
		<link>http://www.artofmobile.com/2007/08/01/perl-module-to-get-the-screen-size-of-a-mobile-device/</link>
		<comments>http://www.artofmobile.com/2007/08/01/perl-module-to-get-the-screen-size-of-a-mobile-device/#comments</comments>
		<pubDate>Tue, 31 Jul 2007 17:50:42 +0000</pubDate>
		<dc:creator>artofmobile</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[WAP]]></category>

		<guid isPermaLink="false">http://www.artofmobile.com/wordpress/2007/04/29/perl-module-to-get-the-screen-size-of-a-mobile-device/</guid>
		<description><![CDATA[As mobile devices are created differently, there are a lot of different Screen size available in the market. Due to the small screen size, mobile application developers had always find it hard to optimize the WAP portal for different devices. &#8230; <a href="http://www.artofmobile.com/2007/08/01/perl-module-to-get-the-screen-size-of-a-mobile-device/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>As mobile devices are created differently, there are a lot of different Screen size available in the market. Due to the small screen size, mobile application developers had always find it hard to optimize the WAP portal for different devices. Keeping a record of the screen size is also difficult as there isn&#8217;t a standard way for mobile devices manufacturers to communicate to the mobile application developers.</p>
<p>User Agent Profile (UAProf) specification is the answer to this problem. It is used to capture capability and preference information for mobile   devices. This information can be used by content providers to produce content in an appropriate format for the specific device.</p>
<p>In this article, we will discuss the Perl module which use UAProf to get the screen size of the mobile devices. For further information, you can download a copy of UAProf&#8217;s specification at: </p>
<p><a href="http://www.openmobilealliance.org/tech/affiliates/wap/wap-248-uaprof-20011020-a.pdf">Specification of UAProf</a></p>
<p><strong>INSTALL</strong></p>
<p>To install, do the following:<br />
<pre><pre>
perl Makefile.PL
make
make install
</pre></pre><br />
<span id="more-20"></span><br />
The following a a perldoc of this module:</p>
<p><strong>SYNOPSIS</strong><br />
<pre>[[code]]czo4MDpcIg0KIHVzZSBNb2JpbGU6OlVzZXJBZ2VudFByb2ZpbGU7DQogbXkgJHVhcHJvZj0gbmV3IE1vYmlsZTo6VXNlckFnZW50UHJ7WyYqJl19b2ZpbGUoKTsNClwiO3tbJiomXX0=[[/code]]</pre></p>
<p><strong>DESCRIPTION</strong><br />
This module will retrieve the screen size of the device from the UAProf.</p>
<p><strong>METHODS</strong></p>
<p><strong>new</strong>, this method is used to create the UserAgentProfile object. initial call will be slow if the DefaultCacheDir directory is not found. If DefaultCacheDir is not found, this module will retrieve a list of UAProf from the Internet. The current list is available at <a href="/uaprof/">here</a> .</p>
<p>Usage:<br />
<pre>[[code]]czoyMzI6XCINCm15ICR1YXByb2Y9IG5ldyBNb2JpbGU6OlVzZXJBZ2VudFByb2ZpbGUoKTsNCg0KbXkgJHVhcHJvZj0gbmV3IE1vYml7WyYqJl19bGU6OlVzZXJBZ2VudFByb2ZpbGUoDQogICAgIERlZmF1bHRVcmw9PlwiaHR0cDovL3d3dy5hcnRvZm1vYmlsZS5jb20vdWFwcm9mL1wie1smKiZdfSwNCiAgICAgVXNlckFnZW50PT5cIlVzZXJBZ2VudFByb2ZpbGUgR3JhYmJlclwiLA0KICAgICBEZWZhdWx0Q2FjaGVEaXI9PlwiVUFHcmF7WyYqJl19YmJlclwiDQopOw0KXCI7e1smKiZdfQ==[[/code]]</pre></p>
<p><strong>getSize</strong>, this method will retrieve the size of the device based on the UAProf URL. If the UAProf is not found in the DefaultCacheDir directory, this module will retrieve the UAProf from the given url. If the UAProf is found, it will retrieve from DefaultCacheDir directory.</p>
<p>Usage:<br />
<pre>[[code]]czo3NzpcIg0KICAgICBteSAkc2l6ZT0gJHVhcHJvZi0+Z2V0U2l6ZShIVFRQX1hfV0FQX1BST0ZJTEU9PiRIVFRQX1hfV0FQX1BST0Z7WyYqJl19SUxFKTsNClwiO3tbJiomXX0=[[/code]]</pre><br />
     Example of accepted value for HTTP_X_WAP_PROFILE:<br />
<pre><pre>
http://nds1.nds.nokia.com/uaprof/N6070r100.xml
&quot;http://wap.sonyericsson.com/UAprof/K700iR201.xml&quot;, &quot;1-bgyyJlyTUYSczJUKDdFYyw==&quot;
</pre></pre></p>
<p>You can download the package at <a href="/posts/Mobile-UserAgentProfile-0.01.tgz" title="Mobile::UserAgentProfile Perl Module">Mobile-UserAgentProfile-0.01.tgz</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.artofmobile.com/2007/08/01/perl-module-to-get-the-screen-size-of-a-mobile-device/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perl Module to encapsulate OMA DRM format for a media type</title>
		<link>http://www.artofmobile.com/2007/07/05/perl-module-to-encapsulate-oma-drm-format-for-a-media-type/</link>
		<comments>http://www.artofmobile.com/2007/07/05/perl-module-to-encapsulate-oma-drm-format-for-a-media-type/#comments</comments>
		<pubDate>Thu, 05 Jul 2007 13:27:58 +0000</pubDate>
		<dc:creator>artofmobile</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[WAP]]></category>

		<guid isPermaLink="false">http://www.artofmobile.com/wordpress/2007/04/21/perl-module-to-format-the-content-with-oma-drm-content-type/</guid>
		<description><![CDATA[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 &#8230; <a href="http://www.artofmobile.com/2007/07/05/perl-module-to-encapsulate-oma-drm-format-for-a-media-type/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>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.</p>
<p>I have created Net::OmaDrm Perl module so that content providers can format the content-type quickly.</p>
<p>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:</p>
<ul>
<li>Forward-lock</li>
<ul>
<li>Content-Type</li>
<ul>
<li>application/vnd.oma.drm.message</li>
</ul>
</ul>
<li>Combined delivery</li>
<ul>
<li>Content-Type</li>
<ul>
<li>application/vnd.oma.drm.message</li>
<li>application/vnd.oma.drm.rights+xml</li>
</ul>
<li>o-ex:permission</li>
<ul>
<li>o-dd:display</li>
<li>o-dd:play</li>
</ul>
<li>o-ex:constraint</li>
<ul>
<li>o-dd:count</li>
<li>o-dd:interval</li>
</ul>
</ul>
</ul>
<p>A detailed document of OMA-DRM can be found at:<br />
  <a href="http://www.openmobilealliance.org/release_program/drm_v1_0.html" title="OMA DRM" target="_blank">http://www.openmobilealliance.org/release_program/drm_v1_0.html</a></p>
<p>I have tested this module on perl v5.8.5.</p>
<p><strong>INSTALL</strong><br />
    To install, do the following:<br />
<pre><pre>
perl Makefile.PL
make
make install
</pre></pre><br />
<span id="more-18"></span><br />
The following is a perldoc of this module:</p>
<p><strong>SYNOPSIS</strong><br />
<pre>[[code]]czoxMzE6XCINCnVzZSBOZXQ6Ok9tYURybTsNCg0KbXkgJG15ZHJtID0gTmV0OjpPbWFEcm0tPm5ldygkYmFzZXBhdGgpOw0KbXkgJGN7WyYqJl19b250ZW50PSAkbXlkcm0tPmdlbkZvcndhcmRMb2NrKCRjb250ZW50X25hbWUsJGNvbnRlbnRfdHlwZSk7DQpcIjt7WyYqJl19[[/code]]</pre></p>
<p><strong>DESCRIPTION</strong><br />
   This module will encapsulate the media type to a multi-type content with OMA DRM standard.</p>
<p><strong>METHODS</strong><br />
   <strong>new</strong>, this method is used to create the OmaDrm object.</p>
<p>     Usage:<br />
<pre>[[code]]czo0NDpcIg0KbXkgJG15ZHJtID0gTmV0OjpPbWFEcm0tPm5ldygkYmFzZXBhdGgpOw0KXCI7e1smKiZdfQ==[[/code]]</pre><br />
     The complete list of arguments is:</p>
<ul>
<li>$basepath : This is the base path for the content.</li>
</ul>
<p>   <strong>genForwardLock</strong>, this method will generate the Forward Lock DRM with an input Media Type.</p>
<p>     Usage:<br />
<pre>[[code]]czo2OTpcIg0KbXkgJGNvbnRlbnQ9ICRteWRybS0+Z2VuRm9yd2FyZExvY2soJGNvbnRlbnRfbmFtZSwkY29udGVudF90eXBlKTsNClwie1smKiZdfTt7WyYqJl19[[/code]]</pre><br />
     The complete list of arguments is:</p>
<ul>
<li>$content_name : File name of the content.</li>
<li>$content_type : Content Type.</li>
</ul>
<p>   <strong>genCombinedDelivery</strong>, this method will generate multipart content with rights.</p>
<p>     Usage:<br />
<pre>[[code]]czo5MTpcIg0KbXkgJGNvbnRlbnQ9ICRteWRybS0+Z2VuQ29tYmluZWREZWxpdmVyeSgkY29udGVudF9uYW1lLCRjb250ZW50X3R5cGV7WyYqJl19LCRpbnRlcnZhbCwkY291bnQpOw0KXCI7e1smKiZdfQ==[[/code]]</pre><br />
Example:<br />
<pre>[[code]]czoxNTM6XCINCm15ICRjb250ZW50PSAkbXlkcm0tPmdlbkNvbWJpbmVkRGVsaXZlcnkoXCJpbWFnZS5naWZcIixcImltYWdlL2dpZlwiLFwiXCJ7WyYqJl19LDMpOw0KbXkgJGNvbnRlbnQ9ICRteWRybS0+Z2VuQ29tYmluZWREZWxpdmVyeShcImltYWdlLmdpZlwiLFwiaW1hZ2UvZ2lmXCIsXCJQMzBTe1smKiZdfVwiLFwiXCIpOw0KXCI7e1smKiZdfQ==[[/code]]</pre><br />
The complete list of arguments is:</p>
<ul>
<li>$content_name : File name of the content.</li>
<li>$content_type : Content Type.</li>
<li>$interval     : Interval that the content can play.</li>
<li>$count    : Number of time that the content can play.</li>
</ul>
<p><b>Sample Source Code</b></p>
<p>The following is a full source code sample for your reference:<br />
<pre>[[code]]czozMzY6XCINCiMhL3Vzci9sb2NhbC9iaW4vcGVybA0KdXNlIHN0cmljdDsNCnVzZSBOZXQ6Ok9tYURybTsNCg0KbXkgJGJhc2VwYXR7WyYqJl19aD1cJ2ltYWdlc1wnOw0KbXkgJGNvbnRlbnRfbmFtZT1cJ2xvZ28uZ2lmXCc7DQpteSAkY29udGVudF90eXBlPVwnaW1hZ2UvZ2lmXCc7DQpteXtbJiomXX0gJGludGVydmFsPVwnUDYwU1wnOw0KbXkgJGNvdW50PVwnXCc7DQoNCm15ICRteWRybSA9IE5ldDo6T21hRHJtLT5uZXcoJGJhc2VwYXRoKXtbJiomXX07DQpteSAkY29udGVudD0gJG15ZHJtLT5nZW5Db21iaW5lZERlbGl2ZXJ5KCRjb250ZW50X25hbWUsJGNvbnRlbnRfdHlwZSwkaW50e1smKiZdfWVydmFsLCRjb3VudCk7DQoNCnByaW50IFwiJGNvbnRlbnRcXG5cIjsNClwiO3tbJiomXX0=[[/code]]</pre><br />
The above sample source code will input the image file, logo.gif and format the DRM content with display permission of 60 seconds. An example URL for this sample is available at <a href="http://www.artofmobile.com/logo.pl">http://www.artofmobile.com/logo.pl</a>. Enter this URL in your WAP browser in your phone and download the content.</p>
<p>You can download the package at <a href="/posts/Net-OmaDrm-0.10.tar.gz" title="Net::OmaDrm Perl Module">Net-OmaDrm-0.10.tar.gz</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artofmobile.com/2007/07/05/perl-module-to-encapsulate-oma-drm-format-for-a-media-type/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perl Module to access Clickatell HTTP API</title>
		<link>http://www.artofmobile.com/2007/06/03/perl-module-to-access-to-clickatell-http-api/</link>
		<comments>http://www.artofmobile.com/2007/06/03/perl-module-to-access-to-clickatell-http-api/#comments</comments>
		<pubDate>Sun, 03 Jun 2007 14:43:51 +0000</pubDate>
		<dc:creator>artofmobile</dc:creator>
				<category><![CDATA[MMS]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[SMS]]></category>
		<category><![CDATA[WAP]]></category>

		<guid isPermaLink="false">http://www.artofmobile.com/wordpress/2007/04/17/perl-module-to-access-to-clickatell-http-api/</guid>
		<description><![CDATA[I&#8217;ve written a perl module to access to Clickatell HTTP API. This module supports the API from Clickatell&#8217;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 &#8230; <a href="http://www.artofmobile.com/2007/06/03/perl-module-to-access-to-clickatell-http-api/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve written a perl module to access to Clickatell HTTP API. This module supports the API from Clickatell&#8217;s HTTP API Specification v.2.2.7.</p>
<p>The following are all the available APIs and whether they are supported or not:</p>
<p><strong>Basic Commands</strong>  </p>
<ul>
<li>http://api.clickatell.com/http/auth                </li>
<ul>
<li>Yes (But session Not support)</li>
</ul>
<li>http://api.clickatell.com/http/ping                </li>
<ul>
<li>Yes (But session Not support)</li>
</ul>
<li>http://api.clickatell.com/http/querymsg            </li>
<ul>
<li>Yes</li>
</ul>
<li>http://api.clickatell.com/http/sendmsg             </li>
<ul>
<li>Yes</li>
</ul>
</ul>
<p><strong>Additional Commands</strong></p>
<ul>
<li>http://api.clickatell.com/http/delmsg              </li>
<ul>
<li>No</li>
</ul>
<li>http://api.clickatell.com/http/getbalance          </li>
<ul>
<li>Yes</li>
</ul>
<li>http://api.clickatell.com/http/routeCoverage.php   </li>
<ul>
<li>Yes</li>
</ul>
<li>http://api.clickatell.com/mms/ind_push.php         </li>
<ul>
<li>Yes</li>
</ul>
<li>http://api.clickatell.com/mms/si_push.php          </li>
<ul>
<li>Yes</li>
</ul>
<li>http://api.clickatell.com/http/getmsgcharge        </li>
<ul>
<li>Yes</li>
</ul>
<li>http://api.clickatell.com/http/token_pay           </li>
<ul>
<li>No</li>
</ul>
</ul>
<p><strong>Batch Messaging</strong></p>
<ul>
<li>http://api.clickatell.com/http_batch/startbatch    </li>
<ul>
<li>No</li>
</ul>
<li>http://api.clickatell.com/http_batch/senditem      </li>
<ul>
<li>No</li>
</ul>
<li>http://api.clickatell.com/http_batch/quicksend     </li>
<ul>
<li>No</li>
</ul>
<li>http://api.clickatell.com/http_batch/endbatch      </li>
<ul>
<li>No</li>
</ul>
</ul>
<p>I tested this module on perl  v5.8.5.</p>
<p><strong>INSTALL</strong></p>
<p>To install the module, perform the usual perl module installation procedures. The following is the steps:<br />
<pre><pre>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perl Makefile.PL
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;make
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;make install
</pre></pre><br />
<span id="more-17"></span><br />
The following is a perldoc of this module:</p>
<p><strong>SYNOPSIS</strong><br />
        With SSL<br />
<pre>[[code]]czoyNTA6XCINCiB1c2UgTmV0OjpDbGlja2F0ZWxsOw0KDQogbXkgJGNsaWNrYXRlbGwgPSBOZXQ6OkNsaWNrYXRlbGwtPm5ldyggQVB7WyYqJl19SV9JRCA9PiAkYXBpX2lkLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNFUk5BTUUgPT4gJHVzZXJuYXtbJiomXX1tZSwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBBU1NXT1JEID0+ICRwYXNzd29yZCApOw0KIG15ICRie1smKiZdfWFsPSRjbGlja2F0ZWxsLT5nZXRCYWxhbmNlOw0KXCI7e1smKiZdfQ==[[/code]]</pre></p>
<p>        Without SSL<br />
<pre>[[code]]czozMDE6XCINCiB1c2UgTmV0OjpDbGlja2F0ZWxsOw0KDQogbXkgJGNsaWNrYXRlbGwgPSBOZXQ6OkNsaWNrYXRlbGwtPm5ldyggVXN7WyYqJl19ZVNTTD0+IDAsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJX0lEID0+ICRhcGlfaWQsIA0KICAgIHtbJiomXX0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVU0VSTkFNRSA9PiAkdXNlcm5hbWUsIA0KICAgICAgICAgICAgICAgICAge1smKiZdfSAgICAgICAgICAgICAgICAgICBQQVNTV09SRCA9PiAkcGFzc3dvcmQgKTsNCiBteSAkYmFsPSRjbGlja2F0ZWxsLT5nZXRCYWxhbmN7WyYqJl19ZTsNClwiO3tbJiomXX0=[[/code]]</pre></p>
<p><strong>DESCRIPTION</strong></p>
<p>Clickatell (http://www.clickatell.com) is a commercial service that allows its users to send SMS messages to anyone in the world. This perl module allow users to send SMS, WAP push and MMS through Clickatell HTTP API.</p>
<p>Please take note that neither this software nor the author are related to Clickatell in any way.</p>
<p><strong>METHODS</strong></p>
<p>        <strong>new</strong><br />
   This method is used to create the Clickatell object.</p>
<p>   Usage:<br />
<pre>[[code]]czoxOTI6XCINCiBteSAkY2xpY2thdGVsbCA9IE5ldDo6Q2xpY2thdGVsbC0+bmV3KCBBUElfSUQgPT4gJGFwaV9pZCwgDQogICAgICB7WyYqJl19ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNFUk5BTUUgPT4gJHVzZXIsIA0KICAgICAgICAgICAgICAgICAgIHtbJiomXX0gICAgICAgICAgICAgICAgICAgICAgIFBBU1NXT1JEID0+ICRwYXNzd2QgKTsNClwiO3tbJiomXX0=[[/code]]</pre><br />
   The complete list of arguments is:<br />
<pre><pre>
&nbsp;&nbsp;&nbsp;&nbsp; API_ID&nbsp;&nbsp;&nbsp;&nbsp;: Unique number received from Clickatell when an account is created.
&nbsp;&nbsp;&nbsp;&nbsp; UseSSL&nbsp;&nbsp;&nbsp;&nbsp;: Tell Clickatell module whether to use SSL or not (0 or 1).
&nbsp;&nbsp;&nbsp;&nbsp; BaseURL&nbsp;&nbsp; : Default URL used to connect with Clickatell service.
&nbsp;&nbsp;&nbsp;&nbsp; UserAgent : Name of the user agent you want to display to Clickatell service.
</pre></pre><br />
        <strong>getBalance</strong><br />
   This method will return the Balance of the account.</p>
<p>   Usage:<br />
<pre>[[code]]czozMDpcIg0KICAkY2xpY2thdGVsbC0+Z2V0QmFsYW5jZTsNClwiO3tbJiomXX0=[[/code]]</pre><br />
   Succesful example of the return is as followed:<br />
    OK: Credit: 100.3</p>
<p>   Failed example of the return is as followed:<br />
    ERR: 001, Authentication failed</p>
<p>        <strong>checkCoverage</strong><br />
   This method will return the Balance of the account.</p>
<p>   Usage:<br />
<pre>[[code]]czo0MjpcIg0KICAkY2xpY2thdGVsbC0+Y2hlY2tDb3ZlcmFnZSgkbXNpc2RuKTsNClwiO3tbJiomXX0=[[/code]]</pre><br />
   Succesful example of the return is as followed:<br />
    OK: This prefix is currently supported. Messages sent to this prefix will be routed. Charge: 1</p>
<p>   Failed example of the return is as followed:<br />
    ERR: This prefix is not currently supported. Messages sent to this prefix will fail. Please contact support for assistance.</p>
<p>        <strong>getReturnMessageCharge</strong><br />
   This method will return the Message Charge Status.</p>
<p>   Usage:<br />
<pre>[[code]]czo2NTpcIg0KIG15ICRtZXNzYWdlY2hhcmdlPSRjbGlja2F0ZWxsLT5nZXRNZXNzYWdlQ2hhcmdlKCRzbXNSZXN1bHQpOw0KXCI7e1smKiZdfQ==[[/code]]</pre><br />
   Succesful example of the return is as followed:<br />
    OK: This prefix is currently supported. Messages sent to this prefix will be routed. Charge: 1</p>
<p>   Failed example of the return is as followed:<br />
    ERR: This prefix is not currently supported. Messages sent to this prefix will fail. Please contact support for assistance.</p>
<p>        <strong>sendBasicSMSMessage</strong><br />
   This method is used to send a SMS Message.</p>
<p>   Usage:<br />
<pre>[[code]]czo2ODpcIg0KIG15ICRzbXNSZXN1bHQ9JGNsaWNrYXRlbGwtPnNlbmRCYXNpY1NNU01lc3NhZ2UoJGZyb20sJHRvLCRtc2cpOw0KXCI7e1smKiZdfQ==[[/code]]</pre><br />
   Succesful example of the return is as followed:<br />
    OK: ID: dd8f5556c0d3d54bc94a4cd8800f01b4</p>
<p>   Failed example of the return is as followed:<br />
    ERR: 105, Invalid Destination Address</p>
<p>        <strong>sendMMNotification</strong><br />
   This method is used to send a MMS Notification Push Message.</p>
<p>   Usage:<br />
<pre>[[code]]czo4MzpcIg0KIG15ICRtbXNSZXN1bHQ9JGNsaWNrYXRlbGwtPnNlbmRNTU5vdGlmaWNhdGlvbigkZnJvbSwkdG8sJHRyYW5pZCwkZXh7WyYqJl19cGlyeSwkdXJsKTsNClwiO3tbJiomXX0=[[/code]]</pre><br />
   Succesful example of the return is as followed:<br />
    OK: ID: dd8f5556c0d3d54bc94a4cd8800f01b4</p>
<p>   Failed example of the return is as followed:<br />
    ERR: 105, Invalid Destination Address</p>
<p>        <strong>sendWAPPush</strong><br />
   This method is used to send a WAP Push. Currently, only SI WAP Push message is supported.</p>
<p>   Usage:<br />
<pre>[[code]]czo2NTpcIg0KIG15ICR3YXBSZXN1bHQ9JGNsaWNrYXRlbGwtPnNlbmRXQVBQdXNoKCRmcm9tLCR0bywkbXNnLCR1cmwpOw0KXCI7e1smKiZdfQ==[[/code]]</pre><br />
   Succesful example of the return is as followed:<br />
    OK: ID: dd8f5556c0d3d54bc94a4cd8800f01b4</p>
<p>   Failed example of the return is as followed:<br />
    ERR: 105, Invalid Destination Address</p>
<p>You can download the package at <a href="/posts/Net-Clickatell-0.10.tgz">Net-Clickatell-0.10.tgz</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artofmobile.com/2007/06/03/perl-module-to-access-to-clickatell-http-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
