MacroSIP
EnglishРусский中文

Решение проблем

Первый запуск заблокирован

«Не удаётся открыть MacroSIP, так как не удалось проверить разработчика»: приложение подписано ad hoc, без нотаризации. Щёлкните MacroSIP в папке «Программы» правой кнопкой и выберите Открыть либо один раз выполните xattr -dr com.apple.quarantine /Applications/MacroSIP.app. Подробности на странице Установка. Обновления, установленные самим приложением, открываются без этого диалога.

Меня никто не слышит: доступ к микрофону

Панель звонка показывает «Доступ к микрофону выключен» с кнопкой Открыть Системные настройки. Разрешите MacroSIP в Системных настройках › Конфиденциальность и безопасность › Микрофон. Из-за подписи ad hoc macOS спрашивает снова после каждого обновления; разрешите ещё раз при первом звонке после обновления. Затем проверьте индикатор уровня в Настройках › Звук, пока говорите.

Аккаунт показывает «403» или «401»

Статус Значение Что делать
401 Unauthorized, 403 Forbidden Сервер отклонил учётные данные. В Настройках › Аккаунты показано «Сервер отклонил REGISTER в 14:52. Проверьте имя пользователя и пароль.» Проверьте Имя пользователя, Пароль и, если ваша АТС использует отдельное имя для аутентификации, Имя для входа в группе «Дополнительно». Нажмите Проверить в редакторе: «Регистрация прошла успешно (120 мс)» подтверждает, что всё исправлено.
«Нет ответа» (при проверке) или «Офис · повтор через 8 с» Сервер не отвечает. Проверьте имя сервера и порт, Транспорт (UDP, TCP или TLS; АТС должна слушать выбранный) и межсетевые экраны. Движок повторяет попытки с растущим интервалом.
Бесконечная «Регистрация…» Пакеты уходят, но ответа нет. То же, что выше; попробуйте другой транспорт или укажите STUN-сервер.

Все статусы описаны на странице Аккаунты.

Ошибки сертификата TLS

При Транспорт: TLS движок проверяет сертификат сервера по системным корневым сертификатам. Сертификат, который не соответствует хосту, просрочен или самоподписан, окончательно срывает регистрацию (без повторов) с причиной TLS в статусе и журнале. Исправьте сертификат на сервере или, для самоподписанного сертификата, которому вы доверяете, выключите Проверять сертификат сервера в группе «Дополнительно» редактора («Отключайте, только если у сервера самоподписанный сертификат.»).

Нет звука или звук в одну сторону

Обычно виноват NAT или межсетевой экран между вами и АТС. Укажите STUN-сервер, оставьте включёнными Использовать ICE и Использовать rport, разрешите UDP на локальном порту SIP и в диапазоне портов RTP и проверьте устройства в Настройках › Звук. Полный список шагов — на странице Звук.

Звонки обрываются при смене сети

Движок сразу регистрируется заново при смене сети или пробуждении и отправляет re-INVITE, чтобы звонки пережили смену IP-адреса; панель звонка тем временем показывает «Восстановление связи… 12 с», а строка состояния — «Офис · повтор через 8 с». Если медиа не восстанавливаются за 60 с, звонок завершается с пометкой «Связь потеряна» в журнале. Если обрывы продолжаются, уменьшите Интервал keep-alive в Настройках › Сеть.

Кнопки гарнитуры не работают

MacroSIP читает телефонные органы управления HID у USB-гарнитур (трубка, flash, удержание, микрофон, повтор). Проверьте, что Кнопки гарнитуры в Настройках › Звук включены и что строка называет ваше устройство («Подключено: Jabra Evolve2 65»); «Нет гарнитуры с кнопками управления звонком» означает, что ни одно подключённое устройство не показывает телефонных органов управления. В файле журнала есть строка «headset buttons: <имя> connected, …», когда устройство подхвачено, и «headset buttons: cannot open …», когда macOS не дала его открыть; это может быть связано с разрешением «Мониторинг ввода» (Системные настройки › Конфиденциальность и безопасность). Bluetooth-гарнитуры, чьи кнопки работают через профиль hands-free, обрабатывает сама macOS; они не поддерживаются. Автопереключение на гарнитуру на той же вкладке — отдельная возможность, кнопки ей не нужны.

