Поддерживаемые модели домофонов:
Инструкция администратора платформы домофонии доступна по ссылке
1. Веб-портал Форпост, SIP-сервер Asterisk, Домофон должны быть расположены в одной локальной сети.
Либо должна быть обеспечена сетевая доступность между всеми тремя компонентами.
2. Из внешнего интернета должны быть доступны:
Веб-портал по портам:
80 | TCP | для для взаимодействия по HTTP |
8080 \ 18080 | TCP+UDP | отображение видео с камеры домофона по RTSP (порты cctv-ctreamer) |
SIP-сервер по портам:
15160 | TCP+UDP | для работы SIP-сервера |
10000-32000 | UDP | для передачи звука между домофоном и мобильным приложением по RTP |
Также в локальной сети, дополнительно к вышеперечисленному, должны быть разрешены порты:
5038 | TCP | для работы скриптов управления SIP phpagi (протокол AMI) |
3306 | TCP | для входящих подключений Веб-портала к БД SIP-сервера (при Варианте подключения №2) |
Более подробно на схемах в подключения.
curl --location 'http://HOST/system-api/GetAccounts' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'IsManagementAllowed=1'
curl --location 'http://HOST/system-api/AddAccount' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'IsManagementAllowed=1' \
--data-urlencode 'Name=Домофоны' \
--data-urlencode 'MaxCameraCount=1000000' \
--data-urlencode 'MaxLoginCount=1000000' \
--data-urlencode 'MaxCameraOnlineTranslationCount=1000000' \
--data-urlencode 'MaxCameraArchivalTranslationCount=1000000' \
--data-urlencode 'MaxCameraUserOnlineTranslationCount=1000000' \
--data-urlencode 'MaxCameraUserArchivalTranslationCount=1000000'
Создать пользователя-оператора для управления квартирами в домофонном аккаунте (AccountID=ID аккаунта, который вернул вызов AddAccount) и параметрами учетной записи пользователя-оператора (Login, Password)
curl --location 'http://HOST/system-api/AddUser' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'AccountID=98' \
--data-urlencode 'Login=doperator' \
--data-urlencode 'Password=Fxkw1N8YN8ne' \
--data-urlencode 'IsReadOnly=1' \
--data-urlencode 'IsAccessibleNewCameraByDefault=1' \
--data-urlencode 'IsAccountUserAdmin=1' \
--data-urlencode 'IsPassAdmin=1'
curl --location 'http://HOST/system-api/GetDeviceTypes' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD'
curl --location 'http://HOST/system-api/AddDevice' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'AccountID=98' \
--data-urlencode 'TypeID=9' \
--data-urlencode 'Description=Попова 101 [3]' \
--data-urlencode 'Settings={"host":"10.23.11.15","port":80,"login":"admin","password":"admin"}'
curl --location 'http://HOST/system-api/AddCamera' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'AccountID=98' \
--data-urlencode 'Name=Попова 101 [3]' \
--data-urlencode 'CameraModelID=1951' \
--data-urlencode 'IPOrDomain=10.23.11.15' \
--data-urlencode 'Login=admin' \
--data-urlencode 'Password=admin' \
--data-urlencode 'Port=554' \
--data-urlencode 'HTTPPort=80' \
--data-urlencode 'MaxBandwidth=2048' \
--data-urlencode 'RecordType=1' \
--data-urlencode 'Quota=604800' \
--data-urlencode 'MasterID=1' \
--data-urlencode 'IsSound=1' \
--data-urlencode 'Protocol=rtsp' \
--data-urlencode 'RtspTransport=0' \
--data-urlencode 'IsActive=1' \
--data-urlencode 'SkipCameraCheck=1' \
--data-urlencode 'SyncCamera=0'
curl --location 'http://HOST/system-api/BindDeviceToCameras' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'ID=32' \
--data-urlencode 'CameraIDList=[832]'
curl --location 'http://HOST/system-api/AddAccountGroup' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'AccountID=98' \
--data-urlencode 'Name=Попова 101'
curl --location 'http://HOSTru/system-api/SetExtBillingIDOfAccountGroup' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'ExtBillingIDList=[10100]' \
--data-urlencode 'AccountGroupID=191'
curl --location 'http://HOST/system-api/AddAccountGroup' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'AccountID=98' \
--data-urlencode 'Name=3' \
--data-urlencode 'ParentID=191'
curl --location 'http://HOST/system-api/SetExtBillingIDOfAccountGroup' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'ExtBillingIDList=[3]' \
--data-urlencode 'AccountGroupID=192'
curl --location 'http://HOST/system-api/EditAccountGroupCameras' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'AccountGroupID=192' \
--data-urlencode 'CameraIDList=[832]'
curl --location 'http://HOST/system-api/AddSipDevice' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'ControlledDeviceID=32' \
--data-urlencode 'AccountGroupID=192' \
--data-urlencode 'SipServerID=1'
curl --location 'http://HOST/system-api/AddAccount' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'Name=Попова 101 [3] [14]' \
--data-urlencode 'ManagementAccountID=98' \
--data-urlencode 'MaxCameraCount=1000000' \
--data-urlencode 'MaxLoginCount=1000000' \
--data-urlencode 'MaxCameraOnlineTranslationCount=1000000' \
--data-urlencode 'MaxCameraArchivalTranslationCount=1000000' \
--data-urlencode 'MaxCameraUserOnlineTranslationCount=1000000' \
--data-urlencode 'MaxCameraUserArchivalTranslationCount=1000000'
По домофонному аккаунту (AccountID) и адресу (Name=Улица Номер дома)
curl --location 'http://HOST/system-api/GetAccountGroups' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'AccountID=98' \
--data-urlencode 'Name=Попова 101'
По идентификатору дома во внешней информационной системе/биллинге (ExtBillingID):
curl --location 'http://HOST/system-api/GetAccountGroups' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'ExtBillingID=10100'
По дому (ParentID=ID группы дома) и по номеру подъезда (Name=Номер подъезда)
curl --location 'http://HOST/system-api/GetAccountGroups' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'ParentID=191' \
--data-urlencode 'Name=3'
По дому (ParentID=ID группы дома) и по идентификатору подъезда во внешней информационной системе/биллинге (ExtBillingIDList=[Номер подъезда 1, Номер подъезда 2])
curl --location 'http://HOST/system-api/GetAccountGroups' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'ParentID=191' \
--data-urlencode 'ExtBillingIDList=[3]'
curl --location 'http://HOST/system-api/SetAccountApartment' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'AccountID=99' \
--data-urlencode 'AccountGroupID=192' \
--data-urlencode 'Apartment=14' \
--data-urlencode 'IsActive=3'
curl --location 'http://HOST/system-api/AddUser' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'AccountID=99' \
--data-urlencode 'Login=user99' \
--data-urlencode 'Password=Wcf1Tx7k3vvq' \
--data-urlencode 'IsReadOnly=1' \
--data-urlencode 'IsAccessibleNewCameraByDefault=1'
curl --location 'http://HOST/system-api/AddApartmentSipDevice' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'AccountID=99' \
--data-urlencode 'Name=Приемная панель'
Получение списка квартир дома (ParentAccountGroupID)
curl --location 'http://HOST/system-api/GetAccountApartments' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'ParentAccountGroupID=191'
Получение списка квартир подъезда (AccountGroupID)
curl --location 'http://HOST/system-api/GetAccountApartments' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'AccountGroupID=192'
Отключить квартиру с номером (Apartment) в аккаунте квартиры (AccountID) для группы подъезда в домофонном аккаунте (AccountGroupID)
curl --location 'http://HOST/system-api/SetAccountApartment' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'AccountID=99' \
--data-urlencode 'AccountGroupID=192' \
--data-urlencode 'Apartment=14' \
--data-urlencode 'IsActive=0'
Предоставить аккаунту квартиры (AccountID) доступ (просмотр камеры, открытие двери) к группам дополнительных подъездов домофонного аккаунта (GroupIDList=[ID группы подъезда 1, ID группы подъезда 2])
curl --location 'http://HOST/system-api/BindAccountToForeignAccountGroups' \
--data-urlencode 'AdminLogin=ADMIN_LOGIN' \
--data-urlencode 'AdminPassword=ADMIN_PASSWORD' \
--data-urlencode 'AccountID=99' \
--data-urlencode 'GroupIDList=[194,196]'