Справочник
Источник справочника — это место, где MacroSIP ищет людей по имени или номеру: LDAP-сервер вашей компании, файл CSV или JSON по URL, ваши контакты Google или приложение «Контакты» macOS. Результаты появляются в поле номера по мере ввода, подставляют имена входящим абонентам и могут быть импортированы в Контакты. Вкладка — Настройки › Справочник.
Источники
Источник добавляется кнопкой + в Настройках › Справочник. Лист Добавить источник справочника содержит список Тип, поле Название, поля конкретного типа и выбор в группе Результаты (ниже). Проверить проверяет соединение и отвечает «Подключено · записей: 184».
| Тип | Поля и поведение |
|---|---|
| LDAP | Сервер (ldap://ldap.example.com или ldaps://…; «ldaps:// или StartTLS, если возможно.»), переключатель Использовать StartTLS (для ldaps не учитывается), Base DN, Bind DN («Пусто для анонимного поиска.»), Пароль («Хранится в связке ключей.»), Фильтр поиска (по умолчанию (|(cn=*%s*)(telephoneNumber=*%s*)); «%s — введённый текст.»). |
| URL (CSV или JSON) | URL (http, https или file), Формат CSV / JSON (угадывается по расширению, пока вы его не измените), Обновлять каждые час / 6 часов / сутки / неделю. CSV нужна строка заголовков; разделители — запятая, точка с запятой или табуляция; кодировка UTF-8 или Windows-1251. JSON — массив объектов (или объект, содержащий такой массив). Распознаваемые столбцы: name, first name, last name, number / phone / telephone / extension, mobile / cell, email / mail, organization / company (регистр, пробелы, _ и - не учитываются). Строки без номера пропускаются. |
| Контакты macOS | Полей нет. Источник называется «Контакты macOS» и показывает «Этот Mac». Разрешить доступ вызывает системный запрос доступа к Контактам («MacroSIP ищет имена и номера в Контактах, когда вы выполняете поиск из поля номера.»); при запуске ничего не спрашивается. Если отказать, состояние читается «Доступ запрещён» с кнопкой Открыть Системные настройки…. |
| Контакты Google | Войти через Google: «Один раз открывает Google в браузере, чтобы разрешить доступ к контактам только для чтения. MacroSIP хранит только токен доступа в связке ключей; доступ можно отозвать в аккаунте Google в любой момент.» В браузере открывается страница согласия Google; тем временем вместо кнопки показано «Ожидание Google…», а закрытие листа прерывает вход. Когда Google возвращает вас в приложение, строка Аккаунт Google показывает вашу эл. почту с зелёной галочкой, и Добавить сохраняет источник (состояние «Подключено»). Дальше он участвует в поиске, импорте и определении звонящих, как любой другой источник; строки результатов несут метку Google. Сборка без client id Google отвечает «Вход в Google в этой сборке не настроен». |
Список источников показывает колонки «Источник» (название, адрес, «только поиск» или «импорт в Контакты»), «Состояние» и переключатель Вкл.. «Результаты показываются в этом порядке; порядок меняется перетаскиванием. Выключенный источник не опрашивается и не синхронизируется.» − спрашивает «Удалить „LDAP головного офиса“?» — «Контакты, уже импортированные из этого источника, остаются в Контактах.»
Выход из Контактов Google — это удаление источника кнопкой −: вместе с ним из связки ключей удаляется токен доступа, а импортированные карточки остаются. Доступ можно отозвать и в аккаунте Google; источник тогда показывает Нужен вход, а вкладка предлагает Войти… («Доступ истёк или был отозван» — «Поиск пропускает этот источник, пока вы не войдёте снова.»), что снова открывает браузер.
Только поиск или импорт в Контакты
Каждый источник работает в одном из двух режимов:
- Только поиск — «результаты не сохраняются». Записи появляются в поле номера и при определении звонящего, ничего не записывается.
- Импорт в Контакты — «копируются и обновляются раз в сутки». Каждая запись становится карточкой контакта. Источники URL обновляются со своим интервалом; остальные — раз в сутки, Контакты macOS — только если доступ уже был разрешён.
Подсказки в поле номера
Если включено Искать в справочниках из поля номера, при вводе в поле номера показываются раздел Контакты (сначала ваши собственные карточки) и раздел Справочник с результатами в порядке источников. Строка показывает аватар, имя с совпавшими буквами жирным, номер и метку источника (LDAP, URL, Контакты, Google). «Поиск: LDAP головного офиса…» с индикатором отмечает источник, который ещё не ответил; ожидание прекращается через 3 с. Когда все ответили, список заканчивается строкой «7 результатов из 2 источников». Номер, который уже есть в Контактах, показывается один раз — как локальный контакт.
Настройки: Минимум символов (1–5, по умолчанию 2; «Поиск начинается после стольких символов и паузы 300 мс при вводе.») и Результатов от источника (1–10, по умолчанию 5). Текст из одних цифр тоже ищется.
Щелчок по строке подставляет её номер в поле; Return на выделенной строке звонит; Escape закрывает список, второй Escape очищает поле. Контекстное меню предлагает Позвонить, Скопировать номер и Добавить в контакты (создаёт собственную карточку).
Определение входящих абонентов
Искать имена входящих абонентов (включено по умолчанию): «Опрашивает источники только для поиска не дольше 1 секунды, пока идёт вызов.» Импортируемые источники уже находятся в Контактах и сопоставляются локально. Номера сравниваются по цифрам, так что +1 202 555-0123 и 2025550123 — одна строка. Имя из справочника используется, когда отображаемое имя SIP пустое или совпадает с номером, и сохраняется в записи журнала.
Импорт по кнопке и расписание
Для источника в режиме импорта в колонке «Состояние» показана кнопка Импортировать («Импорт…», пока он выполняется). Результат на десять секунд появляется баннером под списком: «Импортировано 120 контактов (обновлено: 14)», «Импортировать нечего» или «Не удалось импортировать: Нет соединения с ldap.example.com». Неудачный импорт не выключает ни кнопку, ни расписание; «Обновлено 5 мин. назад» показывает время последнего успешного импорта.
Правила слияния
- Записи сопоставляются с существующими контактами по номеру и никогда не дублируются.
- Карточка, которую создал тот же источник, при каждом импорте следует за справочником: имя, организация, эл. почта и фото заменяются, недостающие номера добавляются.
- Карточка, которую вы создали или редактировали сами, сохраняет имя, фото и остальное; она получает только то, чего ей не хватает (пустая организация или эл. почта, отсутствующее фото, новые номера).
- Заметки, избранное и аккаунт для звонков никогда не затрагиваются.
- Новые карточки получают заметку «Импортировано из LDAP головного офиса».
Состояния
| Состояние | Значение |
|---|---|
| Подключено | Проверка или последний поиск прошли успешно. |
| Обновлено 5 мин. назад | Последний успешный импорт (для источников URL — последняя загрузка). |
| Нужен вход | Контакты Google без токена или с доступом, который Google отозвал; источник пропускается, пока вы не нажмёте Войти… и не завершите вход в браузере. |
| Доступ запрещён | macOS отказала в доступе к Контактам; разрешите MacroSIP в Системных настройках › Конфиденциальность и безопасность › Контакты. |
| Выключено | Переключатель «Вкл.» выключен. |
| Текст ошибки | «Время ожидания истекло», «Нет соединения с ldap.example.com», «Неверный bind DN или пароль», «HTTP 404», «В заголовке нет столбца с номером», «Файл не является корректным JSON», «В JSON нет массива контактов», «Сервер должен быть вида ldap://host или ldaps://host», «Вход в Google в этой сборке не настроен». Источник с ошибкой пропускается 60 с, затем опрашивается снова. |
Ошибки LDAP описаны на странице Решение-проблем, а карточка, которую заполняет импорт, — на странице Контакты-и-журнал.