Собеседник не слышит музыку на удержании

Проверьте Источник в Настройках › Звук › Музыка на удержании: Выкл. отправляет тишину. Многие АТС подменяют то, что телефон передаёт на удержании, собственной музыкой ожидания, и собеседник слышит музыку сервера, а не MacroSIP; это настройка сервера. Файл, который движок не смог прочитать, оставляет прежний источник, а подпись группы называет причину («Файл не удалось использовать: …»). Сами вы музыку на удержании не слышите никогда.

Звонит не та мелодия, которую я выбрал

  1. Откройте Настройки › Звук › Мелодия звонка и нажмите Прослушать. Прослушивание играет реальный выбор с выбранной громкостью, так что вы слышите то, с чем будет звонить входящий звонок. Классическая, Цифровая и Мягкая — три разные мелодии.
  2. Если в списке ваш файл («Свой файл: office-bell.m4a»), а звучит прежний звук, посмотрите под группой: там может быть «Не удалось использовать файл мелодии: …». Файл, который не удалось прочитать (повреждён, защищён или в формате, который macOS не открывает), оставляет прежний выбор. Используйте файл WAV, AIFF, M4A или MP3.
  3. Нет звука совсем: проверьте Громкость (0 — тишина) и Устройство для мелодии; это вывод только для звонка, и он может указывать на гарнитуру или другой динамик.
  4. До 26.3 выбранная мелодия работала только при прослушивании, а входящие всегда звонили стандартной. Обновитесь до 26.3.0 или новее (Установка).

См. Звук.

Сообщение «Отправлено», а телефон его не получил

Отправлено означает лишь, что SIP-сервер (или собеседник) принял сообщение. Это не значит, что телефон его получил: доставка на мобильный зависит от сервера и того, что за ним (для SMS через Asterisk chan_dongle — модем, SIM-карта и оператор). Проверьте журнал сервера. Сообщение, которое не приняли, показывает Не отправлено с причиной и кнопкой Повторить. См. Сообщения.

Если вкладки «Сообщения» нет совсем, сообщения выключены: включите Текстовые сообщения (SIP MESSAGE) в Настройках › Основные.

Имена звонящих неверные или отсутствуют

Имя берётся из отображаемого имени SIP, затем из контакта, совпавшего по любому из его номеров, затем из источника справочника, который опрашивается не дольше одной секунды. Добавьте номер в контакт или добавьте источник справочника (Справочник).

Ошибки справочника и LDAP

Текст Значение
«Нет соединения с ldap.example.com» Хост недоступен или неверный порт.
«Время ожидания истекло» Нет ответа за 3 с (30 с для импорта).
«Неверный bind DN или пароль» Простая привязка отклонена. Оставьте Bind DN пустым для анонимного поиска.
«Сервер должен быть вида ldap://host или ldaps://host» В поле «Сервер» нет схемы.
«Введите адрес http, https или file», «HTTP 404» Источник URL недоступен или адрес неверен.
«В заголовке нет столбца с номером», «Файл не текстовый» CSV без распознаваемого столбца с номером или не текстовый файл.
«Файл не является корректным JSON», «В JSON нет массива контактов» Источник JSON повреждён.
«Доступ запрещён», «Доступ к Контактам ещё не запрашивался» Разрешение на Контакты macOS; разрешите MacroSIP в Системных настройках › Конфиденциальность и безопасность › Контакты.
«Нужен вход» Контакты Google без действующего токена (вход ещё не выполнен или доступ отозван). Выберите источник в Настройках › Справочник и нажмите Войти…; браузер откроет страницу согласия Google.
«Вход в Google в этой сборке не настроен» В сборке нет client id Google, поэтому войти в Контакты Google нельзя; остальные типы источников работают. Установите сборку, настроенную для входа в Google.

