/**
  * function _detectMSISDN
  * call to detect user phone number
  * @return string $phone
  */
 static function _detectMSISDN($channel = 'wap', $deviceId = NULL, $os = '')
 {
     if (isset($_GET['test']) && $_GET['test'] != "") {
         switch ($_GET['test']) {
             case 1:
                 $phone = "841266046664";
                 break;
             case 2:
                 $phone = "841205126493";
                 break;
         }
         return $phone;
     }
     self::$_os = !empty($os) ? $os : '';
     $msisdn = '';
     // F5: 10.x.y.z
     $F5IPPattern = "/^10(\\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}\$/";
     // WAPGW: 172.16.30.[11-12], 113.185.0.16
     $WAPGWIPPattern = "/^(172\\.16\\.30\\.1[1-2]|113\\.185\\.0\\.16)\$/";
     // Dai ip 113.185.[1-31].0/24 thuoc F5 tuy nhien khong nhan dien duoc
     $OtherIpPattern = "/^113\\.185\\.([1-9]|1[0-9]|2[0-9]|3[0-1])\\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\$/";
     $remoteIp = rtrim(ltrim($_SERVER['REMOTE_ADDR']));
     $userAgent = $_SERVER['HTTP_USER_AGENT'];
     if (strpos($userAgent, 'Opera') !== false) {
         $isOpera = true;
         $remoteIp = isset($_SERVER['HTTP_X_IPADDRESS']) ? $_SERVER['HTTP_X_IPADDRESS'] : $_SERVER['REMOTE_ADDR'];
         $remoteIp = trim($remoteIp);
     } else {
         $isOpera = false;
     }
     /*if(YII_DEBUG){
           $check_mobifone_ip = IpHelper::getIspNameByIp($remoteIp);
       }*/
     $check_mobifone_ip = IpHelper::getIspNameByIp($remoteIp);
     if ($check_mobifone_ip == 'MOBIFONE') {
         if ($msisdn == '') {
             $msisdn = isset($_SERVER['HTTP_X_WAP_MSISDN']) && $_SERVER['HTTP_X_WAP_MSISDN'] ? $_SERVER['HTTP_X_WAP_MSISDN'] : $msisdn;
         }
         if ($msisdn == '') {
             $msisdn = isset($_SERVER['X_WAP_MSISDN']) && $_SERVER['X_WAP_MSISDN'] ? $_SERVER['X_WAP_MSISDN'] : $msisdn;
         }
         if ($msisdn == '') {
             $msisdn = isset($_SERVER['X-WAP-MSISDN']) && $_SERVER['X-WAP-MSISDN'] ? $_SERVER['X-WAP-MSISDN'] : $msisdn;
         }
         if ($msisdn == '') {
             $msisdn = isset($_SERVER['X-Wap-MSISDN']) && $_SERVER['X-Wap-MSISDN'] ? $_SERVER['X-Wap-MSISDN'] : $msisdn;
         }
         if ($msisdn == '') {
             $msisdn = isset($_SERVER['MSISDN']) && $_SERVER['MSISDN'] ? $_SERVER['MSISDN'] : $msisdn;
         }
         if ($msisdn == '') {
             $msisdn = isset($_SERVER['msisdn']) && $_SERVER['msisdn'] ? $_SERVER['msisdn'] : $msisdn;
         }
         if ($msisdn == '') {
             $msisdn = isset($_SERVER['HTTP-X-WAP-MSISDN']) && $_SERVER['HTTP-X-WAP-MSISDN'] ? $_SERVER['HTTP-X-WAP-MSISDN'] : $msisdn;
         }
         if ($msisdn == '') {
             $msisdn = isset($_SERVER['HTTP_X_WAP_MSISDN']) && $_SERVER['HTTP_X_WAP_MSISDN'] ? $_SERVER['HTTP_X_WAP_MSISDN'] : $msisdn;
         }
         if ($msisdn == '') {
             $msisdn = isset($_SERVER['HTTP-MSISDN']) && $_SERVER['HTTP-MSISDN'] ? $_SERVER['HTTP-MSISDN'] : $msisdn;
         }
         if ($msisdn == '') {
             $msisdn = isset($_SERVER['HTTP_MSISDN']) && $_SERVER['HTTP_MSISDN'] ? $_SERVER['HTTP_MSISDN'] : $msisdn;
         }
         if ($msisdn == '') {
             $msisdn = isset($_SERVER['X-MSISDN']) && $_SERVER['X-MSISDN'] ? $_SERVER['X-MSISDN'] : $msisdn;
         }
         if ($msisdn == '') {
             $msisdn = isset($_SERVER['X_MSISDN']) && $_SERVER['X_MSISDN'] ? $_SERVER['X_MSISDN'] : $msisdn;
         }
         if ($msisdn == '') {
             $msisdn = isset($_SERVER['HTTP_X_UP_CALLING_LINE_ID']) && $_SERVER['HTTP_X_UP_CALLING_LINE_ID'] ? $_SERVER['HTTP_X_UP_CALLING_LINE_ID'] : $msisdn;
         }
         $lastLog = isset(Yii::app()->session['log_detect']) ? Yii::app()->session['log_detect'] : 0;
         if (time() - $lastLog > 600) {
             self::_logDetectMSISDN($msisdn, "F5", $channel, $deviceId);
             Yii::app()->session['log_detect'] = time();
         }
     }
     $type = '';
     // Truy cap tu mang Mobifone, ko nhan dien dc => sau 10ph log vao DB de thong ke
     /* if ((!$msisdn || $msisdn == '') && (preg_match($F5IPPattern, $remoteIp))) {
            $lastTimeLog = isset(Yii::app()->session['fail_detect']) ? Yii::app()->session['fail_detect'] : 0;
            if (time() - $lastTimeLog > 600) {
                self::_logDetectMSISDN("", $type, $channel, $deviceId);
                Yii::app()->session['fail_detect'] = time();
            }
        } */
     return $msisdn;
 }