/**
  * Returns instance of Tinebase_Config
  *
  * @return Tinebase_Config
  */
 public static function getInstance()
 {
     if (self::$_instance === NULL) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
 /**
  * normalize number
  *
  * @param $number
  * @return string
  */
 public function resolveInternalNumber($number)
 {
     $number = preg_replace('/[^\\d\\+]/', '', $number);
     if (empty($number)) {
         return $number;
     }
     $config = Phone_Config::getInstance();
     $localPrefix = $config->get(Phone_Config::LOCAL_PREFIX);
     // if the number does not start with the local prefix, its an internal number. prefix and return
     if (strpos($number, $localPrefix) !== 0) {
         //if the number is longer than 5 digits, its actually an international number with/out + *sight*
         if (strlen($number) > 5) {
             if ($number[0] !== '+') {
                 $number = '+' . $number;
             }
             return $number;
         } else {
             return $config->get(Phone_Config::OWN_NUMBER_PREFIX) . $number;
         }
     } else {
         // cut local prefix
         $number = substr($number, strlen($localPrefix));
     }
     // if its a local number, prefix area code and return
     if (preg_match($config->get(Phone_Config::LOCAL_CALL_REGEX), $number)) {
         return $config->get(Phone_Config::AREA_CODE) . $number;
     }
     return $number;
 }