Перейти к содержимому

Как в truecaller в контакт добавить телефон

  • автор:

Asterisk и Truecaller. Определение имени неизвестного абонента при входящих звонках

TrueCaller — это сервис по определению имени абонента при входящих звонках, а также блокировка спама. На смартфонах с CyanogenOS 12.1 он вшит в штатную звонилку. Также можете установить себе TrueDialler/TrueCaller с GooglePlay/AppStore/BlackBerryWorld/WindowsPhoneStore.

Если вы активировали данный функционал в вашем смартфоне, то ваша книга контактов полностью слита на сервера Truecaller’а? Проверить, есть ли ваш номер в базе можно по ссылке, например: https://www.truecaller.com/ru/74996813210 (необходима аутентификация).

На данный момент сервис насчитывает 1.6 миллиарда номеров по всему миру. Выписать свой номер из базы возможно по ссылке https://www.truecaller.com/unlist.

Прикручиваем Truecaller к Asterisk’у

На сайте Truecaller’а есть возможность определить имя абонента по номеру телефона. Вход на сайт возможен только через сторонние сервисы и социальные сети. Для аутентификации я выбрал Вконтакте (протокол Oauth).

1. Вручную войти на сайт truecaller.com, используя ранее зарегистрированную учетную запись вконтакте, разрешить доступ.
2. Необходимо создать внутреннюю БД для хранения уже однажды звонивших контактов. Это необходимо чтобы каждый раз не обращаться к сервису truecaller’а.
3. Написать скрипт прохождения аутентификации на сайте truecaller.com через сеть вконтакте, а также функцию для проверки номеров на наличие имени абонента.

Скрипт написан на PHP для удобства внедрения под AGI и общей читаемости.

Создадим БД в MySQL:

USE asterisk; CREATE TABLE asterisk.phonebook ( id int(11) NOT NULL AUTO_INCREMENT, create_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, number varchar(20) NOT NULL, name varchar(80) NOT NULL, temporary_contact tinyint(1) NOT NULL DEFAULT 1, PRIMARY KEY (id) ) ENGINE = INNODB AUTO_INCREMENT = 9 AVG_ROW_LENGTH = 8192 CHARACTER SET utf8 COLLATE utf8_general_ci; 

PHP скрипт /var/lib/asterisk/agi-bin/phonebook.php (для тех кто делает через PHP-AGI, не забудьте раскомментировать соответствующие строчки, результат вы получите в переменную канала CID_NAME):

