Home AMX User Forum NetLinx Modules & Duet Modules

Has anyone tested this module from Yealink, Yealink_MSTeamsRooms_v1_0_1_dr1_0_0?

Hi

Has anyone tested this solution out with customers, Yealink_MSTeamsRooms_v1_0_1_dr1_0_0 for MTR meeting rooms? I have around 20 customers who are waiting for this type of solution so that they don't have two user panels in meeting rooms. Please share if you have any experience with this module.

Best Regards
Joakim Giske

Comments

  • I have tried it briefly. It works, but not very well, at least not for me. It was excruciatingly slow, with the AMX sourced web page taking up to something like a minute to load the page on the Yealink touchscreen, sometimes it was there within 10 seconds, but it was never snappy. Every time you leave the roompage on the Yealink touchpanel and go back, it reloads it with the same delay. On a regular basis the page wouldn't load at all. I only used the two example layouts that come with the AMX module, 'einstein' and 'vaugn'. I haven't actually used any button_event, but I saw they triggered in NetLinxStudio, not expecting problems there.
    Haven't had any time to experiment any further. It don't really see what I can do to improve the load times, but if they don't improve, it's not useable. I've used the corporate LAN and an isolated LAN setup (with an extra USB to Network converter plugged into the MVC400 Yealink PC) with no difference

    Have used the firmware for the AMX controller and the Yealink that AMX mentions in the module documentation

  • @richardherman - thanks for the feedback. We are typically seeing 4-6 second load times before the page is fully rendered. Not that it is a requirement, but were the NX controller and yealink MTR on the same subnet? We have demonstrated this solution at multiple shows and not experienced the load times you are referring to. In general, the horsepower in the MTR unit is less than a laptop, but it still achieved the ~5 second full load time. What load time do you see with a laptop?

  • @richardherman said:
    I have tried it briefly. It works, but not very well, at least not for me. It was excruciatingly slow, with the AMX sourced web page taking up to something like a minute to load the page on the Yealink touchscreen, sometimes it was there within 10 seconds, but it was never snappy. Every time you leave the roompage on the Yealink touchpanel and go back, it reloads it with the same delay. On a regular basis the page wouldn't load at all. I only used the two example layouts that come with the AMX module, 'einstein' and 'vaugn'. I haven't actually used any button_event, but I saw they triggered in NetLinxStudio, not expecting problems there.
    Haven't had any time to experiment any further. It don't really see what I can do to improve the load times, but if they don't improve, it's not useable. I've used the corporate LAN and an isolated LAN setup (with an extra USB to Network converter plugged into the MVC400 Yealink PC) with no difference

    Have used the firmware for the AMX controller and the Yealink that AMX mentions in the module documentation

    Richard, I'd be interested in getting some details on your setup and configuration. As @HARMAN_Chris said, that's not the load times I was experiencing on my setup. Once whitelisted, I was seeing the 6-8 second load on a first load and less after that (until the cache was cleared on the client side - then back to the 6-8 second load).

  • @HARMAN_Chris @HARMAN_awalton
    Not much to add unfortunately at this moment. I did not have had the time to test it further. I used a NX-4200 with the required firmware, that had only the program running from the sample workspace, I did not add anything to that and a Yealink MCore mini PC with a MTouch II touchpanel also with the required firmware. Both where on the same subnet with only 2 switches in between. I did only very briefly use my laptop to check, that worked better, but still not great. I would say that even a 6 to 8 seconds load time, probably would not thrill our customers. In my experience every time I entered the room control page, it took just as long as it did the first time, but was very inconsistent with those load times. If I have anything to add, I will post here.

  • @richardherman said:
    @HARMAN_Chris @HARMAN_awalton
    Not much to add unfortunately at this moment. I did not have had the time to test it further. I used a NX-4200 with the required firmware, that had only the program running from the sample workspace, I did not add anything to that and a Yealink MCore mini PC with a MTouch II touchpanel also with the required firmware. Both where on the same subnet with only 2 switches in between. I did only very briefly use my laptop to check, that worked better, but still not great. I would say that even a 6 to 8 seconds load time, probably would not thrill our customers. In my experience every time I entered the room control page, it took just as long as it did the first time, but was very inconsistent with those load times. If I have anything to add, I will post here.

    I have the same experience as you when I tested this weekend, and I have everything connected to one SG350-10MP switch and a NX-1200. 6-8 seconds is too much for my customers. Hope that the developers of the module manage to do something about the load time if possible. Here in Norway, MS-Teams is also the most used video conference solution. So this is something I could integrate to many of my customers.

  • @richardherman @JoakimGiske - I was able to recreate what Richard described when my controller did not have internet access. Does this sound like your setup?

    In my test, I took a nx1200 running fw1.6.205 and module rev 1.0.1
    I viewed the page from a laptop and it took under 2 seconds to render. Using the same hardware, I then went and statically assigned the NX controller and laptop. Next, I removed the controller from the network and direct connected the laptop via wired ethernet and made sure to disable wifi on the laptop. Under this scenario, I experienced significant delays and it did take 4 min and 30sec from credential entry to fully render the page.

    We can add this requirement to the implementation documentation. The scenario does bring up an important topology question. The HTML package does not need to reside on the AMX controller, but it is the most simple form of deployment. In environments where the AMX controller does not have WAN access, you can leverage a server to host the HTML package. This alternate location would need to be resolvable to the AMX controller from within the LAN and is a configuration setting within the webserver module.

    Additional testing is ongoing to identify the library that is stalling due to an inability to find a dependent resource. It is odd that everything does eventually load and suggests some form of timeout is occuring once the resource is not found. If improvements are possible, we are certainly open to making the change.

  • @HARMAN_Chris
    Unfortunately, it must have had another reason in my setup, cause the controller had internet access. It was directly on the office LAN together with the MCore Yealink PC, both getting a DHCP address from our router.
    Although I did not actually check if the NX-4200 had internet access, I can't see how it would not have had that.

  • @richardherman said:
    @HARMAN_Chris
    Unfortunately, it must have had another reason in my setup, cause the controller had internet access. It was directly on the office LAN together with the MCore Yealink PC, both getting a DHCP address from our router.
    Although I did not actually check if the NX-4200 had internet access, I can't see how it would not have had that.

    Can you check the DNS entries for the NetLinx controller.

    I can create here a series of delays (~2minutes each) when the first DNS entry is unresolvable regardless if the others are resolvable. The delays are observed when the module boots up as well as through the client HTTP (loading HMTL files) and WS (getting the JSON configuration file) session initializations. Setting DNS 1 the same as the Gateway might be a safe place to start. Same thing is observed with or without Internet access.

  • HARMAN_icraigieHARMAN_icraigie Posts: 660
    edited December 2022

    There will be a new revision of the module (v1.0.4) released shortly that minimizes the delays observed when the DNS 1 entry is set to an unreachable IP based on a 100ms ICMP Ping timeout.

    A selection of page loading processes are shown below as recorded at the module (v1.0.4) with DEBUG-4 set. First logged event shows the initial request from the Client; the second logged event shows elapsed time for validating authorization, transferring all HTML data, rendering the base HTML, establishing the WebSocket connection, packaging up the JSON configuration file and initiating configuration file transfer.

    Loading times <4 seconds can be expected across a simple LAN environment with a Pre-Authorized Client loading faster (<2 seconds) than a JWT Authorized Client. An additional second was observed when loading across a WAN/VPN environment (Client @ Washington State : NetLinx Controller @ Richardson, TX ). Testing was done with the Gateway DNS and Google DNS as the DNS 1 entry with similar results observed as did no DNS entries. Test client was Chrome Web Browser, test controllers where NX3200 and DVX2265.

    Loading Pre-Authorized Client with reachable DNS
    (15:31:33.637):: WebUI::WebUiServlet doGet( /web/ui/41100/home/ )
    (15:31:35.427):: WebUI::WebServicesGateway sendMessage(@getfile {"blocksize":2412,"path":"/config","length":2412,"state":"begin"})

    Loading Pre-Authorized Client with unreachable IP
    (15:39:28.512):: WebUI::WebUiServlet doGet( /web/ui/41100/home/ )
    (15:39:30.092):: WebUI::WebServicesGateway sendMessage(@getfile {"blocksize":2412,"path":"/config","length":2412,"state":"begin"})

    Loading JWT Authorized Client with reachable DNS
    (14:56:49.651):: WebUI::WebUiServlet showWebUi() called...
    (14:56:53.139):: WebUI::WebServicesGateway sendMessage(@getfile {"blocksize":2412,"path":"/config","length":2412,"state":"begin"})

    Loading JWT Authorized Client with unreachable IP
    (15:41:43.704):: WebUI::WebUiServlet doGet( /web/ui/41100/home/ )
    (15:41:47.190):: WebUI::WebServicesGateway sendMessage(@getfile {"blocksize":2412,"path":"/config","length":2412,"state":"begin"})

    The module initialization delay continues to be observed when the DNS 1 entry is unreachable and excessive page loading (>20 seconds) will be observed if the DNS 1 entry is reachable but not a DNS service.

    If the DNS is set correctly with the current module our testing shows page loading times to be similar in range.

  • Fantastic to see things being picked up so quickly with this module. But I also have problems getting the volume slider to work, do you know if there is a quick fix for this?

  • Joakim, we have a pending release (v1.0.4) that will enable customization of the volume slider widget. A reported bug was that the + and - buttons were flipped on the UI visually. The requestor also asked for the ability to change icon definition and size, so these capabilities were added. We have an outstanding request to address level feedback under certain scenarios and will address that in Q1 of CY23 with another scheduled update of the module. It is possible the update for VOL bar will get posted later today.

  • v1.04 is available now.

    https://developer.amx.com/#!/searchresult?Manufacturer=Yealink&Model=MVC320

    Couple of new Properties to note with regards to page loading time.
    At the Server: ICMP-Enabled -> default value = true. When true the 100ms ICMP Ping to DNS 1 is in effect, when false assumption is that everything is reachable. This does not fully resolve all delay issues when the controller's Network Configuration is incorrectly set.

    At the Web UI: Authenticate-All-Requests -> default value = true. When true every request is authenticated, when false only the initial HTTP and WebSocket Upgrade requests are authenticated. Highest security and longer page loading times are seen when true, less secure but faster page loading (+30% faster) when set to false.

  • RaphaRapha Posts: 2

    Hello all!

    As there is already a discussion about this module, I just thought I put my question here as well.

    I'm currently working with this module and realized something strange. I am experimenting with the ON / OFF slider on the light steering page (example room "Einstein"). What I try is to toggle a built-in relay on a ENOVA DVX-2255HD (firmware v1.6.205). My expectation is, that when the slider is put to on-state, that the relay turns on and when set back to the off-state, the relay turns off. Nothing special so far. Now comes the strange part:

    My relay is turned off, the toggle as well in the off-state. When I put the toggle to on-state, the relay turns on. So far, so good. BUT: When I put the toggle to off-state, the relay stays on. It won't turn off, until I put the toggle again to on-state!

    It must be saied, that I do not experience this issue with regular HTML buttons. They work as expected.

    It seems to me, that an action is only called, when the toggle is being set to on-, but not when set to off-state.

    My personal thought: The reason for this behavior is the fact, that this toggle is an HTML input of the type checkbox, but is being handled from Netlinx like a button. Due to the fact that a checkbox acts different, this causes an issue.

    Did anyone else experience something like this?
    What do you think about my theory?

    Thank you very much in advance for your feedback!

    Best wishes,

    Raphael

    P.S.
    This is how I handle my button event in Netlinx:

    BUTTON_EVENT[vdvUiRoom2_1,563]
    {
    PUSH:
    {
    [dvRelBench,1] =! [dvRelBench,1]
    }
    }

  • @Rapha said:
    Hello all!

    As there is already a discussion about this module, I just thought I put my question here as well.

    I'm currently working with this module and realized something strange. I am experimenting with the ON / OFF slider on the light steering page (example room "Einstein"). What I try is to toggle a built-in relay on a ENOVA DVX-2255HD (firmware v1.6.205). My expectation is, that when the slider is put to on-state, that the relay turns on and when set back to the off-state, the relay turns off. Nothing special so far. Now comes the strange part:

    My relay is turned off, the toggle as well in the off-state. When I put the toggle to on-state, the relay turns on. So far, so good. BUT: When I put the toggle to off-state, the relay stays on. It won't turn off, until I put the toggle again to on-state!

    It must be saied, that I do not experience this issue with regular HTML buttons. They work as expected.

    It seems to me, that an action is only called, when the toggle is being set to on-, but not when set to off-state.

    My personal thought: The reason for this behavior is the fact, that this toggle is an HTML input of the type checkbox, but is being handled from Netlinx like a button. Due to the fact that a checkbox acts different, this causes an issue.

    Did anyone else experience something like this?
    What do you think about my theory?

    Thank you very much in advance for your feedback!

    Best wishes,

    Raphael

    P.S.
    This is how I handle my button event in Netlinx:

    BUTTON_EVENT[vdvUiRoom2_1,563]
    {
    PUSH:
    {
    [dvRelBench,1] =! [dvRelBench,1]
    }
    }

    This issue has been reported to ITG through Tech Support and resolved in the next version (v1_0_5). Release TBD but should be soon.

  • RaphaRapha Posts: 2

    @HARMAN_icraigie said:

    @Rapha said:
    Hello all!

    As there is already a discussion about this module, I just thought I put my question here as well.

    I'm currently working with this module and realized something strange. I am experimenting with the ON / OFF slider on the light steering page (example room "Einstein"). What I try is to toggle a built-in relay on a ENOVA DVX-2255HD (firmware v1.6.205). My expectation is, that when the slider is put to on-state, that the relay turns on and when set back to the off-state, the relay turns off. Nothing special so far. Now comes the strange part:

    My relay is turned off, the toggle as well in the off-state. When I put the toggle to on-state, the relay turns on. So far, so good. BUT: When I put the toggle to off-state, the relay stays on. It won't turn off, until I put the toggle again to on-state!

    It must be saied, that I do not experience this issue with regular HTML buttons. They work as expected.

    It seems to me, that an action is only called, when the toggle is being set to on-, but not when set to off-state.

    My personal thought: The reason for this behavior is the fact, that this toggle is an HTML input of the type checkbox, but is being handled from Netlinx like a button. Due to the fact that a checkbox acts different, this causes an issue.

    Did anyone else experience something like this?
    What do you think about my theory?

    Thank you very much in advance for your feedback!

    Best wishes,

    Raphael

    P.S.
    This is how I handle my button event in Netlinx:

    BUTTON_EVENT[vdvUiRoom2_1,563]
    {
    PUSH:
    {
    [dvRelBench,1] =! [dvRelBench,1]
    }
    }

    This issue has been reported to ITG through Tech Support and resolved in the next version (v1_0_5). Release TBD but should be soon.

    Thank you very much for the fast feedback! Looking forward to the next release then :smiley:
    Have a good weekend!

  • New release. Toggling control issue resolved. Added Cache-Control headers with max-age addressable from a Property - observations here show significantly quicker loading at a web browser after the first connection. Previously the client cache was not made use of.

    https://developer.amx.com/#!/searchresult?Manufacturer=Yealink&Model=MVC320

  • satyruxsatyrux Posts: 5
    edited May 2023

    Hello I am trying to run the Yealink module on a Lenovo MTR. Is it possible to modify the graphical interface of the control pages?? Is there software to do this? I found how to remove buttons with the JSON file but is there a simpler method if I want to change the position of a button

  • @satyrux said:
    Hello I am trying to run the Yealink module on a Lenovo MTR. Is it possible to modify the graphical interface of the control pages?? Is there software to do this? I found how to remove buttons with the JSON file but is there a simpler method if I want to change the position of a button

    All the configuration options currently supported are documented in the HTML GUI Implementation Guide.pdf and HTML GUI Quick Start.pdf included in the NetLinx Workspace.

  • nicolaunicolau Posts: 40

    Dear All,

    Yealink RoomConnect software was updated and changed the resolution of the HTML 5 Page for the Control Solution Integration. So the templates do not fit anymore. Can we have an updated template?
    From the release notes of version 2.31:

    5. Points for Attention

    • The version 31 of MVC upgrades the user interface of Yealink
    RoomConnect plug-in software. Unified Concentrated Control
    Solution Integrated on Yealink Touch Console (HTML 5 page)
    user interface has also made the corresponding adjustment;
    In the previous version, the user interface resolution is 1092*580

    While in the new version, the user interface resolution that is shown on MTouch is changed to 764*647. Please make adaptive adjustments according to the actual display effect. Please reach out to your Reseller/System Integrator if necessary.

  • HARMAN_ChrisHARMAN_Chris Posts: 597

    Yes - We will get it posted. We were under the impression this was an infocomm launch by Yealink

  • satyruxsatyrux Posts: 5

    @HARMAN_icraigie

    Very belated thanks for the reply ;-)

  • I strictly followed the instructions for pre-authentication, unfortunately without success. As soon as the MVC400 Yealink PC reboots, I have to log in again.
    Does anyone else have the same problem?

    Best Regards
    Christian Suter

  • @swiss_chris said:
    I strictly followed the instructions for pre-authentication, unfortunately without success. As soon as the MVC400 Yealink PC reboots, I have to log in again.
    Does anyone else have the same problem?

    Best Regards
    Christian Suter

    As noted in the documentation: The Yealink MTR device purges all persistent authentication tokens when power cycled requiring the user to login again

    The persistent authentication token is stored as a JWT cookie on the client with a successful login.

    Pre-authentication does not require any login. The connecting client is validated by the hostname or STATIC IP (network deployment conditions dependent) that is registered in the pre-auth file loaded to the controller or registered through properties. The PROPERTY-PreAuthClients_File must be set at the Jetty Server virtual device with the path and full file name of the pre-auth file location on the controller.

    If DNS is implemented on the Network then the FQDNS hostname of the client is required otherwise the static or DHCO reserved IPv4 must be referenced.

Sign In or Register to comment.