Сообщение библиотеки, которое MacroSIP не может перевести (диагностика LDAP), показывается как есть. Источник с ошибкой пропускается 60 с, затем опрашивается снова.

Файл журнала и диагностика

MacroSIP пишет ~/Library/Logs/MacroSIP/MacroSIP.log (по 2 МБ на файл, хранятся 3 файла). Настройки › Основные › Дополнительно › Файл журнала › Открыть папку показывает его в Finder; Диагностика › Скопировать копирует в буфер обмена версии, macOS, аккаунты без паролей и настройки («Диагностика скопирована в буфер обмена.»). Для более подробной трассировки SIP запустите приложение командой open /Applications/MacroSIP.app --args --log-level 5 (0–6). Приложение также пишет в системный журнал под подсистемой com.hsmm.macrosip.

Режим отладки и архив для диагностики

Режим отладки пишет в журнал гораздо больше подробностей, в том числе SIP-сообщения. Включайте его, когда проблема требует более тщательного разбора, и затем отправьте разработчикам архив:

  1. Откройте Настройки › Основные › Дополнительно › Устранение неполадок и включите Режим отладки. Он действует сразу, без перезапуска, и остаётся включённым между запусками, пока его не выключите. Файлы журнала тогда растут до 8 МБ, хранятся 3 файла. Если MacroSIP запущен с --log-level или MACROSIP_LOG_LEVEL, этот уровень важнее: переключатель неактивен и показывает уровень, с которым запущено приложение.
  2. Повторите проблему: совершите звонок или попытайтесь зарегистрироваться, если регистрация не проходит.
  3. Нажмите Создать архив… в той же группе и выберите, куда сохранить ZIP. Имя по умолчанию — MacroSIP-diagnostics-YYYYMMDD-HHmm.zip, на рабочем столе. После сохранения MacroSIP показывает архив в Finder и баннер «Архив диагностики сохранён: …».
  4. Отправьте ZIP вместе с отчётом о проблеме, как описано ниже, в разделе «Как сообщить о проблеме». Отправляйте его только тому, кому доверяете.
  5. Выключите Режим отладки. Пока этого не сделано, журнал продолжает расти.

Архив содержит:

Номера телефонов и адреса серверов в архиве остаются. Пароли и значения для аутентификации в копиях удаляются (заменяются на <redacted>): digest-ответ, nonce, cnonce и opaque, учётные данные Basic и Bearer, пароли в адресах URL. Файлы журнала на вашем Mac не меняются.

Где хранятся настройки и контакты

Что Где
Аккаунты (без паролей), контакты, журнал звонков, настройки, быстрые клавиши ~/Library/Application Support/MacroSIP/ в файлах accounts.json, contacts.json, calllog.json, settings.json; фото в photos/. Запись атомарная; повреждённый файл откладывается как <name>.broken-<date>.json или contacts.damaged-<date>.json, и приложение запускается с тем, что удалось прочитать.
Пароли (SIP-аккаунты, LDAP bind) Связка ключей входа, служба com.hsmm.macrosip, по записи на идентификатор аккаунта. Удаление аккаунта удаляет его запись.
Записи разговоров ~/Music/MacroSIP Recordings или папка, выбранная в Настройках › Запись.
Журнал ~/Library/Logs/MacroSIP/.

Чтобы переехать на другой Mac, скопируйте папку Application Support и введите пароли заново.

Как сообщить о проблеме

Создайте issue на github.com/HSMM/MacroSIP/issues и укажите:

  1. Версию MacroSIP (MacroSIP › О программе) и версию macOS.
  2. Результат команды Скопировать из строки «Диагностика» (паролей в нём нет).
  3. Что вы делали, чего ожидали, что произошло и в какое время, чтобы можно было найти нужные строки в MacroSIP.log. При сбоях звонков или регистрации приложите журнал, удалив из него всё личное.
  4. Тип АТС или оператора (Asterisk, FreePBX, 3CX, …), если знаете.

Пожелания по новым возможностям отправляйте туда же; план — в roadmap.

Другие страницы: Главная · Home (English)