#!/usr/bin/php -q else $cookie_file='/tmp/asterisk_truecaller_vk.cookie'; $vk = array("login"=> "логин_вконтакте", "password"=> "пароль_вконтакте"); $mysql = array("hostname" => "localhost", "login"=> "root", "password"=> "пароль_mysql", "database"=> "asterisk"); if (!is_null($num)) < $callerid_name=get_num($num,$vk,$mysql,$cookie_file,true); return $callerid_name; >else < echo "Номер телефона не задан\n"; //$agi->set_variable("CID_NAME", ""); return false; > // поиск номера на сервисе truecaller function get_num($num,$vk,$mysql,$cookie_file,$isauth) < // ищем в своей базе mysql_connect($mysql['hostname'],$mysql['login'],$mysql['password']); mysql_select_db($mysql['database']) or die(mysql_error()); mysql_query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER SET 'utf8'"); mysql_query("SET SESSION collation_connection = 'utf8_general_ci'"); $query = "SELECT * FROM phonebook WHERE `number`=$num"; $res = mysql_query($query); $count = mysql_num_rows($res); if ($count>0) while ($row=mysql_fetch_array($res)) < $name=$row['name']; echo "Найден контакт в MySQL '".$name."'\n"; //$agi->set_variable("CID_NAME", "$name"); return $name; > mysql_close(); // ищем в truecaller if ($isauth) < $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://www.truecaller.com/ru/'.$num ); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); $data = curl_exec($ch); curl_close($ch); if (preg_match("/You need to sign in to view the result/i", $data)) < echo "Необходима аутентификация TC\n"; $isauth = oauth_vk($vk, $cookie_file); get_num($num,$vk,$mysql,$cookie_file,$isauth); >else < preg_match("/0) < $name=$matches[1]; echo "Найден контакт в TC '".$name."'\n"; mysql_connect($mysql['hostname'],$mysql['login'],$mysql['password']); mysql_select_db($mysql['database']) or die(mysql_error()); mysql_query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER SET 'utf8'"); mysql_query("SET SESSION collation_connection = 'utf8_general_ci'"); $query = "INSERT INTO phonebook (`name`,`number`) VALUE ('".$name."','".$num."')"; $res = mysql_query($query); mysql_close(); //$agi->set_variable("CID_NAME", "$name"); return $name; > else < echo "Совпадения в TC не найдены\n"; //$agi->set_variable("CID_NAME", ""); return false; > > > else < echo "Аутентификация TC не была пройдена, попробуйте в следующий раз\n"; //$agi->set_variable("CID_NAME", ""); return false; > > // авторизация через кнопку "зайти через вконтакте" function oauth_vk($vk, $cookie_file) < unlink($cookie_file); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://oauth.vk.com/authorize?client_id=4951501&scope=friends%2Coffline&redirect_uri=http%3A%2F%2Fwww.truecaller.com%2Fsign-in%2Fvk&response_type=code&state=KKoLuT0vbWEOXfqIW9C0yAvoX7uoEDszIrVOxYSr'); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); // сохранять куки в файл curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); $data = curl_exec($ch); curl_close($ch); preg_match("//i", $data, $matches); if (count($matches)>0) $action=$matches[1]; preg_match("//i", $data, $matches); if (count($matches)>0) $origin=$matches[1]; preg_match("//i", $data, $matches); if (count($matches)>0) $ip_h=$matches[1]; preg_match("//i", $data, $matches); if (count($matches)>0) $lg_h=$matches[1]; preg_match("//i", $data, $matches); if (count($matches)>0) $to=$matches[1]; if (isset($action) && isset($origin) && isset($ip_h) && isset($lg_h) && isset($to)) < $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $action ); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, array( '_origin'=>$origin, 'ip_h'=>$ip_h, 'lg_h'=>$lg_h, 'to'=>$to, 'email'=>$vk['login'], 'pass'=>$vk['password'] )); $data = curl_exec($ch); curl_close($ch); preg_match('/Location: (http\:\/\/www\.truecaller\.com\/sign\-in\/vk\?code\=.+)\&state.+/', $data, $matches); if (count($matches)>0) $location=$matches[1]; if (isset($location)) < $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $location); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); $data = curl_exec($ch); curl_close($ch); if (preg_match("/\Signed In \| Truecaller\/i", $data)) < echo "Аутентификация VK пройдена успешно\n"; return true; >else < echo "Ошибка при прохождении авторизации через VK / не найдена строка о успешной авторизации\n"; return false; >> else < echo "Ошибка при прохождении авторизации через VK / переменная location не получена\n"; return false; >> else < echo "Ошибка при прохождении авторизации через VK / не все переменные получены action='".$action."', origin='".$origin."', ip_h='".$ip_h."', lg_h='".$lg_h."', to='".$to."'\n"; return false; >> ?> 

У меня диалплан на LUA, поэтому в extensions.lua:

local call = <> call.cid_num = channel["CALLERID(num)"]:get() call.cid_name = "" -- ищем телефонный номер в базе local handle = io.popen("/var/lib/asterisk/agi-bin/phonebook.php "..call.cid_num) local founded_name = handle:read("*a") handle:close() app.Noop(founded_name) _, _, call.cid_name = string.find(founded_name,"Найден%sконтакт%sв.+%s'(.+)'") channel["CALLERID(name)"]:set(call.cid_name) 

В данном скрипте нет учета блокировки спам контактов. Данная статья описана как «обзорная» по возможности интеграции столь чудесного сервиса Truecaller с вашей PBX.

Truecaller – что это такое

Каждый раз, когда звонит неизвестный номер, мы стоим перед выбором: брать трубку или нет? Ведь люди устают от постоянных рекламных кампаний, социальных опросов и агрессивных продаж. С другой стороны, существует вероятность пропустить важный и нужный звонок. Для решения подобных проблем было создано специальное приложение Truecaller. Что это за программа и как ей пользоваться рассмотрим ниже.

