Intercom module modifications
John Paul
Posts: 143
Basically this is scenario i need to do,
Master bedroom ( 6 Intercom panels) trying to call Family Living Room ( 4 intercom panels). Now under the main intercom page, it will be listed as only two panels ( Master bedroom, Family living Room ). But when i making a call, it will send a ring, and pop up to call the panels in the room saying that a panel is trying to call and if any of the panels take up the call, then those two panels take up the call. Now i have to update the other panels that master bedroom is already in call even though only 1 panel is in the call actually or it has to show that master bedroom is still active and the rest of the panels can be called.
Also i need to make the panel ring when there is a panel to panel call happening.
Any ideas anyone?
Master bedroom ( 6 Intercom panels) trying to call Family Living Room ( 4 intercom panels). Now under the main intercom page, it will be listed as only two panels ( Master bedroom, Family living Room ). But when i making a call, it will send a ring, and pop up to call the panels in the room saying that a panel is trying to call and if any of the panels take up the call, then those two panels take up the call. Now i have to update the other panels that master bedroom is already in call even though only 1 panel is in the call actually or it has to show that master bedroom is still active and the rest of the panels can be called.
Also i need to make the panel ring when there is a panel to panel call happening.
Any ideas anyone?
0
Comments
Yeah, i feel i need to write a new intercom module. What are the commands apart from '^ICE' and '^ICS' that i need to be aware of.
I wrote a timeline for the panel ring but the module sends an '^ICS' command even before the answer button is pressed so the speakers are muted.
Do you have a working module which i can modify as i am pressed for time at the site. That will be a great help.
i've spent quite a bit of time getting AMX's module to kind of work.
Is it just me or does everything revert to zero w/reboot - monitor, privacy, vol settings.
Since it's a module i guess there's no easy way of changing to persistent other than restructuring and moving variables to include, make persistent, then pass them to module.
I just can't believe anyone creating an intercom module would make everything volatile, especially volume levels.
After a reboot the state of these variables is unknown so they let them go to default values. You can save the state and restore it after a reboot yourself though. Last thing I would want as a user though, is to have the touch panel say monitoring is off when its actually on.
Paul.
So all the commands are available to write a complete module? I'd rather not use the AMX Duet module since I don't currently run any DUET modules and only 1 standard AMX module (HAI comms only) in my systems so if I can avoid using it I will.
I'd be willing to except hand outs if anyone has code they'd like me to butcher.
Here is a working code which you can butcher. I have made the panel to panel ring in this code and all set the default door privacy to 'off' for 3 panels and rest all will have door privacy has 'on'. This prevents the reboot of the controller from changing the door privacy to default always.
The panel to panel call is done from channel no 71 onwards. Hope this helps.
p.s if u need the files, pm me and i ll supply
I was hoping for something with an open comm module to butcher but thanks none the less.
I'm not at my desk right now so pardon the fact that I don't have exact commands and whatnot. But, suffice it to say that you don't necessarily need the comm module. the panels basically setup the intercom connections themselves without the need of the master. What I wish I had right now is the exact method of initiating a call. It basically involves sending a command to the panel to make a call to the target panel and enabling both mic and speaker for each.
The way I figured it out was to bang on two panels until I figured it out. The commands are in the touch panel programming manual. It was a little hard for me to follow their idea of a cleint vs. server. But, I did get it at some point.
Sorry to be vague, but I know you can figure it out pretty easily. You're a smart cookie! Also, it's one of those cases where you probably don't need a module from AMX since the module commands look almost the same as the commands being sent to the TPs in real life.
Paging proved to be too much for me since the client's router/switch couldn't handle it. (Multi-Point ) But, here againg, the commands seemed pretty simple for that too.
Hope that helps. ( Besides, you'd only be frustrated hacking around on my code. )
I hope to be able to buy you a beer some day.
e
Panel Intercom commands
Some G4 panels have the hardware to support intercom calls. These commands are used to setup connections between panels that have this capability. The model name command is used to query a panel to determine if it has intercom capability. Next, intercom start commands are used to setup the communications session. Finally, intercom modify commands are used to start the flow of audio packets.
"'^MODEL?'"
Panel model name. If the panel supports intercom hardware it will respond with its model name as shown in the response below. Older hardware or newer hardware that has intercom support disabled will not respond to this command. Currently there are three panels that support intercom which will respond with one of the following strings:
^MODEL-MVP-8400i
^MODEL-NXD-700Vi
^MODEL-NXD-1000Vi
Example: Send_command TP1, “^MODEL?”
"'^WCN?'"
Panel web control name. If the panel supports intercom hardware it will respond with its web control name as shown in the responses below. Older hardware or newer hardware that has intercom support disabled will not respond to this command. This field is sometimes reused as the intercom name for the panel in the phone book. If no name has been entered, the panel still responds but there is no text after the ^WCN-.
^WCN-
^WCN-Kitchen
Example: Send_command TP1, “^WCN?”
"'^ICS-<ip>,<tx UDP port>,<rx UDP port>,<initial mode>'"
Intercom start. Starts a call to the specified IP address and ports, where initial mode is either 1 (talk) or 0 (listen) or 2 (both). If no mode is specified 0 (listen) is assumed. Please note, however, that no data packets will actually flow until the intercom modify command is sent to the panel.
Example of setting up a handsfree unicast call between two panels:
send_command TP1, “^ICS-192.168.0.3,9000,9002,2”
send_command TP2, “^ICS-192.168.0.4,9002,9000,2”
Example of setting up a multicast call where the first panel is paging two other panels:
send_command TP1, “^ICS-239.252.1.1,9002,9000,1”
send_command TP2, “^ICS-239.252.1.1,9002,9000,0”
send_command TP3, “^ICS-239.252.1.1,9002,9000,0”
Example of setting up a baby monitor call where the first panel is listening to the microphone audio coming from the second panel:
send_command TP1, “^ICS-192.168.0.3,9000,9002,0”
send_command TP2, “^ICS-192.168.0.4,9002,9000,1”
"'^ICE'"
Intercom end. This terminates an intercom call/connection.
Example: Send_command TP1, “^ICE”
"'^ICD?'"
Intercom diagnostics. This command will result in the panel responding with status information regarding intercom functionality. The first value is either 0 or 1 indicating whether or not there is an intercom call in progress. If the first value is 1, then there is a call in progress and the next set of values will repeat the string used to start the call, indicate the state of the microphone, and report the intercom mic and speaker levels.
Example: Send_command TP1, “^ICD?”
Response:
First parameter: 0 – no call in process
1 – panel is currently in a call
Second parameter: IP address to connect to
Third parameter: tx port
Fourth parameter: rx port
Fifth parameter: initial mode
Sixth parameter: 0 – mic is unmuted
1 – mic is muted
Seventh parameter:Intercom microphone level
Eighth parameter: Intercom speaker level
Example responses:
^ICD-0 (no call in process)
^ICD-1,192.168.0.3,9000,9002,0,0,40,50
"'^ICM-TALK'"
"'^ICM-LISTEN'"
Intercom modify command. For backwards compatibility both versions are supported. Current firmware, however, ignores the TALK and LISTEN subcommands. The microphone and/or speaker are activated based on the initial mode value of the intercom start command and the audio data packet flow is started upon receipt of either command by the panel.
Example: Send_command TP1, “^ICM-TALK”
"'^ICM-MUTEMIC,<state>'"
Intercom modify command. Set the state of the microphone on a panel to muted (1) or unmuted (0). At the start of each call the microphone starts out unmuted.
Example: Send_command TP1, “^ICM-MUTEMIC,1”
"'^ICM-SPEAKERLEVEL,<level>'"
Intercom modify command. Used to set the speaker level during an intercom call. Valid levels are from 0 to 100.
Example: Send_command TP1, “^ICM-SPEAKERLEVEL,55”
"'^ICM-MICLEVEL,<level>'"
Intercom modify command. Used to set the microphone level during an intercom call. Valid levels are from 0 to 100.
Example: Send_command TP1, “^ICM-MICLEVEL,40”
http://www.amxforums.com/showthread.php?4906-Intercom-Page-All
Thanks for the response and I'll look at the commands as published in PI, actually thanks to gsmith I don't even have to look them up now. I saw in the module a reference to IGMP (snooping?) as it pertains to page all and some of my switches do that but not all and probably not the ones connected to the TPs with out moving stuff around. I do have one on the cheap vesrions of the Cisco 2960 series SI that I could swap out with my main dumb switch and then I can assign a COS to them also so, we'll see.
gsmith,
thanks for doing my homework for me. I was going to get around to looking these up but now I don't have to, so again thanks. Now you don't have an uncompiled copy of the comm module kicking about that I can quickly cut & paste into my code for butchering do ya? I figure if I keep asking, someday I'll get the answer I'm looking for.
c,
Thanks for the heads up, I'm sure they'll be something amiss.
Maybe I'll tackle the com module later if I find a need to but otherwise I actually like this module. I haven't notice the sound quality issue that have been reported but I also haven't tried panel to panel calls yet since I only have 3 ECOMs installed with a temporary 8400i so far. Hopefully when I install the 7 MVPs it will work well. I'll also keep my fingers crossed and see what happens when I try to page all and determine if I need to switch my switch in order to get the page all to work. Is it documented anywhere that you need a managed switch capable of IGMP for page all or do we just need to find this out the hard way? Or posibly this isn't the case at all?
Hey Vining,
Let me know if you could jack up the volume. I had tried this using the AMX PI command and was not able to do it. Then i called up AMX tech support and they said that its a setup command and its not possible to jack up volume in the code .
I added bargraphs that don't use 0-setup port commnads so I can set the chime vol level and normal vol level and store those values in code and now I'm working on making them persistent a long with some other vars.
I set the ^VOL level for chime in the virtual data_event string handler under "CASE 'INCOMINGCALL-':". Not 100% on the exact placement on this yet but so far it works where it is but it needs testing to see if it affect calls currently in progress. The biggest trick is to keep straight the difference between the phone book index for the virtual device and the index for the virtual device (same for real) in the dev array.
NI-4100 (Master: 3.50.430 / Device: 1.13.7)
NXD-1000Vi (2.85.14)
NXD-700Vi (2.85.14)
NXD-500i (2.4.14)
I've used the ^ICD? command to see if they're working - and the 10" to 7" works (and vice verse). I'm using:
SEND_COMMAND dvSomeTP, '^ICS-239.252.1.1,9000,9002,1'; // Some touch panel
SEND_COMMAND dvTP_RACK, '^ICS-239.252.1.1,9002,9000,0'; // The NXD-500i
I can swap out dvTP_RACK with any other TP in the system and ^ICD? returns a positive result. Any clues?
Mic . . . plugged in?! Well, that's news to me - then again, I never install panels and only attempt to make them work.
Where is this plug? I looked over the installation PDF and only found references, but no illustrations. Can I do it while it's still in the wall? Do I have to take it completely out to reconnect it if it's not connected?
Here's the scenario - I have panel "X" paging 500i; I then have the USB audio cable going to the switcher, and voila - have a whole house paging system. Does the mic need to be plugged in for the connection to even work in this case?
Talk about frustrating . . . I just want the damn thing to work!
Take off the front bezel. First gently push top of bezel down (toward the middle of the screen) while pulling out, then tilt top of bezel away from wall. Then gently push bottom of bezel up (toward the middle of the screen) and the bezel will come completely off.
The mic is on the right side, it is a tiny (phoenix-type?) plug, the same one used for the battery in an R4. The connector is at the bottom of the panel on the circuit board, about an inch from the right side. It might be hard to install with the screw in place, you might have to take out the screw.
Regardless, I don't think this should cause incoming calls to not work. I assume you've removed your USB audio out to remove that from the equation? I've never done that, is there any configuration in the setup menus?
When I was developing my intercom module I found it handy to install the AMX module for verification that things *should* work. Watch commands, etc., for helpful hints.
It didn't seem to be plugged in all the way - so I did do that. I did remove the USB plugin just be on the safe side, and still no love.
Another strange anomaly . . . I'm trying to trigger an MP3 on the 500i via code (to alert the house that a page is in session - much like in a grocery story, haha!) and it just won't fire. I can make it trigger via CONTROL DEVICE, but not in code. Ugh!
Starting to wonder if I just can't see the trees through the forest . . .
Vining,
In AMX PI , except for the 8400i , intercom panels like NXD 1000Vi and 5200i , dont ve ^VOL command option. I tried sending it to 5200i to see if it work anyway and it doesn't. The intercom panels at site here is 5200i and NXD 1000Vi, did u try the ringing volume with these panels
Has anyone here done successful installs of large AMX Panel intercom systems?
We've solved a lot of problems along the way but still see issues in systems with 10 or more panels participating. Specifically, the same operation behaviors have different outcomes at different times. A connection that won't work now will work one minute later. Video from door units will work "frequently" but not every time (obviously the same code executing each time). With 20-30 panels and multiple door units it is worse. What's your experience?
We are using a gently revised AMX module at the core.
As for the video, I believe the cameras can only support 2 or 3 streams. Do you think this is the problem with video?
Jeff
The Metreau Entry Communicator firmware allows one touch panel to ‘Answer’ a call coming in from the Communicator and up to three additional touch panels to ‘View’ the video, or no ‘Answer’ing touch panel and four ‘View’ing touch panels. The touch panels receiving video are determined on a first come, first serve basis.
edit:
are you using a managed switch with IGMP snooping (?) to allow page all? If so maybe that might be an issue, I haven't tried the intercoms with a switch capable of allowing "page all" yet so maybe that makes a difference.
We have similar experience with and without the SIP involved.
Specifically, we start a session, and it works or does not. Do the same later, it may do the opposite. We can see we are telling the panel to listen and the door to talk, but the reverse occurs. Sometimes. And sometimes the video shows up 10-30 seconds late, after a connection begins.
Again, anyone willing to admit that they have a 20+ intercom system working entirely smoothly? ENTIRELY?
I have a 22-23 panel with 2 Met Ecom system working well. All of the panels are either 700vi or 1000vi models. There are no 500i or MVP5200s in the job. We are using massaged versions of the AMX Intercom_Comm and UI files.
We are not using the intercom paging feature though. Instead we are taking the analog audio output from a tech support panel in the rack and sending the paging audio into the DA matrix and out the house speakers.
I think we are using the HP E5400 zl Switch for networking. I will be at the house later today to hookup a spare KScape server to back up the running server because 2 drives are failing at the same time, so I will double check the model of the network switch.
I am starting a project with 8 TPs and 2 ECOMs. Any thoughts about what may need to be hacked up in the AMX-provided module?
Thanks.