#!/usr/bin/php
<?php

function dtmfdecode($vl_number)
{
        $vl_text="";
        $vl_digits=str_split($vl_number,2);
        $vl_count=0;
        foreach($vl_digits as $vl_digit)
        {
                if($vl_count>=6 or isset($vl_not))
                {
                        $vl_text .= $vl_digit;
                } else {
                        switch($vl_digit)
                        {
                                case "10": $vl_text .= "1"; break;
                                case "20": $vl_text .= "2"; break;
                                case "21": $vl_text .= "A"; break;
                                case "22": $vl_text .= "B"; break;
                                case "23": $vl_text .= "C"; break;
                                case "30": $vl_text .= "3"; break;
                                case "31": $vl_text .= "D"; break;
                                case "32": $vl_text .= "E"; break;
                                case "33": $vl_text .= "F"; break;
                                case "40": $vl_text .= "4"; break;
                                case "41": $vl_text .= "G"; break;
                                case "42": $vl_text .= "H"; break;
                                case "43": $vl_text .= "I"; break;
                                case "50": $vl_text .= "5"; break;
                                case "51": $vl_text .= "J"; break;
                                case "52": $vl_text .= "K"; break;
                                case "53": $vl_text .= "L"; break;
                                case "60": $vl_text .= "6"; break;
                                case "61": $vl_text .= "M"; break;
                                case "62": $vl_text .= "N"; break;
                                case "63": $vl_text .= "O"; break;
                                case "70": $vl_text .= "7"; break;
                                case "71": $vl_text .= "P"; break;
                                case "72": $vl_text .= "Q"; break;
                                case "73": $vl_text .= "R"; break;
                                case "74": $vl_text .= "S"; break;
                                case "80": $vl_text .= "8"; break;
                                case "81": $vl_text .= "T"; break;
                                case "82": $vl_text .= "U"; break;
                                case "83": $vl_text .= "V"; break;
                                case "90": $vl_text .= "9"; break;
                                case "91": $vl_text .= "W"; break;
                                case "92": $vl_text .= "X"; break;
                                case "93": $vl_text .= "Y"; break;
                                case "94": $vl_text .= "Z"; break;
				case "00": $vl_text .= "0"; break;
				case "99": $vl_text .= "NOT"; $vl_not=1; break;
                        }
                }
                $vl_count++;
        }
        return $vl_text;
}

echo dtmfdecode($argv[1]);
?>