Truecaller – что это

Truecaller – это мобильное приложение на Android, которое представляет собой глобальный телефонный справочник с информацией о популярных контактах. С ее помощью смартфон идентифицирует практически все номера телефонов, с которых вам звонят.

Truecaller

После того, как приложение было установлено на устройство, автоматически происходит добавление контактов из телефонной книги на сервера Truecaller. Там номера сравниваются с уже внесенными и при наличии совпадений повышается их рейтинг. В основном это контакты банков, правительственных горячих линий, онлайн магазинов и интернет ресурсов. Теперь вам доступна общая база данных пользователей телефонной связи по всему миру.

На данный момент база знаний программы развита в Северной Америке, Индии и государствах Евросоюза. Это связано с большой популярностью сервиса, за счет чего ежедневно количество номеров на сервере увеличивается на 2-3 тысячи. В постсоветском пространстве Truecaller слабо популяризирован, поэтому порой найти нужную информацию по неизвестному номеру проблематично.

Основные возможности truecaller service

Приложение имеет красивый и интуитивно понятный пользовательский интерфейс, поэтому заблудиться в нем не получится. В памяти смартфона занимает до 40 Мб и не нагружает ни процессор, ни оперативную память.

Из основных функций можно выделить следующее:

Настройки в Truecaller

    возможность отредактировать и украсить свой контакт – именно так он будет отображаться в общей базе;

