Biamp Telnet Handshake Example Using Muse Automator
Technical Support Guide
Table of Contents
Brand:
- AMX
Models:
- MUSE
Overview:
When establishing a direct telnet connection to a Biamp Tesira it may require a handshake to open the Telnet session. The following is a Muse Automator example flow that handles the handshake requests and gets the connection established.
Example Code:
This is only required if you are using a direct Telnet connection and not using a Biamp module.
[
{
"id": "da6e05d5352f2b39",
"type": "tab",
"label": "Biamp Handshake",
"disabled": false,
"info": "",
"env": []
},
{
"id": "d1affebe95753506",
"type": "tcp request",
"z": "da6e05d5352f2b39",
"name": "Biamp TCP Connection",
"server": "192.168.1.70",
"port": "23",
"out": "sit",
"ret": "buffer",
"splitc": " ",
"newline": "",
"trim": false,
"tls": "",
"x": 620,
"y": 220,
"wires": [
[
"e692e1672f173f26"
]
]
},
{
"id": "1371f64fd806119d",
"type": "inject",
"z": "da6e05d5352f2b39",
"name": "Open Connection on Start",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": true,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 190,
"y": 160,
"wires": [
[
"a881c43fa4c27527"
]
]
},
{
"id": "a881c43fa4c27527",
"type": "function",
"z": "da6e05d5352f2b39",
"name": "null",
"func": "var input = flow.get(\"input\")\nvar output = flow.get(\"output\")\n\nmsg.payload = Buffer.from(\"\");\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 390,
"y": 160,
"wires": [
[
"d1affebe95753506"
]
]
},
{
"id": "e692e1672f173f26",
"type": "function",
"z": "da6e05d5352f2b39",
"name": "if Biamp Handshake Request Received",
"func": "var Arr1 = Buffer.from([0xff, 0xfc, 0x18, 0xff, 0xfc, 0x20, 0xff, 0xfc, 0x23, 0xff, 0xfc, 0x27, 0xff, 0xfc, 0x24]);\nvar Arr2 = Buffer.from([0xff, 0xfe, 0x03, 0xff, 0xfc, 0x01, 0xff, 0xfc, 0x22, 0xff, 0xfc, 0x1f, 0xff, 0xfe, 0x05, 0xff, 0xfc, 0x21]);\n\nif (msg.payload[0] == 0xff && msg.payload[1] == 0xfd && msg.payload[2] == 0x18){\n msg.payload = Arr1;\n return msg;\n}\nif (msg.payload[0] == 0xff && msg.payload[1] == 0xfb && msg.payload[2] == 0x3){\n msg.payload = Arr2;\n return msg;\n}",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 980,
"y": 220,
"wires": [
[
"9b90569418ace2a3",
"ff2315bfb163b1ef"
]
]
},
{
"id": "aca318a8c544a2e8",
"type": "link in",
"z": "da6e05d5352f2b39",
"name": "Biamp TCP In",
"links": [
"ff2315bfb163b1ef"
],
"x": 425,
"y": 220,
"wires": [
[
"d1affebe95753506"
]
]
},
{
"id": "ff2315bfb163b1ef",
"type": "link out",
"z": "da6e05d5352f2b39",
"name": "toBiamp",
"mode": "link",
"links": [
"aca318a8c544a2e8"
],
"x": 1215,
"y": 220,
"wires": []
},
{
"id": "9b90569418ace2a3",
"type": "debug",
"z": "da6e05d5352f2b39",
"name": "debug 37",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 1260,
"y": 160,
"wires": []
}
]
Table of Contents