├── src
├── 1
├── wadata
│ ├── media
│ │ └── .gitkeep
│ ├── pictures
│ │ └── .gitkeep
│ ├── id..dat
│ ├── id.34666554433.dat
│ └── id.441234567890.dat
├── magic.dat
├── events
│ ├── WhatsApiEventsManager.php
│ ├── MyEvents.php
│ └── AllEvents.php
├── SqliteMessageStore.php
├── exception.php
├── token.php
├── rc4.php
├── Constants.php
├── keystream.class.php
├── mediauploader.php
├── BinTreeNodeWriter.php
├── protocol.class.php
├── BinTreeNodeReader.php
├── vCard.php
├── countries.csv
├── tokenmap.class.php
├── func.php
└── networkinfo.csv
├── examples
├── media
│ ├── media_goes_here
│ └── Canon.mp4
├── .~lock.exampleRegister.php#
├── demo
│ ├── Tulips.jpg
│ └── Hydrangeas.jpg
├── receive.php
├── config.php
├── custom.css
└── send.php
├── README.md
├── composer.json
└── LICENSE
/src/wadata/media/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/wadata/pictures/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/examples/media/media_goes_here:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/1:
--------------------------------------------------------------------------------
1 | %83h%88%B1w%3D%B8%3F%E1%C2%CE5%B5b%C1%90%22%82l%A4
--------------------------------------------------------------------------------
/src/wadata/id..dat:
--------------------------------------------------------------------------------
1 | j%EF%E5%93n%C8%90%BD%CD%3F%AA%91%2A%18%AAj%B9%AB%DE%CF
--------------------------------------------------------------------------------
/src/wadata/id.34666554433.dat:
--------------------------------------------------------------------------------
1 | %BDt%FB%97p%84e%02%13%CC%0E%9D%88rk%98%F4%E2%A8s
--------------------------------------------------------------------------------
/src/wadata/id.441234567890.dat:
--------------------------------------------------------------------------------
1 | %FC%9F%EA%9F%A3%EF%DEf%2C%FF%F6%0A%9D%AF%99h%05%8E%DEr
--------------------------------------------------------------------------------
/src/magic.dat:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surenshanaka/whatsapp-web-api-messenger/HEAD/src/magic.dat
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # whatsapp-web-api-messenger
2 | Interface to Web WhatsApp Messenger and send messages to whatsapp users
3 |
--------------------------------------------------------------------------------
/examples/.~lock.exampleRegister.php#:
--------------------------------------------------------------------------------
1 | ,suren,suren-Satellite-L655,12.06.2015 13:22,file:///home/suren/.config/libreoffice/4;
--------------------------------------------------------------------------------
/examples/demo/Tulips.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surenshanaka/whatsapp-web-api-messenger/HEAD/examples/demo/Tulips.jpg
--------------------------------------------------------------------------------
/examples/media/Canon.mp4:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surenshanaka/whatsapp-web-api-messenger/HEAD/examples/media/Canon.mp4
--------------------------------------------------------------------------------
/examples/demo/Hydrangeas.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/surenshanaka/whatsapp-web-api-messenger/HEAD/examples/demo/Hydrangeas.jpg
--------------------------------------------------------------------------------
/src/events/WhatsApiEventsManager.php:
--------------------------------------------------------------------------------
1 | listeners[$event][] = $callback;
9 | }
10 |
11 | public function fire($event, array $parameters)
12 | {
13 | if (!empty($this->listeners[$event])) {
14 | foreach ($this->listeners[$event] as $listener) {
15 | call_user_func_array($listener, $parameters);
16 | }
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mgp25/whatsapi",
3 | "description": "The php WhatsApp library ",
4 | "license": "MIT",
5 | "keywords": [
6 | "WhatsApp",
7 | "WhatsAPI"
8 | ],
9 | "authors": [
10 | {
11 | "role": "Contributors",
12 | "name": "Chat API Contributing Team",
13 | "homepage": "https://github.com/mgp25/Chat-API/graphs/contributors"
14 | }
15 | ],
16 | "support": {
17 | "issues": "https://github.com/mgp25/Chat-API/issues",
18 | "wiki": "https://github.com/mgp25/Chat-API/wiki",
19 | "source": "https://github.com/mgp25/Chat-API"
20 | },
21 | "autoload": {
22 | "classmap": [
23 | "src/",
24 | "src/events"
25 | ]
26 | },
27 | "require": {
28 | "php": ">=5.3",
29 | "ext-curl": "*",
30 | "ext-gd" : "*",
31 | "ext-sockets" : "*",
32 | "ext-openssl" : "*",
33 | "ext-pdo" : "*",
34 | "ext-sqlite3" : "*"
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/examples/receive.php:
--------------------------------------------------------------------------------
1 | Connect();
19 | $w->LoginWithPassword($password);
20 |
21 | while (true) {
22 | $w->pollMessage();
23 | $msgs = $w->GetMessages();
24 | // print_r($msgs);
25 | foreach($msgs as $message)
26 | {
27 | $from = $message->getAttribute("from");
28 | $id = $message->getAttribute("id");
29 | $notify = $message->getAttribute("notify");
30 | echo "Sender:-".$notify."
";
31 | echo "Tel:-".$from."
";
32 | if($message->getChild("body"))
33 | {
34 | $messagebody = $message->getChild("body")->getData();
35 | echo "Message:-".$messagebody;
36 | }
37 |
38 | }
39 | }
40 |
41 | ?>
42 |
--------------------------------------------------------------------------------
/src/SqliteMessageStore.php:
--------------------------------------------------------------------------------
1 | db = new \PDO("sqlite:" . $fileName, null, null, array(PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
19 | if ($createTable)
20 | {
21 | $this->db->exec('CREATE TABLE messages (`from` TEXT, `to` TEXT, message TEXT, id TEXT, t TEXT)');
22 | }
23 | }
24 |
25 | public function saveMessage($from, $to, $txt, $id, $t)
26 | {
27 | $sql = 'INSERT INTO messages (`from`, `to`, message, id, t) VALUES (:from, :to, :message, :messageId, :t)';
28 | $query = $this->db->prepare($sql);
29 |
30 | $query->execute(
31 | array(
32 | ':from' => $from,
33 | ':to' => $to,
34 | ':message' => $txt,
35 | ':messageId' => $id,
36 | ':t' => $t
37 | )
38 | );
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/examples/config.php:
--------------------------------------------------------------------------------
1 | connect();
8 | $w->loginWithPassword($password);
9 | $receiver = $_POST['receiver'];
10 | $message = $_POST['message'];
11 | if(isset($_FILES['image'])){
12 | $errors= array();
13 | $file_name = $_FILES['image']['name'];
14 | $file_size =$_FILES['image']['size'];
15 | $file_tmp =$_FILES['image']['tmp_name'];
16 | $file_type=$_FILES['image']['type'];
17 | $file_ext=strtolower(end(explode('.',$_FILES['image']['name'])));
18 | $extensions = array("jpeg","jpg","png","gif");
19 | if(in_array($file_ext,$extensions )=== false){
20 | $errors[]="extension not allowed, please choose a JPEG or PNG file.";
21 | }
22 | if($file_size > 2097152){
23 | $errors[]='File size must be excately 2 MB';
24 | }
25 | if(empty($errors)==true){
26 | move_uploaded_file($file_tmp,"demo/".$file_name);
27 | echo "Success";
28 | }else{
29 | print_r($errors);
30 | }
31 | }
32 | // $img = $_POST['img'];
33 | // $target = $receiver; //Target Phone,reciever phone
34 | // $message = $message;
35 | $filepath = "demo/".$file_name;
36 | // $pathToVideo = "media/Canon.mp4";
37 | // $w->SendPresenceSubscription($target); //Let us first send presence to user
38 | $w->sendMessage($receiver,$message ); // Send Message
39 | $w->sendMessageImage($receiver, $filepath);
40 | // $w->sendMessageVideo($receiver, $pathToVideo);
41 | $w->pollMessage();
42 | echo 'Message Sent Successfully';
43 |
44 | header("Location: send.php?success=1");
45 | ?>
46 |
--------------------------------------------------------------------------------
/src/exception.php:
--------------------------------------------------------------------------------
1 | message}' in {$this->file}({$this->line})\n"
41 | . "{$this->getTraceAsString()}";
42 | }
43 | }
44 |
45 | /*
46 | * Exception occurs when we have no active socket
47 | * connection to whatsapp
48 | */
49 | class ConnectionException extends Exception{}
50 |
51 | class LoginFailureException extends Exception{}
--------------------------------------------------------------------------------
/src/token.php:
--------------------------------------------------------------------------------
1 | s = range(0, 255);
11 | for ($i = 0, $j = 0; $i < 256; $i++) {
12 | $k = ord($key{$i % strlen($key)});
13 | $j = ($j + $k + $this->s[$i]) & 255;
14 | $this->swap($i, $j);
15 | }
16 |
17 | $this->i = 0;
18 | $this->j = 0;
19 | $this->cipher(range(0, $drop), 0, $drop);
20 | }
21 |
22 | public function cipher($data, $offset, $length)
23 | {
24 | $out = $data;
25 | for ($n = $length; $n > 0; $n--) {
26 | $this->i = ($this->i + 1) & 0xff;
27 | $this->j = ($this->j + $this->s[$this->i]) & 0xff;
28 | $this->swap($this->i, $this->j);
29 | $d = ord($data{$offset});
30 | $out[$offset] = chr($d ^ $this->s[($this->s[$this->i] + $this->s[$this->j]) & 0xff]);
31 | $offset++;
32 | }
33 |
34 | return $out;
35 | }
36 |
37 | protected function swap($i, $j)
38 | {
39 | $c = $this->s[$i];
40 | $this->s[$i] = $this->s[$j];
41 | $this->s[$j] = $c;
42 | }
43 | }
44 |
45 | // DEPRECATED: WAUTH-1
46 | //class KeyStream
47 | //{
48 | // private $rc4;
49 | // private $key;
50 | //
51 | // public function __construct($key)
52 | // {
53 | // $this->rc4 = new RC4($key, 256);
54 | // $this->key = $key;
55 | // }
56 | //
57 | // public function encode($data, $offset, $length, $append = true)
58 | // {
59 | // $d = $this->rc4->cipher($data, $offset, $length);
60 | // $h = substr(hash_hmac('sha1', $d, $this->key, true), 0, 4);
61 | // if ($append)
62 | // return $d . $h;
63 | // else
64 | // return $h . $d;
65 | // }
66 | //
67 | // public function decode($data, $offset, $length)
68 | // {
69 | // /* TODO: Hash check */
70 | //
71 | // return $this->rc4->cipher($data, $offset + 4, $length - 4);
72 | // }
73 | //
74 | //}
75 |
--------------------------------------------------------------------------------
/src/Constants.php:
--------------------------------------------------------------------------------
1 | rc4 = new rc4($key, self::DROP);
24 | $this->macKey = $macKey;
25 | }
26 |
27 | public static function GenerateKeys($password, $nonce)
28 | {
29 | $array = array(
30 | "key", //placeholders
31 | "key",
32 | "key",
33 | "key"
34 | );
35 | $array2 = array(1, 2, 3, 4);
36 | $nonce .= '0';
37 | for ($j = 0; $j < count($array); $j++) {
38 | $nonce[(strlen($nonce) - 1)] = chr($array2[$j]);
39 | $foo = wa_pbkdf2("sha1", $password, $nonce, 2, 20, true);
40 | $array[$j] = $foo;
41 | }
42 | return $array;
43 | }
44 |
45 | public function DecodeMessage($buffer, $macOffset, $offset, $length)
46 | {
47 | $mac = $this->computeMac($buffer, $offset, $length);
48 | //validate mac
49 | for ($i = 0; $i < 4; $i++) {
50 | $foo = ord($buffer[$macOffset + $i]);
51 | $bar = ord($mac[$i]);
52 | if ($foo !== $bar) {
53 | throw new Exception("MAC mismatch: $foo != $bar");
54 | }
55 | }
56 | return $this->rc4->cipher($buffer, $offset, $length);
57 | }
58 |
59 | public function EncodeMessage($buffer, $macOffset, $offset, $length)
60 | {
61 | $data = $this->rc4->cipher($buffer, $offset, $length);
62 | $mac = $this->computeMac($data, $offset, $length);
63 | return substr($data, 0, $macOffset) . substr($mac, 0, 4) . substr($data, $macOffset + 4);
64 | }
65 |
66 | private function computeMac($buffer, $offset, $length)
67 | {
68 | $hmac = hash_init("sha1", HASH_HMAC, $this->macKey);
69 | hash_update($hmac, substr($buffer, $offset, $length));
70 | $array = chr($this->seq >> 24)
71 | . chr($this->seq >> 16)
72 | . chr($this->seq >> 8)
73 | . chr($this->seq);
74 | hash_update($hmac, $array);
75 | $this->seq++;
76 | return hash_final($hmac, true);
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/src/events/MyEvents.php:
--------------------------------------------------------------------------------
1 | WooHoo!, Phone number $mynumber connected successfully!
";
83 | }
84 |
85 | public function onDisconnect($mynumber, $socket)
86 | {
87 | echo "Booo!, Phone number $mynumber is disconnected!
";
88 | }
89 |
90 | public function onGetMessage( $mynumber, $from, $id, $type, $time, $name, $body )
91 | {
92 | echo "Message from $name:\n$body\n\n";
93 | }
94 | }
95 |
--------------------------------------------------------------------------------
/examples/custom.css:
--------------------------------------------------------------------------------
1 | body {
2 | padding-top: 90px;
3 | }
4 | .panel-login {
5 | border-color: #ccc;
6 | -webkit-box-shadow: 0px 2px 3px 0px rgba(0,0,0,0.2);
7 | -moz-box-shadow: 0px 2px 3px 0px rgba(0,0,0,0.2);
8 | box-shadow: 0px 2px 3px 0px rgba(0,0,0,0.2);
9 | }
10 | .panel-login>.panel-heading {
11 | color: #00415d;
12 | background-color: #fff;
13 | border-color: #fff;
14 | text-align:center;
15 | }
16 | .panel-login>.panel-heading a{
17 | text-decoration: none;
18 | color: #666;
19 | font-weight: bold;
20 | font-size: 15px;
21 | -webkit-transition: all 0.1s linear;
22 | -moz-transition: all 0.1s linear;
23 | transition: all 0.1s linear;
24 | }
25 | .panel-login>.panel-heading a.active{
26 | color: #029f5b;
27 | font-size: 18px;
28 | }
29 | .panel-login>.panel-heading hr{
30 | margin-top: 10px;
31 | margin-bottom: 0px;
32 | clear: both;
33 | border: 0;
34 | height: 1px;
35 | background-image: -webkit-linear-gradient(left,rgba(0, 0, 0, 0),rgba(0, 0, 0, 0.15),rgba(0, 0, 0, 0));
36 | background-image: -moz-linear-gradient(left,rgba(0,0,0,0),rgba(0,0,0,0.15),rgba(0,0,0,0));
37 | background-image: -ms-linear-gradient(left,rgba(0,0,0,0),rgba(0,0,0,0.15),rgba(0,0,0,0));
38 | background-image: -o-linear-gradient(left,rgba(0,0,0,0),rgba(0,0,0,0.15),rgba(0,0,0,0));
39 | }
40 | .panel-login input[type="text"],.panel-login input[type="email"],.panel-login input[type="password"] {
41 | height: 45px;
42 | border: 1px solid #ddd;
43 | font-size: 16px;
44 | -webkit-transition: all 0.1s linear;
45 | -moz-transition: all 0.1s linear;
46 | transition: all 0.1s linear;
47 | }
48 | .panel-login input:hover,
49 | .panel-login input:focus {
50 | outline:none;
51 | -webkit-box-shadow: none;
52 | -moz-box-shadow: none;
53 | box-shadow: none;
54 | border-color: #ccc;
55 | }
56 | .btn-login {
57 | background-color: #59B2E0;
58 | outline: none;
59 | color: #fff;
60 | font-size: 14px;
61 | height: auto;
62 | font-weight: normal;
63 | padding: 14px 0;
64 | text-transform: uppercase;
65 | border-color: #59B2E6;
66 | }
67 | .btn-login:hover,
68 | .btn-login:focus {
69 | color: #fff;
70 | background-color: #53A3CD;
71 | border-color: #53A3CD;
72 | }
73 | .forgot-password {
74 | text-decoration: underline;
75 | color: #888;
76 | }
77 | .forgot-password:hover,
78 | .forgot-password:focus {
79 | text-decoration: underline;
80 | color: #666;
81 | }
82 |
83 | .btn-register {
84 | background-color: #1CB94E;
85 | outline: none;
86 | color: #fff;
87 | font-size: 14px;
88 | height: auto;
89 | font-weight: normal;
90 | padding: 14px 0;
91 | text-transform: uppercase;
92 | border-color: #1CB94A;
93 | }
94 | .btn-register:hover,
95 | .btn-register:focus {
96 | color: #fff;
97 | background-color: #1CA347;
98 | border-color: #1CA347;
99 | }
100 |
101 | #field, label{
102 | float: none !important;
103 | }
--------------------------------------------------------------------------------
/examples/send.php:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Whatsapp! Messenger
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | ';
17 | echo '
';
18 | echo "Sent successfully";
19 | echo '
';
20 | }
21 | ?>
22 |
23 |
64 |
65 |
66 |
67 |
68 |
69 |
83 |
84 |
--------------------------------------------------------------------------------
/src/mediauploader.php:
--------------------------------------------------------------------------------
1 | getChild("media")->getAttribute("url");
49 | $filepath = $messageContainer["filePath"];
50 | $to = $messageContainer["to"];
51 | return self::getPostString($filepath, $url, $mediafile, $to, $selfJID);
52 | }
53 |
54 | protected static function getPostString($filepath, $url, $mediafile, $to, $from)
55 | {
56 | $host = parse_url($url, PHP_URL_HOST);
57 |
58 | //filename to md5 digest
59 | $cryptoname = md5($filepath) . "." . $mediafile['fileextension'];
60 | $boundary = "zzXXzzYYzzXXzzQQ";
61 |
62 | if (is_array($to)) {
63 | $to = implode(',', $to);
64 | }
65 |
66 | $hBAOS = "--" . $boundary . "\r\n";
67 | $hBAOS .= "Content-Disposition: form-data; name=\"to\"\r\n\r\n";
68 | $hBAOS .= $to . "\r\n";
69 | $hBAOS .= "--" . $boundary . "\r\n";
70 | $hBAOS .= "Content-Disposition: form-data; name=\"from\"\r\n\r\n";
71 | $hBAOS .= $from . "\r\n";
72 | $hBAOS .= "--" . $boundary . "\r\n";
73 | $hBAOS .= "Content-Disposition: form-data; name=\"file\"; filename=\"" . $cryptoname . "\"\r\n";
74 | $hBAOS .= "Content-Type: " . $mediafile['filemimetype'] . "\r\n\r\n";
75 |
76 | $fBAOS = "\r\n--" . $boundary . "--\r\n";
77 |
78 | $contentlength = strlen($hBAOS) + strlen($fBAOS) + $mediafile['filesize'];
79 |
80 | $POST = "POST " . $url . "\r\n";
81 | $POST .= "Content-Type: multipart/form-data; boundary=" . $boundary . "\r\n";
82 | $POST .= "Host: " . $host . "\r\n";
83 | $POST .= "User-Agent: " . Constants::WHATSAPP_USER_AGENT . "\r\n";
84 | $POST .= "Content-Length: " . $contentlength . "\r\n\r\n";
85 |
86 | return self::sendData($host, $POST, $hBAOS, $filepath, $mediafile, $fBAOS);
87 | }
88 | }
89 |
--------------------------------------------------------------------------------
/src/BinTreeNodeWriter.php:
--------------------------------------------------------------------------------
1 | key = null;
12 | }
13 |
14 | public function setKey($key)
15 | {
16 | $this->key = $key;
17 | }
18 |
19 | public function StartStream($domain, $resource)
20 | {
21 | $attributes = array();
22 |
23 | $attributes["to"] = $domain;
24 | $attributes["resource"] = $resource;
25 | $this->writeListStart(count($attributes) * 2 + 1);
26 |
27 | $this->output .= "\x01";
28 | $this->writeAttributes($attributes);
29 |
30 | return "WA" . $this->writeInt8(1) . $this->writeInt8(5) . $this->flushBuffer();
31 | }
32 |
33 | /**
34 | * @param ProtocolNode $node
35 | * @param bool $encrypt
36 | *
37 | * @return string
38 | */
39 | public function write($node, $encrypt = true)
40 | {
41 | if ($node == null) {
42 | $this->output .= "\x00";
43 | } else {
44 | $this->writeInternal($node);
45 | }
46 |
47 | return $this->flushBuffer($encrypt);
48 | }
49 |
50 | /**
51 | * @param ProtocolNode $node
52 | */
53 | protected function writeInternal($node)
54 | {
55 | $len = 1;
56 | if ($node->getAttributes() != null) {
57 | $len += count($node->getAttributes()) * 2;
58 | }
59 | if (count($node->getChildren()) > 0) {
60 | $len += 1;
61 | }
62 | if (strlen($node->getData()) > 0) {
63 | $len += 1;
64 | }
65 | $this->writeListStart($len);
66 | $this->writeString($node->getTag());
67 | $this->writeAttributes($node->getAttributes());
68 | if (strlen($node->getData()) > 0) {
69 | $this->writeBytes($node->getData());
70 | }
71 | if ($node->getChildren()) {
72 | $this->writeListStart(count($node->getChildren()));
73 | foreach ($node->getChildren() as $child) {
74 | $this->writeInternal($child);
75 | }
76 | }
77 | }
78 |
79 | protected function parseInt24($data)
80 | {
81 | $ret = ord(substr($data, 0, 1)) << 16;
82 | $ret |= ord(substr($data, 1, 1)) << 8;
83 | $ret |= ord(substr($data, 2, 1)) << 0;
84 | return $ret;
85 | }
86 |
87 | protected function flushBuffer($encrypt = true)
88 | {
89 | $size = strlen($this->output);
90 | $data = $this->output;
91 | if ($this->key != null && $encrypt) {
92 | $bsize = $this->getInt24($size);
93 | //encrypt
94 | $data = $this->key->EncodeMessage($data, $size, 0, $size);
95 | $len = strlen($data);
96 | $bsize[0] = chr((8 << 4) | (($len & 16711680) >> 16));
97 | $bsize[1] = chr(($len & 65280) >> 8);
98 | $bsize[2] = chr($len & 255);
99 | $size = $this->parseInt24($bsize);
100 | }
101 | $ret = $this->writeInt24($size) . $data;
102 | $this->output = '';
103 | return $ret;
104 | }
105 |
106 | protected function getInt24($length)
107 | {
108 | $ret = '';
109 | $ret .= chr((($length & 0xf0000) >> 16));
110 | $ret .= chr((($length & 0xff00) >> 8));
111 | $ret .= chr(($length & 0xff));
112 | return $ret;
113 | }
114 |
115 | protected function writeToken($token)
116 | {
117 | if ($token < 0xf5) {
118 | $this->output .= chr($token);
119 | } elseif ($token <= 0x1f4) {
120 | $this->output .= "\xfe" . chr($token - 0xf5);
121 | }
122 | }
123 |
124 | protected function writeJid($user, $server)
125 | {
126 | $this->output .= "\xfa";
127 | if (strlen($user) > 0) {
128 | $this->writeString($user);
129 | } else {
130 | $this->writeToken(0);
131 | }
132 | $this->writeString($server);
133 | }
134 |
135 | protected function writeInt8($v)
136 | {
137 | $ret = chr($v & 0xff);
138 |
139 | return $ret;
140 | }
141 |
142 | protected function writeInt16($v)
143 | {
144 | $ret = chr(($v & 0xff00) >> 8);
145 | $ret .= chr(($v & 0x00ff) >> 0);
146 |
147 | return $ret;
148 | }
149 |
150 | protected function writeInt24($v)
151 | {
152 | $ret = chr(($v & 0xff0000) >> 16);
153 | $ret .= chr(($v & 0x00ff00) >> 8);
154 | $ret .= chr(($v & 0x0000ff) >> 0);
155 |
156 | return $ret;
157 | }
158 |
159 | protected function writeBytes($bytes)
160 | {
161 | $len = strlen($bytes);
162 | if ($len >= 0x100) {
163 | $this->output .= "\xfd";
164 | $this->output .= $this->writeInt24($len);
165 | } else {
166 | $this->output .= "\xfc";
167 | $this->output .= $this->writeInt8($len);
168 | }
169 | $this->output .= $bytes;
170 | }
171 |
172 | protected function writeString($tag)
173 | {
174 | $intVal = -1;
175 | $subdict = false;
176 | if (TokenMap::TryGetToken($tag, $subdict, $intVal)) {
177 | if ($subdict) {
178 | $this->writeToken(236);
179 | }
180 | $this->writeToken($intVal);
181 | return;
182 | }
183 | $index = strpos($tag, '@');
184 | if ($index) {
185 | $server = substr($tag, $index + 1);
186 | $user = substr($tag, 0, $index);
187 | $this->writeJid($user, $server);
188 | } else {
189 | $this->writeBytes($tag);
190 | }
191 | }
192 |
193 | protected function writeAttributes($attributes)
194 | {
195 | if ($attributes) {
196 | foreach ($attributes as $key => $value) {
197 | $this->writeString($key);
198 | $this->writeString($value);
199 | }
200 | }
201 | }
202 |
203 | protected function writeListStart($len)
204 | {
205 | if ($len == 0) {
206 | $this->output .= "\x00";
207 | } elseif ($len < 256) {
208 | $this->output .= "\xf8" . chr($len);
209 | } else {
210 | $this->output .= "\xf9" . $this->writeInt16($len);
211 | }
212 | }
213 | }
214 |
--------------------------------------------------------------------------------
/src/protocol.class.php:
--------------------------------------------------------------------------------
1 | input = $input;
16 | }
17 |
18 | public function getInput()
19 | {
20 | return $this->input;
21 | }
22 | }
23 |
24 | class ProtocolNode
25 | {
26 | private $tag;
27 | private $attributeHash;
28 | private $children;
29 | private $data;
30 | private static $cli = null;
31 |
32 | /**
33 | * check if call is from command line
34 | * @return bool
35 | */
36 | private static function isCli()
37 | {
38 | if (self::$cli === null) {
39 | //initial setter
40 | if (php_sapi_name() == "cli") {
41 | self::$cli = true;
42 | } else {
43 | self::$cli = false;
44 | }
45 | }
46 | return self::$cli;
47 | }
48 |
49 | /**
50 | * @return string
51 | */
52 | public function getData()
53 | {
54 | return $this->data;
55 | }
56 |
57 | /**
58 | * @return string
59 | */
60 | public function getTag()
61 | {
62 | return $this->tag;
63 | }
64 |
65 | /**
66 | * @return string[]
67 | */
68 | public function getAttributes()
69 | {
70 | return $this->attributeHash;
71 | }
72 |
73 | /**
74 | * @return ProtocolNode[]
75 | */
76 | public function getChildren()
77 | {
78 | return $this->children;
79 | }
80 |
81 | public function __construct($tag, $attributeHash, $children, $data)
82 | {
83 | $this->tag = $tag;
84 | $this->attributeHash = $attributeHash;
85 | $this->children = $children;
86 | $this->data = $data;
87 | }
88 |
89 | /**
90 | * @param string $indent
91 | * @param bool $isChild
92 | * @return string
93 | */
94 | public function nodeString($indent = "", $isChild = false)
95 | {
96 | //formatters
97 | $lt = "<";
98 | $gt = ">";
99 | $nl = "\n";
100 | if ( ! self::isCli()) {
101 | $lt = "<";
102 | $gt = ">";
103 | $nl = "
";
104 | $indent = str_replace(" ", " ", $indent);
105 | }
106 |
107 | $ret = $indent . $lt . $this->tag;
108 | if ($this->attributeHash != null) {
109 | foreach ($this->attributeHash as $key => $value) {
110 | $ret .= " " . $key . "=\"" . $value . "\"";
111 | }
112 | }
113 | $ret .= $gt;
114 | if (strlen($this->data) > 0) {
115 | if (strlen($this->data) <= 1024) {
116 | //message
117 | $ret .= $this->data;
118 | } else {
119 | //raw data
120 | $ret .= " " . strlen($this->data) . " byte data";
121 | }
122 | }
123 | if ($this->children) {
124 | $ret .= $nl;
125 | $foo = array();
126 | foreach ($this->children as $child) {
127 | $foo[] = $child->nodeString($indent . " ", true);
128 | }
129 | $ret .= implode($nl, $foo);
130 | $ret .= $nl . $indent;
131 | }
132 | $ret .= $lt . "/" . $this->tag . $gt;
133 |
134 | if ( ! $isChild) {
135 | $ret .= $nl;
136 | if ( ! self::isCli()) {
137 | $ret .= $nl;
138 | }
139 | }
140 |
141 | return $ret;
142 | }
143 |
144 | /**
145 | * @param $attribute
146 | * @return string
147 | */
148 | public function getAttribute($attribute)
149 | {
150 | $ret = "";
151 | if (isset($this->attributeHash[$attribute])) {
152 | $ret = $this->attributeHash[$attribute];
153 | }
154 |
155 | return $ret;
156 | }
157 |
158 | /**
159 | * @param string $needle
160 | * @return boolean
161 | */
162 | public function nodeIdContains($needle)
163 | {
164 | return (strpos($this->getAttribute("id"), $needle) !== false);
165 | }
166 |
167 | //get children supports string tag or int index
168 | /**
169 | * @param $tag
170 | * @return ProtocolNode
171 | */
172 | public function getChild($tag)
173 | {
174 | $ret = null;
175 | if ($this->children) {
176 | if (is_int($tag)) {
177 | if (isset($this->children[$tag])) {
178 | return $this->children[$tag];
179 | } else {
180 | return null;
181 | }
182 | }
183 | foreach ($this->children as $child) {
184 | if (strcmp($child->tag, $tag) == 0) {
185 | return $child;
186 | }
187 | $ret = $child->getChild($tag);
188 | if ($ret) {
189 | return $ret;
190 | }
191 | }
192 | }
193 |
194 | return null;
195 | }
196 |
197 | /**
198 | * @param $tag
199 | * @return bool
200 | */
201 | public function hasChild($tag)
202 | {
203 | return $this->getChild($tag) == null ? false : true;
204 | }
205 |
206 | /**
207 | * @param int $offset
208 | */
209 | public function refreshTimes($offset = 0)
210 | {
211 | if (isset($this->attributeHash['id'])) {
212 | $id = $this->attributeHash['id'];
213 | $parts = explode('-', $id);
214 | $parts[0] = time() + $offset;
215 | $this->attributeHash['id'] = implode('-', $parts);
216 | }
217 | if (isset($this->attributeHash['t'])) {
218 | $this->attributeHash['t'] = time();
219 | }
220 | }
221 |
222 | /**
223 | * Print human readable ProtocolNode object
224 | *
225 | * @return string
226 | */
227 | public function __toString()
228 | {
229 | $readableNode = array(
230 | 'tag' => $this->tag,
231 | 'attributeHash' => $this->attributeHash,
232 | 'children' => $this->children,
233 | 'data' => $this->data
234 | );
235 |
236 | return print_r($readableNode, true);
237 | }
238 | }
239 |
--------------------------------------------------------------------------------
/src/events/AllEvents.php:
--------------------------------------------------------------------------------
1 | whatsProt = $whatsProt;
10 | return $this;
11 | }
12 |
13 | /**
14 | * Register the events you want to listen for.
15 | *
16 | * @param array $eventList
17 | * @return AllEvents
18 | */
19 | public function setEventsToListenFor(array $eventList)
20 | {
21 | $this->eventsToListenFor = $eventList;
22 | return $this->startListening();
23 | }
24 |
25 | /**
26 | * Binds the requested events to the event manager.
27 | * @return $this
28 | */
29 | protected function startListening()
30 | {
31 | foreach ($this->eventsToListenFor as $event) {
32 | if (is_callable(array($this, $event))) {
33 | $this->whatsProt->eventManager()->bind($event, array($this, $event));
34 | }
35 | }
36 | return $this;
37 | }
38 |
39 | //Adding to this list? Please put them in alphabetical order!
40 | public function onCallReceived($mynumber, $from, $id, $notify, $time, $callId) {}
41 | public function onClose($mynumber, $error) {}
42 | public function onCodeRegister($mynumber, $login, $password, $type, $expiration, $kind, $price, $cost, $currency, $price_expiration) {}
43 | public function onCodeRegisterFailed($mynumber, $status, $reason, $retry_after) {}
44 | public function onCodeRequest($mynumber, $method, $length) {}
45 | public function onCodeRequestFailed($mynumber, $method, $reason, $param) {}
46 | public function onCodeRequestFailedTooRecent($mynumber, $method, $reason, $retry_after) {}
47 | public function onCodeRequestFailedTooManyGuesses($mynumber, $method, $reason, $retry_after) {}
48 | public function onConnect($mynumber, $socket) {}
49 | public function onConnectError($mynumber, $socket) {}
50 | public function onCredentialsBad($mynumber, $status, $reason) {}
51 | public function onCredentialsGood($mynumber, $login, $password, $type, $expiration, $kind, $price, $cost, $currency, $price_expiration) {}
52 | public function onDisconnect($mynumber, $socket) {}
53 | public function onDissectPhone($mynumber, $phonecountry, $phonecc, $phone, $phonemcc, $phoneISO3166, $phoneISO639, $phonemnc) {}
54 | public function onDissectPhoneFailed($mynumber) {}
55 | public function onGetAudio($mynumber, $from, $id, $type, $time, $name, $size, $url, $file, $mimeType, $fileHash, $duration, $acodec, $fromJID_ifGroup = null) {}
56 | public function onGetBroadcastLists($mynumber, $broadcastLists){}
57 | public function onGetError($mynumber, $from, $id, $data) {}
58 | public function onGetExtendAccount($mynumber, $kind, $status, $creation, $expiration) {}
59 | public function onGetFeature($mynumber, $from, $encrypt) {}
60 | public function onGetGroupMessage($mynumber, $from_group_jid, $from_user_jid, $id, $type, $time, $name, $body) {}
61 | public function onGetGroups($mynumber, $groupList) {}
62 | public function onGetGroupV2Info( $mynumber, $group_id, $creator, $creation, $subject, $participants, $admins, $fromGetGroup ){}
63 | public function onGetGroupsSubject($mynumber, $group_jid, $time, $author, $name, $subject) {}
64 | public function onGetImage($mynumber, $from, $id, $type, $time, $name, $size, $url, $file, $mimeType, $fileHash, $width, $height, $preview, $caption) {}
65 | public function onGetGroupImage($mynumber, $from_group_jid, $from_user_jid, $id, $type, $time, $name, $size, $url, $file, $mimeType, $fileHash, $width, $height, $preview, $caption) {}
66 | public function onGetGroupVideo($mynumber, $from_group_jid, $from_user_jid, $id, $type, $time, $name, $url, $file, $size, $mimeType, $fileHash, $duration, $vcodec, $acodec, $preview, $caption) {}
67 | public function onGetKeysLeft($mynumber, $keysLeft) {}
68 | public function onGetLocation($mynumber, $from, $id, $type, $time, $name, $author, $longitude, $latitude, $url, $preview, $fromJID_ifGroup = null) {}
69 | public function onGetMessage($mynumber, $from, $id, $type, $time, $name, $body) {}
70 | public function onGetNormalizedJid($mynumber, $data) {}
71 | public function onGetPrivacyBlockedList($mynumber, $data) {}
72 | public function onGetProfilePicture($mynumber, $from, $type, $data) {}
73 | public function onGetReceipt($from, $id, $offline, $retry) {}
74 | public function onGetRequestLastSeen($mynumber, $from, $id, $seconds) {}
75 | public function onGetServerProperties($mynumber, $version, $props) {}
76 | public function onGetServicePricing($mynumber, $price, $cost, $currency, $expiration) {}
77 | public function onGetStatus($mynumber, $from, $requested, $id, $time, $data) {}
78 | public function onGetSyncResult($result) {}
79 | public function onGetVideo($mynumber, $from, $id, $type, $time, $name, $url, $file, $size, $mimeType, $fileHash, $duration, $vcodec, $acodec, $preview, $caption) {}
80 | public function onGetvCard($mynumber, $from, $id, $type, $time, $name, $vcardname, $vcard, $fromJID_ifGroup = null) {}
81 | public function onGroupCreate($mynumber, $groupId) {}
82 | public function onGroupisCreated($mynumber, $creator, $gid, $subject, $admin, $creation, $members = array()) {}
83 | public function onGroupsChatCreate($mynumber, $gid) {}
84 | public function onGroupsChatEnd($mynumber, $gid) {}
85 | public function onGroupsParticipantsAdd($mynumber, $groupId, $jid) {}
86 | public function onGroupsParticipantsPromote($myNumber, $groupJID, $time, $issuerJID, $issuerName, $promotedJIDs = array()) {}
87 | public function onGroupsParticipantsRemove($mynumber, $groupId, $jid) {}
88 | public function onLogin($mynumber) {}
89 | public function onLoginFailed($mynumber, $data) {}
90 | public function onLoginSuccess($mynumber, $kind, $status, $creation, $expiration) {}
91 | public function onAccountExpired($mynumber, $kind, $status, $creation, $expiration ){}
92 | public function onMediaMessageSent($mynumber, $to, $id, $filetype, $url, $filename, $filesize, $filehash, $caption, $icon) {}
93 | public function onMediaUploadFailed($mynumber, $id, $node, $messageNode, $statusMessage) {}
94 | public function onMessageComposing($mynumber, $from, $id, $type, $time) {}
95 | public function onMessagePaused($mynumber, $from, $id, $type, $time) {}
96 | public function onMessageReceivedClient($mynumber, $from, $id, $type, $time, $participant) {}
97 | public function onMessageReceivedServer($mynumber, $from, $id, $type, $time) {}
98 | public function onNumberWasAdded($mynumber, $jid) {}
99 | public function onNumberWasRemoved($mynumber, $jid) {}
100 | public function onNumberWasUpdated($mynumber, $jid) {}
101 | public function onPaidAccount($mynumber, $author, $kind, $status, $creation, $expiration) {}
102 | public function onPaymentRecieved($mynumber, $kind, $status, $creation, $expiration) {}
103 | public function onPing($mynumber, $id) {}
104 | public function onPresenceAvailable($mynumber, $from) {}
105 | public function onPresenceUnavailable($mynumber, $from, $last) {}
106 | public function onProfilePictureChanged($mynumber, $from, $id, $time) {}
107 | public function onProfilePictureDeleted($mynumber, $from, $id, $time) {}
108 | public function onSendMessage($mynumber, $target, $messageId, $node) {}
109 | public function onSendMessageReceived($mynumber, $id, $from, $type) {}
110 | public function onSendPong($mynumber, $msgid) {}
111 | public function onSendPresence($mynumber, $type, $name ) {}
112 | public function onSendStatusUpdate($mynumber, $txt ) {}
113 | public function onStreamError($data) {}
114 | public function onWebSync($mynumber, $from, $id, $syncData, $code, $name) {}
115 | }
116 |
--------------------------------------------------------------------------------
/src/BinTreeNodeReader.php:
--------------------------------------------------------------------------------
1 | key = null;
12 | }
13 |
14 | public function setKey($key)
15 | {
16 | $this->key = $key;
17 | }
18 |
19 | public function nextTree($input = null)
20 | {
21 | if ($input != null) {
22 | $this->input = $input;
23 | }
24 | $firstByte = $this->peekInt8();
25 | $stanzaFlag = ($firstByte & 0xF0) >> 4;
26 | $stanzaSize = $this->peekInt16(1) | (($firstByte & 0x0F) << 16);
27 | if ($stanzaSize > strlen($this->input)) {
28 | throw new Exception("Incomplete message $stanzaSize != " . strlen($this->input));
29 | }
30 | $this->readInt24();
31 | if ($stanzaFlag & 8) {
32 | if (isset($this->key)) {
33 | $realSize = $stanzaSize - 4;
34 | $this->input = $this->key->DecodeMessage($this->input, $realSize, 0, $realSize);// . $remainingData;
35 | } else {
36 | throw new Exception("Encountered encrypted message, missing key");
37 | }
38 | }
39 | if ($stanzaSize > 0) {
40 | return $this->nextTreeInternal();
41 | }
42 |
43 | return null;
44 | }
45 |
46 | protected function readNibble() {
47 | $byte = $this->readInt8();
48 |
49 | $ignoreLastNibble = (bool) ($byte & 0x80);
50 | $size = ($byte & 0x7f);
51 | $nrOfNibbles = $size * 2 - (int) $ignoreLastNibble;
52 |
53 | $data = $this->fillArray($size);
54 | $string = '';
55 |
56 | for ($i = 0; $i < $nrOfNibbles; $i++) {
57 | $byte = $data[(int) floor($i / 2)];
58 | $ord = ord($byte);
59 |
60 | $shift = 4 * (1 - $i % 2);
61 | $decimal = ($ord & (15 << $shift)) >> $shift;
62 |
63 | switch ($decimal) {
64 | case 0:
65 | case 1:
66 | case 2:
67 | case 3:
68 | case 4:
69 | case 5:
70 | case 6:
71 | case 7:
72 | case 8:
73 | case 9:
74 | $string .= $decimal;
75 | break;
76 | case 10:
77 | case 11:
78 | $string .= chr($decimal - 10 + 45);
79 | break;
80 | default:
81 | throw new Exception("Bad nibble: $decimal");
82 | }
83 | }
84 |
85 | return $string;
86 | }
87 |
88 | protected function getToken($token)
89 | {
90 | $ret = "";
91 | $subdict = false;
92 | TokenMap::GetToken($token, $subdict, $ret);
93 | if (!$ret) {
94 | $token = $this->readInt8();
95 | TokenMap::GetToken($token, $subdict, $ret);
96 | if (!$ret) {
97 | throw new Exception("BinTreeNodeReader->getToken: Invalid token $token");
98 | }
99 | }
100 |
101 | return $ret;
102 | }
103 |
104 | protected function readString($token)
105 | {
106 | $ret = "";
107 |
108 | if ($token == -1) {
109 | throw new Exception("BinTreeNodeReader->readString: Invalid token $token");
110 | }
111 |
112 | if (($token > 2) && ($token < 0xf5)) {
113 | $ret = $this->getToken($token);
114 | } elseif ($token == 0) {
115 | $ret = "";
116 | } elseif ($token == 0xfc) {
117 | $size = $this->readInt8();
118 | $ret = $this->fillArray($size);
119 | } elseif ($token == 0xfd) {
120 | $size = $this->readInt24();
121 | $ret = $this->fillArray($size);
122 | } elseif ($token == 0xfa) {
123 | $user = $this->readString($this->readInt8());
124 | $server = $this->readString($this->readInt8());
125 | if ((strlen($user) > 0) && (strlen($server) > 0)) {
126 | $ret = $user . "@" . $server;
127 | } elseif (strlen($server) > 0) {
128 | $ret = $server;
129 | }
130 | } elseif ($token == 0xff) {
131 | $ret = $this->readNibble();
132 | }
133 |
134 | return $ret;
135 | }
136 |
137 | protected function readAttributes($size)
138 | {
139 | $attributes = array();
140 | $attribCount = ($size - 2 + $size % 2) / 2;
141 |
142 | for ($i = 0; $i < $attribCount; $i++) {
143 | $key = $this->readString($this->readInt8());
144 | $value = $this->readString($this->readInt8());
145 | $attributes[$key] = $value;
146 | }
147 |
148 | return $attributes;
149 | }
150 |
151 | protected function nextTreeInternal()
152 | {
153 | $token = $this->readInt8();
154 | $size = $this->readListSize($token);
155 | $token = $this->readInt8();
156 | if ($token == 1) {
157 | $attributes = $this->readAttributes($size);
158 |
159 | return new ProtocolNode("start", $attributes, null, "");
160 | } elseif ($token == 2) {
161 | return null;
162 | }
163 | $tag = $this->readString($token);
164 | $attributes = $this->readAttributes($size);
165 | if (($size % 2) == 1) {
166 | return new ProtocolNode($tag, $attributes, null, "");
167 | }
168 | $token = $this->readInt8();
169 | if ($this->isListTag($token)) {
170 | return new ProtocolNode($tag, $attributes, $this->readList($token), "");
171 | }
172 |
173 | return new ProtocolNode($tag, $attributes, null, $this->readString($token));
174 | }
175 |
176 | protected function isListTag($token)
177 | {
178 | return ($token == 248 || $token == 0 || $token == 249);
179 | }
180 |
181 | protected function readList($token)
182 | {
183 | $size = $this->readListSize($token);
184 | $ret = array();
185 | for ($i = 0; $i < $size; $i++) {
186 | array_push($ret, $this->nextTreeInternal());
187 | }
188 |
189 | return $ret;
190 | }
191 |
192 | protected function readListSize($token)
193 | {
194 | if ($token == 0xf8) {
195 | return $this->readInt8();
196 | } elseif ($token == 0xf9) {
197 | return $this->readInt16();
198 | }
199 |
200 | throw new Exception("BinTreeNodeReader->readListSize: Invalid token $token");
201 | }
202 |
203 | protected function peekInt24($offset = 0)
204 | {
205 | $ret = 0;
206 | if (strlen($this->input) >= (3 + $offset)) {
207 | $ret = ord(substr($this->input, $offset, 1)) << 16;
208 | $ret |= ord(substr($this->input, $offset + 1, 1)) << 8;
209 | $ret |= ord(substr($this->input, $offset + 2, 1)) << 0;
210 | }
211 |
212 | return $ret;
213 | }
214 |
215 | protected function readInt24()
216 | {
217 | $ret = $this->peekInt24();
218 | if (strlen($this->input) >= 3) {
219 | $this->input = substr($this->input, 3);
220 | }
221 |
222 | return $ret;
223 | }
224 |
225 | protected function peekInt16($offset = 0)
226 | {
227 | $ret = 0;
228 | if (strlen($this->input) >= (2 + $offset)) {
229 | $ret = ord(substr($this->input, $offset, 1)) << 8;
230 | $ret |= ord(substr($this->input, $offset + 1, 1)) << 0;
231 | }
232 |
233 | return $ret;
234 | }
235 |
236 | protected function readInt16()
237 | {
238 | $ret = $this->peekInt16();
239 | if ($ret > 0) {
240 | $this->input = substr($this->input, 2);
241 | }
242 |
243 | return $ret;
244 | }
245 |
246 | protected function peekInt8($offset = 0)
247 | {
248 | $ret = 0;
249 | if (strlen($this->input) >= (1 + $offset)) {
250 | $sbstr = substr($this->input, $offset, 1);
251 | $ret = ord($sbstr);
252 | }
253 |
254 | return $ret;
255 | }
256 |
257 | protected function readInt8()
258 | {
259 | $ret = $this->peekInt8();
260 | if (strlen($this->input) >= 1) {
261 | $this->input = substr($this->input, 1);
262 | }
263 |
264 | return $ret;
265 | }
266 |
267 | protected function fillArray($len)
268 | {
269 | $ret = "";
270 | if (strlen($this->input) >= $len) {
271 | $ret = substr($this->input, 0, $len);
272 | $this->input = substr($this->input, $len);
273 | }
274 |
275 | return $ret;
276 | }
277 | }
278 |
--------------------------------------------------------------------------------
/src/vCard.php:
--------------------------------------------------------------------------------
1 | data = array(
25 | 'display_name' => null,
26 | 'first_name' => null,
27 | 'last_name' => null,
28 | 'additional_name' => null,
29 | 'name_prefix' => null,
30 | 'name_suffix' => null,
31 | 'nickname' => null,
32 | 'title' => null,
33 | 'role' => null,
34 | 'department' => null,
35 | 'company' => null,
36 | 'work_po_box' => null,
37 | 'work_extended_address' => null,
38 | 'work_address' => null,
39 | 'work_city' => null,
40 | 'work_state' => null,
41 | 'work_postal_code' => null,
42 | 'work_country' => null,
43 | 'home_po_box' => null,
44 | 'home_extended_address' => null,
45 | 'home_address' => null,
46 | 'home_city' => null,
47 | 'home_state' => null,
48 | 'home_postal_code' => null,
49 | 'home_country' => null,
50 | 'office_tel' => null,
51 | 'home_tel' => null,
52 | 'cell_tel' => null,
53 | 'fax_tel' => null,
54 | 'pager_tel' => null,
55 | 'email1' => null,
56 | 'email2' => null,
57 | 'url' => null,
58 | 'photo' => null,
59 | 'birthday' => null,
60 | 'timezone' => null,
61 | 'sort_string' => null,
62 | 'note' => null,
63 | );
64 |
65 | return true;
66 | }
67 |
68 | /**
69 | * Global setter.
70 | *
71 | * @param string $key
72 | * Name of the property.
73 | * @param mixed $value
74 | * Value to set.
75 | *
76 | * @return vCard
77 | * Return itself.
78 | */
79 | public function set($key, $value)
80 | {
81 | // Check if the specified property is defined.
82 | if (property_exists($this, $key) && $key != 'data') {
83 | $this->{$key} = trim($value);
84 | return $this;
85 | } elseif (property_exists($this, $key) && $key == 'data') {
86 | foreach ($value as $v_key => $v_value) {
87 | $this->{$key}[$v_key] = trim($v_value);
88 | }
89 | return $this;
90 | } else {
91 | return false;
92 | }
93 | }
94 |
95 | /**
96 | * Checks all the values, builds appropriate defaults for
97 | * missing values and generates the vcard data string.
98 | */
99 | function build()
100 | {
101 | if (!$this->class) {
102 | $this->class = 'PUBLIC';
103 | }
104 | if (!$this->data['display_name']) {
105 | $this->data['display_name'] = $this->data['first_name'] . ' ' . $this->data['last_name'];
106 | }
107 | if (!$this->data['sort_string']) {
108 | $this->data['sort_string'] = $this->data['last_name'];
109 | }
110 | if (!$this->data['sort_string']) {
111 | $this->data['sort_string'] = $this->data['company'];
112 | }
113 | if (!$this->data['timezone']) {
114 | $this->data['timezone'] = date("O");
115 | }
116 | if (!$this->revisionDate) {
117 | $this->revisionDate = date('Y-m-d H:i:s');
118 | }
119 |
120 | $this->card = "BEGIN:VCARD\r\n";
121 | $this->card .= "VERSION:3.0\r\n";
122 | $this->card .= "CLASS:" . $this->class . "\r\n";
123 | $this->card .= "PRODID:-//class_vCard from WhatsAPI//NONSGML Version 1//EN\r\n";
124 | $this->card .= "REV:" . $this->revisionDate . "\r\n";
125 | $this->card .= "FN:" . $this->data['display_name'] . "\r\n";
126 | $this->card .= "N:"
127 | . $this->data['last_name'] . ";"
128 | . $this->data['first_name'] . ";"
129 | . $this->data['additional_name'] . ";"
130 | . $this->data['name_prefix'] . ";"
131 | . $this->data['name_suffix'] . "\r\n";
132 | if ($this->data['nickname']) {
133 | $this->card .= "NICKNAME:" . $this->data['nickname'] . "\r\n";
134 | }
135 | if ($this->data['title']) {
136 | $this->card .= "TITLE:" . $this->data['title'] . "\r\n";
137 | }
138 | if ($this->data['company']) {
139 | $this->card .= "ORG:" . $this->data['company'];
140 | }
141 | if ($this->data['department']) {
142 | $this->card .= ";" . $this->data['department'];
143 | }
144 | $this->card .= "\r\n";
145 |
146 | if ($this->data['work_po_box'] || $this->data['work_extended_address'] || $this->data['work_address'] || $this->data['work_city'] || $this->data['work_state'] || $this->data['work_postal_code'] || $this->data['work_country']) {
147 | $this->card .= "ADR;type=WORK:"
148 | . $this->data['work_po_box'] . ";"
149 | . $this->data['work_extended_address'] . ";"
150 | . $this->data['work_address'] . ";"
151 | . $this->data['work_city'] . ";"
152 | . $this->data['work_state'] . ";"
153 | . $this->data['work_postal_code'] . ";"
154 | . $this->data['work_country'] . "\r\n";
155 | }
156 |
157 | if ($this->data['home_po_box'] || $this->data['home_extended_address'] || $this->data['home_address'] || $this->data['home_city'] || $this->data['home_state'] || $this->data['home_postal_code'] || $this->data['home_country']) {
158 | $this->card .= "ADR;type=HOME:"
159 | . $this->data['home_po_box'] . ";"
160 | . $this->data['home_extended_address'] . ";"
161 | . $this->data['home_address'] . ";"
162 | . $this->data['home_city'] . ";"
163 | . $this->data['home_state'] . ";"
164 | . $this->data['home_postal_code'] . ";"
165 | . $this->data['home_country'] . "\r\n";
166 | }
167 | if ($this->data['email1']) {
168 | $this->card .= "EMAIL;type=INTERNET,pref:" . $this->data['email1'] . "\r\n";
169 | }
170 | if ($this->data['email2']) {
171 | $this->card .= "EMAIL;type=INTERNET:" . $this->data['email2'] . "\r\n";
172 | }
173 | if ($this->data['office_tel']) {
174 | $this->card .= "TEL;type=WORK,voice:" . $this->data['office_tel'] . "\r\n";
175 | }
176 | if ($this->data['home_tel']) {
177 | $this->card .= "TEL;type=HOME,voice:" . $this->data['home_tel'] . "\r\n";
178 | }
179 | if ($this->data['cell_tel']) {
180 | $this->card .= "TEL;type=CELL,voice:" . $this->data['cell_tel'] . "\r\n";
181 | }
182 | if ($this->data['fax_tel']) {
183 | $this->card .= "TEL;type=WORK,fax:" . $this->data['fax_tel'] . "\r\n";
184 | }
185 | if ($this->data['pager_tel']) {
186 | $this->card .= "TEL;type=WORK,pager:" . $this->data['pager_tel'] . "\r\n";
187 | }
188 | if ($this->data['url']) {
189 | $this->card .= "URL;type=WORK:" . $this->data['url'] . "\r\n";
190 | }
191 | if ($this->data['birthday']) {
192 | $this->card .= "BDAY:" . $this->data['birthday'] . "\r\n";
193 | }
194 | if ($this->data['role']) {
195 | $this->card .= "ROLE:" . $this->data['role'] . "\r\n";
196 | }
197 | if ($this->data['note']) {
198 | $this->card .= "NOTE:" . $this->data['note'] . "\r\n";
199 | }
200 | if ($this->data['photo']) {
201 | $this->card .= $this->generatePhotoData();
202 | }
203 | $this->card .= "TZ:" . $this->data['timezone'] . "\r\n";
204 | $this->card .= "END:VCARD\r\n";
205 | }
206 |
207 | protected function generatePhotoData()
208 | {
209 | $photo = $this->data['photo'];
210 | $data = "PHOTO;";
211 |
212 | //detect type
213 | if (substr($photo, 0, 4) == 'http') {
214 | //url
215 | $data .= 'URL:' . $photo;
216 | } else {
217 | //path
218 | $bindata = file_get_contents($photo);
219 | $bindata = base64_encode($bindata);
220 | $data .= 'BASE64:' . $bindata;
221 | }
222 | $data .= "\r\n";
223 | return $data;
224 | }
225 |
226 | /**
227 | * Streams the vcard to the browser client.
228 | *
229 | * @return bool
230 | */
231 | function download()
232 | {
233 | if (!$this->card) {
234 | $this->build();
235 | }
236 |
237 | if (!$this->filename) {
238 | $this->filename = $this->data['display_name'];
239 | }
240 |
241 | $this->filename = str_replace(' ', '_', $this->filename);
242 |
243 | header("Content-type: text/directory");
244 | header("Content-Disposition: attachment; filename=" . $this->filename . ".vcf");
245 | header("Pragma: public");
246 | echo $this->card;
247 |
248 | return true;
249 | }
250 |
251 | /**
252 | * Show the vCard.
253 | *
254 | * @return object vCard
255 | */
256 | function show()
257 | {
258 | if (!$this->card) {
259 | $this->build();
260 | }
261 |
262 | return $this->card;
263 | }
264 | }
265 |
--------------------------------------------------------------------------------
/src/countries.csv:
--------------------------------------------------------------------------------
1 | "Afghanistan",93,412,"AF","ps","040"
2 | "Albania",355,276,"AL","sq","002"
3 | "Alberta",1403,302,"CA","en","720"
4 | "Alberta",1780,302,"CA","en","720"
5 | "Algeria",213,603,"DZ","ar","001"
6 | "Andorra",376,213,"AD","ca","003"
7 | "Angola",244,631,"AO","pt","002"
8 | "Anguilla",1264,"365","AI","en","840"
9 | "Antarctica (Australian bases)",6721,232,"AQ","en","001"
10 | "Antigua and Barbuda",1268,"344","AG","en","050"
11 | "Argentina",54,722,"AR","es","010"
12 | "Armenia",374,283,"AM","hy","010"
13 | "Aruba",297,363,"AW","nl","001"
14 | "Ascension",247,658,"AC","en","001"
15 | "Australia",61,505,"AU","en","003"
16 | "Austria",43,232,"AT","de","001"
17 | "Azerbaijan",994,400,"AZ","az","001"
18 | "Bahamas",1242,"364","BS","en","039"
19 | "Bahrain",973,426,"BH","ar","001"
20 | "Bangladesh",880,470,"BD","bn","001"
21 | "Barbados",1246,"342","BB","en","750"
22 | "Belarus",375,257,"BY","be","001"
23 | "Belgium",32,206,"BE","nl","001"
24 | "Belize",501,702,"BZ","es","067"
25 | "Benin",229,616,"BJ","fr","003"
26 | "Bermuda",1441,350,"BM","en","001"
27 | "Bhutan",975,402,"BT","dz","011"
28 | "Bolivia",591,736,"BO","es","002"
29 | "Bosnia and Herzegovina",387,218,"BA","bs","003"
30 | "Botswana",267,652,"BW","en","002"
31 | "Brazil",55,724,"BR","pt","002"
32 | "British Columbia", 1250,302,"CA","en","370"
33 | "British Columbia", 1604,302,"CA","en","370"
34 | "British Columbia", 1778,302,"CA","en","370"
35 | "British Indian Ocean Territory",246,348,"IO","en","170"
36 | "British Virgin Islands",1284,"348","GB","en","170"
37 | "Brunei",673,528,"BN","ms","011"
38 | "Bulgaria",359,284,"BG","bg","003"
39 | "Burkina Faso",226,613,"BF","fr","002"
40 | "Burundi",257,642,"BI","rn","001"
41 | "Cambodia",855,456,"KH","km","002"
42 | "Cameroon",237,624,"CM","fr","001"
43 | "Cape Verde",238,625,"CV","pt","001"
44 | "Cayman Islands",1345,"346","GB","en","050"
45 | "Central African Republic",236,623,"CF","sg","001"
46 | "Chad",235,622,"TD","fr","003"
47 | "Chile",56,730,"CL","es","002"
48 | "China",86,"460|461","CN","en","001"
49 | "Colombia",57,732,"CO","es","102"
50 | "Comoros",269,654,"KM","fr","001"
51 | "Democratic Republic of the Congo",243,630,"CD","fr","086"
52 | "Republic of the Congo",242,629,"CG","fr","001"
53 | "Cook Islands",682,548,"CK","en","001"
54 | "Costa Rica",506,712,"CR","es","004"
55 | "Cote d'Ivoire",712,"612","CI","fr","002"
56 | "Croatia",385,219,"HR","hr","001"
57 | "Cuba",53,368,"CU","es","001"
58 | "Cyprus",357,280,"CY","el","001"
59 | "Czech Republic",420,230,"CZ","cs","001"
60 | "Denmark",45,238,"DK","da","001"
61 | "Djibouti",253,638,"DJ","fr","001"
62 | "Dominica",1767,"366","DM","en","020"
63 | "Dominican Republic",1809,"370","DO","es","001"
64 | "Dominican Republic",1829,"370","DO","en","001"
65 | "East Timor",670,514,"TL","pt","001"
66 | "Ecuador",593,740,"EC","es","001"
67 | "Egypt",20,602,"EG","ar","002"
68 | "El Salvador",503,706,"SV","es","001"
69 | "Equatorial Guinea",240,627,"GQ","es","003"
70 | "Eritrea",291,657,"ER","ti","001"
71 | "Estonia",372,248,"EE","et","001"
72 | "Ethiopia",251,636,"ET","am","001"
73 | "Falkland Islands",500,750,"FK","en","001"
74 | "Faroe Islands",298,288,"FO","fo","001"
75 | "Fiji",679,542,"FJ","en","001"
76 | "Finland",358,244,"FI","fi","005"
77 | "France",33,208,"FR","fr","001"
78 | "French Guiana",594,340,"GF","fr","011"
79 | "French Polynesia",689,547,"PF","fr","015"
80 | "Gabon",241,628,"GA","fr","001"
81 | "Gambia",220,607,"GM","en","001"
82 | "Gaza Strip",970,0,"PS","ar","001"
83 | "Georgia",995,282,"GE","ka","001"
84 | "Germany",49,262,"DE","de","001"
85 | "Ghana",233,620,"GH","ak","001"
86 | "Gibraltar",350,266,"GI","en","001"
87 | "Greece",30,202,"GR","el","001"
88 | "Greenland",299,290,"GL","kl","001"
89 | "Grenada",1473,"352","GD","en","030"
90 | "Guadeloupe",590,340,"GP","fr","002"
91 | "Guam",1671,"310","GU","en","032"
92 | "Guatemala",502,704,"GT","es","001"
93 | "Guinea",224,611,"GN","fr","001"
94 | "Guinea-Bissau",245,632,"GW","pt","001"
95 | "Guyana",592,738,"GY","pt","001"
96 | "Haiti",509,372,"HT","fr","001"
97 | "Honduras",504,708,"HN","es","001"
98 | "Hong Kong",852,454,"HK","zh","006"
99 | "Hungary",36,216,"HU","hu","001"
100 | "Iceland",354,274,"IS","is","001"
101 | "India",91,"404|405|406","IN","hi","011"
102 | "Indonesia",62,510,"ID","id","001"
103 | "Iraq",964,418,"IQ","ar","020"
104 | "Iran",98,432,"IR","fa","011"
105 | "Ireland (Eire)",353,272,"IE","en","001"
106 | "Israel",972,425,"IL","he","001"
107 | "Italy",39,222,"IT","it","001"
108 | "Jamaica",1876,"338","JM","en","050"
109 | "Japan",81,"440|441","JP","ja","001"
110 | "Jordan",962,416,"JO","ar","001"
111 | "Kazakhstan",77,401,"KZ","kk","001"
112 | "Kenya",254,639,"KE","sw","002"
113 | "Kiribati",686,545,"KI","en","009"
114 | "Kuwait",965,419,"KW","ar","003"
115 | "Kyrgyzstan",996,437,"KG","ky","001"
116 | "Laos",856,457,"LA","lo","001"
117 | "Latvia",371,247,"LV","lv","001"
118 | "Lebanon",961,415,"LB","ar","003"
119 | "Lesotho",266,651,"LS","st","001"
120 | "Liberia",231,618,"LR","en","007"
121 | "Libya",218,606,"LY","ar","003"
122 | "Liechtenstein",423,295,"LI","de","001"
123 | "Lithuania",370,246,"LT","lt","001"
124 | "Luxembourg",352,270,"LU","fr","001"
125 | "Macau",853,455,"MO","pt","004"
126 | "Republic of Macedonia",389,294,"MK","mk","001"
127 | "Madagascar",261,646,"MG","mg","001"
128 | "Malawi",265,650,"MW","ny","001"
129 | "Malaysia",60,502,"MY","en","013"
130 | "Maldives",960,472,"MV","dv","001"
131 | "Mali",223,610,"ML","fr","001"
132 | "Malta",356,278,"MT","mt","001"
133 | "Manitoba",1204,302,"CA","en","370"
134 | "Marshall Islands",692,551,"MH","mh","001"
135 | "Martinique",596,340,"MQ","fr","001"
136 | "Mauritania",222,609,"MR","ar","002"
137 | "Mauritius",230,617,"MU","en","001"
138 | "Mayotte",262,654,"YT","fr","001"
139 | "Mexico",52,334,"MX","es","030"
140 | "Federated States of Micronesia",691,550,"FM","en","001"
141 | "Moldova",373,259,"MD","ru","001"
142 | "Monaco",377,212,"MC","fr","001"
143 | "Mongolia",976,428,"MN","mn","088"
144 | "Montenegro",382,297,"ME","sr","001"
145 | "Montserrat",1664,"354",MS,"en","860"
146 | "Morocco",212,"604","MA","ar","001"
147 | "Mozambique",258,643,"MZ","pt","001"
148 | "Myanmar",95,414,"MM","my","005"
149 | "Namibia",264,649,"NA","en","001"
150 | "Nauru",674,536,"NR","na","002"
151 | "Netherlands",31,204,"NL","nl","004"
152 | "Netherlands Antilles",599,362,"AN","nl","069"
153 | "Nepal",977,429,"NP","ne","001"
154 | "New Brunswick",1506,302,"CA","en","370"
155 | "New Caledonia",687,546,"NC","fr","001"
156 | "New Zealand",64,530,"NZ","en","001"
157 | "Newfoundland",1709,302,"CA","en","370"
158 | "Nicaragua",505,710,"NI","es","030"
159 | "Niger",227,614,"NE","fr","004"
160 | "Nigeria",234,621,"NG","ha","020"
161 | "Niue",683,555,"NU","en","001"
162 | "Norfolk Island",6723,505,"NF","en","010"
163 | "North Korea",850,467,"KP","ko","005"
164 | "Northern Mariana Islands",1670,"534","MP","en","001"
165 | "Northwest Territories",1867,302,"CA","en","370"
166 | "Norway",47,242,"NO","nb","001"
167 | "Nova Scotia",1902,302,"CA","en","370"
168 | "Oman",968,422,"OM","ar","002"
169 | "Ontario",1416,302,"CA","en","370"
170 | "Ontario",1519,302,"CA","en","370"
171 | "Ontario",1613,302,"CA","en","370"
172 | "Ontario",1647,302,"CA","en","370"
173 | "Ontario",1705,302,"CA","en","370"
174 | "Ontario",1807,302,"CA","en","370"
175 | "Ontario",1905,302,"CA","en","370"
176 | "Pakistan",92,410,"PK","en","001"
177 | "Palau",680,552,"PW","en","001"
178 | "Palestine",970,425,"PS","ar","006"
179 | "Panama",507,714,"PA","es","002"
180 | "Papua New Guinea",675,537,"PG","ho","001"
181 | "Paraguay",595,744,"PY","es","001"
182 | "Peru",51,716,"PE","es","006"
183 | "Philippines",63,515,"PH","fil","002"
184 | "Poland",48,260,"PL","pl","001"
185 | "Portugal",351,268,"PT","pt","001"
186 | "Qatar",974,427,"QA","ar","001"
187 | "Quebec",1418,302,"CA","en","370"
188 | "Quebec",1450,302,"CA","en","370"
189 | "Quebec",1514,302,"CA","en","370"
190 | "Quebec",1819,302,"CA","en","370"
191 | "Reunion",262,647,"RE","fr","002"
192 | "Romania",40,226,"RO","ro","001"
193 | "Russia",79,250,"RU","ru","001"
194 | "Rwanda",250,635,"RW","rw","013"
195 | "Saint-Barthelemy",590,340,"BL","fr","001"
196 | "Saint Helena",290,658,"SH","en","000"
197 | "Saint Kitts and Nevis",1869,"356","KN","en","050"
198 | "Saint Lucia",1758,"358","LC","en","050"
199 | "Saint Martin (French side)",590,340, "MF","fr","001"
200 | "Saint Pierre and Miquelon",508,308,"PM","fr","001"
201 | "Saint Vincent and the Grenadines",1670,"360","VC","en","070"
202 | "Samoa",685,549,"WS","sm","001"
203 | "Sao Tome and Principe",239,626,"ST","pt","001"
204 | "Saskatchewan",1306,302,"CA","en","370"
205 | "Saudi Arabia",966,420,"SA","ar","001"
206 | "Senegal",221,608,"SN","wo","001"
207 | "Serbia",381,220,"RS","sr","001"
208 | "Seychelles",248,633,"SC","fr","001"
209 | "Sierra Leone",232,619,"SL","en","001"
210 | "Singapore",65,525,"SG","en","001"
211 | "Slovakia",421,231,"SK","sk","001"
212 | "Slovenia",386,293,"SI","sl","031"
213 | "Solomon Islands",677,540,"SB","en","001"
214 | "Somalia",252,637,"SO","so","001"
215 | "South Africa",27,655,"ZA","xh","001"
216 | "South Korea",82,450,"KR","ko","005"
217 | "South Sudan",211,659,"SS","en","002"
218 | "Spain",34,214,"ES","es","007"
219 | "Sri Lanka",94,413,"LK","si","001"
220 | "Sudan",249,634,"SD","ar","001"
221 | "Suriname",597,746,"SR","nl","002"
222 | "Swaziland",268,653,"SZ","ss","010"
223 | "Sweden",46,240,"SE","sv","001"
224 | "Switzerland",41,228,"CH","de","001"
225 | "Syria",963,417,"SY","ar","001"
226 | "Taiwan",886,466,"TW","cmn","001"
227 | "Tajikistan",992,436,"TJ","tg","001"
228 | "Tanzania",255,640,"TZ","sw","002"
229 | "Thailand",66,520,"TH","th","018"
230 | "Togo",228,615,"TG","fr","001"
231 | "Tokelau",690,690,"TK","tkl","001"
232 | "Tonga",676,539,"TO","to","001"
233 | "Trinidad and Tobago",1868,"374","TT","en","012"
234 | "Tunisia",216,605,"TN","ar","001"
235 | "Turkey",90,286,"TR","tr","001"
236 | "Turkmenistan",993,438,"TM","tk","001"
237 | "Turks and Caicos Islands",1649,"376","TC","en","350"
238 | "Tuvalu",688,553,"TV","tvl","001"
239 | "Uganda",256,641,"UG","sw","001"
240 | "Ukraine",380,255,"UA","uk","001"
241 | "United Arab Emirates",971,"424|430|431","AE","ar","003"
242 | "United Kingdom",44,"234|235","GB","en","002"
243 | "United States of America",1,"310|311|312|313|314|315|316","US","en","150"
244 | "Uruguay",598,748,"UY","es","007"
245 | "Uzbekistan",998,434,"UZ","uz","001"
246 | "Vanuatu",678,541,"VU","bi","005"
247 | "Venezuela",58,734,"VE","es","004"
248 | "Vietnam",84,452,"VN","vi","001"
249 | "U.S. Virgin Islands",1340,"332","VI","en","001"
250 | "Wallis and Futuna",681,543,"WF","fr","001"
251 | "West Bank",970,0,"PS","ar","001"
252 | "Yemen",967,421,"YE","ar","001"
253 | "Zambia",260,645,"ZM","en","001"
254 | "Zimbabwe",263,648,"ZW","en","001"
255 |
--------------------------------------------------------------------------------
/src/tokenmap.class.php:
--------------------------------------------------------------------------------
1 | = 236 && $token < (236 + count(self::$secondaryStrings))) {
490 | $subdict = true;
491 | }
492 |
493 | if ($subdict) {
494 | $tokenMap = self::$secondaryStrings;
495 | } else {
496 | $tokenMap = self::$primaryStrings;
497 | }
498 |
499 | if ($token < 0 || $token > count($tokenMap)) {
500 | return;//fail
501 | }
502 |
503 | $string = $tokenMap[$token];
504 | if (!$string) {
505 | throw new Exception("Invalid token/length in GetToken");
506 | }
507 | }
508 | }
509 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | GNU GENERAL PUBLIC LICENSE
2 | Version 2, June 1991
3 |
4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
5 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
6 | Everyone is permitted to copy and distribute verbatim copies
7 | of this license document, but changing it is not allowed.
8 |
9 | Preamble
10 |
11 | The licenses for most software are designed to take away your
12 | freedom to share and change it. By contrast, the GNU General Public
13 | License is intended to guarantee your freedom to share and change free
14 | software--to make sure the software is free for all its users. This
15 | General Public License applies to most of the Free Software
16 | Foundation's software and to any other program whose authors commit to
17 | using it. (Some other Free Software Foundation software is covered by
18 | the GNU Lesser General Public License instead.) You can apply it to
19 | your programs, too.
20 |
21 | When we speak of free software, we are referring to freedom, not
22 | price. Our General Public Licenses are designed to make sure that you
23 | have the freedom to distribute copies of free software (and charge for
24 | this service if you wish), that you receive source code or can get it
25 | if you want it, that you can change the software or use pieces of it
26 | in new free programs; and that you know you can do these things.
27 |
28 | To protect your rights, we need to make restrictions that forbid
29 | anyone to deny you these rights or to ask you to surrender the rights.
30 | These restrictions translate to certain responsibilities for you if you
31 | distribute copies of the software, or if you modify it.
32 |
33 | For example, if you distribute copies of such a program, whether
34 | gratis or for a fee, you must give the recipients all the rights that
35 | you have. You must make sure that they, too, receive or can get the
36 | source code. And you must show them these terms so they know their
37 | rights.
38 |
39 | We protect your rights with two steps: (1) copyright the software, and
40 | (2) offer you this license which gives you legal permission to copy,
41 | distribute and/or modify the software.
42 |
43 | Also, for each author's protection and ours, we want to make certain
44 | that everyone understands that there is no warranty for this free
45 | software. If the software is modified by someone else and passed on, we
46 | want its recipients to know that what they have is not the original, so
47 | that any problems introduced by others will not reflect on the original
48 | authors' reputations.
49 |
50 | Finally, any free program is threatened constantly by software
51 | patents. We wish to avoid the danger that redistributors of a free
52 | program will individually obtain patent licenses, in effect making the
53 | program proprietary. To prevent this, we have made it clear that any
54 | patent must be licensed for everyone's free use or not licensed at all.
55 |
56 | The precise terms and conditions for copying, distribution and
57 | modification follow.
58 |
59 | GNU GENERAL PUBLIC LICENSE
60 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
61 |
62 | 0. This License applies to any program or other work which contains
63 | a notice placed by the copyright holder saying it may be distributed
64 | under the terms of this General Public License. The "Program", below,
65 | refers to any such program or work, and a "work based on the Program"
66 | means either the Program or any derivative work under copyright law:
67 | that is to say, a work containing the Program or a portion of it,
68 | either verbatim or with modifications and/or translated into another
69 | language. (Hereinafter, translation is included without limitation in
70 | the term "modification".) Each licensee is addressed as "you".
71 |
72 | Activities other than copying, distribution and modification are not
73 | covered by this License; they are outside its scope. The act of
74 | running the Program is not restricted, and the output from the Program
75 | is covered only if its contents constitute a work based on the
76 | Program (independent of having been made by running the Program).
77 | Whether that is true depends on what the Program does.
78 |
79 | 1. You may copy and distribute verbatim copies of the Program's
80 | source code as you receive it, in any medium, provided that you
81 | conspicuously and appropriately publish on each copy an appropriate
82 | copyright notice and disclaimer of warranty; keep intact all the
83 | notices that refer to this License and to the absence of any warranty;
84 | and give any other recipients of the Program a copy of this License
85 | along with the Program.
86 |
87 | You may charge a fee for the physical act of transferring a copy, and
88 | you may at your option offer warranty protection in exchange for a fee.
89 |
90 | 2. You may modify your copy or copies of the Program or any portion
91 | of it, thus forming a work based on the Program, and copy and
92 | distribute such modifications or work under the terms of Section 1
93 | above, provided that you also meet all of these conditions:
94 |
95 | a) You must cause the modified files to carry prominent notices
96 | stating that you changed the files and the date of any change.
97 |
98 | b) You must cause any work that you distribute or publish, that in
99 | whole or in part contains or is derived from the Program or any
100 | part thereof, to be licensed as a whole at no charge to all third
101 | parties under the terms of this License.
102 |
103 | c) If the modified program normally reads commands interactively
104 | when run, you must cause it, when started running for such
105 | interactive use in the most ordinary way, to print or display an
106 | announcement including an appropriate copyright notice and a
107 | notice that there is no warranty (or else, saying that you provide
108 | a warranty) and that users may redistribute the program under
109 | these conditions, and telling the user how to view a copy of this
110 | License. (Exception: if the Program itself is interactive but
111 | does not normally print such an announcement, your work based on
112 | the Program is not required to print an announcement.)
113 |
114 | These requirements apply to the modified work as a whole. If
115 | identifiable sections of that work are not derived from the Program,
116 | and can be reasonably considered independent and separate works in
117 | themselves, then this License, and its terms, do not apply to those
118 | sections when you distribute them as separate works. But when you
119 | distribute the same sections as part of a whole which is a work based
120 | on the Program, the distribution of the whole must be on the terms of
121 | this License, whose permissions for other licensees extend to the
122 | entire whole, and thus to each and every part regardless of who wrote it.
123 |
124 | Thus, it is not the intent of this section to claim rights or contest
125 | your rights to work written entirely by you; rather, the intent is to
126 | exercise the right to control the distribution of derivative or
127 | collective works based on the Program.
128 |
129 | In addition, mere aggregation of another work not based on the Program
130 | with the Program (or with a work based on the Program) on a volume of
131 | a storage or distribution medium does not bring the other work under
132 | the scope of this License.
133 |
134 | 3. You may copy and distribute the Program (or a work based on it,
135 | under Section 2) in object code or executable form under the terms of
136 | Sections 1 and 2 above provided that you also do one of the following:
137 |
138 | a) Accompany it with the complete corresponding machine-readable
139 | source code, which must be distributed under the terms of Sections
140 | 1 and 2 above on a medium customarily used for software interchange; or,
141 |
142 | b) Accompany it with a written offer, valid for at least three
143 | years, to give any third party, for a charge no more than your
144 | cost of physically performing source distribution, a complete
145 | machine-readable copy of the corresponding source code, to be
146 | distributed under the terms of Sections 1 and 2 above on a medium
147 | customarily used for software interchange; or,
148 |
149 | c) Accompany it with the information you received as to the offer
150 | to distribute corresponding source code. (This alternative is
151 | allowed only for noncommercial distribution and only if you
152 | received the program in object code or executable form with such
153 | an offer, in accord with Subsection b above.)
154 |
155 | The source code for a work means the preferred form of the work for
156 | making modifications to it. For an executable work, complete source
157 | code means all the source code for all modules it contains, plus any
158 | associated interface definition files, plus the scripts used to
159 | control compilation and installation of the executable. However, as a
160 | special exception, the source code distributed need not include
161 | anything that is normally distributed (in either source or binary
162 | form) with the major components (compiler, kernel, and so on) of the
163 | operating system on which the executable runs, unless that component
164 | itself accompanies the executable.
165 |
166 | If distribution of executable or object code is made by offering
167 | access to copy from a designated place, then offering equivalent
168 | access to copy the source code from the same place counts as
169 | distribution of the source code, even though third parties are not
170 | compelled to copy the source along with the object code.
171 |
172 | 4. You may not copy, modify, sublicense, or distribute the Program
173 | except as expressly provided under this License. Any attempt
174 | otherwise to copy, modify, sublicense or distribute the Program is
175 | void, and will automatically terminate your rights under this License.
176 | However, parties who have received copies, or rights, from you under
177 | this License will not have their licenses terminated so long as such
178 | parties remain in full compliance.
179 |
180 | 5. You are not required to accept this License, since you have not
181 | signed it. However, nothing else grants you permission to modify or
182 | distribute the Program or its derivative works. These actions are
183 | prohibited by law if you do not accept this License. Therefore, by
184 | modifying or distributing the Program (or any work based on the
185 | Program), you indicate your acceptance of this License to do so, and
186 | all its terms and conditions for copying, distributing or modifying
187 | the Program or works based on it.
188 |
189 | 6. Each time you redistribute the Program (or any work based on the
190 | Program), the recipient automatically receives a license from the
191 | original licensor to copy, distribute or modify the Program subject to
192 | these terms and conditions. You may not impose any further
193 | restrictions on the recipients' exercise of the rights granted herein.
194 | You are not responsible for enforcing compliance by third parties to
195 | this License.
196 |
197 | 7. If, as a consequence of a court judgment or allegation of patent
198 | infringement or for any other reason (not limited to patent issues),
199 | conditions are imposed on you (whether by court order, agreement or
200 | otherwise) that contradict the conditions of this License, they do not
201 | excuse you from the conditions of this License. If you cannot
202 | distribute so as to satisfy simultaneously your obligations under this
203 | License and any other pertinent obligations, then as a consequence you
204 | may not distribute the Program at all. For example, if a patent
205 | license would not permit royalty-free redistribution of the Program by
206 | all those who receive copies directly or indirectly through you, then
207 | the only way you could satisfy both it and this License would be to
208 | refrain entirely from distribution of the Program.
209 |
210 | If any portion of this section is held invalid or unenforceable under
211 | any particular circumstance, the balance of the section is intended to
212 | apply and the section as a whole is intended to apply in other
213 | circumstances.
214 |
215 | It is not the purpose of this section to induce you to infringe any
216 | patents or other property right claims or to contest validity of any
217 | such claims; this section has the sole purpose of protecting the
218 | integrity of the free software distribution system, which is
219 | implemented by public license practices. Many people have made
220 | generous contributions to the wide range of software distributed
221 | through that system in reliance on consistent application of that
222 | system; it is up to the author/donor to decide if he or she is willing
223 | to distribute software through any other system and a licensee cannot
224 | impose that choice.
225 |
226 | This section is intended to make thoroughly clear what is believed to
227 | be a consequence of the rest of this License.
228 |
229 | 8. If the distribution and/or use of the Program is restricted in
230 | certain countries either by patents or by copyrighted interfaces, the
231 | original copyright holder who places the Program under this License
232 | may add an explicit geographical distribution limitation excluding
233 | those countries, so that distribution is permitted only in or among
234 | countries not thus excluded. In such case, this License incorporates
235 | the limitation as if written in the body of this License.
236 |
237 | 9. The Free Software Foundation may publish revised and/or new versions
238 | of the General Public License from time to time. Such new versions will
239 | be similar in spirit to the present version, but may differ in detail to
240 | address new problems or concerns.
241 |
242 | Each version is given a distinguishing version number. If the Program
243 | specifies a version number of this License which applies to it and "any
244 | later version", you have the option of following the terms and conditions
245 | either of that version or of any later version published by the Free
246 | Software Foundation. If the Program does not specify a version number of
247 | this License, you may choose any version ever published by the Free Software
248 | Foundation.
249 |
250 | 10. If you wish to incorporate parts of the Program into other free
251 | programs whose distribution conditions are different, write to the author
252 | to ask for permission. For software which is copyrighted by the Free
253 | Software Foundation, write to the Free Software Foundation; we sometimes
254 | make exceptions for this. Our decision will be guided by the two goals
255 | of preserving the free status of all derivatives of our free software and
256 | of promoting the sharing and reuse of software generally.
257 |
258 | NO WARRANTY
259 |
260 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
261 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
262 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
263 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
264 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
265 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
266 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
267 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
268 | REPAIR OR CORRECTION.
269 |
270 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
271 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
272 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
273 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
274 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
275 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
276 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
277 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
278 | POSSIBILITY OF SUCH DAMAGES.
279 |
280 | END OF TERMS AND CONDITIONS
281 |
282 | How to Apply These Terms to Your New Programs
283 |
284 | If you develop a new program, and you want it to be of the greatest
285 | possible use to the public, the best way to achieve this is to make it
286 | free software which everyone can redistribute and change under these terms.
287 |
288 | To do so, attach the following notices to the program. It is safest
289 | to attach them to the start of each source file to most effectively
290 | convey the exclusion of warranty; and each file should have at least
291 | the "copyright" line and a pointer to where the full notice is found.
292 |
293 | {description}
294 | Copyright (C) {year} {fullname}
295 |
296 | This program is free software; you can redistribute it and/or modify
297 | it under the terms of the GNU General Public License as published by
298 | the Free Software Foundation; either version 2 of the License, or
299 | (at your option) any later version.
300 |
301 | This program is distributed in the hope that it will be useful,
302 | but WITHOUT ANY WARRANTY; without even the implied warranty of
303 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
304 | GNU General Public License for more details.
305 |
306 | You should have received a copy of the GNU General Public License along
307 | with this program; if not, write to the Free Software Foundation, Inc.,
308 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
309 |
310 | Also add information on how to contact you by electronic and paper mail.
311 |
312 | If the program is interactive, make it output a short notice like this
313 | when it starts in an interactive mode:
314 |
315 | Gnomovision version 69, Copyright (C) year name of author
316 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
317 | This is free software, and you are welcome to redistribute it
318 | under certain conditions; type `show c' for details.
319 |
320 | The hypothetical commands `show w' and `show c' should show the appropriate
321 | parts of the General Public License. Of course, the commands you use may
322 | be called something other than `show w' and `show c'; they could even be
323 | mouse-clicks or menu items--whatever suits your program.
324 |
325 | You should also get your employer (if you work as a programmer) or your
326 | school, if any, to sign a "copyright disclaimer" for the program, if
327 | necessary. Here is a sample; alter the names:
328 |
329 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program
330 | `Gnomovision' (which makes passes at compilers) written by James Hacker.
331 |
332 | {signature of Ty Coon}, 1 April 1989
333 | Ty Coon, President of Vice
334 |
335 | This General Public License does not permit incorporating your program into
336 | proprietary programs. If your program is a subroutine library, you may
337 | consider it more useful to permit linking proprietary applications with the
338 | library. If this is what you want to do, use the GNU Lesser General
339 | Public License instead of this License.
340 |
341 |
--------------------------------------------------------------------------------
/src/func.php:
--------------------------------------------------------------------------------
1 | $height) {
52 | $y = 0;
53 | $x = ($width - $height) / 2;
54 | $smallestSide = $height;
55 | } else {
56 | $x = 0;
57 | $y = ($height - $width) / 2;
58 | $smallestSide = $width;
59 | }
60 |
61 | $size = 639;
62 | $image = imagecreatetruecolor($size, $size);
63 | $img = imagecreatefromstring(file_get_contents($path));
64 |
65 | imagecopyresampled($image, $img, 0, 0, $x, $y, $size, $size, $smallestSide, $smallestSide);
66 | ob_start();
67 | imagejpeg($image);
68 | $i = ob_get_contents();
69 | ob_end_clean();
70 |
71 | imagedestroy($image);
72 | imagedestroy($img);
73 |
74 | return $i;
75 | }
76 |
77 | function createIcon($file)
78 | {
79 | if ((extension_loaded('gd')) && (file_exists($file))) {
80 | return createIconGD($file);
81 | } else {
82 | return base64_decode(giftThumbnail());
83 | }
84 | }
85 |
86 | function createIconGD($file, $size = 100, $raw = true)
87 | {
88 | list($width, $height) = getimagesize($file);
89 | if ($width > $height) {
90 | $y = 0;
91 | $x = ($width - $height) / 2;
92 | $smallestSide = $height;
93 | } else {
94 | $x = 0;
95 | $y = ($height - $width) / 2;
96 | $smallestSide = $width;
97 | }
98 |
99 | $image_p = imagecreatetruecolor($size, $size);
100 | $image = imagecreatefromstring(file_get_contents($file));
101 |
102 | imagecopyresampled($image_p, $image, 0, 0, $x, $y, $size, $size, $smallestSide, $smallestSide);
103 | ob_start();
104 | imagejpeg($image_p);
105 | $i = ob_get_contents();
106 | ob_end_clean();
107 |
108 | imagedestroy($image);
109 | imagedestroy($image_p);
110 |
111 | return $i;
112 | }
113 |
114 | function createVideoIcon($file)
115 | {
116 | /* should install ffmpeg for the method to work successfully */
117 | if (checkFFMPEG()) {
118 | //generate thumbnail
119 | $preview = sys_get_temp_dir() . '/' . md5($file) . '.jpg';
120 | @unlink($preview);
121 |
122 | //capture video preview
123 | $command = "ffmpeg -i \"" . $file . "\" -f mjpeg -ss 00:00:01 -vframes 1 \"" . $preview . "\"";
124 | exec($command);
125 |
126 | return createIconGD($preview);
127 | } else {
128 | return base64_decode(videoThumbnail());
129 | }
130 | }
131 |
132 | function checkFFMPEG()
133 | {
134 | //check if ffmpeg is installed.
135 | $output = array();
136 | $returnvalue = false;
137 |
138 | exec('ffmpeg -version', $output, $returnvalue);
139 |
140 | return ($returnvalue === 0);
141 | }
142 |
143 | function giftThumbnail()
144 | {
145 | return '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';
146 | }
147 |
148 | function videoThumbnail()
149 | {
150 | return '/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABQAAD/4QMpaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjAtYzA2MCA2MS4xMzQ3NzcsIDIwMTAvMDIvMTItMTc6MzI6MDAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2MTQyRUVCOEI3MDgxMUUyQjNGQkY1OEU5M0U2MDE1MyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2MTQyRUVCOUI3MDgxMUUyQjNGQkY1OEU5M0U2MDE1MyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjYxNDJFRUI2QjcwODExRTJCM0ZCRjU4RTkzRTYwMTUzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjYxNDJFRUI3QjcwODExRTJCM0ZCRjU4RTkzRTYwMTUzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQAAgICAgICAgICAgMCAgIDBAMCAgME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';
151 | }
152 | function updateData($nameFile, $WAver, $WAToken = null)
153 | {
154 | $file = __DIR__ . "/" . $nameFile;
155 | $open = fopen($file, 'r+');
156 | $content = fread($open, filesize($file));
157 | fclose($open);
158 |
159 | $content = explode("\n", $content);
160 |
161 | if ($file == __DIR__ . '/token.php') {
162 | $content[22] = ' $releaseTime = \'' . $WAToken .'\';';
163 | } else {
164 | if ($file == __DIR__ . '/Constants.php') {
165 | $content[21] = ' const WHATSAPP_VER = \'' . trim($WAver) . '\'; // The WhatsApp version.';
166 | $content[22] = ' const WHATSAPP_USER_AGENT = \'WhatsApp/' . trim($WAver) . ' S40Version/14.26 Device/Nokia302\'; // User agent used in request/registration code.';
167 | }
168 | }
169 |
170 | $content = implode("\n", $content);
171 |
172 | file_put_contents($file, $content);
173 | }
174 |
175 | /**
176 | * This function generates a paymentLink where you can extend the account-expiration.
177 | *
178 | * @param string $number Your number with international code, e.g. 49123456789
179 | * @param int $sku The Time in years (1, 3 or 5) you want to extend the account-expiration.
180 | *
181 | * @return string Returns the link.
182 | **/
183 | function generatePaymentLink($number, $sku)
184 | {
185 | return sprintf("https://www.whatsapp.com/payments/cksum_pay.php?phone=%s&cksum=%s&sku=%d",
186 | $number,
187 | md5($number."abc"),
188 | $sku,
189 | ($sku != 1 && $sku != 3 && $sku != 5) ? 1 : $sku);
190 | }
191 |
192 | // Gets mime type of a file using various methods
193 | function get_mime($file)
194 | {
195 | if (function_exists("finfo_file")) {
196 | $finfo = finfo_open(FILEINFO_MIME_TYPE);
197 | $mime = finfo_file($finfo, $file);
198 | finfo_close($finfo);
199 | return $mime;
200 | }
201 |
202 | if (function_exists("mime_content_type")) {
203 | return mime_content_type($file);
204 | }
205 |
206 | if (!strncasecmp(PHP_OS, 'WIN', 3) == 0 && !stristr(ini_get("disable_functions"), "shell_exec")) {
207 | $file = escapeshellarg($file);
208 | $mime = shell_exec("file -bi " . $file);
209 | return $mime;
210 | }
211 |
212 | return false;
213 | }
214 |
--------------------------------------------------------------------------------
/src/networkinfo.csv:
--------------------------------------------------------------------------------
1 | 289,649,088,2191,ab,Abkhazia,7,A-Mobile
2 | 289,649,068,1679,ab,Abkhazia,7,A-Mobile2
3 | 289,649,067,1663,ab,Abkhazia,7,Aquafon
4 | 412,1042,088,2191,af,Afghanistan,93,Afghan Telecom Corp. (AT)
5 | 412,1042,080,2063,af,Afghanistan,93,Afghan Telecom Corp. (AT)2
6 | 412,1042,001,31,af,Afghanistan,93,Afghan Wireless/AWCC
7 | 412,1042,040,1039,af,Afghanistan,93,Areeba
8 | 412,1042,050,1295,af,Afghanistan,93,Etisalat
9 | 412,1042,020,527,af,Afghanistan,93,Roshan
10 | 276,630,001,31,al,Albania,355,AMC Mobil
11 | 276,630,003,63,al,Albania,355,Eagle Mobile
12 | 276,630,004,79,al,Albania,355,PLUS Communication Sh.a
13 | 276,630,002,47,al,Albania,355,Vodafone
14 | 603,1539,001,31,dz,Algeria,213,ATM Mobils
15 | 603,1539,002,47,dz,Algeria,213,Orascom / DJEZZY
16 | 603,1539,003,63,dz,Algeria,213,Wataniya / Nedjma
17 | 544,1348,011,287,as,American Samoa,684,Blue Sky Communications
18 | 213,531,003,63,ad,Andorra,376,Mobiland
19 | 631,1585,004,79,ao,Angola,244,MoviCel
20 | 631,1585,002,47,ao,Angola,244,Unitel
21 | 365,869,840,2112,ai,Anguilla,1264,Cable and Wireless
22 | 365,869,010,16,ai,Anguilla,1264,Digicell / Wireless Vent. Ltd
23 | 344,836,030,48,ag,Antigua and Barbuda,1268,APUA PCS
24 | 344,836,920,2336,ag,Antigua and Barbuda,1268,C & W
25 | 344,836,930,2352,ag,Antigua and Barbuda,1268,Cing. Wirel./DigiCel
26 | 722,1826,310,784,ar,Argentina Republic,54,Claro/ CTI/AMX
27 | 722,1826,330,816,ar,Argentina Republic,54,Claro/ CTI/AMX2
28 | 722,1826,320,800,ar,Argentina Republic,54,Claro/ CTI/AMX3
29 | 722,1826,010,16,ar,Argentina Republic,54,Compania De Radiocomunicaciones Moviles SA
30 | 722,1826,070,112,ar,Argentina Republic,54,Movistar/Telefonica
31 | 722,1826,020,32,ar,Argentina Republic,54,Nextel
32 | 722,1826,341,833,ar,Argentina Republic,54,Telecom Personal S.A.
33 | 283,643,001,31,am,Armenia,374,ArmenTel/Beeline
34 | 283,643,004,4,am,Armenia,374,Karabakh Telecom
35 | 283,643,010,271,am,Armenia,374,Orange
36 | 283,643,005,95,am,Armenia,374,Vivacell
37 | 363,867,020,527,aw,Aruba,297,Digicel
38 | 363,867,001,31,aw,Aruba,297,Setar GSM
39 | 505,1285,014,335,au,Australia,61,AAPT Ltd.
40 | 505,1285,024,591,au,Australia,61,Advanced Comm Tech Pty.
41 | 505,1285,009,159,au,Australia,61,Airnet Commercial Australia Ltd.
42 | 505,1285,004,79,au,Australia,61,Department of Defense
43 | 505,1285,026,623,au,Australia,61,Dialogue Communications Pty Ltd
44 | 505,1285,012,303,au,Australia,61,H3G Ltd.
45 | 505,1285,006,111,au,Australia,61,H3G Ltd.
46 | 505,1285,088,2191,au,Australia,61,Localstar Holding Pty. Ltd
47 | 505,1285,019,415,au,Australia,61,Lycamobile Pty Ltd
48 | 505,1285,008,143,au,Australia,61,Railcorp/Vodafone
49 | 505,1285,099,2463,au,Australia,61,Railcorp/Vodafone2
50 | 505,1285,013,319,au,Australia,61,Railcorp/Vodafone3
51 | 505,1285,090,2319,au,Australia,61,Singtel Optus
52 | 505,1285,002,47,au,Australia,61,Singtel Optus2
53 | 505,1285,001,31,au,Australia,61,Telstra Corp. Ltd.
54 | 505,1285,011,287,au,Australia,61,Telstra Corp. Ltd.2
55 | 505,1285,071,1823,au,Australia,61,Telstra Corp. Ltd.3
56 | 505,1285,072,1839,au,Australia,61,Telstra Corp. Ltd.4
57 | 505,1285,005,95,au,Australia,61,The Ozitel Network Pty.
58 | 505,1285,016,367,au,Australia,61,Victorian Rail Track Corp. (VicTrack)
59 | 505,1285,007,127,au,Australia,61,Vodafone
60 | 505,1285,003,63,au,Australia,61,Vodafone2
61 | 232,562,002,47,at,Austria,43,A1 MobilKom
62 | 232,562,011,287,at,Austria,43,A1 MobilKom2
63 | 232,562,009,159,at,Austria,43,A1 MobilKom3
64 | 232,562,001,31,at,Austria,43,A1 MobilKom4
65 | 232,562,015,351,at,Austria,43,T-Mobile/Telering
66 | 232,562,000,15,at,Austria,43,Fix Line
67 | 232,562,010,271,at,Austria,43,H3G
68 | 232,562,014,335,at,Austria,43,H3G2
69 | 232,562,012,303,at,Austria,43,Orange/One Connect
70 | 232,562,006,111,at,Austria,43,Orange/One Connect2
71 | 232,562,005,95,at,Austria,43,Orange/One Connect
72 | 232,562,004,79,at,Austria,43,T-Mobile/Telering
73 | 232,562,003,63,at,Austria,43,T-Mobile/Telering2
74 | 232,562,007,127,at,Austria,43,T-Mobile/Telering3
75 | 232,562,008,143,at,Austria,43,Telefonica
76 | 400,1024,001,31,az,Azerbaijan,994,Azercell Telekom B.M.
77 | 400,1024,004,79,az,Azerbaijan,994,Azerfon.
78 | 400,1024,003,63,az,Azerbaijan,994,Caspian American Telecommunications LLC (CATEL)
79 | 400,1024,002,47,az,Azerbaijan,994,J.V. Bakcell GSM 2000
80 | 364,868,030,783,bs,Bahamas,1242,Bahamas Telco. Comp.
81 | 364,868,390,912,bs,Bahamas,1242,Bahamas Telco. Comp.2
82 | 364,868,039,927,bs,Bahamas,1242,Bahamas Telco. Comp.3
83 | 364,868,003,3,bs,Bahamas,1242,Smart Communications
84 | 426,1062,001,31,bh,Bahrain,973,Batelco
85 | 426,1062,002,47,bh,Bahrain,973,MTC Vodafone
86 | 426,1062,004,79,bh,Bahrain,973,VIVA
87 | 470,1136,002,47,bd,Bangladesh,880,Robi/Aktel
88 | 470,1136,005,95,bd,Bangladesh,880,Citycell
89 | 470,1136,006,111,bd,Bangladesh,880,Citycell2
90 | 470,1136,001,31,bd,Bangladesh,880,GrameenPhone
91 | 470,1136,003,63,bd,Bangladesh,880,Orascom
92 | 470,1136,004,79,bd,Bangladesh,880,TeleTalk
93 | 470,1136,007,127,bd,Bangladesh,880,Airtel/Warid
94 | 342,834,600,1536,bb,Barbados,1246,C & W BET Ltd.
95 | 342,834,810,2064,bb,Barbados,1246,Cingular Wireless
96 | 342,834,750,1872,bb,Barbados,1246,Digicel
97 | 342,834,050,80,bb,Barbados,1246,Digicel2
98 | 342,834,820,2080,bb,Barbados,1246,Sunbeach
99 | 257,599,003,63,by,Belarus,375,BelCel JV
100 | 257,599,004,79,by,Belarus,375,BeST
101 | 257,599,001,31,by,Belarus,375,Mobile Digital Communications
102 | 257,599,002,47,by,Belarus,375,MTS
103 | 206,518,020,527,be,Belgium,32,Base/KPN
104 | 206,518,001,31,be,Belgium,32,Belgacom/Proximus
105 | 206,518,010,271,be,Belgium,32,Mobistar/Orange
106 | 206,518,002,47,be,Belgium,32,SNCT/NMBS
107 | 206,518,005,95,be,Belgium,32,Telenet BidCo NV
108 | 702,1794,067,1663,bz,Belize,501,DigiCell
109 | 702,1794,068,1679,bz,Belize,501,International Telco (INTELCO)
110 | 616,1558,004,79,bj,Benin,229,Bell Benin/BBCOM
111 | 616,1558,002,47,bj,Benin,229,Etisalat/MOOV
112 | 616,1558,005,5,bj,Benin,229,GloMobile
113 | 616,1558,001,31,bj,Benin,229,Libercom
114 | 616,1558,003,63,bj,Benin,229,MTN/Spacetel
115 | 350,848,000,0,bm,Bermuda,1441,Bermuda Digital Communications Ltd (BDC)
116 | 350,848,099,2463,bm,Bermuda,1441,CellOne Ltd
117 | 350,848,010,271,bm,Bermuda,1441,DigiCel / Cingular
118 | 350,848,002,47,bm,Bermuda,1441,M3 Wireless Ltd
119 | 350,848,001,31,bm,Bermuda,1441,Telecommunications (Bermuda & West Indies) Ltd (Digicel Bermuda)
120 | 402,1026,011,287,bt,Bhutan,975,B-Mobile
121 | 402,1026,017,383,bt,Bhutan,975,Bhutan Telecom Ltd (BTL)
122 | 402,1026,077,1919,bt,Bhutan,975,TashiCell
123 | 736,1846,002,47,bo,Bolivia,591,Entel Pcs
124 | 736,1846,001,31,bo,Bolivia,591,Nuevatel
125 | 736,1846,003,63,bo,Bolivia,591,TELECEL BOLIVIA
126 | 362,866,091,2335,bq,Bonaire Sint Eustatius and Saba,,United Telecommunications Services NV (UTS)
127 | 218,536,090,2319,ba,Bosnia & Herzegov.,387,BH Mobile
128 | 218,536,003,63,ba,Bosnia & Herzegov.,387,Eronet Mobile
129 | 218,536,005,95,ba,Bosnia & Herzegov.,387,M-Tel
130 | 652,1618,004,79,bw,Botswana,267,beMOBILE
131 | 652,1618,001,31,bw,Botswana,267,Mascom Wireless (Pty) Ltd.
132 | 652,1618,002,47,bw,Botswana,267,Orange
133 | 724,1828,012,303,br,Brazil,55,Claro/Albra/America Movil
134 | 724,1828,038,911,br,Brazil,55,Claro/Albra/America Movil2
135 | 724,1828,005,95,br,Brazil,55,Claro/Albra/America Movil3
136 | 724,1828,001,1,br,Brazil,55,Vivo S.A./Telemig
137 | 724,1828,033,831,br,Brazil,55,CTBC Celular SA (CTBC)
138 | 724,1828,032,815,br,Brazil,55,CTBC Celular SA (CTBC)2
139 | 724,1828,034,847,br,Brazil,55,CTBC Celular SA (CTBC)3
140 | 724,1828,008,8,br,Brazil,55,TIM
141 | 724,1828,000,15,br,Brazil,55,Nextel (Telet)
142 | 724,1828,039,927,br,Brazil,55,Nextel (Telet)2
143 | 724,1828,030,783,br,Brazil,55,Oi (TNL PCS / Oi)
144 | 724,1828,031,799,br,Brazil,55,Oi (TNL PCS / Oi)2
145 | 724,1828,024,591,br,Brazil,55,Amazonia Celular S/A
146 | 724,1828,016,367,br,Brazil,55,Brazil Telcom
147 | 724,1828,015,351,br,Brazil,55,Sercontel Cel
148 | 724,1828,07,7,br,Brazil,55,CTBC/Triangulo
149 | 724,1828,019,415,br,Brazil,55,Vivo S.A./Telemig
150 | 724,1828,003,63,br,Brazil,55,TIM
151 | 724,1828,002,47,br,Brazil,55,TIM2
152 | 724,1828,004,79,br,Brazil,55,TIM3
153 | 724,1828,037,895,br,Brazil,55,Unicel do Brasil Telecomunicacoes Ltda
154 | 724,1828,006,111,br,Brazil,55,Vivo S.A./Telemig
155 | 724,1828,023,575,br,Brazil,55,Vivo S.A./Telemig2
156 | 724,1828,011,287,br,Brazil,55,Vivo S.A./Telemig3
157 | 724,1828,010,271,br,Brazil,55,Vivo S.A./Telemig4
158 | 348,840,570,1392,vg,British Virgin Islands,284,Caribbean Cellular
159 | 348,840,770,1904,vg,British Virgin Islands,284,Digicel
160 | 348,840,170,368,vg,British Virgin Islands,284,LIME
161 | 528,1320,002,47,bn,Brunei Darussalam,673,b-mobile
162 | 528,1320,011,287,bn,Brunei Darussalam,673,Datastream (DTSCom)
163 | 528,1320,001,31,bn,Brunei Darussalam,673,Telekom Brunei Bhd (TelBru)
164 | 284,644,006,111,bg,Bulgaria,359,BTC Mobile EOOD (vivatel)
165 | 284,644,003,63,bg,Bulgaria,359,BTC Mobile EOOD (vivatel)2
166 | 284,644,005,95,bg,Bulgaria,359,Cosmo Mobile EAD/Globul
167 | 284,644,001,31,bg,Bulgaria,359,MobilTel AD
168 | 613,1555,003,63,bf,Burkina Faso,226,TeleCel
169 | 613,1555,001,31,bf,Burkina Faso,226,TeleMob-OnaTel
170 | 613,1555,002,47,bf,Burkina Faso,226,AirTel/ZAIN/CelTel
171 | 414,1044,001,31,mm,Burma/Myanmar,95,Myanmar Post & Teleco.
172 | 642,1602,002,47,bi,Burundi,257,Africel / Safaris
173 | 642,1602,008,143,bi,Burundi,257,HiTs Telecom
174 | 642,1602,003,63,bi,Burundi,257,Onatel / Telecel
175 | 642,1602,007,127,bi,Burundi,257,Smart Mobile / LACELL
176 | 642,1602,001,31,bi,Burundi,257,Spacetel / Econet
177 | 642,1602,082,2095,bi,Burundi,257,U-COM
178 | 456,1110,004,79,kh,Cambodia,855,Cambodia Advance Communications Co. Ltd (CADCOMMS)
179 | 456,1110,002,47,kh,Cambodia,855,Hello/Malaysia Telcom
180 | 456,1110,008,143,kh,Cambodia,855,Metfone
181 | 456,1110,018,399,kh,Cambodia,855,MFone/Camshin
182 | 456,1110,001,31,kh,Cambodia,855,Mobitel/Cam GSM
183 | 456,1110,003,63,kh,Cambodia,855,QB/Cambodia Adv. Comms.
184 | 456,1110,005,95,kh,Cambodia,855,Smart Mobile
185 | 456,1110,006,111,kh,Cambodia,855,Smart Mobile2
186 | 456,1110,009,159,kh,Cambodia,855,Sotelco Ltd (Beeline Cambodia)
187 | 624,1572,001,31,cm,Cameroon,237,MTN
188 | 624,1572,002,47,cm,Cameroon,237,Orange
189 | 302,770,652,1618,ca,Canada,1,BC Tel Mobility
190 | 302,770,630,1584,ca,Canada,1,Bell Aliant
191 | 302,770,651,1617,ca,Canada,1,Bell Mobility
192 | 302,770,610,1552,ca,Canada,1,Bell Mobility2
193 | 302,770,670,1648,ca,Canada,1,CityWest Mobility
194 | 302,770,360,864,ca,Canada,1,Clearnet
195 | 302,770,361,865,ca,Canada,1,Clearnet2
196 | 302,770,380,896,ca,Canada,1,DMTS Mobility
197 | 302,770,710,1808,ca,Canada,1,Globalstar Canada
198 | 302,770,640,1600,ca,Canada,1,Latitude Wireless
199 | 302,770,370,880,ca,Canada,1,FIDO (Rogers AT&T/ Microcell)
200 | 302,770,320,800,ca,Canada,1,mobilicity
201 | 302,770,702,1794,ca,Canada,1,MT&T Mobility
202 | 302,770,655,1621,ca,Canada,1,MTS Mobility
203 | 302,770,660,1632,ca,Canada,1,MTS Mobility2
204 | 302,770,701,1793,ca,Canada,1,NB Tel Mobility
205 | 302,770,703,1795,ca,Canada,1,New Tel Mobility
206 | 302,770,760,1888,ca,Canada,1,Public Mobile
207 | 302,770,657,1623,ca,Canada,1,Quebectel Mobility
208 | 302,770,720,1824,ca,Canada,1,Rogers AT&T Wireless
209 | 302,770,654,1620,ca,Canada,1,Sask Tel Mobility
210 | 302,770,680,1664,ca,Canada,1,Sask Tel Mobility2
211 | 302,770,656,1622,ca,Canada,1,Tbay Mobility
212 | 302,770,220,544,ca,Canada,1,Telus Mobility
213 | 302,770,653,1619,ca,Canada,1,Telus Mobility2
214 | 302,770,500,1280,ca,Canada,1,Videotron
215 | 302,770,490,1168,ca,Canada,1,WIND
216 | 625,1573,001,31,cv,Cape Verde,238,CV Movel
217 | 625,1573,002,47,cv,Cape Verde,238,T+ Telecom
218 | 346,838,050,80,ky,Cayman Islands,1345,Digicel Cayman Ltd
219 | 346,838,006,6,ky,Cayman Islands,1345,Digicel Ltd.
220 | 346,838,140,320,ky,Cayman Islands,1345,LIME / Cable & Wirel.
221 | 623,1571,001,31,cf,Central African Rep.,236,Centrafr. Telecom+
222 | 623,1571,004,79,cf,Central African Rep.,236,Nationlink
223 | 623,1571,003,63,cf,Central African Rep.,236,Orange/Celca
224 | 623,1571,002,47,cf,Central African Rep.,236,Telecel Centraf.
225 | 622,1570,004,79,td,Chad,235,Salam/Sotel
226 | 622,1570,002,47,td,Chad,235,Tchad Mobile
227 | 622,1570,003,63,td,Chad,235,Tigo/Milicom/Tchad Mobile
228 | 622,1570,001,31,td,Chad,235,Zain/Airtel/Celtel
229 | 730,1840,006,111,cl,Chile,56,Blue Two Chile SA
230 | 730,1840,011,287,cl,Chile,56,Celupago SA
231 | 730,1840,015,351,cl,Chile,56,Cibeles Telecom SA
232 | 730,1840,003,63,cl,Chile,56,Claro
233 | 730,1840,010,271,cl,Chile,56,Entel PCS
234 | 730,1840,001,1,cl,Chile,56,Entel Telefonia Mov
235 | 730,1840,014,335,cl,Chile,56,Netline Telefonica Movil Ltda
236 | 730,1840,009,159,cl,Chile,56,Nextel SA
237 | 730,1840,005,95,cl,Chile,56,Nextel SA2
238 | 730,1840,004,79,cl,Chile,56,Nextel SA3
239 | 730,1840,002,47,cl,Chile,56,TELEFONICA
240 | 730,1840,007,127,cl,Chile,56,TELEFONICA2
241 | 730,1840,012,303,cl,Chile,56,Telestar Movil SA
242 | 730,1840,000,15,cl,Chile,56,TESAM SA
243 | 730,1840,013,319,cl,Chile,56,Tribe Mobile SPA
244 | 730,1840,008,143,cl,Chile,56,VTR Banda Ancha SA
245 | 460,1120,000,15,cn,China,86,China Mobile GSM
246 | 460,1120,007,127,cn,China,86,China Mobile GSM2
247 | 460,1120,002,47,cn,China,86,China Mobile GSM3
248 | 460,1120,004,79,cn,China,86,China Space Mobile Satellite Telecommunications Co. Ltd (China Spacecom)
249 | 460,1120,005,5,cn,China,86,China Telecom
250 | 460,1120,003,63,cn,China,86,China Telecom2
251 | 460,1120,006,6,cn,China,86,China Unicom
252 | 460,1120,001,31,cn,China,86,China Unicom2
253 | 732,1842,130,304,co,Colombia,57,Avantel SAS
254 | 732,1842,102,258,co,Colombia,57,Movistar
255 | 732,1842,103,259,co,Colombia,57,TIGO/Colombia Movil
256 | 732,1842,001,1,co,Colombia,57,TIGO/Colombia Movil
257 | 732,1842,101,257,co,Colombia,57,Comcel S.A. Occel S.A./Celcaribe
258 | 732,1842,002,2,co,Colombia,57,Edatel S.A.
259 | 732,1842,123,291,co,Colombia,57,Movistar
260 | 732,1842,111,273,co,Colombia,57,TIGO/Colombia Movil
261 | 732,1842,142,322,co,Colombia,57,UNE EPM Telecomunicaciones SA ESP
262 | 732,1842,020,32,co,Colombia,57,UNE EPM Telecomunicaciones SA ESP2
263 | 732,1842,154,340,co,Colombia,57,Virgin Mobile Colombia SAS
264 | 654,1620,001,31,km,Comoros,269,HURI - SNPT
265 | 630,1584,086,2159,cd,Congo Dem. Rep.,243,Orange RDC sarl
266 | 630,1584,005,95,cd,Congo Dem. Rep.,243,SuperCell
267 | 630,1584,089,2207,cd,Congo Dem. Rep.,243,TIGO/Oasis
268 | 630,1584,001,31,cd,Congo Dem. Rep.,243,Vodacom
269 | 630,1584,088,2191,cd,Congo Dem. Rep.,243,Yozma Timeturns sprl (YTT)
270 | 630,1584,002,47,cd,Congo Dem. Rep.,243,ZAIN CelTel
271 | 629,1577,001,31,cg,Congo Republic,242,Airtel Congo SA
272 | 629,1577,002,2,cg,Congo Republic,242,Zain/Celtel
273 | 629,1577,010,271,cg,Congo Republic,242,MTN/Libertis
274 | 629,1577,007,127,cg,Congo Republic,242,Warid
275 | 548,1352,001,31,ck,Cook Islands,682,Telecom Cook Islands
276 | 712,1810,003,63,cr,Costa Rica,506,Claro
277 | 712,1810,002,47,cr,Costa Rica,506,ICE
278 | 712,1810,001,31,cr,Costa Rica,506,ICE2
279 | 712,1810,004,79,cr,Costa Rica,506,Movistar
280 | 219,537,001,31,hr,Croatia,385,T-Mobile/Cronet
281 | 219,537,002,47,hr,Croatia,385,Tele2
282 | 219,537,010,271,hr,Croatia,385,VIPnet d.o.o.
283 | 368,872,001,31,cu,Cuba,53,C-COM
284 | 362,866,095,2399,cw,Curacao,,EOCG Wireless NV
285 | 362,866,069,1695,cw,Curacao,,Polycom N.V./ Curacao Telecom d.b.a. Digicel
286 | 280,640,010,271,cy,Cyprus,357,MTN/Areeba
287 | 280,640,020,527,cy,Cyprus,357,PrimeTel PLC
288 | 280,640,001,31,cy,Cyprus,357,Vodafone/CyTa
289 | 230,560,008,143,cz,Czech Rep.,420,Compatel s.r.o.
290 | 230,560,002,47,cz,Czech Rep.,420,O2
291 | 230,560,001,31,cz,Czech Rep.,420,T-Mobile / RadioMobil
292 | 230,560,005,95,cz,Czech Rep.,420,Travel Telekommunikation s.r.o.
293 | 230,560,004,79,cz,Czech Rep.,420,Ufone
294 | 230,560,099,2463,cz,Czech Rep.,420,Vodafone
295 | 230,560,003,63,cz,Czech Rep.,420,Vodafone
296 | 238,568,005,5,dk,Denmark,45,ApS KBUS
297 | 238,568,023,575,dk,Denmark,45,Banedanmark
298 | 238,568,028,655,dk,Denmark,45,CoolTEL ApS
299 | 238,568,006,111,dk,Denmark,45,Hi3G
300 | 238,568,012,303,dk,Denmark,45,Lycamobile Ltd
301 | 238,568,003,63,dk,Denmark,45,Mach Connectivity ApS
302 | 238,568,007,127,dk,Denmark,45,
303 | 238,568,004,79,dk,Denmark,45,NextGen Mobile Ltd (CardBoardFish)
304 | 238,568,010,271,dk,Denmark,45,TDC Denmark
305 | 238,568,001,31,dk,Denmark,45,TDC Denmark2
306 | 238,568,002,47,dk,Denmark,45,Telenor/Sonofon
307 | 238,568,077,1919,dk,Denmark,45,Telenor/Sonofon
308 | 238,568,020,527,dk,Denmark,45,Telia
309 | 238,568,030,783,dk,Denmark,45,Telia2
310 | 638,1592,001,31,dj,Djibouti,253,Djibouti Telecom SA (Evatis)
311 | 366,870,110,272,dm,Dominica,1767,C & W
312 | 366,870,020,32,dm,Dominica,1767,Cingular Wireless/Digicel
313 | 366,870,050,80,dm,Dominica,1767,Wireless Ventures (Dominica) Ltd (Digicel Dominica)
314 | 370,880,002,47,do,Dominican Republic,1809,Claro
315 | 370,880,001,31,do,Dominican Republic,1809,Orange
316 | 370,880,003,63,do,Dominican Republic,1809,TRIcom
317 | 370,880,004,79,do,Dominican Republic,1809,Trilogy Dominicana S. A.
318 | 740,1856,002,47,ec,Ecuador,593,Alegro/Telcsa
319 | 740,1856,000,15,ec,Ecuador,593,MOVISTAR/OteCel
320 | 740,1856,001,31,ec,Ecuador,593,Porta/Conecel
321 | 602,1538,001,31,eg,Egypt,20,EMS - Mobinil
322 | 602,1538,003,63,eg,Egypt,20,ETISALAT
323 | 602,1538,002,47,eg,Egypt,20,Vodafone (Misrfone Telecom)
324 | 706,1798,001,31,sv,El Salvador,503,CLARO/CTE
325 | 706,1798,002,47,sv,El Salvador,503,Digicel
326 | 706,1798,005,95,sv,El Salvador,503,INTELFON SA de CV
327 | 706,1798,004,79,sv,El Salvador,503,Telefonica
328 | 706,1798,003,63,sv,El Salvador,503,Telemovil
329 | 627,1575,003,63,gq,Equatorial Guinea,240,HiTs-GE
330 | 627,1575,001,31,gq,Equatorial Guinea,240,ORANGE/GETESA
331 | 657,1623,000,0,er,Eritrea,291,EriTel
332 | 657,1623,001,31,er,Eritrea,291,Eritel
333 | 248,584,001,31,ee,Estonia,372,EMT GSM
334 | 248,584,002,47,ee,Estonia,372,Radiolinja Eesti
335 | 248,584,003,63,ee,Estonia,372,Tele2 Eesti AS
336 | 248,584,004,79,ee,Estonia,372,Top Connect OU
337 | 636,1590,001,31,et,Ethiopia,251,ETH/MTN
338 | 750,1872,001,1,fk,Falkland Islands (Malvinas),,Cable and Wireless South Atlantic Ltd (Falkland Islands
339 | 288,648,003,63,fo,Faroe Islands,298,Edge Mobile Sp/F
340 | 288,648,001,31,fo,Faroe Islands,298,Faroese Telecom
341 | 288,648,002,47,fo,Faroe Islands,298,Kall GSM
342 | 542,1346,002,47,fj,Fiji,679,DigiCell
343 | 542,1346,001,31,fj,Fiji,679,Vodafone
344 | 244,580,014,335,fi,Finland,358,Alands
345 | 244,580,026,623,fi,Finland,358,Compatel Ltd
346 | 244,580,013,319,fi,Finland,358,DNA/Finnet
347 | 244,580,012,303,fi,Finland,358,DNA/Finnet2
348 | 244,580,004,79,fi,Finland,358,DNA/Finnet
349 | 244,580,003,63,fi,Finland,358,DNA/Finnet2
350 | 244,580,021,543,fi,Finland,358,Elisa/Saunalahti
351 | 244,580,005,95,fi,Finland,358,Elisa/Saunalahti2
352 | 244,580,082,2095,fi,Finland,358,ID-Mobile
353 | 244,580,011,287,fi,Finland,358,Mundio Mobile (Finland) Ltd
354 | 244,580,009,159,fi,Finland,358,Nokia Oyj
355 | 244,580,010,271,fi,Finland,358,TDC Oy Finland
356 | 244,580,091,2335,fi,Finland,358,TeliaSonera
357 | 208,520,027,639,fr,France,33,AFONE SA
358 | 208,520,092,2351,fr,France,33,Association Plate-forme Telecom
359 | 208,520,028,655,fr,France,33,Astrium
360 | 208,520,088,2191,fr,France,33,Bouygues Telecom
361 | 208,520,021,543,fr,France,33,Bouygues Telecom2
362 | 208,520,020,527,fr,France,33,Bouygues Telecom3
363 | 208,520,014,335,fr,France,33,Lliad/FREE Mobile
364 | 208,520,005,95,fr,France,33,GlobalStar
365 | 208,520,007,127,fr,France,33,GlobalStar2
366 | 208,520,006,111,fr,France,33,GlobalStar3
367 | 208,520,029,671,fr,France,33,Orange
368 | 208,520,016,367,fr,France,33,Lliad/FREE Mobile
369 | 208,520,015,351,fr,France,33,Lliad/FREE Mobile2
370 | 208,520,025,607,fr,France,33,Lycamobile SARL
371 | 208,520,024,591,fr,France,33,MobiquiThings
372 | 208,520,003,63,fr,France,33,MobiquiThings2
373 | 208,520,031,799,fr,France,33,Mundio Mobile (France) Ltd
374 | 208,520,026,623,fr,France,33,NRJ
375 | 208,520,089,2207,fr,France,33,Omer/Virgin Mobile
376 | 208,520,023,575,fr,France,33,Omer/Virgin Mobile2
377 | 208,520,002,47,fr,France,33,Orange
378 | 208,520,001,31,fr,France,33,Orange2
379 | 208,520,091,2335,fr,France,33,Orange3
380 | 208,520,013,319,fr,France,33,S.F.R.
381 | 208,520,011,287,fr,France,33,S.F.R.2
382 | 208,520,010,271,fr,France,33,S.F.R.3
383 | 208,520,009,159,fr,France,33,S.F.R.4
384 | 208,520,004,79,fr,France,33,SISTEER
385 | 208,520,000,15,fr,France,33,Tel/Tel
386 | 208,520,022,559,fr,France,33,Transatel SA
387 | 340,832,020,527,gf,French Guiana,594,Bouygues/DigiCel
388 | 340,832,008,143,gf,French Guiana,594,AMIGO/Dauphin
389 | 340,832,001,31,gf,French Guiana,594,Orange Caribe
390 | 340,832,002,47,gf,French Guiana,594,Outremer Telecom
391 | 340,832,011,287,gf,French Guiana,594,TelCell GSM
392 | 340,832,003,63,gf,French Guiana,594,TelCell GSM2
393 | 547,1351,015,351,pf,French Polynesia,689,Pacific Mobile Telecom (PMT)
394 | 547,1351,020,527,pf,French Polynesia,689,Tikiphone
395 | 628,1576,004,79,ga,Gabon,241,Azur/Usan S.A.
396 | 628,1576,001,31,ga,Gabon,241,Libertis S.A.
397 | 628,1576,002,47,ga,Gabon,241,MOOV/Telecel
398 | 628,1576,003,63,ga,Gabon,241,ZAIN/Celtel Gabon S.A.
399 | 607,1543,002,47,gm,Gambia,220,Africel
400 | 607,1543,003,63,gm,Gambia,220,Comium
401 | 607,1543,001,31,gm,Gambia,220,Gamcel
402 | 607,1543,004,79,gm,Gambia,220,Q-Cell
403 | 282,642,001,31,ge,Georgia,995,Geocell Ltd.
404 | 282,642,003,3,ge,Georgia,995,Iberiatel Ltd.
405 | 282,642,002,47,ge,Georgia,995,Magti GSM Ltd.
406 | 282,642,004,79,ge,Georgia,995,MobiTel/Beeline
407 | 282,642,000,0,ge,Georgia,995,Silknet
408 | 262,610,017,383,de,Germany,49,E-Plus
409 | 262,610,003,63,de,Germany,49,E-Plus2
410 | 262,610,005,95,de,Germany,49,E-Plus3
411 | 262,610,077,1919,de,Germany,49,E-Plus4
412 | 262,610,014,335,de,Germany,49,Group 3G UMTS
413 | 262,610,043,1087,de,Germany,49,Lycamobile
414 | 262,610,013,319,de,Germany,49,Mobilcom
415 | 262,610,007,127,de,Germany,49,O2
416 | 262,610,011,287,de,Germany,49,O2-2
417 | 262,610,008,143,de,Germany,49,O2-3
418 | 262,610,010,271,de,Germany,49,O2-4
419 | 262,610,012,303,de,Germany,49,O2-5
420 | 262,610,006,111,de,Germany,49,Telekom/T-mobile
421 | 262,610,001,31,de,Germany,49,Telekom/T-mobile2
422 | 262,610,016,367,de,Germany,49,Telogic/ViStream
423 | 262,610,004,79,de,Germany,49,Vodafone D2
424 | 262,610,002,47,de,Germany,49,Vodafone D2-2
425 | 262,610,009,159,de,Germany,49,Vodafone D2-3
426 | 620,1568,004,79,gh,Ghana,233,Expresso Ghana Ltd
427 | 620,1568,007,127,gh,Ghana,233,GloMobile
428 | 620,1568,003,63,gh,Ghana,233,Milicom/Tigo
429 | 620,1568,001,31,gh,Ghana,233,MTN
430 | 620,1568,002,47,gh,Ghana,233,Vodafone
431 | 620,1568,006,111,gh,Ghana,233,ZAIN
432 | 266,614,006,111,gi,Gibraltar,350,CTS Mobile
433 | 266,614,009,159,gi,Gibraltar,350,eazi telecom
434 | 266,614,001,31,gi,Gibraltar,350,Gibtel GSM
435 | 202,514,007,127,gr,Greece,30,AMD Telecom SA
436 | 202,514,002,47,gr,Greece,30,Cosmote
437 | 202,514,001,31,gr,Greece,30,Cosmote2
438 | 202,514,004,79,gr,Greece,30,Organismos Sidirodromon Ellados (OSE)
439 | 202,514,003,63,gr,Greece,30,OTE Hellenic Telecommunications Organization SA
440 | 202,514,010,271,gr,Greece,30,Tim/Wind
441 | 202,514,009,159,gr,Greece,30,Tim/Wind2
442 | 202,514,005,95,gr,Greece,30,Vodafone
443 | 290,656,001,31,gl,Greenland,299,Tele Greenland
444 | 352,850,110,272,gd,Grenada,1473,Cable & Wireless
445 | 352,850,030,48,gd,Grenada,1473,Digicel
446 | 352,850,050,80,gd,Grenada,1473,Digicel2
447 | 340,832,008,143,gp,Guadeloupe,590,Dauphin Telecom SU (Guadeloupe Telecom) (Guadeloupe)
448 | 340,832,020,527,gp,Guadeloupe,590,Digicel Antilles Francaises Guyane SA (Guadeloupe)
449 | 340,832,001,31,gp,Guadeloupe,590,Orange Caribe
450 | 340,832,002,47,gp,Guadeloupe,590,Outremer Telecom Guadeloupe (only) (Guadeloupe)
451 | 340,832,010,271,gp,Guadeloupe,590,United Telecommunications Services Caraibe SARL (UTS Caraibe Guadeloupe Telephone Mobile) (Guadeloupe)
452 | 340,832,003,63,gp,Guadeloupe,590,United Telecommunications Services Caraibe SARL (UTS Caraibe Guadeloupe Telephone Mobile) (Guadeloupe)2
453 | 310,784,480,1152,gu,Guam,1671,Choice Phone LLC
454 | 310,784,370,880,gu,Guam,1671,Docomo
455 | 310,784,470,1136,gu,Guam,1671,Docomo2
456 | 310,784,140,320,gu,Guam,1671,GTA Wireless
457 | 310,784,033,51,gu,Guam,1671,Guam Teleph. Auth.
458 | 310,784,032,50,gu,Guam,1671,IT&E OverSeas
459 | 311,785,250,592,gu,Guam,1671,Wave Runner LLC
460 | 704,1796,001,31,gt,Guatemala,502,SERCOM
461 | 704,1796,003,63,gt,Guatemala,502,Telefonica
462 | 704,1796,002,47,gt,Guatemala,502,TIGO/COMCEL
463 | 611,1553,004,4,gn,Guinea,224,Areeba - MTN
464 | 611,1553,005,95,gn,Guinea,224,Celcom
465 | 611,1553,003,63,gn,Guinea,224,Intercel
466 | 611,1553,001,31,gn,Guinea,224,Orange/Spacetel
467 | 611,1553,002,47,gn,Guinea,224,SotelGui
468 | 632,1586,000,0,gw,Guinea-Bissau,245,GuineTel
469 | 632,1586,001,31,gw,Guinea-Bissau,245,GuineTel2
470 | 632,1586,003,63,gw,Guinea-Bissau,245,Orange
471 | 632,1586,002,47,gw,Guinea-Bissau,245,SpaceTel
472 | 738,1848,002,47,gy,Guyana,592,Cellink Plus
473 | 738,1848,001,31,gy,Guyana,592,DigiCel
474 | 372,882,001,31,ht,Haiti,509,Comcel
475 | 372,882,002,47,ht,Haiti,509,Digicel
476 | 372,882,003,63,ht,Haiti,509,National Telecom SA (NatCom)
477 | 708,1800,040,64,hn,Honduras,504,Digicel
478 | 708,1800,030,48,hn,Honduras,504,HonduTel
479 | 708,1800,001,1,hn,Honduras,504,SERCOM/CLARO
480 | 708,1800,002,2,hn,Honduras,504,Telefonica/CELTEL
481 | 454,1108,013,319,hk,Hongkong China,852,China Mobile/Peoples
482 | 454,1108,012,303,hk,Hongkong China,852,China Mobile/Peoples2
483 | 454,1108,009,159,hk,Hongkong China,852,China Motion
484 | 454,1108,007,127,hk,Hongkong China,852,China Unicom Ltd
485 | 454,1108,011,287,hk,Hongkong China,852,China-HongKong Telecom Ltd (CHKTL)
486 | 454,1108,001,31,hk,Hongkong China,852,Citic Telecom Ltd.
487 | 454,1108,018,399,hk,Hongkong China,852,CSL Ltd.
488 | 454,1108,002,47,hk,Hongkong China,852,CSL Ltd.2
489 | 454,1108,000,15,hk,Hongkong China,852,CSL Ltd.3
490 | 454,1108,010,271,hk,Hongkong China,852,CSL/New World PCS Ltd.
491 | 454,1108,014,335,hk,Hongkong China,852,H3G/Hutchinson
492 | 454,1108,005,95,hk,Hongkong China,852,H3G/Hutchinson2
493 | 454,1108,004,79,hk,Hongkong China,852,H3G/Hutchinson3
494 | 454,1108,003,63,hk,Hongkong China,852,H3G/Hutchinson4
495 | 454,1108,016,367,hk,Hongkong China,852,HKT/PCCW
496 | 454,1108,019,415,hk,Hongkong China,852,HKT/PCCW2
497 | 454,1108,020,527,hk,Hongkong China,852,HKT/PCCW3
498 | 454,1108,029,671,hk,Hongkong China,852,HKT/PCCW4
499 | 454,1108,047,1151,hk,Hongkong China,852,shared by private TETRA systems
500 | 454,1108,040,1039,hk,Hongkong China,852,shared by private TETRA systems2
501 | 454,1108,008,143,hk,Hongkong China,852,Trident Telecom Ventures Ltd.
502 | 454,1108,017,383,hk,Hongkong China,852,Vodafone/SmarTone
503 | 454,1108,015,351,hk,Hongkong China,852,Vodafone/SmarTone2
504 | 454,1108,006,111,hk,Hongkong China,852,Vodafone/SmarTone3
505 | 216,534,001,31,hu,Hungary,36,Pannon/Telenor
506 | 216,534,030,783,hu,Hungary,36,T-mobile/Magyar
507 | 216,534,071,1823,hu,Hungary,36,UPC Magyarorszag Kft.
508 | 216,534,070,1807,hu,Hungary,36,Vodafone
509 | 274,628,009,159,is,Iceland,354,Amitelo
510 | 274,628,007,127,is,Iceland,354,IceCell
511 | 274,628,008,143,is,Iceland,354,Landssiminn
512 | 274,628,001,31,is,Iceland,354,Landssiminn2
513 | 274,628,011,287,is,Iceland,354,NOVA
514 | 274,628,004,79,is,Iceland,354,VIKING/IMC
515 | 274,628,003,63,is,Iceland,354,Vodafone/Tal hf
516 | 274,628,005,95,is,Iceland,354,Vodafone/Tal hf2
517 | 274,628,002,47,is,Iceland,354,Vodafone/Tal hf3
518 | 404,1028,029,671,in,India,91,Aircel
519 | 404,1028,028,655,in,India,91,Aircel2
520 | 404,1028,025,607,in,India,91,Aircel3
521 | 404,1028,017,383,in,India,91,Aircel4
522 | 404,1028,042,1071,in,India,91,Aircel5
523 | 404,1028,033,831,in,India,91,Aircel6
524 | 404,1028,001,1,in,India,91,Aircel Digilink India
525 | 404,1028,015,351,in,India,91,Aircel Digilink India-2
526 | 404,1028,060,1551,in,India,91,Aircel Digilink India-3
527 | 404,1028,049,000,in,India,91,AirTel
528 | 405,1029,055,1375,in,India,91,AirTel2
529 | 405,1029,054,1375,in,India,91,AirTel3
530 | 405,1029,053,1343,in,India,91,AirTel4
531 | 405,1029,051,1311,in,India,91,AirTel5
532 | 405,1029,056,1391,in,India,91,Airtel (Bharati Mobile) - Assam
533 | 404,1028,086,2159,in,India,91,Barakhamba Sales & Serv.
534 | 404,1028,013,319,in,India,91,Vodafone
535 | 404,1028,011,000,in,India,91,Vodafone2
536 | 404,1028,058,1423,in,India,91,BSNL
537 | 404,1028,081,2079,in,India,91,BSNL2
538 | 404,1028,074,1871,in,India,91,BSNL3
539 | 404,1028,038,911,in,India,91,BSNL4
540 | 404,1028,057,1407,in,India,91,BSNL5
541 | 404,1028,080,2063,in,India,91,BSNL6
542 | 404,1028,073,1855,in,India,91,BSNL7
543 | 404,1028,034,847,in,India,91,BSNL8
544 | 404,1028,066,1647,in,India,91,BSNL9
545 | 404,1028,055,1375,in,India,91,BSNL10
546 | 404,1028,072,1839,in,India,91,BSNL11
547 | 404,1028,077,1919,in,India,91,BSNL12
548 | 404,1028,064,1615,in,India,91,BSNL13
549 | 404,1028,054,1359,in,India,91,BSNL14
550 | 404,1028,071,1823,in,India,91,BSNL15
551 | 404,1028,076,1903,in,India,91,BSNL16
552 | 404,1028,053,1343,in,India,91,BSNL17
553 | 404,1028,062,1583,in,India,91,BSNL18
554 | 404,1028,059,1439,in,India,91,BSNL19
555 | 404,1028,075,1887,in,India,91,BSNL20
556 | 404,1028,051,1311,in,India,91,BSNL21
557 | 405,1028,001,000,in,INDIA,91,Reliance
558 | 405,1028,025,000,in,India,91,TATA DOCOMO
559 | 405,1028,036,000,in,India,91,TATA DOCOMO2
560 | 405,1029,010,271,in,India,91,Bharti Airtel Limited (Delhi)
561 | 404,1028,079,1951,in,India,91,CellOne A&N
562 | 404,1028,089,2207,in,India,91,Escorts Telecom Ltd.
563 | 404,1028,088,2191,in,India,91,Escorts Telecom Ltd.2
564 | 404,1028,087,2175,in,India,91,Escorts Telecom Ltd.3
565 | 404,1028,082,2095,in,India,91,Escorts Telecom Ltd.4
566 | 404,1028,012,303,in,India,91,Escotel Mobile Communications
567 | 404,1028,019,415,in,India,91,Escotel Mobile Communications2
568 | 404,1028,056,1391,in,India,91,Escotel Mobile Communications3
569 | 405,1029,005,5,in,India,91,Fascel Limited
570 | 404,1028,005,5,in,India,91,Fascel
571 | 404,1028,070,1807,in,India,91,Hexacom India
572 | 404,1028,016,367,in,India,91,Hexcom India2
573 | 404,1028,004,4,in,India,91,Idea Cellular Ltd.
574 | 404,1028,024,591,in,India,91,Idea Cellular Ltd.
575 | 404,1028,022,559,in,India,91,Idea Cellular Ltd.2
576 | 404,1028,078,1935,in,India,91,Idea Cellular Ltd.3
577 | 404,1028,007,7,in,India,91,Idea Cellular Ltd.4
578 | 404,1028,069,1695,in,India,91,Mahanagar Telephone Nigam
579 | 404,1028,068,1679,in,India,91,Mahanagar Telephone Nigam2
580 | 404,1028,083,2111,in,India,91,Reliable Internet Services
581 | 405,1029,009,9,in,India,91,RELIANCE TELECOM
582 | 404,1028,036,879,in,India,91,Reliance Telecom Private
583 | 404,1028,052,1327,in,India,91,Reliance Telecom Private2
584 | 404,1028,050,1295,in,India,91,Reliance Telecom Private3
585 | 404,1028,067,1663,in,India,91,Reliance Telecom Private4
586 | 404,1028,018,399,in,India,91,Reliance Telecom Private5
587 | 404,1028,085,2143,in,India,91,Reliance Telecom Private6
588 | 404,1028,009,9,in,India,91,Reliance Telecom Private7
589 | 404,1028,041,1055,in,India,91,RPG Cellular
590 | 404,1028,014,335,in,India,91,Spice
591 | 404,1028,044,1103,in,India,91,Spice2
592 | 404,1028,011,287,in,India,91,Sterling Cellular Ltd.
593 | 404,1028,030,783,in,India,91,Usha Martin Telecom
594 | 510,1296,008,143,id,Indonesia,62,Axis/Natrindo
595 | 510,1296,089,2207,id,Indonesia,62,H3G CP
596 | 510,1296,021,543,id,Indonesia,62,Indosat/Satelindo/M3
597 | 510,1296,001,31,id,Indonesia,62,Indosat/Satelindo/M3
598 | 510,1296,000,0,id,Indonesia,62,PT Pasifik Satelit Nusantara (PSN)
599 | 510,1296,000,15,id,Indonesia,62,PT Pasifik Satelit Nusantara (PSN)2
600 | 510,1296,027,639,id,Indonesia,62,PT Sampoerna Telekomunikasi Indonesia (STI)
601 | 510,1296,009,159,id,Indonesia,62,PT Smartfren Telecom Tbk
602 | 510,1296,028,655,id,Indonesia,62,PT Smartfren Telecom Tbk2
603 | 510,1296,011,287,id,Indonesia,62,PT. Excelcom
604 | 510,1296,010,271,id,Indonesia,62,Telkomsel
605 | 901,2305,013,319,n/a,International Networks,882,Antarctica
606 | 432,1074,019,415,ir,Iran,98,Mobile Telecommunications Company of Esfahan JV-PJS (MTCE)
607 | 432,1074,070,1807,ir,Iran,98,MTCE
608 | 432,1074,035,863,ir,Iran,98,MTN/IranCell
609 | 432,1074,032,815,ir,Iran,98,Taliya
610 | 432,1074,011,287,ir,Iran,98,TCI / MCI
611 | 432,1074,014,335,ir,Iran,98,TKC/KFZO
612 | 418,1048,005,95,iq,Iraq,964,Asia Cell
613 | 418,1048,092,2351,iq,Iraq,964,Itisaluna and Kalemat
614 | 418,1048,082,2095,iq,Iraq,964,Korek
615 | 418,1048,040,1039,iq,Iraq,964,Korek2
616 | 418,1048,045,1119,iq,Iraq,964,Mobitel (Iraq-Kurdistan) and Moutiny
617 | 418,1048,030,783,iq,Iraq,964,Orascom Telecom
618 | 418,1048,020,527,iq,Iraq,964,ZAIN/Atheer
619 | 418,1048,008,8,iq,Iraq,964,Sanatel
620 | 272,626,004,79,ie,Ireland,353,Access Telecom Ltd.
621 | 272,626,009,159,ie,Ireland,353,Clever Communications Ltd
622 | 272,626,007,127,ie,Ireland,353,eircom Ltd
623 | 272,626,005,95,ie,Ireland,353,H3G
624 | 272,626,011,287,ie,Ireland,353,Liffey Telecom
625 | 272,626,013,319,ie,Ireland,353,Lycamobile
626 | 272,626,003,63,ie,Ireland,353,Meteor Mobile Ltd.
627 | 272,626,002,47,ie,Ireland,353,O2/Digifone
628 | 272,626,001,31,ie,Ireland,353,Vodafone Eircell
629 | 425,1061,014,335,il,Israel,972,Alon Cellular Ltd
630 | 425,1061,002,47,il,Israel,972,Cellcom ltd.
631 | 425,1061,008,143,il,Israel,972,Golan Telekom
632 | 425,1061,015,351,il,Israel,972,Home Cellular Ltd
633 | 425,1061,077,1919,il,Israel,972,Hot Mobile/Mirs
634 | 425,1061,007,127,il,Israel,972,Hot Mobile/Mirs2
635 | 425,1061,001,31,il,Israel,972,Orange/Partner Co. Ltd.
636 | 425,1061,003,63,il,Israel,972,Pelephone
637 | 425,1061,016,367,il,Israel,972,Rami Levy Hashikma Marketing Communications Ltd
638 | 222,546,034,847,it,Italy,39,BT Italia SpA
639 | 222,546,002,47,it,Italy,39,Elsacom
640 | 222,546,099,2463,it,Italy,39,Hi3G
641 | 222,546,033,831,it,Italy,39,Hi3G-2
642 | 222,546,077,1919,it,Italy,39,IPSE 2000
643 | 222,546,035,863,it,Italy,39,Lycamobile Srl
644 | 222,546,007,127,it,Italy,39,Noverca Italia Srl
645 | 222,546,030,783,it,Italy,39,RFI Rete Ferroviaria Italiana SpA
646 | 222,546,048,1167,it,Italy,39,Telecom Italia Mobile SpA
647 | 222,546,043,1087,it,Italy,39,Telecom Italia Mobile SpA2
648 | 222,546,001,31,it,Italy,39,TIM
649 | 222,546,010,271,it,Italy,39,Vodafone
650 | 222,546,006,111,it,Italy,39,Vodafone
651 | 222,546,044,1103,it,Italy,39,WIND (Blu)
652 | 222,546,088,2191,it,Italy,39,WIND (Blu)2
653 | 612,1554,007,127,ci,Ivory Coast,225,Aircomm SA
654 | 612,1554,002,47,ci,Ivory Coast,225,Atlantik Tel./Moov
655 | 612,1554,004,79,ci,Ivory Coast,225,Comium
656 | 612,1554,001,1,ci,Ivory Coast,225,Comstar
657 | 612,1554,005,95,ci,Ivory Coast,225,MTN
658 | 612,1554,003,63,ci,Ivory Coast,225,Orange
659 | 612,1554,006,111,ci,Ivory Coast,225,OriCell
660 | 612,1554,000,0,ci,Ivory Coast,225,Warid
661 | 338,824,110,272,jm,Jamaica,1876,Cable & Wireless
662 | 338,824,020,32,jm,Jamaica,1876,Cable & Wireless-2
663 | 338,824,180,384,jm,Jamaica,1876,Cable & Wireless-3
664 | 338,824,050,80,jm,Jamaica,1876,DIGICEL/Mossel
665 | 440,1088,000,0,jp,Japan,81,eMobile
666 | 440,1088,074,1871,jp,Japan,81,KDDI Corporation
667 | 440,1088,070,1807,jp,Japan,81,KDDI Corporation2
668 | 440,1088,089,2207,jp,Japan,81,KDDI Corporation3
669 | 440,1088,051,1311,jp,Japan,81,KDDI Corporation4
670 | 440,1088,075,1887,jp,Japan,81,KDDI Corporation5
671 | 440,1088,056,1391,jp,Japan,81,KDDI Corporation6
672 | 441,1089,070,1807,jp,Japan,81,KDDI Corporation7
673 | 440,1088,052,1327,jp,Japan,81,KDDI Corporation8
674 | 440,1088,076,1903,jp,Japan,81,KDDI Corporation9
675 | 440,1088,071,1823,jp,Japan,81,KDDI Corporation10
676 | 440,1088,053,1343,jp,Japan,81,KDDI Corporation11
677 | 440,1088,077,1919,jp,Japan,81,KDDI Corporation12
678 | 440,1088,008,143,jp,Japan,81,KDDI Corporation13
679 | 440,1088,072,1839,jp,Japan,81,KDDI Corporation14
680 | 440,1088,054,1359,jp,Japan,81,KDDI Corporation15
681 | 440,1088,079,1951,jp,Japan,81,KDDI Corporation16
682 | 440,1088,007,127,jp,Japan,81,KDDI Corporation17
683 | 440,1088,073,1855,jp,Japan,81,KDDI Corporation18
684 | 440,1088,055,1375,jp,Japan,81,KDDI Corporation19
685 | 440,1088,088,2191,jp,Japan,81,KDDI Corporation20
686 | 440,1088,050,1295,jp,Japan,81,KDDI Corporation21
687 | 440,1088,021,543,jp,Japan,81,NTT Docomo
688 | 441,1089,044,1103,jp,Japan,81,NTT Docomo2
689 | 440,1088,013,319,jp,Japan,81,NTT Docomo3
690 | 440,1088,023,575,jp,Japan,81,NTT Docomo4
691 | 440,1088,016,367,jp,Japan,81,NTT Docomo5
692 | 441,1089,099,2463,jp,Japan,81,NTT Docomo6
693 | 440,1088,034,847,jp,Japan,81,NTT Docomo7
694 | 440,1088,069,1695,jp,Japan,81,NTT Docomo8
695 | 440,1088,064,1615,jp,Japan,81,NTT Docomo9
696 | 440,1088,037,895,jp,Japan,81,NTT Docomo10
697 | 440,1088,025,607,jp,Japan,81,NTT Docomo11
698 | 440,1088,022,559,jp,Japan,81,NTT Docomo12
699 | 441,1089,043,1087,jp,Japan,81,NTT Docomo13
700 | 440,1088,027,639,jp,Japan,81,NTT Docomo14
701 | 440,1088,002,47,jp,Japan,81,NTT Docomo15
702 | 440,1088,017,383,jp,Japan,81,NTT Docomo16
703 | 440,1088,031,799,jp,Japan,81,NTT Docomo17
704 | 440,1088,087,2175,jp,Japan,81,NTT Docomo18
705 | 440,1088,065,1631,jp,Japan,81,NTT Docomo19
706 | 440,1088,036,879,jp,Japan,81,NTT Docomo20
707 | 441,1089,092,2351,jp,Japan,81,NTT Docomo21
708 | 440,1088,012,303,jp,Japan,81,NTT Docomo22
709 | 440,1088,058,1423,jp,Japan,81,NTT Docomo23
710 | 440,1088,028,655,jp,Japan,81,NTT Docomo24
711 | 440,1088,003,63,jp,Japan,81,NTT Docomo25
712 | 440,1088,018,399,jp,Japan,81,NTT Docomo26
713 | 441,1089,091,2335,jp,Japan,81,NTT Docomo27
714 | 440,1088,032,815,jp,Japan,81,NTT Docomo28
715 | 440,1088,061,1567,jp,Japan,81,NTT Docomo29
716 | 440,1088,066,1647,jp,Japan,81,NTT Docomo30
717 | 440,1088,035,863,jp,Japan,81,NTT Docomo31
718 | 441,1089,093,2367,jp,Japan,81,NTT Docomo32
719 | 441,1089,040,1039,jp,Japan,81,NTT Docomo33
720 | 440,1088,049,1183,jp,Japan,81,NTT Docomo34
721 | 440,1088,029,671,jp,Japan,81,NTT Docomo35
722 | 440,1088,009,159,jp,Japan,81,NTT Docomo36
723 | 440,1088,019,415,jp,Japan,81,NTT Docomo37
724 | 441,1089,090,2319,jp,Japan,81,NTT Docomo38
725 | 440,1088,033,831,jp,Japan,81,NTT Docomo39
726 | 440,1088,060,1551,jp,Japan,81,NTT Docomo40
727 | 440,1088,014,335,jp,Japan,81,NTT Docomo41
728 | 441,1089,094,2383,jp,Japan,81,NTT Docomo42
729 | 441,1089,041,1055,jp,Japan,81,NTT Docomo43
730 | 440,1088,067,1663,jp,Japan,81,NTT Docomo44
731 | 440,1088,062,1583,jp,Japan,81,NTT Docomo45
732 | 440,1088,001,31,jp,Japan,81,NTT Docomo46
733 | 440,1088,039,927,jp,Japan,81,NTT Docomo47
734 | 440,1088,030,783,jp,Japan,81,NTT Docomo48
735 | 440,1088,010,271,jp,Japan,81,NTT Docomo49
736 | 440,1088,020,527,jp,Japan,81,NTT Docomo50
737 | 441,1089,045,1119,jp,Japan,81,NTT Docomo51
738 | 440,1088,024,591,jp,Japan,81,NTT Docomo52
739 | 440,1088,015,351,jp,Japan,81,NTT Docomo53
740 | 441,1089,098,2447,jp,Japan,81,NTT Docomo54
741 | 441,1089,042,1071,jp,Japan,81,NTT Docomo55
742 | 440,1088,068,1679,jp,Japan,81,NTT Docomo56
743 | 440,1088,063,1599,jp,Japan,81,NTT Docomo57
744 | 440,1088,038,911,jp,Japan,81,NTT Docomo58
745 | 440,1088,026,623,jp,Japan,81,NTT Docomo59
746 | 440,1088,011,287,jp,Japan,81,NTT Docomo60
747 | 440,1088,099,2463,jp,Japan,81,NTT Docomo61
748 | 440,1088,078,1935,jp,Japan,81,Okinawa Cellular Telephone
749 | 440,1088,047,1151,jp,Japan,81,SoftBank Mobile Corp
750 | 440,1088,095,2399,jp,Japan,81,SoftBank Mobile Corp2
751 | 440,1088,041,1055,jp,Japan,81,SoftBank Mobile Corp3
752 | 441,1089,064,1615,jp,Japan,81,SoftBank Mobile Corp4
753 | 440,1088,046,1135,jp,Japan,81,SoftBank Mobile Corp5
754 | 440,1088,097,2431,jp,Japan,81,SoftBank Mobile Corp6
755 | 440,1088,042,1071,jp,Japan,81,SoftBank Mobile Corp7
756 | 441,1089,065,1631,jp,Japan,81,SoftBank Mobile Corp8
757 | 440,1088,090,2319,jp,Japan,81,SoftBank Mobile Corp9
758 | 440,1088,092,2351,jp,Japan,81,SoftBank Mobile Corp10
759 | 440,1088,098,2447,jp,Japan,81,SoftBank Mobile Corp11
760 | 440,1088,043,1087,jp,Japan,81,SoftBank Mobile Corp12
761 | 440,1088,048,1167,jp,Japan,81,SoftBank Mobile Corp13
762 | 440,1088,093,2367,jp,Japan,81,SoftBank Mobile Corp14
763 | 440,1088,006,111,jp,Japan,81,SoftBank Mobile Corp15
764 | 441,1089,061,1567,jp,Japan,81,SoftBank Mobile Corp16
765 | 440,1088,044,1103,jp,Japan,81,SoftBank Mobile Corp17
766 | 440,1088,004,79,jp,Japan,81,SoftBank Mobile Corp18
767 | 440,1088,094,2383,jp,Japan,81,SoftBank Mobile Corp19
768 | 441,1089,062,1583,jp,Japan,81,SoftBank Mobile Corp20
769 | 440,1088,045,1119,jp,Japan,81,SoftBank Mobile Corp21
770 | 440,1088,040,1039,jp,Japan,81,SoftBank Mobile Corp22
771 | 440,1088,096,2415,jp,Japan,81,SoftBank Mobile Corp23
772 | 441,1089,063,1599,jp,Japan,81,SoftBank Mobile Corp24
773 | 440,1088,085,2143,jp,Japan,81,KDDI Corporation
774 | 440,1088,083,2111,jp,Japan,81,KDDI Corporation2
775 | 440,1088,081,2079,jp,Japan,81,KDDI Corporation3
776 | 440,1088,080,2063,jp,Japan,81,KDDI Corporation4
777 | 440,1088,086,2159,jp,Japan,81,KDDI Corporation5
778 | 440,1088,084,2127,jp,Japan,81,KDDI Corporation6
779 | 440,1088,082,2095,jp,Japan,81,KDDI Corporation7
780 | 416,1046,077,1919,jo,Jordan,962,Orange/Petra
781 | 416,1046,003,63,jo,Jordan,962,Umniah Mobile Co.
782 | 416,1046,002,2,jo,Jordan,962,Xpress
783 | 416,1046,001,31,jo,Jordan,962,ZAIN /J.M.T.S
784 | 401,1025,001,31,kz,Kazakhstan,7,Beeline/KaR-Tel LLP
785 | 401,1025,007,127,kz,Kazakhstan,7,Dalacom/Altel
786 | 401,1025,002,47,kz,Kazakhstan,7,K-Cell
787 | 401,1025,077,1919,kz,Kazakhstan,7,NEO/MTS
788 | 639,1593,005,95,ke,Kenya,254,Econet Wireless
789 | 639,1593,007,127,ke,Kenya,254,Orange
790 | 639,1593,002,47,ke,Kenya,254,Safaricom Ltd.
791 | 639,1593,003,63,ke,Kenya,254,Zain/Celtel Ltd.
792 | 545,1349,009,9,ki,Kiribati,686,Kiribati Frigate
793 | 467,1127,193,403,kp,Korea N. Dem. People's Rep.,850,Sun Net
794 | 450,1104,002,47,kr,Korea S Republic of,82,KT Freetel Co. Ltd.
795 | 450,1104,004,79,kr,Korea S Republic of,82,KT Freetel Co. Ltd.2
796 | 450,1104,008,143,kr,Korea S Republic of,82,KT Freetel Co. Ltd.3
797 | 450,1104,006,111,kr,Korea S Republic of,82,LG Telecom
798 | 450,1104,003,63,kr,Korea S Republic of,82,SK Telecom
799 | 450,1104,005,95,kr,Korea S Republic of,82,SK Telecom Co. Ltd
800 | 419,1049,004,79,kw,Kuwait,965,Viva
801 | 419,1049,003,63,kw,Kuwait,965,Wantaniya
802 | 419,1049,002,47,kw,Kuwait,965,Zain
803 | 437,1079,003,63,kg,Kyrgyzstan,996,AkTel LLC
804 | 437,1079,001,31,kg,Kyrgyzstan,996,Beeline/Bitel
805 | 437,1079,005,95,kg,Kyrgyzstan,996,MEGACOM
806 | 437,1079,009,159,kg,Kyrgyzstan,996,O!/NUR Telecom
807 | 457,1111,002,47,la,Laos P.D.R.,856,ETL Mobile
808 | 457,1111,001,31,la,Laos P.D.R.,856,Lao Tel
809 | 457,1111,008,143,la,Laos P.D.R.,856,Tigo/Millicom
810 | 457,1111,003,63,la,Laos P.D.R.,856,UNITEL/LAT
811 | 247,583,005,95,lv,Latvia,371,Bite Latvija
812 | 247,583,001,31,lv,Latvia,371,Latvian Mobile Phone
813 | 247,583,009,159,lv,Latvia,371,SIA Camel Mobile
814 | 247,583,008,143,lv,Latvia,371,SIA IZZI
815 | 247,583,007,127,lv,Latvia,371,SIA Master Telecom
816 | 247,583,006,111,lv,Latvia,371,SIA Rigatta
817 | 247,583,002,47,lv,Latvia,371,Tele2
818 | 247,583,003,63,lv,Latvia,371,TRIATEL/Telekom Baltija
819 | 415,1045,033,831,lb,Lebanon,961,Cellis
820 | 415,1045,032,815,lb,Lebanon,961,Cellis2
821 | 415,1045,035,863,lb,Lebanon,961,Cellis3
822 | 415,1045,034,847,lb,Lebanon,961,FTML Cellis
823 | 415,1045,039,927,lb,Lebanon,961,MIC2/LibanCell
824 | 415,1045,038,911,lb,Lebanon,961,MIC2/LibanCell2
825 | 415,1045,037,895,lb,Lebanon,961,MIC2/LibanCell3
826 | 415,1045,001,31,lb,Lebanon,961,MIC1 (Alfa)
827 | 415,1045,003,63,lb,Lebanon,961,Touch
828 | 415,1045,036,879,lb,Lebanon,961,MIC2/LibanCell
829 | 651,1617,002,47,ls,Lesotho,266,Econet/Ezi-cel
830 | 651,1617,001,31,ls,Lesotho,266,Vodacom Lesotho
831 | 618,1560,007,127,lr,Liberia,231,Celcom
832 | 618,1560,003,63,lr,Liberia,231,Celcom2
833 | 618,1560,004,79,lr,Liberia,231,Comium BVI
834 | 618,1560,002,47,lr,Liberia,231,Libercell
835 | 618,1560,020,527,lr,Liberia,231,LibTelco
836 | 618,1560,001,31,lr,Liberia,231,Lonestar
837 | 606,1542,002,47,ly,Libya,218,Al-Madar
838 | 606,1542,001,31,ly,Libya,218,Al-Madar2
839 | 606,1542,006,111,ly,Libya,218,Hatef
840 | 606,1542,000,15,ly,Libya,218,Libyana
841 | 606,1542,003,63,ly,Libya,218,Libyana2
842 | 295,661,006,111,li,Liechtenstein,423,CUBIC (Liechtenstein
843 | 295,661,007,127,li,Liechtenstein,423,First Mobile AG
844 | 295,661,005,95,li,Liechtenstein,423,Mobilkom AG
845 | 295,661,002,47,li,Liechtenstein,423,Orange
846 | 295,661,001,31,li,Liechtenstein,423,Swisscom FL AG
847 | 295,661,077,1919,li,Liechtenstein,423,Alpmobile/Tele2
848 | 246,582,002,47,lt,Lithuania,370,Bite
849 | 246,582,001,31,lt,Lithuania,370,Omnitel
850 | 246,582,003,63,lt,Lithuania,370,Tele2
851 | 270,624,077,1919,lu,Luxembourg,352,Millicom Tango GSM
852 | 270,624,001,31,lu,Luxembourg,352,P+T LUXGSM
853 | 270,624,099,2463,lu,Luxembourg,352,VOXmobile S.A.
854 | 455,1109,004,79,mo,Macao China,853,C.T.M. TELEMOVEL+
855 | 455,1109,001,31,mo,Macao China,853,C.T.M. TELEMOVEL+2
856 | 455,1109,002,47,mo,Macao China,853,China Telecom
857 | 455,1109,005,95,mo,Macao China,853,Hutchison Telephone (Macau) Company Ltd
858 | 455,1109,003,63,mo,Macao China,853,Hutchison Telephone (Macau) Company Ltd-2
859 | 455,1109,006,111,mo,Macao China,853,Smartone Mobile
860 | 455,1109,000,15,mo,Macao China,853,Smartone Mobile-2
861 | 294,660,075,1887,mk,Macedonia,389,MTS/Cosmofone
862 | 294,660,002,47,mk,Macedonia,389,MTS/Cosmofone2
863 | 294,660,001,31,mk,Macedonia,389,T-Mobile/Mobimak
864 | 294,660,003,63,mk,Macedonia,389,VIP Mobile
865 | 646,1606,001,31,mg,Madagascar,261,MADACOM
866 | 646,1606,002,47,mg,Madagascar,261,Orange/Soci
867 | 646,1606,003,63,mg,Madagascar,261,Sacel
868 | 646,1606,004,79,mg,Madagascar,261,Telma
869 | 650,1616,001,31,mw,Malawi,265,TNM/Telekom Network Ltd.
870 | 650,1616,010,271,mw,Malawi,265,Zain/Celtel ltd.
871 | 502,1282,001,31,my,Malaysia,60,Art900
872 | 502,1282,151,337,my,Malaysia,60,Baraka Telecom Sdn Bhd
873 | 502,1282,013,319,my,Malaysia,60,CelCom
874 | 502,1282,019,415,my,Malaysia,60,CelCom2
875 | 502,1282,016,367,my,Malaysia,60,Digi Telecommunications
876 | 502,1282,010,271,my,Malaysia,60,Digi Telecommunications-2
877 | 502,1282,020,527,my,Malaysia,60,Electcoms Wireless Sdn Bhd
878 | 502,1282,012,303,my,Malaysia,60,Maxis
879 | 502,1282,017,383,my,Malaysia,60,Maxis2
880 | 502,1282,011,287,my,Malaysia,60,MTX Utara
881 | 502,1282,153,339,my,Malaysia,60,Packet One Networks (Malaysia) Sdn Bhd
882 | 502,1282,155,341,my,Malaysia,60,Samata Communications Sdn Bhd
883 | 502,1282,154,340,my,Malaysia,60,Talk Focus Sdn Bhd
884 | 502,1282,018,399,my,Malaysia,60,U Mobile
885 | 502,1282,152,338,my,Malaysia,60,YES
886 | 472,1138,001,31,mv,Maldives,960,Dhiraagu/C&W
887 | 472,1138,002,47,mv,Maldives,960,Wataniya/WMOBILE
888 | 610,1552,001,31,ml,Mali,223,Malitel
889 | 610,1552,002,47,ml,Mali,223,Orange/IKATEL
890 | 278,632,021,543,mt,Malta,356,GO/Mobisle
891 | 278,632,077,1919,mt,Malta,356,Melita
892 | 278,632,001,31,mt,Malta,356,Vodafone
893 | 340,832,002,47,mq,Martinique (French Department of),,Outremer Telecom Martinique (only) (Martinique
894 | 340,832,012,303,mq,Martinique (French Department of),,United Telecommunications Services Caraibe SARL (UTS Caraibe Martinique Telephone Mobile) (Martinique
895 | 340,832,003,63,mq,Martinique (French Department of),,United Telecommunications Services Caraibe SARL (UTS Caraibe Martinique Telephone Mobile) (Martinique-2
896 | 609,1545,002,47,mr,Mauritania,222,Chinguitel SA
897 | 609,1545,001,31,mr,Mauritania,222,Mattel
898 | 609,1545,010,271,mr,Mauritania,222,Mauritel
899 | 617,1559,010,271,mu,Mauritius,230,Emtel Ltd
900 | 617,1559,002,47,mu,Mauritius,230,Mahanagar Telephone
901 | 617,1559,003,63,mu,Mauritius,230,Mahanagar Telephone2
902 | 617,1559,001,31,mu,Mauritius,230,Orange/Cellplus
903 | 334,820,000,15,mx,Mexico,52,Axtel
904 | 334,820,050,1295,mx,Mexico,52,IUSACell/UneFon
905 | 334,820,050,80,mx,Mexico,52,IUSACell/UneFon
906 | 334,820,040,64,mx,Mexico,52,IUSACell/UneFon2
907 | 334,820,004,79,mx,Mexico,52,IUSACell/UneFon3
908 | 334,820,003,63,mx,Mexico,52,Movistar/Pegaso
909 | 334,820,030,48,mx,Mexico,52,Movistar/Pegaso2
910 | 334,820,001,31,mx,Mexico,52,NEXTEL
911 | 334,820,090,144,mx,Mexico,52,NEXTEL2
912 | 334,820,010,16,mx,Mexico,52,NEXTEL3
913 | 334,820,080,128,mx,Mexico,52,Operadora Unefon SA de CV
914 | 334,820,070,112,mx,Mexico,52,Operadora Unefon SA de CV2
915 | 334,820,060,96,mx,Mexico,52,SAI PCS
916 | 334,820,000,15,mx,Mexico,52,SAI PCS-2
917 | 334,820,002,47,mx,Mexico,52,TelCel/America Movil
918 | 334,820,020,32,mx,Mexico,52,TelCel/America Movil-2
919 | 550,1360,001,31,fm,Micronesia,691,FSM Telecom
920 | 259,601,004,79,md,Moldova,373,Eventis Mobile
921 | 259,601,099,2463,md,Moldova,373,IDC/Unite
922 | 259,601,005,95,md,Moldova,373,IDC/Unite2
923 | 259,601,003,63,md,Moldova,373,IDC/Unite3
924 | 259,601,002,47,md,Moldova,373,Moldcell
925 | 259,601,001,31,md,Moldova,373,Orange/Voxtel
926 | 212,530,001,31,mc,Monaco,377,Dardafone LLC
927 | 212,530,010,271,mc,Monaco,377,Monaco Telecom
928 | 212,530,001,31,mc,Monaco,377,Monaco Telecom2
929 | 212,530,001,31,mc,Monaco,377,Post and Telecommunications of Kosovo JSC (PTK)
930 | 428,1064,098,2447,mn,Mongolia,976,G-Mobile Corporation Ltd
931 | 428,1064,099,2463,mn,Mongolia,976,Mobicom
932 | 428,1064,000,15,mn,Mongolia,976,Skytel Co. Ltd
933 | 428,1064,088,2191,mn,Mongolia,976,Unitel
934 | 297,663,002,47,me,Montenegro,382,Monet/T-mobile
935 | 297,663,003,63,me,Montenegro,382,Mtel
936 | 297,663,001,31,me,Montenegro,382,Promonte GSM
937 | 354,852,860,2144,ms,Montserrat,1664,Cable & Wireless
938 | 604,1540,001,31,ma,Morocco,212,IAM/Itissallat
939 | 604,1540,002,47,ma,Morocco,212,INWI/WANA
940 | 604,1540,000,15,ma,Morocco,212,Medi Telecom
941 | 643,1603,001,31,mz,Mozambique,258,mCel
942 | 643,1603,003,63,mz,Mozambique,258,Movitel
943 | 643,1603,004,79,mz,Mozambique,258,Vodacom Sarl
944 | 649,1609,003,63,na,Namibia,264,Leo / Orascom
945 | 649,1609,001,31,na,Namibia,264,MTC
946 | 649,1609,002,47,na,Namibia,264,Switch/Nam. Telec.
947 | 429,1065,002,47,np,Nepal,977,Ncell
948 | 429,1065,001,31,np,Nepal,977,NT Mobile / Namaste
949 | 429,1065,004,79,np,Nepal,977,Smart Cell
950 | 204,516,014,335,nl,Netherlands,31,6GMOBILE BV
951 | 204,516,023,575,nl,Netherlands,31,Aspider Solutions
952 | 204,516,005,95,nl,Netherlands,31,Elephant Talk Communications Premium Rate Services Netherlands BV
953 | 204,516,017,383,nl,Netherlands,31,Intercity Mobile Communications BV
954 | 204,516,010,271,nl,Netherlands,31,KPN Telecom B.V.
955 | 204,516,008,143,nl,Netherlands,31,KPN Telecom B.V.2
956 | 204,516,069,1695,nl,Netherlands,31,KPN Telecom B.V.3
957 | 204,516,012,303,nl,Netherlands,31,KPN/Telfort
958 | 204,516,028,655,nl,Netherlands,31,Lancelot BV
959 | 204,516,009,159,nl,Netherlands,31,Lycamobile Ltd
960 | 204,516,006,111,nl,Netherlands,31,Mundio/Vectone Mobile
961 | 204,516,021,543,nl,Netherlands,31,NS Railinfrabeheer B.V.
962 | 204,516,024,591,nl,Netherlands,31,Private Mobility Nederland BV
963 | 204,516,098,2447,nl,Netherlands,31,T-Mobile B.V.
964 | 204,516,016,367,nl,Netherlands,31,T-Mobile B.V.2
965 | 204,516,020,527,nl,Netherlands,31,Orange/T-mobile
966 | 204,516,002,47,nl,Netherlands,31,Tele2
967 | 204,516,007,127,nl,Netherlands,31,Teleena Holding BV
968 | 204,516,068,1679,nl,Netherlands,31,Unify Mobile
969 | 204,516,018,399,nl,Netherlands,31,UPC Nederland BV
970 | 204,516,004,79,nl,Netherlands,31,Vodafone Libertel
971 | 204,516,003,63,nl,Netherlands,31,Voiceworks Mobile BV
972 | 204,516,015,351,nl,Netherlands,31,Ziggo BV
973 | 362,866,630,1584,an,Netherlands Antilles,599,Cingular Wireless
974 | 362,866,069,1695,an,Netherlands Antilles,599,DigiCell
975 | 362,866,051,1311,an,Netherlands Antilles,599,TELCELL GSM
976 | 362,866,091,2335,an,Netherlands Antilles,599,SETEL GSM
977 | 362,866,951,2385,an,Netherlands Antilles,599,UTS Wireless
978 | 546,1350,001,31,nc,New Caledonia,687,OPT Mobilis
979 | 530,1328,028,655,nz,New Zealand,64,2degrees
980 | 530,1328,005,95,nz,New Zealand,64,Telecom Mobile Ltd
981 | 530,1328,002,2,nz,New Zealand,64,NZ Telecom CDMA
982 | 530,1328,004,4,nz,New Zealand,64,Telstra
983 | 530,1328,024,591,nz,New Zealand,64,Two Degrees Mobile Ltd
984 | 530,1328,001,31,nz,New Zealand,64,Vodafone
985 | 530,1328,003,3,nz,New Zealand,64,Walker Wireless Ltd.
986 | 710,1808,021,543,ni,Nicaragua,505,Empresa Nicaraguense de Telecomunicaciones SA (ENITEL)
987 | 710,1808,030,783,ni,Nicaragua,505,Movistar
988 | 710,1808,073,1855,ni,Nicaragua,505,Claro
989 | 614,1556,003,63,ne,Niger,227,Etisalat/TeleCel
990 | 614,1556,004,79,ne,Niger,227,Orange/Sahelc.
991 | 614,1556,001,31,ne,Niger,227,Orange/Sahelc.2
992 | 614,1556,002,47,ne,Niger,227,Zain/CelTel
993 | 621,1569,020,527,ng,Nigeria,234,Airtel/ZAIN/Econet
994 | 621,1569,060,1551,ng,Nigeria,234,ETISALAT
995 | 621,1569,050,1295,ng,Nigeria,234,Glo Mobile
996 | 621,1569,040,1039,ng,Nigeria,234,M-Tel/Nigeria Telecom. Ltd.
997 | 621,1569,030,783,ng,Nigeria,234,MTN
998 | 621,1569,099,2463,ng,Nigeria,234,Starcomms
999 | 621,1569,025,607,ng,Nigeria,234,Visafone
1000 | 621,1569,001,31,ng,Nigeria,234,Visafone2
1001 | 555,1365,001,31,nu,Niue,,Niue Telecom
1002 | 242,578,009,159,no,Norway,47,Com4 AS
1003 | 242,578,020,527,no,Norway,47,Jernbaneverket (GSM-R)
1004 | 242,578,021,543,no,Norway,47,Jernbaneverket (GSM-R)-2
1005 | 242,578,023,575,no,Norway,47,Lycamobile Ltd
1006 | 242,578,002,47,no,Norway,47,Netcom
1007 | 242,578,022,559,no,Norway,47,Network Norway AS
1008 | 242,578,005,95,no,Norway,47,Network Norway AS-2
1009 | 242,578,006,6,no,Norway,47,ICE Nordisk Mobiltelefon AS
1010 | 242,578,008,143,no,Norway,47,TDC Mobil A/S
1011 | 242,578,004,79,no,Norway,47,Tele2
1012 | 242,578,012,303,no,Norway,47,Telenor
1013 | 242,578,001,31,no,Norway,47,Telenor2
1014 | 242,578,003,63,no,Norway,47,Teletopia
1015 | 242,578,007,127,no,Norway,47,Ventelo AS
1016 | 422,1058,003,63,om,Oman,968,Nawras
1017 | 422,1058,002,47,om,Oman,968,Oman Mobile/GTO
1018 | 410,1040,008,143,pk,Pakistan,92,Instaphone
1019 | 410,1040,001,31,pk,Pakistan,92,Mobilink
1020 | 410,1040,006,111,pk,Pakistan,92,Telenor
1021 | 410,1040,003,63,pk,Pakistan,92,UFONE/PAKTel
1022 | 410,1040,007,127,pk,Pakistan,92,Warid Telecom
1023 | 410,1040,004,79,pk,Pakistan,92,ZONG/CMPak
1024 | 552,1362,080,2063,pw,Palau (Republic of),,Palau Mobile Corp. (PMC) (Palau
1025 | 552,1362,001,31,pw,Palau (Republic of),,Palau National Communications Corp. (PNCC) (Palau
1026 | 425,1061,005,95,ps,Palestinian Territory,970,Jawwal
1027 | 425,1061,006,111,ps,Palestinian Territory,970,Wataniya Mobile
1028 | 714,1812,001,31,pa,Panama,507,Cable & Wireless S.A.
1029 | 714,1812,003,63,pa,Panama,507,Claro
1030 | 714,1812,004,79,pa,Panama,507,Digicel
1031 | 714,1812,020,32,pa,Panama,507,Movistar
1032 | 714,1812,002,47,pa,Panama,507,Movistar2
1033 | 537,1335,003,63,pg,Papua New Guinea,675,Digicel
1034 | 537,1335,002,47,pg,Papua New Guinea,675,GreenCom PNG Ltd
1035 | 537,1335,001,31,pg,Papua New Guinea,675,Pacific Mobile
1036 | 744,1860,002,47,py,Paraguay,595,Claro/Hutchison
1037 | 744,1860,003,63,py,Paraguay,595,Compa
1038 | 744,1860,001,31,py,Paraguay,595,Hola/VOX
1039 | 744,1860,005,5,py,Paraguay,595,TIM/Nucleo/Personal
1040 | 744,1860,004,79,py,Paraguay,595,Tigo/Telecel
1041 | 716,1814,020,527,pe,Peru,51,Claro /Amer.Mov./TIM
1042 | 716,1814,010,271,pe,Peru,51,Claro /Amer.Mov./TIM-2
1043 | 716,1814,002,47,pe,Peru,51,GlobalStar
1044 | 716,1814,001,31,pe,Peru,51,GlobalStar2
1045 | 716,1814,006,111,pe,Peru,51,Movistar
1046 | 716,1814,007,127,pe,Peru,51,Nextel
1047 | 515,1301,000,15,ph,Philippines,63,Fix Line
1048 | 515,1301,001,31,ph,Philippines,63,Globe Telecom
1049 | 515,1301,002,47,ph,Philippines,63,Globe Telecom2
1050 | 515,1301,088,2191,ph,Philippines,63,Next Mobile
1051 | 515,1301,018,399,ph,Philippines,63,RED Mobile/Cure
1052 | 515,1301,003,63,ph,Philippines,63,Smart
1053 | 515,1301,005,95,ph,Philippines,63,SUN/Digitel
1054 | 260,608,017,383,pl,Poland,48,Aero2 SP.
1055 | 260,608,018,399,pl,Poland,48,AMD Telecom.
1056 | 260,608,038,911,pl,Poland,48,CallFreedom Sp. z o.o.
1057 | 260,608,012,303,pl,Poland,48,Cyfrowy POLSAT S.A.
1058 | 260,608,008,143,pl,Poland,48,e-Telko
1059 | 260,608,009,159,pl,Poland,48,Lycamobile
1060 | 260,608,016,367,pl,Poland,48,Mobyland
1061 | 260,608,036,879,pl,Poland,48,Mundio Mobile Sp. z o.o.
1062 | 260,608,007,127,pl,Poland,48,Play/P4
1063 | 260,608,011,287,pl,Poland,48,NORDISK Polska
1064 | 260,608,005,95,pl,Poland,48,Orange/IDEA/Centertel
1065 | 260,608,003,63,pl,Poland,48,Orange/IDEA/Centertel2
1066 | 260,608,035,863,pl,Poland,48,PKP Polskie Linie Kolejowe S.A.
1067 | 260,608,098,2447,pl,Poland,48,Play/P4
1068 | 260,608,006,111,pl,Poland,48,Play/P4-2
1069 | 260,608,001,31,pl,Poland,48,Polkomtel/Plus
1070 | 260,608,010,271,pl,Poland,48,Sferia
1071 | 260,608,014,335,pl,Poland,48,Sferia2
1072 | 260,608,013,319,pl,Poland,48,Sferia3
1073 | 260,608,034,847,pl,Poland,48,T-Mobile/ERA
1074 | 260,608,002,47,pl,Poland,48,T-Mobile/ERA-2
1075 | 260,608,015,351,pl,Poland,48,Tele2
1076 | 260,608,004,79,pl,Poland,48,Tele2
1077 | 268,616,004,79,pt,Portugal,351,CTT - Correios de Portugal SA
1078 | 268,616,003,63,pt,Portugal,351,Optimus
1079 | 268,616,007,127,pt,Portugal,351,Optimus2
1080 | 268,616,006,111,pt,Portugal,351,TMN
1081 | 268,616,001,31,pt,Portugal,351,Vodafone
1082 | 330,816,011,287,pr,Puerto Rico,,Puerto Rico Telephone Company Inc. (PRTC)
1083 | 427,1063,001,31,qa,Qatar,974,Qtel
1084 | 427,1063,002,47,qa,Qatar,974,Vodafone
1085 | 647,1607,000,15,re,Reunion,262,Orange
1086 | 647,1607,002,47,re,Reunion,262,Outremer Telecom
1087 | 647,1607,010,271,re,Reunion,262,SFR
1088 | 226,550,003,63,ro,Romania,40,Cosmote
1089 | 226,550,011,287,ro,Romania,40,Enigma Systems
1090 | 226,550,010,271,ro,Romania,40,Orange
1091 | 226,550,005,95,ro,Romania,40,RCS&RDS Digi Mobile
1092 | 226,550,002,47,ro,Romania,40,Romtelecom SA
1093 | 226,550,006,111,ro,Romania,40,Telemobil/Zapp
1094 | 226,550,001,31,ro,Romania,40,Vodafone
1095 | 226,550,004,79,ro,Romania,40,Telemobil/Zapp-2
1096 | 250,592,012,303,ru,Russian Federation,79,Baykal Westcom
1097 | 250,592,028,655,ru,Russian Federation,79,Bee Line GSM
1098 | 250,592,010,271,ru,Russian Federation,79,DTC/Don Telecom
1099 | 250,592,020,527,ru,Russian Federation,79,JSC Rostov Cellular Communications
1100 | 250,592,013,319,ru,Russian Federation,79,Kuban GSM
1101 | 250,592,035,863,ru,Russian Federation,79,LLC Ekaterinburg-2000
1102 | 250,592,020,527,ru,Russian Federation,79,LLC Personal Communication Systems in the Region
1103 | 250,592,002,47,ru,Russian Federation,79,Megafon
1104 | 250,592,001,31,ru,Russian Federation,79,MTS
1105 | 250,592,003,63,ru,Russian Federation,79,NCC
1106 | 250,592,016,367,ru,Russian Federation,79,NTC
1107 | 250,592,019,415,ru,Russian Federation,79,OJSC Altaysvyaz
1108 | 250,592,099,2463,ru,Russian Federation,79,OJSC Vimpel-Communications (VimpelCom)
1109 | 250,592,011,287,ru,Russian Federation,79,Orensot
1110 | 250,592,092,2351,ru,Russian Federation,79,Printelefone
1111 | 250,592,004,79,ru,Russian Federation,79,Sibchallenge
1112 | 250,592,044,1103,ru,Russian Federation,79,StavTelesot
1113 | 250,592,020,527,ru,Russian Federation,79,Tele2/ECC/Volgogr.
1114 | 250,592,093,2367,ru,Russian Federation,79,Telecom XXL
1115 | 250,592,039,927,ru,Russian Federation,79,U-Tel/Ermak RMS
1116 | 250,592,017,383,ru,Russian Federation,79,U-Tel/Ermak RMS-2
1117 | 250,592,039,927,ru,Russian Federation,79,UralTel
1118 | 250,592,017,383,ru,Russian Federation,79,UralTel2
1119 | 250,592,005,95,ru,Russian Federation,79,Yenisey Telecom
1120 | 250,592,015,351,ru,Russian Federation,79,ZAO SMARTS
1121 | 250,592,007,127,ru,Russian Federation,79,ZAO SMARTS-2
1122 | 635,1589,014,335,rw,Rwanda,250,Airtel Rwanda Ltd
1123 | 635,1589,010,271,rw,Rwanda,250,MTN/Rwandacell
1124 | 635,1589,013,319,rw,Rwanda,250,TIGO
1125 | 356,854,110,272,kn,Saint Kitts and Nevis,1869,Cable & Wireless
1126 | 356,854,050,1295,kn,Saint Kitts and Nevis,1869,Digicel
1127 | 356,854,070,1807,kn,Saint Kitts and Nevis,1869,UTS Cariglobe
1128 | 358,856,110,272,lc,Saint Lucia,1758,Cable & Wireless
1129 | 358,856,030,783,lc,Saint Lucia,1758,Cingular Wireless
1130 | 358,856,050,1295,lc,Saint Lucia,1758,Digicel (St Lucia) Limited
1131 | 549,1353,027,639,ws,Samoa,685,Samoatel Mobile
1132 | 549,1353,001,31,ws,Samoa,685,Telecom Samoa Cellular Ltd.
1133 | 292,658,001,31,sm,San Marino,378,Prima Telecom
1134 | 626,1574,001,31,st,Sao Tome & Principe,239,CSTmovel
1135 | 901,2305,014,335,n/a,Satellite Networks,870,AeroMobile
1136 | 901,2305,011,287,n/a,Satellite Networks,870,InMarSAT
1137 | 901,2305,012,303,n/a,Satellite Networks,870,Maritime Communications Partner AS
1138 | 901,2305,005,95,n/a,Satellite Networks,870,Thuraya Satellite
1139 | 420,1056,007,7,sa,Saudi Arabia,966,Zain
1140 | 420,1056,003,63,sa,Saudi Arabia,966,Etihad/Etisalat/Mobily
1141 | 420,1056,001,31,sa,Saudi Arabia,966,STC/Al Jawal
1142 | 420,1056,004,79,sa,Saudi Arabia,966,Zain
1143 | 608,1544,003,63,sn,Senegal,221,Expresso/Sudatel
1144 | 608,1544,001,31,sn,Senegal,221,Orange/Sonatel
1145 | 608,1544,002,47,sn,Senegal,221,Sentel GSM
1146 | 220,544,003,63,rs,Serbia,381,MTS/Telekom Srbija
1147 | 220,544,002,47,rs,Serbia,381,Telenor/Mobtel
1148 | 220,544,001,1,rs,Serbia,381,Telenor/Mobtel2
1149 | 220,544,005,95,rs,Serbia,381,VIP Mobile
1150 | 633,1587,010,271,sc,Seychelles,248,Airtel
1151 | 633,1587,001,31,sc,Seychelles,248,C&W
1152 | 633,1587,002,47,sc,Seychelles,248,Smartcom
1153 | 619,1561,003,3,sl,Sierra Leone,232,Africel
1154 | 619,1561,005,5,sl,Sierra Leone,232,Africel2
1155 | 619,1561,001,1,sl,Sierra Leone,232,Zain/Celtel
1156 | 619,1561,004,4,sl,Sierra Leone,232,Comium
1157 | 619,1561,002,2,sl,Sierra Leone,232,Tigo/Millicom
1158 | 619,1561,025,607,sl,Sierra Leone,232,Mobitel
1159 | 525,1317,012,303,sg,Singapore,65,GRID Communications Pte Ltd
1160 | 525,1317,003,63,sg,Singapore,65,MobileOne Ltd
1161 | 525,1317,001,31,sg,Singapore,65,Singtel
1162 | 525,1317,007,127,sg,Singapore,65,Singtel2
1163 | 525,1317,002,47,sg,Singapore,65,Singtel3
1164 | 525,1317,006,111,sg,Singapore,65,Starhub
1165 | 525,1317,005,95,sg,Singapore,65,Starhub2
1166 | 362,866,051,1311,sx,Sint Maarten (Dutch part),,TelCell NV (Sint Maarten
1167 | 362,866,091,2335,sx,Sint Maarten (Dutch part),,UTS St. Maarten (Sint Maarten
1168 | 231,561,006,111,sk,Slovakia,421,O2
1169 | 231,561,001,31,sk,Slovakia,421,Orange
1170 | 231,561,005,95,sk,Slovakia,421,Orange2
1171 | 231,561,015,351,sk,Slovakia,421,Orange
1172 | 231,561,002,47,sk,Slovakia,421,T-Mobile
1173 | 231,561,004,79,sk,Slovakia,421,T-Mobile3
1174 | 231,561,099,2463,sk,Slovakia,421,Zeleznice Slovenskej republiky (ZSR)
1175 | 293,659,041,1055,si,Slovenia,386,Dukagjini Telecommunications Sh.P.K.
1176 | 293,659,041,1055,si,Slovenia,386,Ipko Telecommunications d. o. o.
1177 | 293,659,041,1055,si,Slovenia,386,Mobitel
1178 | 293,659,040,1039,si,Slovenia,386,SI.Mobil
1179 | 293,659,010,271,si,Slovenia,386,Slovenske zeleznice d.o.o.
1180 | 293,659,064,1615,si,Slovenia,386,T-2 d.o.o.
1181 | 293,659,070,1807,si,Slovenia,386,TusMobil/VEGA
1182 | 540,1344,002,47,sb,Solomon Islands,677,bemobile
1183 | 540,1344,010,271,sb,Solomon Islands,677,BREEZE
1184 | 540,1344,001,31,sb,Solomon Islands,677,BREEZE2
1185 | 637,1591,030,783,so,Somalia,252,Golis
1186 | 637,1591,019,415,so,Somalia,252,HorTel
1187 | 637,1591,060,1551,so,Somalia,252,Nationlink
1188 | 637,1591,010,271,so,Somalia,252,Nationlink2
1189 | 637,1591,004,4,so,Somalia,252,Somafone
1190 | 637,1591,082,2095,so,Somalia,252,Telcom Mobile Somalia
1191 | 637,1591,001,31,so,Somalia,252,Telesom
1192 | 655,1621,002,47,za,South Africa,27,8.ta
1193 | 655,1621,021,543,za,South Africa,27,Cape Town Metropolitan
1194 | 655,1621,007,127,za,South Africa,27,Cell C
1195 | 655,1621,012,303,za,South Africa,27,MTN
1196 | 655,1621,010,271,za,South Africa,27,MTN2
1197 | 655,1621,006,111,za,South Africa,27,Sentech
1198 | 655,1621,001,31,za,South Africa,27,Vodacom
1199 | 655,1621,019,415,za,South Africa,27,Wireless Business Solutions (Pty) Ltd
1200 | 659,1625,003,63,ss,South Sudan (Republic of),,Gemtel Ltd (South Sudan
1201 | 659,1625,002,47,ss,South Sudan (Republic of),,MTN South Sudan (South Sudan
1202 | 659,1625,004,79,ss,South Sudan (Republic of),,Network of The World Ltd (NOW) (South Sudan
1203 | 659,1625,006,111,ss,South Sudan (Republic of),,Zain South Sudan (South Sudan
1204 | 214,532,023,575,es,Spain,34,Lycamobile SL
1205 | 214,532,022,559,es,Spain,34,Movistar2
1206 | 214,532,015,351,es,Spain,34,BT Espana Compania de Servicios Globales de Telecomunicaciones SAU
1207 | 214,532,018,399,es,Spain,34,Cableuropa SAU (ONO)
1208 | 214,532,008,143,es,Spain,34,Euskaltel SA
1209 | 214,532,020,527,es,Spain,34,fonYou Wireless SL
1210 | 214,532,021,543,es,Spain,34,Jazz Telecom SAU
1211 | 214,532,026,623,es,Spain,34,Lleida
1212 | 214,532,025,607,es,Spain,34,Lycamobile SL
1213 | 214,532,007,127,es,Spain,34,Movistar
1214 | 214,532,005,95,es,Spain,34,Movistar (resellers)
1215 | 214,532,009,159,es,Spain,34,Orange (resellers)
1216 | 214,532,003,63,es,Spain,34,Orange
1217 | 214,532,011,287,es,Spain,34,Orange2
1218 | 214,532,017,383,es,Spain,34,R Cable y Telecomunicaciones Galicia SA
1219 | 214,532,019,415,es,Spain,34,Simyo/KPN
1220 | 214,532,016,367,es,Spain,34,Telecable de Asturias SA
1221 | 214,532,027,639,es,Spain,34,Truphone
1222 | 214,532,001,31,es,Spain,34,Vodafone
1223 | 214,532,006,111,es,Spain,34,Vodafone Enabler Espana SL
1224 | 214,532,004,79,es,Spain,34,Yoigo
1225 | 413,1043,005,95,lk,Sri Lanka,94,Bharti Airtel
1226 | 413,1043,003,63,lk,Sri Lanka,94,Etisalat/Tigo
1227 | 413,1043,008,143,lk,Sri Lanka,94,H3G Hutchison
1228 | 413,1043,001,31,lk,Sri Lanka,94,Mobitel Ltd.
1229 | 413,1043,002,47,lk,Sri Lanka,94,MTN/Dialog
1230 | 308,776,001,31,pm,St. Pierre & Miquelon,508,Ameris
1231 | 360,864,110,272,vc,St. Vincent & Gren.,1784,C & W
1232 | 360,864,010,271,vc,St. Vincent & Gren.,1784,Cingular
1233 | 360,864,100,256,vc,St. Vincent & Gren.,1784,Cingular-2
1234 | 360,864,050,80,vc,St. Vincent & Gren.,1784,Digicel
1235 | 360,864,070,1807,vc,St. Vincent & Gren.,1784,Digicel
1236 | 634,1588,000,15,sd,Sudan,249,Canar Telecom
1237 | 634,1588,022,559,sd,Sudan,249,MTN
1238 | 634,1588,002,47,sd,Sudan,249,MTN
1239 | 634,1588,015,351,sd,Sudan,249,Sudani One
1240 | 634,1588,007,127,sd,Sudan,249,Sudani One-2
1241 | 634,1588,005,95,sd,Sudan,249,Vivacell
1242 | 634,1588,008,143,sd,Sudan,249,Vivacell
1243 | 634,1588,001,31,sd,Sudan,249,ZAIN/Mobitel
1244 | 634,1588,006,111,sd,Sudan,249,ZAIN/Mobitel-2
1245 | 746,1862,003,63,sr,Suriname,597,Digicel
1246 | 746,1862,002,47,sr,Suriname,597,Telecommunicatiebedrijf Suriname (TELESUR)
1247 | 746,1862,001,1,sr,Suriname,597,Telesur
1248 | 746,1862,004,79,sr,Suriname,597,UNIQA
1249 | 653,1619,010,271,sz,Swaziland,268,Swazi MTN
1250 | 653,1619,001,31,sz,Swaziland,268,SwaziTelecom
1251 | 240,576,035,863,se,Sweden,46,42 Telecom AB
1252 | 240,576,016,367,se,Sweden,46,42 Telecom AB-2
1253 | 240,576,026,623,se,Sweden,46,Beepsend
1254 | 240,576,000,15,se,Sweden,46,Compatel
1255 | 240,576,028,655,se,Sweden,46,CoolTEL Aps
1256 | 240,576,025,607,se,Sweden,46,Digitel Mobile Srl
1257 | 240,576,022,559,se,Sweden,46,Eu Tel AB
1258 | 240,576,027,639,se,Sweden,46,Fogg Mobile AB
1259 | 240,576,018,399,se,Sweden,46,Generic Mobile Systems Sweden AB
1260 | 240,576,017,383,se,Sweden,46,Gotalandsnatet AB
1261 | 240,576,002,47,se,Sweden,46,H3G Access AB
1262 | 240,576,004,79,se,Sweden,46,H3G Access AB-2
1263 | 240,576,036,879,se,Sweden,46,ID Mobile
1264 | 240,576,023,575,se,Sweden,46,Infobip Ltd.
1265 | 240,576,011,287,se,Sweden,46,Lindholmen Science Park AB
1266 | 240,576,012,303,se,Sweden,46,Lycamobile Ltd
1267 | 240,576,029,671,se,Sweden,46,Mercury International Carrier Services
1268 | 240,576,003,63,se,Sweden,46,Orange
1269 | 240,576,010,271,se,Sweden,46,Spring Mobil AB
1270 | 240,576,014,335,se,Sweden,46,TDC Sverige AB
1271 | 240,576,007,127,se,Sweden,46,Tele2 Sverige AB
1272 | 240,576,005,95,se,Sweden,46,Tele2 Sverige AB
1273 | 240,576,024,591,se,Sweden,46,Tele2 Sverige AB-2
1274 | 240,576,024,591,se,Sweden,46,Telenor (Vodafone)
1275 | 240,576,008,143,se,Sweden,46,Telenor (Vodafone)-2
1276 | 240,576,004,79,se,Sweden,46,Telenor (Vodafone)-3
1277 | 240,576,006,111,se,Sweden,46,Telenor (Vodafone)-4
1278 | 240,576,009,159,se,Sweden,46,Telenor Mobile Sverige AS
1279 | 240,576,005,95,se,Sweden,46,Telia Mobile
1280 | 240,576,001,31,se,Sweden,46,Telia Mobile-2
1281 | 240,576,000,15,se,Sweden,46,EUTel
1282 | 240,576,008,143,se,Sweden,46,Timepiece Servicos De Consultoria LDA (Universal Telecom)
1283 | 240,576,013,319,se,Sweden,46,Ventelo Sverige AB
1284 | 240,576,020,527,se,Sweden,46,Wireless Maingate AB
1285 | 240,576,015,351,se,Sweden,46,Wireless Maingate Nordic AB
1286 | 228,552,051,1311,ch,Switzerland,41,BebbiCell AG
1287 | 228,552,009,159,ch,Switzerland,41,Comfone AG
1288 | 228,552,005,95,ch,Switzerland,41,Comfone AG
1289 | 228,552,007,127,ch,Switzerland,41,TDC Sunrise
1290 | 228,552,054,1359,ch,Switzerland,41,Lycamobile AG
1291 | 228,552,052,1327,ch,Switzerland,41,Mundio Mobile AG
1292 | 228,552,003,63,ch,Switzerland,41,Orange
1293 | 228,552,001,31,ch,Switzerland,41,Swisscom
1294 | 228,552,012,303,ch,Switzerland,41,TDC Sunrise2
1295 | 228,552,002,47,ch,Switzerland,41,TDC Sunrise3
1296 | 228,552,008,143,ch,Switzerland,41,TDC Sunrise4
1297 | 228,552,053,1343,ch,Switzerland,41,upc cablecom GmbH
1298 | 417,1047,002,47,sy,Syrian Arab Republic,963,MTN/Spacetel
1299 | 417,1047,009,159,sy,Syrian Arab Republic,963,Syriatel Holdings
1300 | 417,1047,001,31,sy,Syrian Arab Republic,963,Syriatel Holdings2
1301 | 466,1126,068,1679,tw,Taiwan,886,ACeS Taiwan - ACeS Taiwan Telecommunications Co Ltd
1302 | 466,1126,005,95,tw,Taiwan,886,Asia Pacific Telecom Co. Ltd (APT)
1303 | 466,1126,011,287,tw,Taiwan,886,Chunghwa Telecom LDM
1304 | 466,1126,092,2351,tw,Taiwan,886,Chunghwa Telecom LDM-2
1305 | 466,1126,002,47,tw,Taiwan,886,Far EasTone
1306 | 466,1126,001,31,tw,Taiwan,886,Far EasTone2
1307 | 466,1126,007,127,tw,Taiwan,886,Far EasTone3
1308 | 466,1126,006,111,tw,Taiwan,886,Far EasTone4
1309 | 466,1126,003,63,tw,Taiwan,886,Far EasTone6
1310 | 466,1126,010,271,tw,Taiwan,886,Global Mobile Corp.
1311 | 466,1126,056,1391,tw,Taiwan,886,International Telecom Co. Ltd (FITEL)
1312 | 466,1126,088,2191,tw,Taiwan,886,KG Telecom
1313 | 466,1126,099,2463,tw,Taiwan,886,TransAsia
1314 | 466,1126,097,2431,tw,Taiwan,886,Taiwan Cellular
1315 | 466,1126,093,2367,tw,Taiwan,886,Mobitai
1316 | 466,1126,089,2207,tw,Taiwan,886,VIBO
1317 | 466,1126,009,159,tw,Taiwan,886,VMAX Telecom Co. Ltd
1318 | 436,1078,004,79,tj,Tajikistan,992,Babilon-M
1319 | 436,1078,005,95,tj,Tajikistan,992,Bee Line
1320 | 436,1078,002,47,tj,Tajikistan,992,CJSC Indigo Tajikistan
1321 | 436,1078,012,303,tj,Tajikistan,992,Tcell/JC Somoncom
1322 | 436,1078,003,63,tj,Tajikistan,992,MLT/TT mobile
1323 | 436,1078,001,31,tj,Tajikistan,992,Tcell/JC Somoncom
1324 | 640,1600,008,143,tz,Tanzania,255,Benson Informatics Ltd
1325 | 640,1600,006,111,tz,Tanzania,255,Dovetel (T) Ltd
1326 | 640,1600,009,159,tz,Tanzania,255,ExcellentCom (T) Ltd
1327 | 640,1600,011,287,tz,Tanzania,255,Smile Communications Tanzania Ltd
1328 | 640,1600,007,127,tz,Tanzania,255,Tanzania Telecommunications Company Ltd (TTCL)
1329 | 640,1600,002,47,tz,Tanzania,255,TIGO/MIC
1330 | 640,1600,001,1,tz,Tanzania,255,Tri Telecomm. Ltd.
1331 | 640,1600,004,79,tz,Tanzania,255,Vodacom Ltd
1332 | 640,1600,005,95,tz,Tanzania,255,ZAIN/Celtel
1333 | 640,1600,003,63,tz,Tanzania,255,Zantel/Zanzibar Telecom
1334 | 520,1312,020,527,th,Thailand,66,ACeS Thailand - ACeS Regional Services Co Ltd
1335 | 520,1312,015,351,th,Thailand,66,ACT Mobile
1336 | 520,1312,003,63,th,Thailand,66,Advanced Wireless Networks/AWN
1337 | 520,1312,001,31,th,Thailand,66,AIS/Advanced Info Service
1338 | 520,1312,023,575,th,Thailand,66,Digital Phone Co.
1339 | 520,1312,000,15,th,Thailand,66,Hutch/CAT CDMA
1340 | 520,1312,018,399,th,Thailand,66,Total Access (DTAC)
1341 | 520,1312,005,95,th,Thailand,66,Total Access (DTAC)
1342 | 520,1312,004,79,th,Thailand,66,True Move/Orange
1343 | 520,1312,099,2463,th,Thailand,66,True Move/Orange
1344 | 514,1300,001,31,tl,Timor-Leste,670,Telin/ Telkomcel
1345 | 514,1300,002,47,tl,Timor-Leste,670,Timor Telecom
1346 | 615,1557,002,2,tg,Togo,228,Telecel/MOOV
1347 | 615,1557,003,63,tg,Togo,228,Telecel/MOOV-2
1348 | 615,1557,001,31,tg,Togo,228,Togo Telecom/TogoCELL
1349 | 539,1337,043,1087,to,Tonga,676,Shoreline Communication
1350 | 539,1337,001,1,to,Tonga,676,Tonga Communications
1351 | 374,884,129,297,tt,Trinidad and Tobago,1868,Bmobile/TSTT
1352 | 374,884,130,304,tt,Trinidad and Tobago,1868,Digicel
1353 | 374,884,140,320,tt,Trinidad and Tobago,1868,LaqTel Ltd.
1354 | 605,1541,001,31,tn,Tunisia,216,Orange
1355 | 605,1541,003,63,tn,Tunisia,216,Orascom Telecom
1356 | 605,1541,002,47,tn,Tunisia,216,Tunisie Telecom
1357 | 286,646,004,79,tr,Turkey,90,AVEA/Aria
1358 | 286,646,003,63,tr,Turkey,90,AVEA/Aria-2
1359 | 286,646,001,31,tr,Turkey,90,Turkcell
1360 | 286,646,002,47,tr,Turkey,90,Vodafone-Telsim
1361 | 438,1080,001,31,tm,Turkmenistan,993,Barash Communication
1362 | 438,1080,002,47,tm,Turkmenistan,993,TM-Cell
1363 | 376,886,350,848,tc,Turks and Caicos Islands,,Cable & Wireless (TCI) Ltd
1364 | 376,886,050,80,tc,Turks and Caicos Islands,,Digicel TCI Ltd
1365 | 376,886,352,850,tc,Turks and Caicos Islands,,IslandCom Communications Ltd.
1366 | 553,1363,001,31,tv,Tuvalu,,Tuvalu Telecommunication Corporation (TTC)
1367 | 641,1601,001,31,ug,Uganda,256,Celtel
1368 | 641,1601,066,1647,ug,Uganda,256,i-Tel Ltd
1369 | 641,1601,030,783,ug,Uganda,256,K2 Telecom Ltd
1370 | 641,1601,010,271,ug,Uganda,256,MTN Ltd.
1371 | 641,1601,014,335,ug,Uganda,256,Orange
1372 | 641,1601,033,831,ug,Uganda,256,Smile Communications Uganda Ltd
1373 | 641,1601,018,399,ug,Uganda,256,Suretelecom Uganda Ltd
1374 | 641,1601,011,287,ug,Uganda,256,Uganda Telecom Ltd.
1375 | 641,1601,022,559,ug,Uganda,256,Airtel/Warid
1376 | 255,597,006,111,ua,Ukraine,380,Astelit/LIFE
1377 | 255,597,005,95,ua,Ukraine,380,Golden Telecom
1378 | 255,597,039,927,ua,Ukraine,380,Golden Telecom
1379 | 255,597,004,79,ua,Ukraine,380,Intertelecom Ltd (IT)
1380 | 255,597,067,1663,ua,Ukraine,380,KyivStar
1381 | 255,597,003,63,ua,Ukraine,380,KyivStar2
1382 | 255,597,021,543,ua,Ukraine,380,Telesystems Of Ukraine CJSC (TSU)
1383 | 255,597,007,127,ua,Ukraine,380,TriMob LLC
1384 | 255,597,050,1295,ua,Ukraine,380,UMC/MTS
1385 | 255,597,002,47,ua,Ukraine,380,Beeline
1386 | 255,597,001,31,ua,Ukraine,380,UMC/MTS
1387 | 255,597,068,1679,ua,Ukraine,380,Beeline
1388 | 424,1060,003,63,ae,United Arab Emirates,971,DU
1389 | 431,1073,002,47,ae,United Arab Emirates,971,Etisalat
1390 | 430,1072,002,47,ae,United Arab Emirates,971,Etisalat-2
1391 | 424,1060,002,47,ae,United Arab Emirates,971,Etisalat-3
1392 | 234,564,003,63,gb,United Kingdom,44,Airtel/Vodafone
1393 | 234,564,076,1903,gb,United Kingdom,44,BT Group
1394 | 234,564,077,1919,gb,United Kingdom,44,BT Group2
1395 | 234,564,007,127,gb,United Kingdom,44,Cable and Wireless
1396 | 234,564,092,2351,gb,United Kingdom,44,Cable and Wireless-2
1397 | 234,564,036,879,gb,United Kingdom,44,Calbe and Wireless Isle of Man
1398 | 234,564,018,399,gb,United Kingdom,44,Cloud9/wire9 Tel.
1399 | 235,565,002,47,gb,United Kingdom,44,Everyth. Ev.wh.
1400 | 234,564,017,383,gb,United Kingdom,44,FlexTel
1401 | 234,564,055,1375,gb,United Kingdom,44,Guernsey Telecoms
1402 | 234,564,014,335,gb,United Kingdom,44,HaySystems
1403 | 234,564,094,2383,gb,United Kingdom,44,Hutchinson 3G
1404 | 234,564,020,527,gb,United Kingdom,44,Hutchinson 3G-2
1405 | 234,564,075,1887,gb,United Kingdom,44,Inquam Telecom Ltd
1406 | 234,564,050,1295,gb,United Kingdom,44,Jersey Telecom
1407 | 234,564,035,863,gb,United Kingdom,44,JSC Ingenicum
1408 | 234,564,026,623,gb,United Kingdom,44,Lycamobile
1409 | 234,564,058,1423,gb,United Kingdom,44,Manx Telecom
1410 | 234,564,001,31,gb,United Kingdom,44,Mapesbury C. Ltd
1411 | 234,564,028,655,gb,United Kingdom,44,Marthon Telecom
1412 | 234,564,010,271,gb,United Kingdom,44,O2 Ltd.
1413 | 234,564,002,47,gb,United Kingdom,44,O2 Ltd.
1414 | 234,564,011,287,gb,United Kingdom,44,O2 Ltd.
1415 | 234,564,008,143,gb,United Kingdom,44,OnePhone
1416 | 234,564,016,367,gb,United Kingdom,44,Opal Telecom
1417 | 234,564,034,847,gb,United Kingdom,44,Everyth. Ev.wh./Orange
1418 | 234,564,033,831,gb,United Kingdom,44,Everyth. Ev.wh./Orange-2
1419 | 234,564,019,415,gb,United Kingdom,44,PMN/Teleware
1420 | 234,564,012,303,gb,United Kingdom,44,Railtrack Plc
1421 | 234,564,022,559,gb,United Kingdom,44,Routotelecom
1422 | 234,564,024,591,gb,United Kingdom,44,Stour Marine
1423 | 234,564,037,895,gb,United Kingdom,44,Synectiv Ltd.
1424 | 234,564,031,799,gb,United Kingdom,44,Everyth. Ev.wh./T-Mobile
1425 | 234,564,030,783,gb,United Kingdom,44,Everyth. Ev.wh./T-Mobile-2
1426 | 234,564,032,815,gb,United Kingdom,44,Everyth. Ev.wh./T-Mobile-3
1427 | 234,564,027,639,gb,United Kingdom,44,Vodafone
1428 | 234,564,009,159,gb,United Kingdom,44,Tismi
1429 | 234,564,025,607,gb,United Kingdom,44,Truphone
1430 | 234,564,051,1311,gb,United Kingdom,44,Jersey Telecom
1431 | 234,564,023,575,gb,United Kingdom,44,Vectofone Mobile Wifi
1432 | 234,564,015,351,gb,United Kingdom,44,Vodafone
1433 | 234,564,091,2335,gb,United Kingdom,44,Vodafone
1434 | 234,564,078,1935,gb,United Kingdom,44,Wave Telecom Ltd
1435 | 310,784,050,80,us,United States,1,
1436 | 310,784,880,2176,us,United States,1,
1437 | 310,784,850,2128,us,United States,1,Aeris Comm. Inc.
1438 | 310,784,640,1600,us,United States,1,
1439 | 310,784,510,1296,us,United States,1,Airtel Wireless LLC
1440 | 310,784,190,400,us,United States,1,Unknown
1441 | 312,786,090,144,us,United States,1,Allied Wireless Communications Corporation
1442 | 311,785,130,304,us,United States,1,
1443 | 311,785,030,48,us,United States,1,Americell PA3 LP
1444 | 310,784,710,1808,us,United States,1,Arctic Slope Telephone Association Cooperative Inc.
1445 | 310,784,380,896,us,United States,1,AT&T Wireless Inc.
1446 | 310,784,170,368,us,United States,1,AT&T Wireless Inc.2
1447 | 310,784,150,336,us,United States,1,AT&T Wireless Inc.3
1448 | 310,784,680,1664,us,United States,1,AT&T Wireless Inc.4
1449 | 310,784,070,112,us,United States,1,AT&T Wireless Inc.5
1450 | 310,784,560,1376,us,United States,1,AT&T Wireless Inc.6
1451 | 310,784,410,1040,us,United States,1,AT&T Wireless Inc.7
1452 | 310,784,980,2432,us,United States,1,AT&T Wireless Inc.8
1453 | 311,785,440,1088,us,United States,1,Bluegrass Wireless LLC
1454 | 311,785,810,2064,us,United States,1,Bluegrass Wireless LLC-2
1455 | 311,785,800,2048,us,United States,1,Bluegrass Wireless LLC-3
1456 | 310,784,900,2304,us,United States,1,Cable & Communications Corp.
1457 | 311,785,590,1424,us,United States,1,California RSA No. 3 Limited Partnership
1458 | 311,785,500,1280,us,United States,1,Cambridge Telephone Company Inc.
1459 | 310,784,830,2096,us,United States,1,Caprock Cellular Ltd.
1460 | 311,785,272,626,us,United States,1,Verizon Wireless
1461 | 311,785,288,648,us,United States,1,Verizon Wireless2
1462 | 311,785,277,631,us,United States,1,Verizon Wireless3
1463 | 311,785,482,1154,us,United States,1,Verizon Wireless4
1464 | 310,784,590,1424,us,United States,1,Verizon Wireless5
1465 | 311,785,282,642,us,United States,1,Verizon Wireless6
1466 | 311,785,487,1159,us,United States,1,Verizon Wireless7
1467 | 311,785,271,625,us,United States,1,Verizon Wireless8
1468 | 311,785,287,647,us,United States,1,Verizon Wireless9
1469 | 311,785,276,630,us,United States,1,Verizon Wireless10
1470 | 311,785,481,1153,us,United States,1,Verizon Wireless11
1471 | 310,784,013,19,us,United States,1,Verizon Wireless12
1472 | 311,785,281,641,us,United States,1,Verizon Wireless13
1473 | 311,785,486,1158,us,United States,1,Verizon Wireless14
1474 | 311,785,270,624,us,United States,1,Verizon Wireless15
1475 | 311,785,286,646,us,United States,1,Verizon Wireless16
1476 | 311,785,275,629,us,United States,1,Verizon Wireless17
1477 | 311,785,480,1152,us,United States,1,Verizon Wireless18
1478 | 310,784,012,18,us,United States,1,Verizon Wireless19
1479 | 311,785,280,640,us,United States,1,Verizon Wireless20
1480 | 311,785,485,1157,us,United States,1,Verizon Wireless21
1481 | 311,785,110,272,us,United States,1,Verizon Wireless22
1482 | 311,785,285,645,us,United States,1,Verizon Wireless23
1483 | 311,785,274,628,us,United States,1,Verizon Wireless24
1484 | 311,785,390,912,us,United States,1,Verizon Wireless25
1485 | 310,784,010,16,us,United States,1,Verizon Wireless26
1486 | 311,785,279,633,us,United States,1,Verizon Wireless27
1487 | 311,785,484,1156,us,United States,1,Verizon Wireless28
1488 | 310,784,910,2320,us,United States,1,Verizon Wireless29
1489 | 311,785,284,644,us,United States,1,Verizon Wireless30
1490 | 311,785,489,1161,us,United States,1,Verizon Wireless31
1491 | 311,785,273,627,us,United States,1,Verizon Wireless32
1492 | 311,785,289,649,us,United States,1,Verizon Wireless33
1493 | 310,784,004,4,us,United States,1,Verizon Wireless34
1494 | 311,785,278,632,us,United States,1,Verizon Wireless35
1495 | 311,785,483,1155,us,United States,1,Verizon Wireless36
1496 | 310,784,890,2192,us,United States,1,Verizon Wireless37
1497 | 311,785,283,643,us,United States,1,Verizon Wireless38
1498 | 311,785,488,1160,us,United States,1,Verizon Wireless39
1499 | 312,786,280,640,us,United States,1,Cellular Network Partnership LLC
1500 | 312,786,270,624,us,United States,1,Cellular Network Partnership LLC-2
1501 | 310,784,360,864,us,United States,1,Cellular Network Partnership LLC-3
1502 | 311,785,190,400,us,United States,1,
1503 | 310,784,230,560,us,United States,1,Cellular South Licenses Inc.
1504 | 310,784,030,48,us,United States,1,
1505 | 311,785,120,288,us,United States,1,Choice Phone LLC
1506 | 310,784,480,1152,us,United States,1,Choice Phone LLC-2
1507 | 310,784,630,1584,us,United States,1,
1508 | 310,784,420,1056,us,United States,1,Cincinnati Bell Wireless LLC
1509 | 310,784,180,384,us,United States,1,Cingular Wireless
1510 | 310,784,620,1568,us,United States,1,Coleman County Telco /Trans TX
1511 | 311,785,040,64,us,United States,1,
1512 | 310,784,006,6,us,United States,1,Consolidated Telcom
1513 | 310,784,060,1551,us,United States,1,Consolidated Telcom
1514 | 312,786,380,896,us,United States,1,
1515 | 310,784,930,2352,us,United States,1,
1516 | 311,785,240,576,us,United States,1,
1517 | 310,784,008,8,us,United States,1,Unknown
1518 | 310,784,080,128,us,United States,1,
1519 | 310,784,700,1792,us,United States,1,Cross Valliant Cellular Partnership
1520 | 311,785,140,320,us,United States,1,Cross Wireless Telephone Co.
1521 | 312,786,030,48,us,United States,1,Cross Wireless Telephone Co.2
1522 | 311,785,520,1312,us,United States,1,
1523 | 311,785,810,2064,us,United States,1,Cumberland Cellular Partnership
1524 | 311,785,800,2048,us,United States,1,Cumberland Cellular Partnership2
1525 | 311,785,440,1088,us,United States,1,Cumberland Cellular Partnership3
1526 | 312,786,040,64,us,United States,1,Custer Telephone Cooperative Inc.
1527 | 310,784,016,22,us,United States,1,Denali Spectrum License LLC
1528 | 310,784,440,1088,us,United States,1,Dobson Cellular Systems
1529 | 310,784,990,2448,us,United States,1,E.N.M.R. Telephone Coop.
1530 | 312,786,130,304,us,United States,1,East Kentucky Network LLC
1531 | 312,786,120,288,us,United States,1,East Kentucky Network LLC-2
1532 | 310,784,750,1872,us,United States,1,East Kentucky Network LLC-3
1533 | 310,784,009,9,us,United States,1,Edge Wireless LLC
1534 | 310,784,090,144,us,United States,1,Edge Wireless LLC
1535 | 310,784,610,1552,us,United States,1,Elkhart TelCo. / Epic Touch Co.
1536 | 311,785,210,528,us,United States,1,
1537 | 311,785,311,785,us,United States,1,Farmers
1538 | 311,785,460,1120,us,United States,1,Fisher Wireless Services Inc.
1539 | 311,785,370,880,us,United States,1,GCI Communication Corp.
1540 | 310,784,430,1072,us,United States,1,GCI Communication Corp.-2
1541 | 310,784,920,2336,us,United States,1,Get Mobile Inc.
1542 | 310,784,970,2416,us,United States,1,
1543 | 310,784,007,127,us,United States,1,Unknown
1544 | 311,785,250,592,us,United States,1,i CAN_GSM
1545 | 311,785,340,832,us,United States,1,Illinois Valley Cellular RSA 2 Partnership
1546 | 311,785,030,48,us,United States,1,
1547 | 312,786,170,368,us,United States,1,Iowa RSA No. 2 Limited Partnership
1548 | 311,785,410,1040,us,United States,1,Iowa RSA No. 2 Limited Partnership2
1549 | 310,784,770,1904,us,United States,1,Iowa Wireless Services LLC
1550 | 310,784,650,1616,us,United States,1,Jasper
1551 | 310,784,870,2160,us,United States,1,Kaplan Telephone Company Inc.
1552 | 311,785,810,2064,us,United States,1,Kentucky RSA #3 Cellular General Partnership
1553 | 311,785,800,2048,us,United States,1,Kentucky RSA #3 Cellular General Partnership2
1554 | 311,785,440,1088,us,United States,1,Kentucky RSA #3 Cellular General Partnership3
1555 | 311,785,440,1088,us,United States,1,Kentucky RSA #4 Cellular General Partnership4
1556 | 311,785,810,2064,us,United States,1,Kentucky RSA #4 Cellular General Partnership5
1557 | 311,785,800,2048,us,United States,1,Kentucky RSA #4 Cellular General Partnership6
1558 | 312,786,180,384,us,United States,1,Keystone Wireless LLC
1559 | 310,784,690,1680,us,United States,1,Keystone Wireless LLC-2
1560 | 311,785,310,784,us,United States,1,Lamar County Cellular
1561 | 310,784,016,22,us,United States,1,LCW Wireless Operations LLC
1562 | 310,784,016,22,us,United States,1,Leap Wireless International Inc.
1563 | 311,785,090,144,us,United States,1,
1564 | 310,784,040,64,us,United States,1,Matanuska Tel. Assn. Inc.
1565 | 310,784,780,1920,us,United States,1,Message Express Co. / Airlink PCS
1566 | 311,785,660,1632,us,United States,1,
1567 | 311,785,330,816,us,United States,1,Michigan Wireless LLC
1568 | 311,785,000,0,us,United States,1,
1569 | 311,785,390,912,us,United States,1,
1570 | 310,784,400,1024,us,United States,1,Minnesota South. Wirel. Co. / Hickory
1571 | 312,786,010,16,us,United States,1,Missouri RSA No 5 Partnership
1572 | 311,785,920,2336,us,United States,1,Missouri RSA No 5 Partnership2
1573 | 311,785,020,32,us,United States,1,Missouri RSA No 5 Partnership3
1574 | 311,785,010,16,us,United States,1,Missouri RSA No 5 Partnership4
1575 | 312,786,220,544,us,United States,1,Missouri RSA No 5 Partnership5
1576 | 310,784,350,848,us,United States,1,Mohave Cellular LP
1577 | 310,784,570,1392,us,United States,1,MTPCS LLC
1578 | 310,784,290,656,us,United States,1,NEP Cellcorp Inc.
1579 | 310,784,034,847,us,United States,1,Nevada Wireless LLC
1580 | 311,785,380,896,us,United States,1,
1581 | 310,784,600,1536,us,United States,1,New-Cell Inc.
1582 | 311,785,100,256,us,United States,1,
1583 | 311,785,300,768,us,United States,1,Nexus Communications Inc.
1584 | 310,784,130,304,us,United States,1,North Carolina RSA 3 Cellular Tel. Co.
1585 | 312,786,230,560,us,United States,1,North Dakota Network Company
1586 | 311,785,610,1552,us,United States,1,North Dakota Network Company2
1587 | 310,784,450,1104,us,United States,1,Northeast Colorado Cellular Inc.
1588 | 311,785,710,1808,us,United States,1,Northeast Wireless Networks LLC
1589 | 310,784,670,1648,us,United States,1,Northstar
1590 | 310,784,011,17,us,United States,1,Northstar
1591 | 311,785,420,1056,us,United States,1,Northwest Missouri Cellular Limited Partnership
1592 | 310,784,540,1344,us,United States,1,
1593 | 310,784,740,1856,us,United States,1,
1594 | 310,784,760,1888,us,United States,1,Panhandle Telephone Cooperative Inc.
1595 | 310,784,580,1408,us,United States,1,PCS ONE
1596 | 311,785,170,368,us,United States,1,PetroCom
1597 | 311,785,670,1648,us,United States,1,Pine Belt Cellular Inc.
1598 | 311,785,080,128,us,United States,1,
1599 | 310,784,790,1936,us,United States,1,
1600 | 310,784,100,256,us,United States,1,Plateau Telecommunications Inc.
1601 | 310,784,940,2368,us,United States,1,Poka Lambro Telco Ltd.
1602 | 311,785,540,1344,us,United States,1,
1603 | 311,785,730,1840,us,United States,1,
1604 | 310,784,500,1280,us,United States,1,Public Service Cellular Inc.
1605 | 312,786,160,352,us,United States,1,RSA 1 Limited Partnership
1606 | 311,785,430,1072,us,United States,1,RSA 1 Limited Partnership
1607 | 311,785,350,848,us,United States,1,Sagebrush Cellular Inc.
1608 | 311,785,030,48,us,United States,1,Sagir Inc.
1609 | 311,785,910,2320,us,United States,1,
1610 | 310,784,046,1135,us,United States,1,SIMMETRY
1611 | 311,785,260,608,us,United States,1,SLO Cellular Inc / Cellular One of San Luis
1612 | 310,784,320,800,us,United States,1,Smith Bagley Inc.
1613 | 310,784,015,351,us,United States,1,Unknown
1614 | 316,790,011,17,us,United States,1,Southern Communications Services Inc.
1615 | 310,784,002,2,us,United States,1,Sprint Spectrum
1616 | 312,786,190,400,us,United States,1,Sprint Spectrum
1617 | 311,785,880,2176,us,United States,1,Sprint Spectrum2
1618 | 311,785,870,2160,us,United States,1,Sprint Spectrum3
1619 | 311,785,490,1168,us,United States,1,Sprint Spectrum4
1620 | 310,784,120,288,us,United States,1,Sprint Spectrum5
1621 | 316,790,010,16,us,United States,1,Sprint Spectrum6
1622 | 310,784,031,799,us,United States,1,T-Mobile
1623 | 310,784,220,544,us,United States,1,T-Mobile2
1624 | 310,784,270,624,us,United States,1,T-Mobile3
1625 | 310,784,210,528,us,United States,1,T-Mobile4
1626 | 310,784,260,608,us,United States,1,T-Mobile5
1627 | 310,784,200,512,us,United States,1,T-Mobile6
1628 | 310,784,250,592,us,United States,1,T-Mobile7
1629 | 310,784,160,352,us,United States,1,T-Mobile8
1630 | 310,784,240,576,us,United States,1,T-Mobile9
1631 | 310,784,660,1632,us,United States,1,T-Mobile10
1632 | 310,784,230,560,us,United States,1,T-Mobile11
1633 | 310,784,300,768,us,United States,1,T-Mobile12
1634 | 310,784,280,640,us,United States,1,T-Mobile13
1635 | 310,784,330,816,us,United States,1,T-Mobile14
1636 | 310,784,800,2048,us,United States,1,T-Mobile15
1637 | 310,784,310,784,us,United States,1,T-Mobile16
1638 | 311,785,740,1856,us,United States,1,
1639 | 310,784,740,1856,us,United States,1,Telemetrix Inc.
1640 | 310,784,014,335,us,United States,1,Testing
1641 | 310,784,950,2384,us,United States,1,Unknown
1642 | 310,784,860,2144,us,United States,1,Texas RSA 15B2 Limited Partnership
1643 | 311,785,830,2096,us,United States,1,Thumb Cellular Limited Partnership
1644 | 311,785,050,80,us,United States,1,Thumb Cellular Limited Partnership2
1645 | 310,784,460,1120,us,United States,1,TMP Corporation
1646 | 310,784,490,1168,us,United States,1,Triton PCS
1647 | 312,786,290,656,us,United States,1,Uintah Basin Electronics Telecommunications Inc.
1648 | 311,785,860,2144,us,United States,1,Uintah Basin Electronics Telecommunications Inc.2
1649 | 310,784,960,2400,us,United States,1,Uintah Basin Electronics Telecommunications Inc.3
1650 | 310,784,020,32,us,United States,1,Union Telephone Co.
1651 | 311,785,220,544,us,United States,1,United States Cellular Corp.
1652 | 310,784,730,1840,us,United States,1,United States Cellular Corp.2
1653 | 311,785,650,1616,us,United States,1,United Wireless Communications Inc.
1654 | 310,784,038,911,us,United States,1,USA 3650 AT&T
1655 | 310,784,520,1312,us,United States,1,VeriSign
1656 | 310,784,003,3,us,United States,1,Unknown
1657 | 310,784,023,575,us,United States,1,Unknown2
1658 | 310,784,024,591,us,United States,1,Unknown3
1659 | 310,784,025,607,us,United States,1,Unknown4
1660 | 310,784,530,1328,us,United States,1,West Virginia Wireless
1661 | 310,784,026,623,us,United States,1,Unknown
1662 | 310,784,340,832,us,United States,1,Westlink Communications LLC
1663 | 311,785,150,336,us,United States,1,
1664 | 311,785,070,112,us,United States,1,Wisconsin RSA #7 Limited Partnership
1665 | 310,784,390,912,us,United States,1,Yorkville Telephone Cooperative
1666 | 748,1864,001,31,uy,Uruguay,598,Ancel/Antel
1667 | 748,1864,003,63,uy,Uruguay,598,Ancel/Antel
1668 | 748,1864,010,271,uy,Uruguay,598,Claro/AM Wireless
1669 | 748,1864,007,127,uy,Uruguay,598,MOVISTAR
1670 | 434,1076,004,79,uz,Uzbekistan,998,Bee Line/Unitel
1671 | 434,1076,001,1,uz,Uzbekistan,998,Buztel
1672 | 434,1076,007,127,uz,Uzbekistan,998,MTS/Uzdunrobita
1673 | 434,1076,005,95,uz,Uzbekistan,998,Ucell/Coscom
1674 | 434,1076,002,2,uz,Uzbekistan,998,Uzmacom
1675 | 541,1345,005,95,vu,Vanuatu,678,DigiCel
1676 | 541,1345,000,0,vu,Vanuatu,678,DigiCel2
1677 | 541,1345,001,31,vu,Vanuatu,678,SMILE
1678 | 734,1844,003,3,ve,Venezuela,58,DigiTel C.A.
1679 | 734,1844,002,47,ve,Venezuela,58,DigiTel C.A.2
1680 | 734,1844,001,1,ve,Venezuela,58,DigiTel C.A.3
1681 | 734,1844,006,111,ve,Venezuela,58,Movilnet C.A.
1682 | 734,1844,004,79,ve,Venezuela,58,Movistar/TelCel
1683 | 452,1106,007,127,vn,Viet Nam,84,Beeline
1684 | 452,1106,001,31,vn,Viet Nam,84,Mobifone
1685 | 452,1106,003,63,vn,Viet Nam,84,S-Fone/Telecom
1686 | 452,1106,005,95,vn,Viet Nam,84,VietnaMobile
1687 | 452,1106,008,143,vn,Viet Nam,84,Viettel Mobile
1688 | 452,1106,006,111,vn,Viet Nam,84,Viettel Mobile2
1689 | 452,1106,004,79,vn,Viet Nam,84,Viettel Mobile3
1690 | 452,1106,002,47,vn,Viet Nam,84,Vinaphone
1691 | 376,886,350,848,vi,Virgin Islands U.S.,1340,Cable & Wireless (Turks & Caicos)
1692 | 376,886,050,1295,vi,Virgin Islands U.S.,1340,Digicel
1693 | 376,886,352,850,vi,Virgin Islands U.S.,1340,IslandCom
1694 | 421,1057,004,79,ye,Yemen,967,HITS/Y Unitel
1695 | 421,1057,002,47,ye,Yemen,967,MTN/Spacetel
1696 | 421,1057,001,31,ye,Yemen,967,Sabaphone
1697 | 421,1057,003,63,ye,Yemen,967,Yemen Mob. CDMA
1698 | 645,1605,003,63,zm,Zambia,260,Cell Z/MTS
1699 | 645,1605,002,47,zm,Zambia,260,MTN/Telecel
1700 | 645,1605,001,31,zm,Zambia,260,Zain/Celtel
1701 | 648,1608,004,79,zw,Zimbabwe,263,Econet
1702 | 648,1608,001,31,zw,Zimbabwe,263,Net One
1703 | 648,1608,003,63,zw,Zimbabwe,263,Telecel
1704 |
--------------------------------------------------------------------------------