Главное меню в Truecaller

  • полный доступ к всемирному хранилищу номеров;
  • автоматическое определение абонента при входящем звонке (если он содержится в базе);
  • поиск по интересующему номеру телефона;
  • выбор, какие контакты добавлять в базу (с вашего устройства), а какие нет;
  • определение популярности и рейтинга своего номера.

    Как удалить?

    В 98% случаев приложение не системное, поэтому его можно удалить без прав суперпользователя. Для этого нужно:

    Удаление Truecaller

    1. Перейти в «Настройки» – «Приложения».
    2. Найти Truecaller и тапнуть по нему.
    3. Нажать кнопку «Удалить».

    Подтверждение удаления Truecaller?

    Подтвердить операцию.

    После этого программа полностью покинет устройство.

    Внимание! После удаления приложения все номера, которые вы отправили на сервер, остаются там навсегда.

    Анализируя отзывы пользователей, можно сделать вывод, что данный софт очень полезен, безопасен и «не прожорлив» к аппаратным ресурсам смартфона. Поэтому рекомендован к установке. Теперь вы знаете, что это за программа Truecaller и как она работает.

    • Лучшие аналоги Word – платные, бесплатные и онлайн-платформы
    • Автоматическое обновление драйверов. Самые удобные программы
    • SAP – программа для бухгалтеров. Как работает?

    Как настроить и использовать приложение Truecaller на iPhone

    Truecaller – одно из самых популярных приложений для идентификации и блокировки звонков. Оно позволяет определить, кто вам звонит, защищает вас от спам-звонков и др. В этой инструкции мы расскажем вам, как настроить и использовать приложение Truecaller на iPhone.

    Truecaller-on-iPhone

    • Как настроить приложение Truecaller
    • Включите защиту от спама
    • Дайте доступ к контактам
    • Как через Truecaller узнать, кто вам звонил
    • Как через Truecaller узнать отправителя сообщения
    • Как с помощью Truecaller узнать, кому принадлежит номер
    • Как скрыть свой статус в Truecaller
    • Как включить фильтрацию SMS через Truecaller
    • Получайте уведомления о просмотре вашего профиля в Truecaller
    • Другие функции Truecaller на iPhone
    • Как убрать свой номер из базы данных Truecaller

    Как настроить приложение Truecaller

    Настраивается приложение несложно, как и любое другое. Для начала скачайте приложение Truecaller из App Store на свой iPhone. Когда приложение будет загружено, откройте его, введите свой номер телефона, а затем введите код подтверждения, который придёт вам в SMS.

    Создайте свой профиль, введя своё имя и почтовый ящик.

    1

    Включите защиту от спама

    В процессе настройки вы можете включить защиту от спама, которая будет предупреждать вас о спам-звонках сервисных центров, телемагазинов, рекламщиков и т.п. Для этого откройте приложение «Настройки» > «Блокировка и идентификация вызова» и включите все опции Truecaller.

    2

    Дайте доступ к контактам

    После включения защиты от спама вам нужно будет предоставить приложению доступ к своим контактам. В приложении сказано: «Ваши контакты ни при каких обстоятельствах не будут передаваться кому-либо». Нажмите «Предоставить права доступа», а затем «Разрешить» на всплывшем окне.

    Даже если вы решите не давать приложению доступ к своим контактам, оно всё равно сможет идентифицировать входящие звонки.

    На этом же экране нужно дать приложению доступ к уведомлениям.

    После этого появится экран с условиями премиальной подписки. Пока что она вам не нужна. Бесплатная версия с рекламой отлично справляется со своими задачами.

    Как через Truecaller узнать, кто вам звонил

    1) Откройте приложение «Телефон» на своём iPhone и внизу выберите вкладку «Недавние».

    2) Рядом с нужным звонком нажмите значок (i).

    3) Пролистайте вниз и выберите «Поделиться контактом».

    3

    4) Выберите пункт «Искать в Truecaller». Вы также можете нажать «Просмотреть весь профиль», чтобы узнать больше.

    4

    Как через Truecaller узнать отправителя сообщения

    1) Откройте приложение «Сообщения» и выберите нужный вам чат.

    2) Вверху экрана нажмите номер телефона или фото профиля.

    3) Нажмите кнопку «Сведения».

    4) Нажмите «Поделиться контактом» и выберите «Искать в Truecaller».

    5

    Как с помощью Truecaller узнать, кому принадлежит номер

    Вы также можете открыть приложение Truecaller и ввести любой номер, чтобы узнать, кому он принадлежит. Можно скопировать номер откуда угодно, и приложение само считает его из вашего буфера обмена.

    Если этого вдруг не случится, вставьте номер самостоятельно, нажав значок в виде папки.

    Для многих номеров отображается страна. Вы также можете узнать, когда человек последний раз был в сети.

    6

    Когда вы будете искать кого-то через Truecaller, приложение покажет вам, когда контакт последний раз был онлайн в приложении. Чтобы узнать, когда кто-то из ваших контактов последний раз был в сети, откройте приложение Truecaller и внизу выберите вкладку «Ещё» > «Мои контакты».

    Как скрыть свой статус в Truecaller

    Если вы не хотите, чтобы другие могли узнать, когда вы последний раз были в приложении Truecaller, откройте приложение и выберите «Ещё» > «Настройки» > «Центр конфиденциальности» и отключите опцию «Статус». Теперь никто не будет видеть информацию о том, когда вы последний раз использовали приложение. Но и вы не будете видеть статус других пользователей.

    Как включить фильтрацию SMS через Truecaller

    Защита от спам-звонков включается в процессе настройки приложения. Позже вы также можете включить в нём блокировку SMS-сообщений со спамом. Если вы используете встроенный фильтр SMS от Apple, то не получится включить ещё и фильтр Truecaller. Придётся выбирать.

    Вот как включить фильтрацию SMS в приложении Truecaller в iOS 14 и новее:

    1) Откройте приложение «Настройки» и выберите секцию «Сообщения».

    2) Пролистайте вниз и выберите пункт «Неизвестные и спам».

    3) Включите опцию «Фильтрация по отправителю».

    4) Выберите Truecaller вместо других сервисов в списке.

    7

    Получайте уведомления о просмотре вашего профиля в Truecaller

    Подписка Truecaller Premium убирает рекламу из приложения и разблокирует дополнительные функции, включая:

    • Кто просматривал мой профиль: Позволяет узнать, кто в последнее время просматривал ваш профиль в приложении Truecaller.
    • Режим инкогнито: Позволяет просматривать чужие профили так, чтобы им не приходили уведомления об этом. Оформив подписку, в приложении выберите «Ещё»>«Настройки» >«Центр конфиденциальности» и включите опцию «Просматривать профили приватно».

    Другие функции Truecaller на iPhone

    Теперь вы знаете, как с помощью приложения Truecaller узнавать, кто вам звонил, когда они последний раз были в сети и др. В приложении есть ещё много других функций, вроде личных и групповых чатов, голосовых звонков, возможности помечать номера как спам и т.д.

    В базе данных Truecaller более 3 миллиардов номеров. К сожалению, большинство пользователей приложения (более 70%) находятся в Индии. Из-за этого информация может быть доступна далеко не о всех номерах в России.

    Как убрать свой номер из базы данных Truecaller

    Если вы не хотите, чтобы ваш номер отображался в приложении Truecaller, нужно деактивировать свой аккаунт и удалить оттуда свой номер. Если вы никогда не создавали аккаунт в Truecaller, переходите сразу к 4 шагу.

    1) В приложении Truecaller выберите «Ещё» > «Настройки» > «Центр конфиденциальности».

    2) Нажмите «Деактивировать учётную запись».

    3) Выберите «Удалить мои данные», а затем нажмите «Деактивировать учётную запись».

    4) Теперь зайдите на сайт Truecaller, введите свой номер и подтвердите, что вы не робот.

    5) Нажмите кнопку Unlist, и в течение 24 часов ваш номер с другой информацией будет полностью удалён из базы данных Truecaller. Вы также не сможете пользоваться приложением Truecaller до тех пор, пока снова не создадите новую учётную запись.

    8

    Не забудьте удалить приложение Truecaller со своего iPhone, если больше не планируете им пользоваться.

    Использование сервиса TrueCaller

    TrueCaller — это сервис по определению имени абонента при входящих звонках, а также блокировка спама. На смартфонах с CyanogenOS 12.1 он вшит в штатную звонилку. Также можете установить себе TrueDialler/TrueCaller с GooglePlay/AppStore/BlackBerryWorld/WindowsPhoneStore. Если вы активировали данный функционал в вашем смартфоне, то ваша книга контактов полностью слита на сервера Truecaller’а. Проверить, есть ли ваш номер в базе можно по ссылке, например: https://www.truecaller.com/ru/74996813210 (необходима аутентификация). На данный момент сервис насчитывает 1.6 миллиарда номеров по всему миру.

    Как считаете.. было бы интересно если бы сервис пытался определить имя контакта по номеру телефона при входящем звонке по этой базе?
    Или может есть другие подобные способы определения контакта? Например, у меня были идеи копаться в Ваших контактах если вы укажите и дадите доступ к учёткам gmail.com ��
    Но.. TrueCaller в этом смысле как-то выгоднее, т.к. база уже есть и она “мультиплатформенная”.

    28.09.2015 в 21:34 #9439

    На днях открыл для себя что есть такой сервис как https://www.truecaller.com/
    Цитата: TrueCaller — это сервис по определению имени абонента при входящих звонках, а также блокировка спама. На смартфонах с CyanogenOS 12.1 он вшит в штатную звонилку. Также можете установить себе TrueDialler/TrueCaller с GooglePlay/AppStore/BlackBerryWorld/WindowsPhoneStore. Если вы активировали данный функционал в вашем смартфоне, то ваша книга контактов полностью слита на сервера Truecaller’а. Проверить, есть ли ваш номер в базе можно по ссылке, например: https://www.truecaller.com/ru/74996813210 (необходима аутентификация). На данный момент сервис насчитывает 1.6 миллиарда номеров по всему миру.

    :)

    Как считаете.. было бы интересно если бы сервис пытался определить имя контакта по номеру телефона при входящем звонке по этой базе?
    Или может есть другие подобные способы определения контакта? Например, у меня были идеи копаться в Ваших контактах если вы укажите и дадите доступ к учёткам gmail.com
    Но.. TrueCaller в этом смысле как-то выгоднее, т.к. база уже есть и она “мультиплатформенная”. Т.е. к примеру в истории можно будет посмотрить кто/кому звонил?! Было бы интересно!
    П.С установил только что себе tfuecaller dialer…
    Что-то он у меня только 1 контакт из 300 распознал (((
    Думал, как минимум хотябы укажет по номерам – оператор, страна, регион…((

    28.09.2015 в 21:36 #9445

    Вот и в моём случае он распознал совсем немного номеров.
    Потому стоит ли мучаться и подключать его? Это вопрос.

  • Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *