Command line (console) via SSH protocol: различия между версиями
Alina (обсуждение | вклад) |
Alina (обсуждение | вклад) |
||
(не показано 19 промежуточных версий этого же участника) | |||
Строка 17: | Строка 17: | ||
|| a mandatory string argument, if it contains spaces, it must be passed in quotes | || a mandatory string argument, if it contains spaces, it must be passed in quotes | ||
|} | |} | ||
+ | '''Examples''' | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Task !! Use case | ||
+ | |- | ||
+ | | Get information about the microphone status || mute get <participant> | ||
+ | response: mute <participant> <on/off> | ||
+ | |- | ||
+ | | Enable/disable the microphone (bool) || mute <on/off> | ||
+ | mute <participant> <on/off> | ||
+ | |- | ||
+ | | Get information about the camera status || video get <participant> | ||
+ | response: video <participant> <on/off> | ||
+ | |- | ||
+ | | Enable/disable self camera (bool) || video get <on/off> | ||
+ | video get <participant> <on/off> | ||
+ | |- | ||
+ | | Get the list of available cameras || camera list | ||
+ | response: camera {"cameras":[{"format":"YUYV","fps":"30","height":"1080","id":"00-00 Eco Capture Dual HDMI M.2","name":"00-00 Eco Capture Dual HDMI M.2","path":"/dev/video0","role":"main&presentation","width":"1920"},{"format":"YUYV","fps":"30","height":"1080","id":"00-01 Eco Capture Dual HDMI M.2","name":"00-01 Eco Capture Dual HDMI M.2","path":"/dev/video1","role":"not_set","width":"1920"}]} | ||
+ | |- | ||
+ | | sends ICMP ECHO_REQUEST packets to a network host; || ping <ip address> | ||
+ | |- | ||
+ | | outputs a packet route trace to the network host; || traceroute <ip address> | ||
+ | |- | ||
+ | | clears the console screen; || clear | ||
+ | |- | ||
+ | | a list of available commands; || help | ||
+ | |- | ||
+ | | command line exit; || exit | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | The example of the camera parameters request command | ||
+ | |||
+ | <source lang="bash"> | ||
+ | camera info "ImagePlus_UHD_Media_20200924173" | ||
+ | Format: MJPG | ||
+ | Size: 1920x1080 | ||
+ | Interval: 30* | ||
+ | Interval: 25 | ||
+ | Interval: 20 | ||
+ | Format: H264 | ||
+ | Size: 1920x1080 | ||
+ | Interval: 30* | ||
+ | Interval: 25 | ||
+ | Interval: 20 | ||
+ | Format: HEVC | ||
+ | Size: 1920x1080 | ||
+ | Interval: 30* | ||
+ | Interval: 25 | ||
+ | Interval: 20 | ||
+ | OK | ||
+ | </source> | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | |Set a camera role || camera set <id> <role> [<width>] [<height>] [<fps>] [<format>] OK<br> | ||
+ | camera set "UHD_Media" main&presentation | ||
+ | response: camera OK | ||
+ | |- | ||
+ | |Move a camera || camera move <up|down|left|right|zoom+|zoom-|stop> [<step>] | ||
+ | ("step" argument stops the camera after one movement step without sending the "stop" command) | ||
+ | response: camera move left OK | ||
+ | |- | ||
+ | |Save a camera preset || camera preset set <number> | ||
+ | response: camera preset set 1 OK | ||
+ | |- | ||
+ | |Save a preset with a camera movement || camera preset go <number> | ||
+ | response: camera preset go 2 OK | ||
+ | |- | ||
+ | |Request a contacts list || addrbook all | ||
+ | response: addrbook all [{"id":8,"name":"Alex","number":"10.1.0.10","status":"0","type":"auto"}] | ||
+ | |- | ||
+ | |Add a contact || addrbook add <”name”> <number> <type> | ||
+ | response: addrbook add OK | ||
+ | |- | ||
+ | |Change a contact || addrbook edit <id> <”name”> <number> <type> | ||
+ | response: addrbook edit OK | ||
+ | |- | ||
+ | |Delete a contact || addrbook remove <id> | ||
+ | response: addrbook remove 8 OK | ||
+ | |- | ||
+ | |Make a call || dial manual <number> [<speed>][<resolution>][<type>][<fps>] | ||
+ | response: dial auto 10.0.0.1 OK | ||
+ | |- | ||
+ | |Finish a call || hangup all | ||
+ | response: hangup all OK | ||
+ | |- | ||
+ | |Disconnect a participant || hangup <participant> | ||
+ | response: hangup Alex OK | ||
+ | |- | ||
+ | |Accept an incoming call || accept <id> | ||
+ | <id> - may be a temporary ID assigned to a caller displayed in a command line, a.g.: [event] call-incoming FqEWhO4E333RIebFGlMHvsrK SIP SIP/1004 connection transfer | ||
+ | response: accept FqEWhO4E333RIebFGlMHvsrK OK | ||
+ | |- | ||
+ | |Reject an incoming call || decline <id> <description> | ||
+ | response: decline 8 <description> OK | ||
+ | |} | ||
+ | |||
+ | <source lang="json"> | ||
+ | callinfo | ||
+ | response: callinfo | ||
+ | { | ||
+ | "abonents": [ | ||
+ | { | ||
+ | "Audio": "1", | ||
+ | "Participant": "terminalendpoint", | ||
+ | "Video": "1", | ||
+ | "Watermark": "" | ||
+ | } | ||
+ | ], | ||
+ | "time": 0 | ||
+ | } | ||
+ | |||
+ | OK | ||
+ | </source> | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | Request current layout state || mosaic <get> | ||
+ | response: mosaic <auto/single/multi> | ||
+ | |- | ||
+ | | Change a layout || mosaic <auto|single|multi> | ||
+ | response: mosaic <auto/single/multi> | ||
+ | |- | ||
+ | | Request an audio resource info || audio <get> <sink|source> | ||
+ | response: audio {"default":"alsa_output.pci-0000_00_1f.3.analog-stereo","devices":[{"description":"Built-in Audio Analog Stereo ALC897 Analog","name":"alsa_output.pci-0000_00_1f.3.analog-stereo","plughw":"0,0"},{"description":"LG HDR 4K HDMI 0","name":"alsa_output.TERMINAL_HDMI_DEV_3","plughw":"0,3"}]} | ||
+ | |- | ||
+ | | Set an input/output audio device || audio <set> <sink|source> | ||
+ | <index> - device index starts from 0 (i.e. 0 - main, 1 - additional) | ||
+ | response: audio OK | ||
+ | |- | ||
+ | | Request an audio volume level || audio volume <sink|source> <get> <name> | ||
+ | response: audio volume sink get <name> <volume> | ||
+ | |- | ||
+ | | Change an audio volume level || audio volume <sink|source> <set> <name> <volume> | ||
+ | response: audio volume sink set <name> <volume> OK | ||
+ | |- | ||
+ | | Send remote control actions || Remote control default buttons: call, volume+, volume-, zoom+, zoom-, home, Return ("OK" button or "Enter"), back, BackSpace, save, power, pc, far, layout, mute. | ||
+ | Example command: button home | ||
+ | Response: button home ok | ||
+ | xdotool button codes: | ||
+ | Example command: button key Return | ||
+ | Response: button key Return OK | ||
+ | |- | ||
+ | | Request the "Do Not Desturb" mode info || dnd <get> | ||
+ | Response: dnd <on/off> | ||
+ | |- | ||
+ | | Enable the "Do Not Desturb" mode || dnd <on/off> | ||
+ | Response: dnd <on/off> | ||
+ | |- | ||
+ | | Send the DTMF-code || dtmf <1/2/3/4/5/6/7/8/9/0/*/#> | ||
+ | Response: dtmf <1/2/3/4/5/6/7/8/9/0/*/#> OK | ||
+ | |- | ||
+ | | Request call history || history | ||
+ | Response: history [{"caller_id":"","date":"1675257795","id":"656","incoming":0,"name":"","number":"192.168.80.253","time":"18","type":"auto"},{"caller_id":"","date":"1675254864","id":"655","incoming":0,"name":"","number":"192.168.80.253","time":"1905","type":"auto"}] | ||
+ | |- | ||
+ | | Shutdown a terminal || shutdown | ||
+ | Response: shutdown OK | ||
+ | |- | ||
+ | | Reboot a terminal || reboot | ||
+ | Response: reboot OK | ||
+ | |- | ||
+ | | Show available commands || help | ||
+ | Response: <commnads list> | ||
+ | |- | ||
+ | | Display logs || log <terminal|volumeapp|updater|asterisk|mcu> | ||
+ | Response: log <log file content> | ||
+ | |- | ||
+ | | Get connection params to syslog server || log syslog-get-params | ||
+ | |- | ||
+ | | Set connection params to syslog server || log syslog-set-params | ||
+ | |- | ||
+ | | Request terminal firmware information || updates show-last | ||
+ | Response: updates 2.9.7.1 | ||
+ | |- | ||
+ | | Set local path to an update file || updates set-path <path> | ||
+ | Response: updates OK | ||
+ | |- | ||
+ | | Set URL path to an update file || updates set-path-url <path> | ||
+ | Response: updates OK | ||
+ | |- | ||
+ | | Start an update process || updates start | ||
+ | Response: updates OK | ||
+ | |- | ||
+ | | Request registration status || registration | ||
+ | Response: registration | ||
+ | {"":[{"enable":"1","ip":"127.0.0.1:1720|TCP|-|-|no","login/password":"0","registration":"0","status":"off","type":"H.323"},{"enable":"1","ip":"127.0.0.1:5060|UDP|port|yes|no","login/password":"0","registration":"0","status":"off","type":"SIP"}]} | ||
+ | |- | ||
+ | | Disable autoanswer || autoanswer off | ||
+ | Response: autoanswer off | ||
+ | |- | ||
+ | | Enable autoanswer time || autoanswer on <time(1-30 second)> | ||
+ | Response: autoanswer on | ||
+ | |- | ||
+ | | Request terminal language || lang get | ||
+ | Response: lang ru | ||
+ | |- | ||
+ | | Set terminal language || Текст ячейки | ||
+ | |- | ||
+ | | Текст ячейки || lang set <en|ru> | ||
+ | Response: lang <en/ru> | ||
+ | |} | ||
+ | |||
+ | Terminal event messages | ||
+ | # call-begin visibly: 1 – starting a video call | ||
+ | # call-end visibly: 1 - ending a video call | ||
+ | # call-incoming visibly: 1 – an incoming call notification | ||
+ | # call-outcoming visibly: 1 – an outgoing call notification | ||
+ | # call-outcoming-state visibly: 1 - an outgoing call status | ||
+ | # mute-set visibly: 1 - changing the mute state in the call | ||
+ | # video-set - changing a camera state in the call | ||
+ | # audio-volume-set-source - changing the audio input volume | ||
+ | # audio-volume-set-sink - changing the audio output volume | ||
+ | |||
+ | '''Subscribe to an event''' | ||
+ | |||
+ | events subscribe call-end | ||
+ | |||
+ | Response: events subscribe call-end OK | ||
+ | |||
+ | '''Unsubscribe from an event''' | ||
+ | |||
+ | events unsubscribe call-end | ||
+ | Response: events unsubscribe call-end OK | ||
+ | |||
+ | '''Example of an incoming call with answer and end of a call''' | ||
+ | |||
+ | [event] call-incoming id type description caller_id | ||
+ | |||
+ | [event] call-incoming CIVn19KuvxbX11JwmX80q7wOZ9xp36DsZclK3kfSPxMkrqi6u4uM79gXYGxpP96u9GM370UcExQe88fO SIP SIP/192.168.80.222-e477f640 alexandr | ||
+ | |||
+ | [event] call-begin | ||
+ | |||
+ | [event] call-end |
Текущая версия на 16:02, 6 сентября 2024
Command line (console) via SSH protocol
Terminal command line
You can connect to the terminal via SSH protocol and control it with text commands in console mode. Login and password for SSH access is the same as for access to the web-interface.
The following command descriptions are valid starting with terminal version 2.9.2.
Command structure
mute | <id> | <on/off> | [<participant>] | <”name”> |
---|---|---|---|---|
keyword | mandatory argument, a user must specify its value | mandatory argument, which possesses only the specified set of values | optional argument, a user can specify it if necessary;
If it’s not specified, command affects only a terminal |
a mandatory string argument, if it contains spaces, it must be passed in quotes |
Examples
Task | Use case |
---|---|
Get information about the microphone status | mute get <participant>
response: mute <participant> <on/off> |
Enable/disable the microphone (bool) | mute <on/off>
mute <participant> <on/off> |
Get information about the camera status | video get <participant>
response: video <participant> <on/off> |
Enable/disable self camera (bool) | video get <on/off>
video get <participant> <on/off> |
Get the list of available cameras | camera list
response: camera {"cameras":[{"format":"YUYV","fps":"30","height":"1080","id":"00-00 Eco Capture Dual HDMI M.2","name":"00-00 Eco Capture Dual HDMI M.2","path":"/dev/video0","role":"main&presentation","width":"1920"},{"format":"YUYV","fps":"30","height":"1080","id":"00-01 Eco Capture Dual HDMI M.2","name":"00-01 Eco Capture Dual HDMI M.2","path":"/dev/video1","role":"not_set","width":"1920"}]} |
sends ICMP ECHO_REQUEST packets to a network host; | ping <ip address> |
outputs a packet route trace to the network host; | traceroute <ip address> |
clears the console screen; | clear |
a list of available commands; | help |
command line exit; | exit |
The example of the camera parameters request command
camera info "ImagePlus_UHD_Media_20200924173"
Format: MJPG
Size: 1920x1080
Interval: 30*
Interval: 25
Interval: 20
Format: H264
Size: 1920x1080
Interval: 30*
Interval: 25
Interval: 20
Format: HEVC
Size: 1920x1080
Interval: 30*
Interval: 25
Interval: 20
OK
Set a camera role | camera set <id> <role> [<width>] [<height>] [<fps>] [<format>] OK camera set "UHD_Media" main&presentation response: camera OK |
Move a camera | down|left|right|zoom+|zoom-|stop> [<step>]
("step" argument stops the camera after one movement step without sending the "stop" command) response: camera move left OK |
Save a camera preset | camera preset set <number>
response: camera preset set 1 OK |
Save a preset with a camera movement | camera preset go <number>
response: camera preset go 2 OK |
Request a contacts list | addrbook all
response: addrbook all [{"id":8,"name":"Alex","number":"10.1.0.10","status":"0","type":"auto"}] |
Add a contact | addrbook add <”name”> <number> <type>
response: addrbook add OK |
Change a contact | addrbook edit <id> <”name”> <number> <type>
response: addrbook edit OK |
Delete a contact | addrbook remove <id>
response: addrbook remove 8 OK |
Make a call | dial manual <number> [<speed>][<resolution>][<type>][<fps>]
response: dial auto 10.0.0.1 OK |
Finish a call | hangup all
response: hangup all OK |
Disconnect a participant | hangup <participant>
response: hangup Alex OK |
Accept an incoming call | accept <id>
<id> - may be a temporary ID assigned to a caller displayed in a command line, a.g.: [event] call-incoming FqEWhO4E333RIebFGlMHvsrK SIP SIP/1004 connection transfer response: accept FqEWhO4E333RIebFGlMHvsrK OK |
Reject an incoming call | decline <id> <description>
response: decline 8 <description> OK |
callinfo
response: callinfo
{
"abonents": [
{
"Audio": "1",
"Participant": "terminalendpoint",
"Video": "1",
"Watermark": ""
}
],
"time": 0
}
OK
Request current layout state | mosaic <get>
response: mosaic <auto/single/multi> |
Change a layout | single|multi>
response: mosaic <auto/single/multi> |
Request an audio resource info | source>
response: audio {"default":"alsa_output.pci-0000_00_1f.3.analog-stereo","devices":[{"description":"Built-in Audio Analog Stereo ALC897 Analog","name":"alsa_output.pci-0000_00_1f.3.analog-stereo","plughw":"0,0"},{"description":"LG HDR 4K HDMI 0","name":"alsa_output.TERMINAL_HDMI_DEV_3","plughw":"0,3"}]} |
Set an input/output audio device | source>
<index> - device index starts from 0 (i.e. 0 - main, 1 - additional) response: audio OK |
Request an audio volume level | source> <get> <name>
response: audio volume sink get <name> <volume> |
Change an audio volume level | source> <set> <name> <volume>
response: audio volume sink set <name> <volume> OK |
Send remote control actions | Remote control default buttons: call, volume+, volume-, zoom+, zoom-, home, Return ("OK" button or "Enter"), back, BackSpace, save, power, pc, far, layout, mute.
Example command: button home Response: button home ok xdotool button codes: Example command: button key Return Response: button key Return OK |
Request the "Do Not Desturb" mode info | dnd <get>
Response: dnd <on/off> |
Enable the "Do Not Desturb" mode | dnd <on/off>
Response: dnd <on/off> |
Send the DTMF-code | dtmf <1/2/3/4/5/6/7/8/9/0/*/#>
Response: dtmf <1/2/3/4/5/6/7/8/9/0/*/#> OK |
Request call history | history
Response: history [{"caller_id":"","date":"1675257795","id":"656","incoming":0,"name":"","number":"192.168.80.253","time":"18","type":"auto"},{"caller_id":"","date":"1675254864","id":"655","incoming":0,"name":"","number":"192.168.80.253","time":"1905","type":"auto"}] |
Shutdown a terminal | shutdown
Response: shutdown OK |
Reboot a terminal | reboot
Response: reboot OK |
Show available commands | help
Response: <commnads list> |
Display logs | volumeapp|updater|asterisk|mcu>
Response: log <log file content> |
Get connection params to syslog server | log syslog-get-params |
Set connection params to syslog server | log syslog-set-params |
Request terminal firmware information | updates show-last
Response: updates 2.9.7.1 |
Set local path to an update file | updates set-path <path>
Response: updates OK |
Set URL path to an update file | updates set-path-url <path>
Response: updates OK |
Start an update process | updates start
Response: updates OK |
Request registration status | registration
Response: registration {"":[{"enable":"1","ip":"127.0.0.1:1720|TCP|-|-|no","login/password":"0","registration":"0","status":"off","type":"H.323"},{"enable":"1","ip":"127.0.0.1:5060|UDP|port|yes|no","login/password":"0","registration":"0","status":"off","type":"SIP"}]} |
Disable autoanswer | autoanswer off
Response: autoanswer off |
Enable autoanswer time | autoanswer on <time(1-30 second)>
Response: autoanswer on |
Request terminal language | lang get
Response: lang ru |
Set terminal language | Текст ячейки |
Текст ячейки | ru>
Response: lang <en/ru> |
Terminal event messages
- call-begin visibly: 1 – starting a video call
- call-end visibly: 1 - ending a video call
- call-incoming visibly: 1 – an incoming call notification
- call-outcoming visibly: 1 – an outgoing call notification
- call-outcoming-state visibly: 1 - an outgoing call status
- mute-set visibly: 1 - changing the mute state in the call
- video-set - changing a camera state in the call
- audio-volume-set-source - changing the audio input volume
- audio-volume-set-sink - changing the audio output volume
Subscribe to an event
events subscribe call-end
Response: events subscribe call-end OK
Unsubscribe from an event
events unsubscribe call-end Response: events unsubscribe call-end OK
Example of an incoming call with answer and end of a call
[event] call-incoming id type description caller_id
[event] call-incoming CIVn19KuvxbX11JwmX80q7wOZ9xp36DsZclK3kfSPxMkrqi6u4uM79gXYGxpP96u9GM370UcExQe88fO SIP SIP/192.168.80.222-e477f640 alexandr
[event] call-begin
[event] call-end