comunika_gsm 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- function binToInt(t){for(var e=0,r=parseInt(t.length)-1,n=0;n<t.length;n++)"1"==t.charAt(n)&&(e+=Math.pow(2,r)),r--;return e}function intToBin(t,e){for(var r=parseInt(t).toString(2),n=r.length;n<e;n++)r="0"+r;return r}function HexToNum(t){var e=MakeNum(t.substring(0,1)),r=0;return t.length>1&&(r=MakeNum(t.substring(1,2))),"X"==r?"00":16*e+1*r}function MakeNum(t){if(t>="0"&&t<="9")return t;switch(t.toUpperCase()){case"A":return 10;case"B":return 11;case"C":return 12;case"D":return 13;case"E":return 14;case"F":return 15;default:return 16}return 16}function intToHex(t){var e="0123456789ABCDEF";for(h="",t=parseInt(t),j=0;j<=3;j++)h+=e.charAt(t>>8*j+4&15)+e.charAt(t>>8*j&15);return h.substring(0,2)}function ToHex(t){var e="0123456789ABCDEF",r="";return r=e.charAt(15&t),t>>=4,r=e.charAt(15&t)+r}function getSevenBit(t){for(var e=0;e<sevenbitdefault.length;e++)if(sevenbitdefault[e]==t)return e;return 0}function getEightBit(t){return t}function get16Bit(t){return t}function phoneNumberMap(t){if(t>="0"&&t<="9")return t;switch(t.toUpperCase()){case"*":return"A";case"#":return"B";case"A":return"C";case"B":return"D";case"C":return"E";default:return"F"}return"F"}function phoneNumberUnMap(t){if(t>="0"&&t<="9")return t;switch(t){case 10:return"*";case 11:return"#";case 12:return"A";case 13:return"B";case 14:return"C";default:return"F"}return"F"}function semiOctetToString(t){for(var e="",r=0;r<t.length;r+=2){var n=t.substring(r,r+2);e=e+phoneNumberMap(n.charAt(1))+phoneNumberMap(n.charAt(0))}return e}function getUserMessage(t,e){var r="";octetArray=new Array,restArray=new Array,septetsArray=new Array;var n=1,s=0,a=0,i="",u="<table border=1 ><tr><td align=center width=75><b>Hex</b></td>",o="<tr><td align=center width=75> <b>&nbsp;&nbsp;&nbsp;Octets&nbsp;&nbsp;&nbsp;</b></td>",b="<table border=1 ><tr><td align=center width=75><b>septets</b></td>",g="<tr><td align=center width=75><b>Character</b></td>";calculation="";for(l=0;l<t.length;l+=2){var c=t.substring(l,l+2);r+=intToBin(HexToNum(c),8),l%14==0&&0!=l&&(u+="<td align=center width=75>+++++++</td>"),u=u+"<td align=center width=75>"+c+"</td>"}u+="<td align=center width=75>+++++++</td>";for(l=0;l<r.length;l+=8)octetArray[s]=r.substring(l,l+8),restArray[s]=octetArray[s].substring(0,n%8),septetsArray[s]=octetArray[s].substring(n%8,8),l%56==0&&0!=l&&(o+="<td align=center width=75>&nbsp;</td>"),o=o+"<td align=center width=75><span style='background-color: #FFFF00'>"+restArray[s]+"</span>"+septetsArray[s]+"</td>",s++,8==++n&&(n=1);o+="<td align=center width=75>&nbsp;</td>";for(var l=0;l<restArray.length;l++)l%7==0?(0!=l&&(i+=sevenbitdefault[binToInt(restArray[l-1])],b=b+"<td align=center width=75><span style='background-color: #FFFF00'>&nbsp;"+restArray[l-1]+"</span>&nbsp;</td>",g=g+"<td align=center width=75>&nbsp;"+sevenbitdefault[binToInt(restArray[l-1])]+"&nbsp;</td>",a++),i+=sevenbitdefault[binToInt(septetsArray[l])],b=b+"<td align=center width=75>&nbsp;"+septetsArray[l]+"&nbsp;</td>",g=g+"<td align=center width=75>&nbsp;"+sevenbitdefault[binToInt(septetsArray[l])]+"&nbsp;</td>",a++):(i+=sevenbitdefault[binToInt(septetsArray[l]+restArray[l-1])],b=b+"<td align=center width=75>&nbsp;"+septetsArray[l]+"<span style='background-color: #FFFF00'>"+restArray[l-1]+"&nbsp;</span></td>",g=g+"<td align=center width=75>&nbsp;"+sevenbitdefault[binToInt(septetsArray[l]+restArray[l-1])]+"&nbsp;</td>",a++);return a!=e?(i+=sevenbitdefault[binToInt(restArray[l-1])],b=b+"<td align=center width=75><span style='background-color: #FFFF00'>&nbsp;"+restArray[l-1]+"</span>&nbsp;</td>",g=g+"<td align=center width=75>&nbsp;"+sevenbitdefault[binToInt(restArray[l-1])]+"&nbsp;</td>"):(b+="<td align=center width=75>+++++++</td>",g+="<td align=center width=75>&nbsp;</td>"),calculation="Conversion of 8-bit octets to 7-bit default alphabet<br><br>"+u+"</tr>"+o+"</tr></table>"+b+"</tr>"+g+"</tr></table>",i}function getUserMessage16(t,e){var r="";calculation="Not implemented";for(var n=0;n<t.length;n+=4){var s=t.substring(n,n+2),a=t.substring(n+2,n+4);r+=""+String.fromCharCode(256*HexToNum(s)+HexToNum(a))}return r}function getUserMessage8(t,e){var r="";calculation="Not implemented";for(var n=0;n<t.length;n+=2){var s=t.substring(n,n+2);r+=""+String.fromCharCode(HexToNum(s))}return r}function getPDUMetaInfo(t){var e=t,r=0,n="";if("AT"==e.substr(0,2))for(a=0;a<e.length;a++)if(10==e.charCodeAt(a)){e=e.substr(a+1);break}for(var s="",a=0;a<e.length;a++)16!=MakeNum(e.substr(a,1))&&(s+=e.substr(a,1));var i=HexToNum((e=s).substring(0,2)),u=e.substring(2,2+2*i),o=u.substring(0,2),b=u.substring(2,2+2*i);0!=i&&("F"!=(b=semiOctetToString(b)).substr(b.length-1,1)&&"f"!=b.substr(b.length-1,1)||(b=b.substring(0,b.length-1)),91==o&&(b="+"+b)),r=2*i+2;var g=e.substr(r,2);r+=2,32==(32&HexToNum(g))&&(n+="Type::::Receipt requested\n");if(64==(64&HexToNum(g))&&(1,n+="Type::::Data Header\n"),1==(3&HexToNum(g))||3==(3&HexToNum(g))){3==(3&HexToNum(g))&&(n="Type::::Unknown Message\nTreat as Deliver\n");S=HexToNum(e.substr(r,2));r+=2,(l=HexToNum(e.substr(r,2)))%2!=0&&(l+=1),r+=2;x=e.substr(r,2);r+=2,"F"!=(d=semiOctetToString(e.substring(r,r+l))).substr(d.length-1,1)&&"f"!=d.substr(d.length-1,1)||(d=d.substring(0,d.length-1)),91==x&&(d="+"+d),r+=l;h=e.substr(r,2);r+=2;T=tpDCSMeaning(p=e.substr(r,2));r+=2;var c;switch(24&HexToNum(g)){case 0:c="Not Present";break;case 16:c="Rel "+cValid(HexToNum(e.substr(r,2))),r+=2;break;case 8:c="Enhanced - Not Decoded",r+=14;break;case 24:c="Absolute - Not Decoded",r+=14}m=HexToNum(e.substr(r,2));r+=2;y="Undefined format";7==(A=DCS_Bits(p))?y=getUserMessage(e.substr(r,e.length-r),m):8==A?y=getUserMessage8(e.substr(r,e.length-r),m):16==A&&(y=getUserMessage16(e.substr(r,e.length-r),m)),y=y.substr(0,m),16==A&&(m/=2),0==n.length&&(n="Type::::Message:\n"),n+="SMSC::::"+b+"\nReceipient::::"+d+"\nValidity::::"+c+"\nTP_PID::::"+h+"\nTP_DCS::::"+p+"\nTP_DCS-popis::::"+T+"Message::::"+y+"\nLength::::"+m}else if(0==(3&HexToNum(g))){var l=HexToNum(e.substr(r,2));r+=2;x=e.substr(r,2);r+=2;var d;"D0"==x?(_sl=l,l%2!=0&&(l+=1),d=getUserMessage(e.substring(r,r+l),parseInt(_sl/2*8/7))):(l%2!=0&&(l+=1),"F"!=(d=semiOctetToString(e.substring(r,r+l))).substr(d.length-1,1)&&"f"!=d.substr(d.length-1,1)||(d=d.substring(0,d.length-1)),91==x&&(d="+"+d)),r+=l;var h=e.substr(r,2);r+=2;var p=e.substr(r,2),T=tpDCSMeaning(p);r+=2;var f=(w=semiOctetToString(e.substr(r,14))).substring(0,2),v=w.substring(2,4);w=(M=w.substring(4,6))+"/"+v+"/"+f+" "+(H=w.substring(6,8))+":"+(N=w.substring(8,10))+":"+(k=w.substring(10,12))+" GMT ?",r+=14;var m=HexToNum(e.substr(r,2));r+=2;var A=DCS_Bits(p),y="Undefined format";7==A?y=getUserMessage(e.substr(r,e.length-r),m):8==A?y=getUserMessage8(e.substr(r,e.length-r),m):16==A&&(y=getUserMessage16(e.substr(r,e.length-r),m)),y=(y=(y=y.substr(0,m)).replace(/\n/g,"")).replace("::::",""),16==A&&(m/=2),n+="SMSC::::"+b+"\nSender::::"+d+"\nTimeStamp::::"+w+"\nTP_PID::::"+h+"\nTP_DCS::::"+p+"\nTP_DCS-popis::::"+T+"Message::::"+y+"\nLength::::"+m}else{n="Type::::Status Report\n";var S=HexToNum(e.substr(r,2));r+=2,(l=HexToNum(e.substr(r,2)))%2!=0&&(l+=1),r+=2;var x=e.substr(r,2);r+=2,"F"!=(d=semiOctetToString(e.substring(r,r+l))).substr(d.length-1,1)&&"f"!=d.substr(d.length-1,1)||(d=d.substring(0,d.length-1)),91==x&&(d="+"+d),r+=l;var w=semiOctetToString(e.substr(r,14)),f=w.substring(0,2),v=w.substring(2,4),M=w.substring(4,6),H=w.substring(6,8),N=w.substring(8,10),k=w.substring(10,12);w=M+"/"+v+"/"+f+" "+H+":"+N+":"+k+" GMT +"+w.substring(12,14)/4,r+=14;var C=semiOctetToString(e.substr(r,14)),F=C.substring(0,2),I=C.substring(2,4);r+=14,n+="SMSC::::"+b+"\nSender::::"+d+"\nMessageRef::::"+S+"\nTimeStamp::::"+w+"\nTimeStamp2::::"+(C=C.substring(4,6)+"/"+I+"/"+F+" "+C.substring(6,8)+":"+C.substring(8,10)+":"+C.substring(10,12)+" GMT +"+w.substring(12,14)/4)+"\nStatus Byte::::"+e.substr(r,2)}return n}function change(t){var e=t.value.length;e>maxkeys&&(t.value=t.value.substring(0,maxkeys),alerted=!0,e=maxkeys),window.status="Characters left : "+(maxkeys-e)}function DCS_Bits(t){var e=7,r=HexToNum(t);switch(192&r){case 0:switch(12&r){case 4:e=8;break;case 8:e=16}break;case 192:switch(48&r){case 32:e=16;break;case 48:4&r||(e=8)}}return e}function tpDCSMeaning(t){var e=t,r=HexToNum(t);switch(192&r){case 0:if(e=32&r?"Compressed Text\n":"Uncompressed Text\n",16&r)switch(e+="MClass::",3&r){case 0:e+="0\n";break;case 1:e+="1\n";break;case 2:e+="2\n";break;case 3:e+="3\n"}else e+="MClass::No class\n";switch(e+="Alphabet::::",12&r){case 0:e+="Default\n";break;case 4:e+="8bit\n";break;case 8:e+="UCS2(16)bit\n";break;case 12:e+="Reserved\n"}break;case 64:case 128:e="Reserved coding group\n";break;case 192:switch(48&r){case 0:e="Message waiting group\n",e+="Discard\n";break;case 16:e="Message waiting group\n",e+="Store Message. Default Alphabet\n";break;case 32:e="Message waiting group\n",e+="Store Message. UCS2 Alphabet\n";break;case 48:e="Data coding message class\n",e+=4&r?"Default Alphabet\n":"8 bit Alphabet\n"}}return e}function checkFlag(t){t.checked?(document.pduToStringForm.valid.disabled=!1,document.pduToStringForm.valid.value="170",document.getElementById("validy").innerHTML=cValid("170")):(document.pduToStringForm.valid.disabled=!0,document.pduToStringForm.valid.value="",document.getElementById("validy").innerHTML="")}function Validity(t){return isNaN(parseInt(t))?(t=0,document.pduToStringForm.valid.value=t):((t=parseInt(t))<0&&(t=0,document.pduToStringForm.valid.value=t),t>255&&(t=255,document.pduToStringForm.valid.value=t)),cValid(t)}function cValid(t){var e,r="";(t=parseInt(t))<=143?e=5*(t+1):t<=167?(e=(t-143)/2+12,e*=60):t<=196?(e=t-166,e*=1440):(e=t-192,e*=10080);var n,s,a,i;return n=e%60,s=e/60,a=s/24,i=a/7,s%=24,a%=7,0!=parseInt(i)&&(r+=parseInt(i)+"w "),0!=parseInt(a)&&(r+=parseInt(a)+"d "),0!=parseInt(s)&&(r+=parseInt(s)+"h "),0!=n&&(r+=n+"m "),r}function binToInt(t){for(var e=0,r=parseInt(t.length)-1,n=0;n<t.length;n++)"1"==t.charAt(n)&&(e+=Math.pow(2,r)),r--;return e}function intToBin(t,e){for(var r=parseInt(t).toString(2),n=r.length;n<e;n++)r="0"+r;return r}function HexToNum(t){var e=MakeNum(t.substring(0,1)),r=0;return t.length>1&&(r=MakeNum(t.substring(1,2))),"X"==r?"00":16*e+1*r}function MakeNum(t){if(t>="0"&&t<="9")return t;switch(t.toUpperCase()){case"A":return 10;case"B":return 11;case"C":return 12;case"D":return 13;case"E":return 14;case"F":return 15;default:return 16}return 16}function intToHex(t){var e="0123456789ABCDEF";for(h="",t=parseInt(t),j=0;j<=3;j++)h+=e.charAt(t>>8*j+4&15)+e.charAt(t>>8*j&15);return h.substring(0,2)}function ToHex(t){var e="0123456789ABCDEF",r="";return r=e.charAt(15&t),t>>=4,r=e.charAt(15&t)+r}function stringToPDU(t,e,r,n,s,a,i,u){var o=n,b="",g="",c="",l=0,d=0,h="",p="";0!=r&&(h="81","+"==r.substr(0,1)?(h="91",r=r.substr(1)):"0"!=r.substr(0,1)&&(h="91"),r.length%2!=0&&(r+="F"),d=l=(h+""+(p=semiOctetToString(r))).length/2),l<10&&(l="0"+l);var T;T=i?u?"3100":"2100":u?"1100":"0100";var f="81";"+"==e.substr(0,1)?(f="91",e=e.substr(1)):"0"!=e.substr(0,1)&&(f="91");var v=intToHex(e.length);e.length%2!=0&&(e+="F");var m=semiOctetToString(e),A=0;switch(-1!=s&&(A=16|s),o){case 7:break;case 8:A|=4;break;case 16:A|=8}var y=intToHex(A),S="";u&&(S=intToHex(a));var x;if(7==o){x=intToHex(t.length);for(H=0;H<=t.length;H++){if(H==t.length){""!=g&&(c=c+""+intToHex(binToInt(g)));break}var w=intToBin(getSevenBit(t.charAt(H)),7);0!=H&&H%8!=0?(b=w.substring(7-H%8),c=c+""+intToHex(binToInt(b+g)),g=w.substring(0,7-H%8)):g=w.substring(0,7-H%8)}}else if(8==o){x=intToHex(t.length);for(var M=0,H=0;H<t.length;H++)M=getEightBit(t.charCodeAt(H)),c=c+""+ToHex(M)}else if(16==o){x=intToHex(2*t.length);for(var N=0,H=0;H<t.length;H++)N=get16Bit(t.charCodeAt(H)),c=c+""+ToHex((65280&N)>>8)+ToHex(255&N)}var k=l+h+p+T+v+f+m+"00"+y+S+x+c;return k.length/2-d-1+"\n"+k}sevenbitdefault=new Array("@","£","$","¥","è","é","ù","ì","ò","Ç","\n","Ø","ø","\r","Å","å","Δ","_","Φ","Γ","Λ","Ω","Π","Ψ","Σ","Θ","Ξ","€","Æ","æ","ß","É"," ","!",'"',"#","¤","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","¡","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","Ä","Ö","Ñ","Ü","§","¿","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","ä","ö","ñ","ü","à","á");var calculation="",maxkeys=160,alerted=!1;sevenbitdefault=new Array("@","£","$","¥","è","é","ù","ì","ò","Ç","\n","Ø","ø","\r","Å","å","Δ","_","Φ","Γ","Λ","Ω","Π","Ψ","Σ","Θ","Ξ","€","Æ","æ","ß","É"," ","!",'"',"#","¤","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","¡","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","Ä","Ö","Ñ","Ü","§","¿","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","ä","ö","ñ","ü","à");var calculation="",maxkeys=160,alerted=!1;
1
+ function binToInt(t){for(var e=0,r=parseInt(t.length)-1,n=0;n<t.length;n++)"1"==t.charAt(n)&&(e+=Math.pow(2,r)),r--;return e}function intToBin(t,e){for(var r=2,n=parseInt(t),s=n.toString(r),a=s.length;e>a;a++)s="0"+s;return s}function HexToNum(t){var e=MakeNum(t.substring(0,1)),r=0;return t.length>1&&(r=MakeNum(t.substring(1,2))),"X"==r?"00":16*e+1*r}function MakeNum(t){if(t>="0"&&"9">=t)return t;switch(t.toUpperCase()){case"A":return 10;case"B":return 11;case"C":return 12;case"D":return 13;case"E":return 14;case"F":return 15;default:return 16}return 16}function intToHex(t){var e="0123456789ABCDEF";for(h="",t=parseInt(t),j=0;j<=3;j++)h+=e.charAt(t>>8*j+4&15)+e.charAt(t>>8*j&15);return h.substring(0,2)}function ToHex(t){var e="0123456789ABCDEF",r="";return r=e.charAt(15&t),t>>=4,r=e.charAt(15&t)+r}function getSevenBit(t){for(var e=0;e<sevenbitdefault.length;e++)if(sevenbitdefault[e]==t)return e;return 0}function getEightBit(t){return t}function get16Bit(t){return t}function phoneNumberMap(t){if(t>="0"&&"9">=t)return t;switch(t.toUpperCase()){case"*":return"A";case"#":return"B";case"A":return"C";case"B":return"D";case"C":return"E";default:return"F"}return"F"}function phoneNumberUnMap(t){if(t>="0"&&"9">=t)return t;switch(t){case 10:return"*";case 11:return"#";case 12:return"A";case 13:return"B";case 14:return"C";default:return"F"}return"F"}function semiOctetToString(t){for(var e="",r=0;r<t.length;r+=2){var n=t.substring(r,r+2);e=e+phoneNumberMap(n.charAt(1))+phoneNumberMap(n.charAt(0))}return e}function getUserMessage(t,e){var r="";octetArray=new Array,restArray=new Array,septetsArray=new Array;var n=1,s=0,a=0,i="",u="<table border=1 ><tr><td align=center width=75><b>Hex</b></td>",o="<tr><td align=center width=75> <b>&nbsp;&nbsp;&nbsp;Octets&nbsp;&nbsp;&nbsp;</b></td>",g="<table border=1 ><tr><td align=center width=75><b>septets</b></td>",b="<tr><td align=center width=75><b>Character</b></td>";calculation="";for(var c=0;c<t.length;c+=2){var l=t.substring(c,c+2);r+=intToBin(HexToNum(l),8),c%14==0&&0!=c&&(u+="<td align=center width=75>+++++++</td>"),u=u+"<td align=center width=75>"+l+"</td>"}u+="<td align=center width=75>+++++++</td>";for(var c=0;c<r.length;c+=8)octetArray[s]=r.substring(c,c+8),restArray[s]=octetArray[s].substring(0,n%8),septetsArray[s]=octetArray[s].substring(n%8,8),c%56==0&&0!=c&&(o+="<td align=center width=75>&nbsp;</td>"),o=o+"<td align=center width=75><span style='background-color: #FFFF00'>"+restArray[s]+"</span>"+septetsArray[s]+"</td>",n++,s++,8==n&&(n=1);o+="<td align=center width=75>&nbsp;</td>";for(var c=0;c<restArray.length;c++)c%7==0?(0!=c&&(i+=sevenbitdefault[binToInt(restArray[c-1])],g=g+"<td align=center width=75><span style='background-color: #FFFF00'>&nbsp;"+restArray[c-1]+"</span>&nbsp;</td>",b=b+"<td align=center width=75>&nbsp;"+sevenbitdefault[binToInt(restArray[c-1])]+"&nbsp;</td>",a++),i+=sevenbitdefault[binToInt(septetsArray[c])],g=g+"<td align=center width=75>&nbsp;"+septetsArray[c]+"&nbsp;</td>",b=b+"<td align=center width=75>&nbsp;"+sevenbitdefault[binToInt(septetsArray[c])]+"&nbsp;</td>",a++):(i+=sevenbitdefault[binToInt(septetsArray[c]+restArray[c-1])],g=g+"<td align=center width=75>&nbsp;"+septetsArray[c]+"<span style='background-color: #FFFF00'>"+restArray[c-1]+"&nbsp;</span></td>",b=b+"<td align=center width=75>&nbsp;"+sevenbitdefault[binToInt(septetsArray[c]+restArray[c-1])]+"&nbsp;</td>",a++);return a!=e?(i+=sevenbitdefault[binToInt(restArray[c-1])],g=g+"<td align=center width=75><span style='background-color: #FFFF00'>&nbsp;"+restArray[c-1]+"</span>&nbsp;</td>",b=b+"<td align=center width=75>&nbsp;"+sevenbitdefault[binToInt(restArray[c-1])]+"&nbsp;</td>"):(g+="<td align=center width=75>+++++++</td>",b+="<td align=center width=75>&nbsp;</td>"),calculation="Conversion of 8-bit octets to 7-bit default alphabet<br><br>"+u+"</tr>"+o+"</tr></table>"+g+"</tr>"+b+"</tr></table>",i}function getUserMessage16(t,e){var r="";calculation="Not implemented";for(var n=0;n<t.length;n+=4){var s=t.substring(n,n+2),a=t.substring(n+2,n+4);r+=""+String.fromCharCode(256*HexToNum(s)+HexToNum(a))}return r}function getUserMessage8(t,e){var r="";calculation="Not implemented";for(var n=0;n<t.length;n+=2){var s=t.substring(n,n+2);r+=""+String.fromCharCode(HexToNum(s))}return r}function getPDUMetaInfo(t){var e=t,r=0,n="";if("AT"==e.substr(0,2))for(var s=0;s<e.length;s++)if(10==e.charCodeAt(s)){e=e.substr(s+1);break}for(var a="",s=0;s<e.length;s++)16!=MakeNum(e.substr(s,1))&&(a+=e.substr(s,1));e=a;var i=HexToNum(e.substring(0,2)),u=e.substring(2,2+2*i),o=u.substring(0,2),g=u.substring(2,2+2*i);0!=i&&(g=semiOctetToString(g),("F"==g.substr(g.length-1,1)||"f"==g.substr(g.length-1,1))&&(g=g.substring(0,g.length-1)),91==o&&(g="+"+g));var b=2*i+2;r=b;var c=e.substr(r,2);r+=2,32==(32&HexToNum(c))&&(n+="Type::::Receipt requested\n");var l=0;if(64==(64&HexToNum(c))&&(l=1,n+="Type::::Data Header\n"),1==(3&HexToNum(c))||3==(3&HexToNum(c))){3==(3&HexToNum(c))&&(n="Type::::Unknown Message\nTreat as Deliver\n");var d=HexToNum(e.substr(r,2));r+=2;var h=HexToNum(e.substr(r,2));h%2!=0&&(h+=1),r+=2;var p=e.substr(r,2);r+=2;var v=semiOctetToString(e.substring(r,r+h));("F"==v.substr(v.length-1,1)||"f"==v.substr(v.length-1,1))&&(v=v.substring(0,v.length-1)),91==p&&(v="+"+v),r+=h;var T=e.substr(r,2);r+=2;var f=e.substr(r,2),m=tpDCSMeaning(f);r+=2;var A;switch(24&HexToNum(c)){case 0:A="Not Present";break;case 16:A="Rel "+cValid(HexToNum(e.substr(r,2))),r+=2;break;case 8:A="Enhanced - Not Decoded",r+=14;break;case 24:A="Absolute - Not Decoded",r+=14}var y=HexToNum(e.substr(r,2));r+=2;var S=DCS_Bits(f),x="Undefined format";7==S?x=getUserMessage(e.substr(r,e.length-r),y):8==S?x=getUserMessage8(e.substr(r,e.length-r),y):16==S&&(x=getUserMessage16(e.substr(r,e.length-r),y)),x=x.substr(0,y),16==S&&(y/=2),0==n.length&&(n="Type::::Message:\n"),n+="SMSC::::"+g+"\nReceipient::::"+v+"\nValidity::::"+A+"\nTP_PID::::"+T+"\nTP_DCS::::"+f+"\nTP_DCS-popis::::"+m+"Message::::"+x+"\nLength::::"+y}else if(0==(3&HexToNum(c))){n="Type: Receive Message::::";var h=HexToNum(e.substr(r,2));r+=2;var p=e.substr(r,2);r+=2;var v;"D0"==p?(_sl=h,h%2!=0&&(h+=1),v=getUserMessage(e.substring(r,r+h),parseInt(_sl/2*8/7))):(h%2!=0&&(h+=1),v=semiOctetToString(e.substring(r,r+h)),("F"==v.substr(v.length-1,1)||"f"==v.substr(v.length-1,1))&&(v=v.substring(0,v.length-1)),91==p&&(v="+"+v)),r+=h;var T=e.substr(r,2);r+=2;var f=e.substr(r,2),m=tpDCSMeaning(f);r+=2;var M=semiOctetToString(e.substr(r,14)),w=M.substring(0,2),H=M.substring(2,4),N=M.substring(4,6),k=M.substring(6,8),C=M.substring(8,10),F=M.substring(10,12);M=N+"/"+H+"/"+w+" "+k+":"+C+":"+F+" GMT ?",r+=14;var y=HexToNum(e.substr(r,2));r+=2;var S=DCS_Bits(f),x="Undefined format";7==S?x=getUserMessage(e.substr(r,e.length-r),y):8==S?x=getUserMessage8(e.substr(r,e.length-r),y):16==S&&(x=getUserMessage16(e.substr(r,e.length-r),y)),x=x.substr(0,y),x=x.replace(/\n/g,""),x=x.replace("::::",""),16==S&&(y/=2),n+="SMSC::::"+g+"\nSender::::"+v+"\nTimeStamp::::"+M+"\nTP_PID::::"+T+"\nTP_DCS::::"+f+"\nTP_DCS-popis::::"+m+"Message::::"+x+"\nLength::::"+y}else{n="Type::::Status Report\n";var d=HexToNum(e.substr(r,2));r+=2;var h=HexToNum(e.substr(r,2));h%2!=0&&(h+=1),r+=2;var p=e.substr(r,2);r+=2;var v=semiOctetToString(e.substring(r,r+h));("F"==v.substr(v.length-1,1)||"f"==v.substr(v.length-1,1))&&(v=v.substring(0,v.length-1)),91==p&&(v="+"+v),r+=h;var M=semiOctetToString(e.substr(r,14)),w=M.substring(0,2),H=M.substring(2,4),N=M.substring(4,6),k=M.substring(6,8),C=M.substring(8,10),F=M.substring(10,12),I=M.substring(12,14);M=N+"/"+H+"/"+w+" "+k+":"+C+":"+F+" GMT +"+I/4,r+=14;var D=semiOctetToString(e.substr(r,14)),B=D.substring(0,2),U=D.substring(2,4),E=D.substring(4,6),O=D.substring(6,8),P=D.substring(8,10),_=D.substring(10,12),j=M.substring(12,14);D=E+"/"+U+"/"+B+" "+O+":"+P+":"+_+" GMT +"+j/4,r+=14;var R=e.substr(r,2);n+="SMSC::::"+g+"\nSender::::"+v+"\nMessageRef::::"+d+"\nTimeStamp::::"+M+"\nTimeStamp2::::"+D+"\nStatus Byte::::"+R}return n}function change(t){var e=t.value.length;e>maxkeys&&(t.value=t.value.substring(0,maxkeys),alerted=!0,e=maxkeys),window.status="Characters left : "+(maxkeys-e)}function DCS_Bits(t){var e=7,r=HexToNum(t);switch(192&r){case 0:switch(12&r){case 4:e=8;break;case 8:e=16}break;case 192:switch(48&r){case 32:e=16;break;case 48:4&r||(e=8)}}return e}function tpDCSMeaning(t){var e=t,r=HexToNum(t);switch(192&r){case 0:if(e=32&r?"Compressed Text\n":"Uncompressed Text\n",16&r)switch(e+="MClass::",3&r){case 0:e+="0\n";break;case 1:e+="1\n";break;case 2:e+="2\n";break;case 3:e+="3\n"}else e+="MClass::No class\n";switch(e+="Alphabet::::",12&r){case 0:e+="Default\n";break;case 4:e+="8bit\n";break;case 8:e+="UCS2(16)bit\n";break;case 12:e+="Reserved\n"}break;case 64:case 128:e="Reserved coding group\n";break;case 192:switch(48&r){case 0:e="Message waiting group\n",e+="Discard\n";break;case 16:e="Message waiting group\n",e+="Store Message. Default Alphabet\n";break;case 32:e="Message waiting group\n",e+="Store Message. UCS2 Alphabet\n";break;case 48:e="Data coding message class\n",e+=4&r?"Default Alphabet\n":"8 bit Alphabet\n"}}return e}function checkFlag(t){t.checked?(document.pduToStringForm.valid.disabled=!1,document.pduToStringForm.valid.value="170",document.getElementById("validy").innerHTML=cValid("170")):(document.pduToStringForm.valid.disabled=!0,document.pduToStringForm.valid.value="",document.getElementById("validy").innerHTML="")}function Validity(t){return isNaN(parseInt(t))?(t=0,document.pduToStringForm.valid.value=t):(t=parseInt(t),0>t&&(t=0,document.pduToStringForm.valid.value=t),t>255&&(t=255,document.pduToStringForm.valid.value=t)),cValid(t)}function cValid(t){var e,r="";t=parseInt(t),143>=t?e=5*(t+1):167>=t?(e=(t-143)/2+12,e*=60):196>=t?(e=t-166,e*=1440):(e=t-192,e*=10080);var n,s,a,i;return n=e%60,s=e/60,a=s/24,i=a/7,s%=24,a%=7,0!=parseInt(i)&&(r+=parseInt(i)+"w "),0!=parseInt(a)&&(r+=parseInt(a)+"d "),0!=parseInt(s)&&(r+=parseInt(s)+"h "),0!=n&&(r+=n+"m "),r}function binToInt(t){for(var e=0,r=parseInt(t.length)-1,n=0;n<t.length;n++)"1"==t.charAt(n)&&(e+=Math.pow(2,r)),r--;return e}function intToBin(t,e){for(var r=2,n=parseInt(t),s=n.toString(r),a=s.length;e>a;a++)s="0"+s;return s}function HexToNum(t){var e=MakeNum(t.substring(0,1)),r=0;return t.length>1&&(r=MakeNum(t.substring(1,2))),"X"==r?"00":16*e+1*r}function MakeNum(t){if(t>="0"&&"9">=t)return t;switch(t.toUpperCase()){case"A":return 10;case"B":return 11;case"C":return 12;case"D":return 13;case"E":return 14;case"F":return 15;default:return 16}return 16}function intToHex(t){var e="0123456789ABCDEF";for(h="",t=parseInt(t),j=0;j<=3;j++)h+=e.charAt(t>>8*j+4&15)+e.charAt(t>>8*j&15);return h.substring(0,2)}function ToHex(t){var e="0123456789ABCDEF",r="";return r=e.charAt(15&t),t>>=4,r=e.charAt(15&t)+r}function stringToPDU(t,e,r,n,s,a,i,u){var o=n,g="",b="",c="",l=0,d=0,h="",p="";0!=r&&(h="81","+"==r.substr(0,1)?(h="91",r=r.substr(1)):"0"!=r.substr(0,1)&&(h="91"),r.length%2!=0&&(r+="F"),p=semiOctetToString(r),l=(h+""+p).length/2,d=l),10>l&&(l="0"+l);var v;v=i?u?"3100":"2100":u?"1100":"0100";var T="81";"+"==e.substr(0,1)?(T="91",e=e.substr(1)):"0"!=e.substr(0,1)&&(T="91");var f=intToHex(e.length);e.length%2!=0&&(e+="F");var m=semiOctetToString(e),A="00",y=0;switch(-1!=s&&(y=16|s),o){case 7:break;case 8:y=4|y;break;case 16:y=8|y}var S=intToHex(y),x="";u&&(x=intToHex(a));var M;if(7==o){M=intToHex(t.length);for(var w=0;w<=t.length;w++){if(w==t.length){""!=b&&(c=c+""+intToHex(binToInt(b)));break}var H,N=intToBin(getSevenBit(t.charAt(w)),7);0!=w&&w%8!=0?(g=N.substring(7-w%8),H=g+b,c=c+""+intToHex(binToInt(H)),b=N.substring(0,7-w%8)):b=N.substring(0,7-w%8)}}else if(8==o){M=intToHex(t.length);for(var k=0,w=0;w<t.length;w++)k=getEightBit(t.charCodeAt(w)),c=c+""+ToHex(k)}else if(16==o){M=intToHex(2*t.length);for(var C=0,w=0;w<t.length;w++)C=get16Bit(t.charCodeAt(w)),c=c+""+ToHex((65280&C)>>8)+ToHex(255&C)}var F=l+h+p+v+f+T+m+A+S+x+M,I=F+c,D=I.length/2-d-1;return D+"\n"+I}sevenbitdefault=new Array("@","£","$","¥","è","é","ù","ì","ò","Ç","\n","Ø","ø","\r","Å","å","Δ","_","Φ","Γ","Λ","Ω","Π","Ψ","Σ","Θ","Ξ","€","Æ","æ","ß","É"," ","!",'"',"#","¤","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","¡","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","Ä","Ö","Ñ","Ü","§","¿","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","ä","ö","ñ","ü","à","á");var calculation="",maxkeys=160,alerted=!1;sevenbitdefault=new Array("@","£","$","¥","è","é","ù","ì","ò","Ç","\n","Ø","ø","\r","Å","å","Δ","_","Φ","Γ","Λ","Ω","Π","Ψ","Σ","Θ","Ξ","€","Æ","æ","ß","É"," ","!",'"',"#","¤","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","¡","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","Ä","Ö","Ñ","Ü","§","¿","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","ä","ö","ñ","ü","à");var calculation="",maxkeys=160,alerted=!1;
@@ -1,3 +1,3 @@
1
1
  module ComunikaGsm
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comunika_gsm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jefferson Silva
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-09-18 00:00:00.000000000 Z
11
+ date: 2017-09-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler