SIP video calls from the operating room (add-on module)
Видеосвязь SIP: звонки из операционной (доп. модуль)
Операционная может позвонить по видеосвязи на SIP-номер: на видеотерминал кафедры, в конференц-зал, на SIP-телефон или программу (Linphone, MicroSIP, Zoiper). Собеседник видит то, что транслирует Vidicap, и говорит с операционной: его голос звучит в динамиках Vidicap. Звонить можно и на операционную, но только с адресов из списка больницы.
Vidicap при этом ничего нового не делает: он, как и раньше, шлёт одну трансляцию в платформу. Звонит платформа (сервер больницы или vidicap.cloud) через АТС больницы.
Главное правило то же, что у «Трансляции в интернет»: без «Разрешить» или «Принять» на экране Vidicap звонок не начнётся. Микрофон операционной в начале звонка выключен, его включают на экране Vidicap.
Как это устроено
- Администратор больницы один раз добавляет сервис «видеосвязь SIP»: учётную запись операционной на АТС больницы и список «Куда позвонить».
- Врач на странице точки выбирает, куда позвонить, и нажимает «Позвонить: …».
- На экране Vidicap появляется запрос: кто просит, кому звонить, что проверить в кадре.
- В операционной нажимают «Разрешить». Платформа звонит; когда собеседник ответил, он видит трансляцию Vidicap, а операционная слышит его.
- Завершить можно на экране Vidicap («Завершить звонок»), на странице точки, или собеседник просто кладёт трубку.
| Что | Где |
|---|---|
| учётная запись SIP, «Куда позвонить», журнал звонков | платформа → организация → «Внешние сервисы» (администратор больницы) |
| позвонить, завершить, послушать собеседника | страница точки → блок «Отправить дальше» (владельцы точки и администраторы) |
| «Разрешить», «Принять», микрофон, «Заставка», «Завершить звонок» | экран Vidicap, поверх любого экрана программы |
Что уходит собеседнику, а что нет
- Картинка: то, что сейчас транслирует Vidicap (выбранный вход и «картинка в картинке»).
- Звук операционной: только после «Микрофон включён» на экране Vidicap. До этого собеседник слышит тишину.
- Имя пациента, ID и название записи не уходят никогда: их нет в видео, и платформа их не передаёт.
- Пароль учётной записи SIP хранится только на платформе, на Vidicap он не передаётся.
- Входящие звонки принимаются только с адресов из «Куда позвонить». С других адресов звонок сбрасывается, и на Vidicap ничего не появляется.
Что нужно
| Что | Версия |
|---|---|
| Vidicap Touch 2.0 | 2.62.0 и новее (английские надписи окна звонка: 2.67.0) |
| Vidicap Touch 1.0 | программа 1.53.0 и новее |
| агент платформы на Vidicap | 1.61.0 и новее |
| доп. модули | vidicap-module-live 1.1.0 («Трансляция в интернет») и vidicap-module-sip 1.0.0 (ключ лицензии «Видеосвязь SIP») |
| сервер | сервер больницы или vidicap.cloud со службой calls; учётная запись на АТС больницы (SIP) |
Модули ставятся как любые другие: «Настройки» → «Платформа» → «Доп. модули» → «Установить модуль». «Видеосвязь SIP» без «Трансляции в интернет» не ставится. Пока одного из модулей нет на Vidicap, кнопка «Позвонить» неактивна, а под ней написано, какого модуля не хватает.
1. Учётная запись и «Куда позвонить» (администратор больницы)
Платформа → организация → «Внешние сервисы» → «Добавить сервис».
- Сервис: «видеосвязь SIP».
- Название: как его увидят на странице точки и на Vidicap, например «Видеосвязь МОБ».
- Адрес сервера: учётная запись операционной на АТС больницы, например
or3@pbx.hospital.by. Её выдаёт служба связи больницы. - Ключ трансляции: пароль этой учётной записи. Если АТС пускает без пароля, оставьте пустым.
- Точки: где можно звонить.
- Принимать входящие звонки: отметьте, если на операционную должны звонить. Тогда у сервиса может быть отмечена только одна точка: номер принадлежит одной операционной.

Ниже, в разделе «Куда позвонить», добавьте адреса, на которые операционные звонят и с которых им можно звонить: «Кто» (как увидит врач) и «Адрес SIP» (1203@pbx.bsmu.by или sip:1203@pbx.bsmu.by).

В журнале видны все звонки: → исходящий, ← входящий, кто начал, итог (например «ошибка · 486 Busy Here», если номер занят), сколько минут и кто завершил.
2. Позвонить (врач, на странице точки)
- Убедитесь, что Vidicap транслирует.
- На странице точки в блоке «Отправить дальше» выберите «Куда позвонить».
- Нажмите «Позвонить: <название сервиса>». Строка покажет «ждёт разрешения операционной», рядом кнопка «Отменить».


Во время разговора в строке видно «идёт разговор». Кнопка «Слушать собеседника» показывает и даёт услышать собеседника прямо на странице, «Завершить звонок» кладёт трубку.

В операционной одновременно может идти только один звонок.
3. Разрешить или принять (в операционной, на экране Vidicap)
Исходящий звонок: запрос «<врач> просит позвонить: <кто>». Проверьте пункты и нажмите «Разрешить» или «Отклонить».


Входящий звонок: «Входящий звонок: <кто>» и кнопка «Принять». Если в операционной не ответили 2 минуты, звонок сбрасывается.


Пока идёт звонок, вверху горит красная плашка «● Звонок».


4. Во время звонка: микрофон, «Заставка», «Завершить звонок»
Нажмите на плашку. В окне звонка: кому звоним, сколько идёт разговор, кто позвонил.


- «Микрофон выключен» / «Микрофон включён»: собеседник слышит операционную, только пока микрофон включён.
- «Заставка»: собеседник вместо видео видит неподвижную картинку, звонок не прерывается. «Показать картинку» возвращает видео.
- «Завершить звонок»: кладёт трубку.
- «Остановить всё внешнее»: завершает звонок и все внешние трансляции сразу.
Если Vidicap перестал транслировать больше чем на минуту, платформа завершает звонок сама.
Если не работает
| Что видно | Что сделать |
|---|---|
| «Позвонить» неактивна, «нет модуля «Видеосвязь SIP»» | установите на Vidicap модули «Трансляция в интернет» и «Видеосвязь SIP» |
| нет списка «Куда позвонить» | администратор больницы должен добавить адреса во «Внешние сервисы» → «Куда позвонить» |
| «ошибка · 486 Busy Here» | номер занят, позвоните позже |
| «ошибка · не ответили» | собеседник не ответил за 75 секунд |
| «ошибка · 403 Forbidden» или «401» | неверный адрес или пароль учётной записи SIP: проверьте их со службой связи больницы |
| звонок идёт, но собеседник не видит или не слышит | на сервере закрыты порты медиа (UDP 20000–20199) или АТС за NAT: см. ниже |
| входящий звонок не появляется на Vidicap | адреса звонящего нет в «Куда позвонить», у сервиса не отмечено «Принимать входящие звонки» или отмечено больше одной точки |
Для администратора сервера
- Звонками занимается служба
calls(docker compose). Она работает в сети самого сервера (network_mode: host), потому что SIP и медиа должны видеть его настоящий адрес. - Для каждой линии (сервис + точка) служба запускает программу SIP
baresip(лицензия BSD): до 10 линий одновременно. Порты: SIP 5070–5079 (UDP и TCP), медиа UDP 20000–20199, управление только внутри сервера. Откройте их от АТС больницы к серверу и обратно. - Картинку собеседника служба кодирует в H.264, это около 1 ядра процессора на звонок.
- Учётная запись регистрируется на АТС, если у сервиса есть пароль или отмечены входящие звонки.
- Звонки с точек, пришедших копией с сервера ниже (связь серверов), пока не поддерживаются: звонит тот сервер, к которому подключён сам Vidicap.
- Звонки в Zoom будут отдельным доп. модулем на той же основе.
← WHO Checklist: safe surgery (add-on module) Server links: linking up and down →