Телефон поддерживает запись во время активных звонков. Доступны два метода записи:
Сохранение RTP-потока в виде форматированного файла в локальное хранилище (USB).
Отправка RTP-потока на сервер записи для хранения и управления.
Данный документ применим к IP-телефонам серий BX3S, BX4, BX5S, BX6, BX7, BX7C, GP210, GP210i и BXU.
Этот документ предназначен для внутренних инженеров по разработке и тестированию, которым необходимо понимать реализацию и улучшение функции записи звонков на телефоне.
Создается локальный поток только на прием, который смешивается с потоком вызова. Телефон привязывается к локальному порту для приема смешанных RTP-данных, которые затем записываются в локальный файл или отправляются на удаленный сервер.

Для локальной записи требуется USB-флеш-накопитель. Телефон проверяет емкость USB-накопителя, создает файл с именем Record_[SystemTime] и сохраняет RTP-данные.
Если достигнут лимит размера файла и остается место, автоматически создается новый файл. Во время записи поддерживается пауза/возобновление.
Формат файла локальной записи (.wav):
| char codec[64] | int32_t rtpLen | int32_t increment | uint32_t dataSize | rtp data | rtp data | ... |
codec: Аудиокодек записи
rtpLen: Длина RTP-данных
increment: Приращение временной метки
dataSize: Общая длина RTP-данных
Серверная запись требует настройки serverAddr и serverPort. Связь включает управляющие команды (TCP) и RTP-медиа (UDP).
Телефон инициирует сеанс записи. Сервер выделяет выделенный UDP-порт для RTP-потока.
Формат команды начала записи
Запрос: cmd=RecordStartRequest&id=xxx&device=xxx&remote_number=xxx&remote_name=xxx&local_number=xxx&local_name=xxx&dir=in|out&codec=xxx
Ответ: cmd=RecordStartResponse&id=xxx&result=success|failed&reason=xxx&server=xxx&port=xxx
id: Уникальный идентификатор сеанса (случайный, фиксированный во время записи)
device: MAC-адрес телефона
dir: Направление вызова (входящий/исходящий)
codec: RTP-кодек (PCMA|PCMU)
server/port: UDP-адрес для RTP-потока
Примечание: Если сервер отвечает "failed", телефон отобразит сообщение о неудаче записи.
Формат команды остановки записи
Запрос: cmd=RecordStopRequest&id=xxx&remote_number=xxx&remote_name=xxx&local_number=xxx&local_name=xxx&reason=xxx
Ответ: cmd=RecordStopResponse&id=xxx&result=success
При ошибке сокета обе стороны завершают сеанс и очищают состояния.
Телефон отправляет RTP-пакеты на сервер через UDP до получения команды остановки или потери соединения.
Телефон анализирует заголовки файла (кодек, временная метка, длина), чтобы рассчитать продолжительность воспроизведения и управлять им.
Для локальной записи требуется USB-накопитель. Поддерживается на BX5S/BX6; НЕ поддерживается на BX3S/BX4.
Включите запись через Приложения > Управление записью, установите режим Локальный.

Настройте клавишу DSS/функциональную клавишу как Запись.
Вставьте USB-накопитель, совершите звонок, нажмите клавишу Запись для начала.

Нажмите снова, чтобы остановить запись.
Просматривайте/воспроизводите записи через Приложения > USB.

Установите программное обеспечение RecordServer (поддерживает PCMA/PCMU/G722).
Путь к серверу: \\172.16.1.8\firmware\Applications\RecordServer
Запустите RecordServer.exe для запуска службы.
В веб-интерфейсе телефона включите запись, установите тип Сеть, введите IP/порт сервера, выберите кодек.

Совершите звонок, нажмите клавишу DSS Запись.

Остановите запись и загрузите файлы с сервера.

Зарегистрируйте телефон на сервере, совместимом с SIP INFO (например, 3CX).
В веб-интерфейсе включите запись и установите тип SIP INFO.

Настройте клавишу DSS Запись, запускайте/останавливайте запись во время звонков.
Просматривайте записи на портале управления SIP-сервера (3CX).