Art of Mobile
Home GeneralHardwareJavaMMSPerlPHPSMSWAP

About this site

Art Of Mobile provides snippets, tutorials, news articles, newsletters, blogs, reviews and conferences covering all aspects of wireless technology.

Example to read MMS message and write to a file in Perl

Posted in MMS, Perl by artofmobile

This example is a simple subroutine to check whether the content is a MMS and write to a file. Combine the example in “Detect WAP browser and redirect to different url in Perl”, you can route the URL request to another URL if it is not a MMS content.

The subroutine “doRedirrect” is meant to do that, or you can do a simple print message to state that this requested URL is for MMS.

The following is the code for this:

sub doMMSC {
   my $class=shift;

   my $length = $ENV{'CONTENT_LENGTH'};

   if ($ENV{'CONTENT_TYPE'} ne "application/vnd.wap.mms-message") {
      &doRedirrect;
      return;
   }

   my $count = read(STDIN, $body, $length);
   if ($count == $length) {
      open ER, ">incoming.mms";
      print ER $body;
      close ER;
   }

}

What is MM per second (MM/sec)?

Posted in MMS by artofmobile

What is MM per second (MM/sec)? How do you calculate MM per second?

MM/sec is a common term that Telco industry used to define the license scheme when they measure the performance of MMSC (Multimedia Messaging Service Centre). So how do the Telco industry comes up with MM/sec? It first starts with SMSC when Telco industry starts to measure SMSC and this is how SMS/sec first used. When the industry inverts MMS and start to measure performance of MMSC, MM/sec is been used.

However, measuring SMS is easier since 1 SMS is 160 characters and if a SMS message is more than 160 characters, it is treated as multiple SMS. In additional, traditional SMSC is just a simple stored and forward server for SMS.

Due to the complexity of what MMSC can do and message size per message; it is sometime very difficult to compare Apple to Apple between different MMSC if we are going to compare MM/sec. For example, to send and retrieve a 100KB of MM, it will definitely take longer to send and retrieve a 10KB of MM. Complexity will come into the equation if you start to take re-try push scheme, multiple recipients, delivery and read-reply report into the consideration. With add-on features such as transcoding and copy-forwarding become a standard feature that can be found in MMSC, it is quite hard to measure MM/sec.

For such, when speaking to different people in the Telco industry, different people has different idea what they think MM/sec is about and for such, it is very important to understand their presumption is.

Anyway, the following is what I believe a MM/sec should be:

1. Any incoming MM submission and retrieval that come in and out of the MMSC except notification push request should be treated as one MM.
2. Multiple push requests should not be treated as multiple MM if the recipient is only downloading one MM.
3. Request with does not contain the message’s content such as Read-Reply Report should be ignored.

In short, each full cycle of MM submission and retrieval will consist of at least two MM.

How to cut a 1GBit Ethernet Crossover RJ45 Cable

Posted in Hardware by artofmobile

This following table shows the arrangement of Cable for 1GBit Ethernet Crossover Cable which used all the 8 wires:

GIGABIT ETHERNET (1000BASE-T) CROSSOVER
Plug A Plug B
Pin # Signal Conductor Color Code Pin # Signal Conductor Color Code
1 BI_DA+ white/green 1 BI_DA+ white/orange
2 BI_DA- green 2 BI_DA- orange
3 BI_DB+ white/orange 3 BI_DB+ white/green
4 BI_DC+ blue 4 BI_DC+ white/brown
5 BI_DC- white/blue 5 BI_DC- brown
6 BI_DB- orange 6 BI_DB- green
7 BI_DD+ white/brown 7 BI_DD+ blue
8 BI_DD- brown 8 BI_DD- white/blue

WAP 1.3 DTD Specification

Posted in WAP by artofmobile

The following are the URLs to download the DTD for WAP 1.3 Specification:

Wirleess Markup Language (WML) 1.3:
http://www.wapforum.org/DTD/wml13.dtd

Push Access Protocol (PAP):
http://www.wapforum.org/DTD/pap_1.0.dtd

Push Service Indication (SI):
http://www.wapforum.org/DTD/si.dtd

Push Service Loading (SL):
http://www.wapforum.org/DTD/sl.dtd

Detect WAP browser and redirect to different url in Perl

Posted in Perl, WAP by artofmobile

Do you want to have the same url for your Web and Wap broswer? The following is the code to do so in Perl:

#!/usr/local/bin/perl
use CGI;

my $query = new CGI;

my @list=$query->Accept();

my $htmlsite="http://www.artofmobile.com/index.html";
my $wmlsite="http://www.artofmobile.com/index.wml";

my $wml=0;
my $html=0;

foreach (@list) {
   $html=1 if /text\\\\/html/i;
   $wml=1 if  /wap/;
}

print $query->redirect($wmlsite)  if $wml==1;
print $query->redirect($htmlsite) if $html==1;
print $query->redirect($wmlsite);
Powered by WordPress. Theme created by Art Of Mobile