Mototrbo and AlphaCom interfacing
From Zenitel Wiki
This article describes how the AlphaCom can be integrated to the digital radio system MOTOTRBO from Motorola. Most suitable radio model is DM3600 (display model), but for basic functionality also DM3400 can be used. The IP-ARIO unit is used as interface between AlphaCom and the MOTOTRBO radio.
Contents
- 1 Functionality
- 2 Connections
- 3 Configuration
- 3.1 Prerequisites
- 3.2 IP-ARIO configuration
- 3.3 EDIO Port
- 3.4 Simplex Conference
- 3.5 Event Handler
- 3.5.1 Event 1: PTT operation on Group Call
- 3.5.2 Event 2: Selective dialing
- 3.5.3 Event 3: PTT operation on Private Call
- 3.5.4 Event 4: Force simplex mode
- 3.5.5 Event 5: Force simplex mode
- 3.5.6 Event 6: Display Radio ID in Simplex Conference
- 3.5.7 Event 7: Current Intercom Talker
- 3.5.8 Event 8: Display Intercom Talker in Simplex Conference
- 3.5.9 Event 9: Receive and process call status from the radio
- 3.5.10 Event 10: Substation calls to radio
- 3.5.11 Event 11: Substation calls timeout
- 3.5.12 Event 12: Substation call to radio user - handling TX Interrupt
- 3.5.13 Event 13: Sending text message to a radio user
- 3.5.14 Event 14: Switching of radio channels (Optional)
- 4 How to determine the Radio IP Address
- 5 Related articles
Functionality
Basic functionality
Basic functionality allows voice communication between a group of radio users (Talk Group) and a group of intercom stations. In the AlphaCom the Simplex Conference feature is used.
- Operation: The intercom user dials the simplex conference number (e.g. 8201) to listen to the radio traffic, and presses the M-key to talk to the radio group and to other intercom users listening to the conference channel. There will be no Caller ID in the intercom stations.
While listening to the radio, the intercom station is free to make or receive regular calls.
Enhanced functionality
Increased functionality is achieved when using data communication between the AlphaCom and the MOTOTRBO gateway radio. The following functionality has been tested and is described in this article:
Group communication
Voice communication between a group of radio users and a group of intercom stations, as decribed for "Basic functionality".
- Operation: Dial conference channel (e.g. 8201) to listen to the radio group. Press M-key to talk.
Caller ID
The display of intercom stations listening to the simplex conference will see the ID of the current talker. E.g. "Radio : 1005" or "Intercom: 123".
Private Call from master station to radio user
Selective call (Private Call) from master station to selective radio user.
- Operation: Dial Prefix + Radio ID. (E.g. 5 + 1005). Press M-key to talk. The call will automatically cancel after a certain time of inactivity from either side (radio setting).
Call from radio to AlphaCom
An incoming private call from a radio user is routed to a predefined intercom station. Call to selective intercom station is not supported.
- Operation: From a radio user, select "Manual dial", and dial the radio ID of the radio gateway (e.g. 1003). A call will be generated from the radio gateway to a predefined intercom station (e.g. Station 102). Press M-key to talk. The call will automatically cancel after a certain time of inactivity from either side (radio setting).
Private Call from substation to radio user
Push the call button of the substation to call a predefined radio user.
- Operation: Press Call button (E.g. DAK dials "I 5 P 1005"). The radio user presses the PTT button to answer and to talk. When releasing the PTT, audio from the substation will be sent to the radio without any user intervension.
Because a substation doesn't have any M-key for PTT operation, the PTT from the AlphaCom side is automatically activated when the radio is releasing the PTT button. This means there will always be a PTT active, so there will be no timeout in the radio system. A conversation timeout is programmed in AlphaCom to cancel the call after a preset time.
Because the radio gateway has PTT active by default, the radio users must be set to override the gateway PTT. The radio gateway must be configured to "Allow interruption", and the radio user(s) must have "TX Interrupt" enabled.
If a dedicated Cancel function is required, it is possible to configure the radio so that the press of a function key sets a digital output on the gateway radio. This output can be connected to a RCI of the IPARIO, and programmed to cancel the call. This feature is not decribed in this article.
Send text message to a predefined radio user
A text message can be sent to a predefined radio user. A text message can be generated by any event in the AlphaCom.
- Operation: An intercom user can for example dial a code (e.g. Event Trigger 9533) to generate a predefined text message.
Changing the radio channel used by the gateway radio
A code can be dialed on an intercom station to change the radio channel of the gateway radio. The display text of the simplex conference will change accordingly to show which channel is currently used.
- Operation: There is one code for each channel in use. Dial a code (e.g. 6401) to select channel 1. Dial 6402 to switch to channel 2, etc. When switching to a new channel, all intercom users will listen to the new channel selected.
Note: The same IPARIO/gateway radio cannot be used for listening to a radio group and for private call at the same time. When listening to radio group, the IPARIO is busy (Default Speaker in a simplex conference), and cannot be addressed for private call. If both radio group and private calls are required, it is recommended to use two radio interfaces, one for each purpose.
Connections
The connection between the MOTOTRBO gateway radio and the IPARIO is as follows:
Basic functionality
For basic functionality, analog audio in, audio out and PTT signal is used:
- RX audio to Radio IN (Motorola 770 mV nom.)
- TX audio to Radio OUT (Motorola 80 mV nom.)
- PTT to RCO output (active low)
- Audio is asymmetric, DC-block capacitor is required in TX audio line to radio.
Enhanced functionality
For enhanced functionality, data communication between AlphaCom and the MOTOTRBO gateway radio is required. The MOTOTRBO Extended Control and Management Protocol (XCMP) allows the AlphaCom to control and manage the gateway radio. An XCMP converter model DMR921 from Motorola is required. The converter is connected to the RS232 serial port on the IP-ARIO and to the accessory port of gateway radio (USB).
Configuration
Prerequisites
Below is a list of parameters used in the configuration examples.
For basic functionality:
- Directory number 5 is used by the IPARIO
- RCO 22 is used for keying of the radio transmitter
- Simplex Conference 1 (8201) is used for radio listen/talk
For enhanced functionality:
- TCP/IP port 4005 is used for communication between AlphaCom and IP-ARIO
- Radio ID 1003 is used by the gateway radio
- Station 102 receives the call when radio users make Private Call to the radio gateway 1003
- UDP group 2: Substations calling out to radio user must be included in UDP 2. Special handling of PTT.
- UDD 500: The number of digits in the Radio ID
- UDD 501: The number of digits currently dialed when doing selective call to MOTOTRBO radio
- UDD 502: The complete collected number during dialing
- UDD 503: The directory number of the station currently in conversation (Private Call) with the IP-ARIO
- UDD 504: The Radio ID or Intercom ID of the current talker
- UDD 505: The substation directory number when substation is doing a private call to a radio user
You can choose to use other parameters, but then you must carefully study each step and adjust the configuration accordingly.
IP-ARIO configuration
Configure the IP ARIO to register to the AlphaCom using directory number 5, see description in the IPARIO article. Note that an IPARIO license is required in the AMC-IP.
- In Users & Stations -> General tab, set Station Type = PNCI. This is to allow transparent dialing while connected to the IP-ARIO, without the digits being intepreted by the AlphaCom.
- In the Station Type tab, enable "Request for Audio License".
EDIO Port
For enhanced functionality, configure the EDIO 1 port of AlphaCom to use the RS232 serial port of the IP-ARIO:
- In Exchange & System -> Serial Ports, select EDIO 1, and set the following parameters:
- Port Type: IPARIO
- Bit rate = 9600, Parity = None, Data bits = 8, Stop bits = 1.
- Station = Physical number of the IPARIO
- Port = 4005. This is the TCP/IP port used between AlphaCom and the IPARIO. Note: This port must be defined and opened in the Filters settings in AlphaWeb.
- Keep Alive = Enabled
- Stop character = 10
Simplex Conference
Configure the IP-ARIO to be Default Speaker in Simplex Conference 1:
Event Handler
- Basic Functionality: Event 1 is the only event required
- Enhanced Functionality: Event 1-13 is required
LOG statements are included for debug purposes only. Might be useful to watch the System Log in case things doesn't work as expected.
In Exchange & System -> Events, Insert the required events:
Event 1: PTT operation on Group Call
Operate the RCO 22 (PTT) when M-key is pressed in Simplex Conference:
Event Owner: IP-ARIO Event Type: 1 - Audio Sub Event: 64 (Program Conference) When Change To: ON or OFF Action: RCO 22
Event 2: Selective dialing
This event is used for selective dialing to MOTOTRBO radios. The event collects the digits dialed while connected to the IP-ARIO (dirno 5). It checks that the digit pressed is between 0 and 9, and collects 4 digits, assuming that the Radio ID is a 4-digit number. (The line "WUDD 500 4" can be modified if the Radio ID consists of less or more digits). When four digits are collected, it will send an "AT+CCR" command on the EDO port, setting up a private call to the selected radio ID. The PTT (RCO 22) is pulsed to establish the call, and the digit counter (UDD 501) and the collected number (UDD 502) is cleared.
Event Owner: Stations w. UDP. ID: 8 Event Type: 25 Event Trigger w/User Parameter Sub Event: 255 When Change To: ON or OFF When Related To: Directory Number. Id: 5 Action: IF %op(%sev,>=,0) IF %op(%sev,<=,9) IF %chg(1,0) WUDD 500 4 WUDD 501 %op(%udd(501),+,1) WUDD 502 %op(%op(%udd(502),*,10),+,%sev) IF %op(%udd(501),=,%udd(500)) $DSPL L%1.dir U18 0312 'Call: %udd(502) M=PTT' EDO 1 "AT+CCR=1,4,1,%udd(502)\r" LOG "=> AT+CCR=1,4,1,%udd(502)" RCO 22 ON 5 WUDD 501 0 WUDD 502 0 ENDIF ENDIF ENDIF ENDIF
Event 3: PTT operation on Private Call
Operate the RCO 22 (PTT) when M-key is pressed while in point-to-point communication with the IP-ARIO. The event checks that the station pressing the M-button is connected to the IP-ARIO. If this is the case, the RCO 22 is operated.
Event Owner: Stations w. UDP. ID: 8 Event Type: 31 - M-key Sub Event: 0 When Change To: ON or OFF When Related To: All Action: IF %op(%1.dir,=,%udd(503)) RCO 22 ENDIF
Event 4: Force simplex mode
When the IP-ARIO receives a call, the calling station's directory number is stored in UDD 503. This information is used in the previous "Event 3" for PTT operation. When the conversation starts, the digit counter (UDD 501) and the collected number (UDD 502) are cleared, and the call is forced in simplex mode from the IPARIO towards the caller to ensure that the caller will hear the audio from the radio. When the conversation cancels, the PTT relay is turned off, and M-key is released on the calling station.
Event Owner: IP-ARIO Event Type: 7 - Conversation Incoming When Change To: ON or OFF When Related To: All Action: WUDD 503 %chg(%2.dir,0) IF %chg(1,0) WUDD 501 0 WUDD 502 0 $SIMP L%1.dir U0 U1 stop ENDIF RCO 22 OFF $MREL L%2.dir
Event 5: Force simplex mode
When a call is initiated from the radio to an intercom station, the called station's directory number is stored in UDD 503. This information is used in the previous "Event 3" for PTT operation. The call is forced in simplex mode from the IPARIO towards the caller to ensure that the caller will hear the audio from the radio. The intercom station will receive the Radio ID (i.e. the ID of the MOTOTRBO radio currently talking) in the display, as stored in UDD 504.
Event Owner: IP-ARIO Event Type: 8 - Conversation Outgoing When Change To: ON or OFF When Related To: All Action: WUDD 503 %chg(%2.dir,0) $SIMP L%1.dir U1 U1 $DSPL L%2.dir U18 0312 'Radio: %udd(504)'
Event 6: Display Radio ID in Simplex Conference
This event is used to update the "Caller ID" in the display of all stations listening to Simplex Conference 1 (8201) when a radio user is talking. When a radio is using the PTT button, this is reported to the AlphaCom via the EDI port. The EDI script executes the $VOX command when the PTT is pressed or released, which will trigger this event and upgrade the display accordingly. However, when the radio gateway (Radio ID 1003) is talking, which actually means that an intercom station is talking, no display info is sent from this event. The actual Radio ID is stored in UDD 504.
Event Owner: Stations w. UDP. ID: 8 Event Type: 16 - Simplex Conference Audio Sub Event: 0 When Change To: ON or OFF When Related To: Directory Number. Id: 8201 Action: IF %chg(1,0) IF %op(%udd(504),=,1003) stop ENDIF $DSPL L%1.dir U18 0312 'Radio: %udd(504)' stop ENDIF $DSPL L%1.dir U18 0312 ' '
Event 7: Current Intercom Talker
This event is triggered when a intercom station presses the M-key while in Simplex Conference. It is used to update the "Caller ID" (Current talker) variable (UDD 504), and execute the $VOX command. The $VOX command will trigger the next event (Event 8), which does the actual upgrade of the display of all conference members.
Event Owner: Stations w. UDP. ID: 8 Event Type: 08 - Conversation Outgoing Sub Event: 0 When Change To: ON or OFF When Related To: Directory Number. Id: 8201 Action: WUDD 504 %1.dir $VOX 1%chg(1,0) L8201
Event 8: Display Intercom Talker in Simplex Conference
This event is used to update the "Caller ID" in the display of all stations listening to Simplex Conference 1 (8201) when a intercom user is talking. The event is triggered by the $VOX command in the previous event, and will upgrade the display accordingly. However, when the IPARIO (dirno 5) is feeding the conference, the display is not updated. The actual Intercom number is stored in UDD 504.
Event Owner: Stations w. UDP. ID: 8 Event Type: 16 - Simplex Conference Audio Sub Event: 1 When Change To: ON or OFF When Related To: Directory Number. Id: 8201 Action: IF %chg(1,0) IF %op(%udd(504),=,5) stop ENDIF $DSPL L%1.dir U18 0312 'Intercom: %udd(504)' stop ENDIF $DSPL L%1.dir U18 0312 ' '
Event 9: Receive and process call status from the radio
This event is triggered when any text string is received from the radio. The event is looking for the string "+XCMP-CALLCTRLBRDCST", which reports status on voice communication. The message contains three parameters, Address, Type and State. The following values are used by this event:
- Address: The Radio ID. The value is stored in variable TMP 2.
- Type: 4 = Private Call. 6 = Group Call. The value is stored in variable TMP 3.
- State: 1 = New incoming call. 2 = Call in progress. 3 = End of call. 7 = Call ceased. The value is stored in variable TMP 4.
Description:
- If a Private Call is received (State = 1 and Type = 4) on the gateway radio, a call is initiated from the IPARIO (5) to station 102.
- If a Private Call is in Progress (State = 2 and Type = 4), the display of the intercom station connected to the IPARIO is updated with the Radio ID.
- If a Group Call is in Progress (State = 2 and Type = 6), the $VOX command will trigger Event 6, which will update the display of all intercom stations listening to the Simplex Conference with the Radio ID.
- If a Private Call is Ended (State = 3 and Type = 4), the call between the IPARIO and the intercom is cancelled.
- If a Group Call is Ended (State = 3 and Type = 6), the $VOX command will trigger Event 6, which will clear the display of all intercom stations listening to the Simplex Conference.
- If a Call is Ceased (State = 7), i.e. PTT is released from a radio, it is checked (UDD 505) if the calling station is a substation (without any M-key). If that is the case, the PTT of the gateway is operated, and M-key forced ON on the substation.
Event Owner: EDI Text Config Event Type: 28 - EDI Text Sub Event: 1 Action: LOG "<= EDI: %edi" TMP 0 "%sscan(%edi,+)" IF %scmp(%scutf(%TMP(0), ,0),+XCMP-CALLCTRLBRDCST) TMP 1 "%scutc(%TMP(0),21,0)" TMP 2 "%scutc(%scutf(%TMP(1),\,,0),9,0)" TMP 3 "%scutc(%scutf(%TMP(1),\,,1),10,0)" TMP 4 "%scutc(%scutf(%TMP(1),\,,2),11,0)" WUDD 504 %tmp(2) LOG "=> EDI: Call from: %TMP(2)" LOG "=> EDI: Call Type: %TMP(3)" LOG "=> EDI: Call State: %TMP(4)" IF %op(%TMP(4),=,1) LOG "=> EDI: New Incoming call" IF %op(%TMP(3),=,4) $CALL L5 L102 W64 ENDIF ENDIF IF %op(%TMP(4),=,2) LOG "=> EDI: Call in progress" IF %op(%TMP(3),=,4) $DSPL L%udd(503) U18 0312 'Radio: %TMP(2)' ENDIF IF %op(%TMP(3),=,6) $VOX 01 L8201 ENDIF ENDIF IF %op(%TMP(4),=,3) LOG "=> EDI: End of Call" IF %op(%TMP(3),=,4) $C L5 ENDIF IF %op(%TMP(3),=,6) $VOX 00 L8201 ENDIF ENDIF IF %op(%TMP(4),=,7) LOG "=> EDI: Call ceased: %TMP(2)" IF %op(%udd(504),=,1003) stop ENDIF IF %udd(505) $M L%udd(505) RCO 22 ON ENDIF ENDIF ENDIF
Event 10: Substation calls to radio
This event is triggered when a substation in UDP group 2 calls to the radio via IPARIO. The substation dirno is stored in UDD 505, and a 30.0 sec timer is started, which will cancel the connection when upon timeout.
Event Owner: Stations w. UDP. ID: 2 (Substations) Event Type: 08 - Conversation Outgoing Sub Event: 0 When Change To: ON or OFF When Related To: Directory Number. Id: 5 Action: WUDD 505 %chg(%1.dir,0) IF %chg(1,0) $ST L%1.dir W300 L9900 ENDIF
Event 11: Substation calls timeout
This event is triggered when the timer started in the previous event, times out. It is used as a conversation timer for substation to radio calls.
Event Owner: Stations w. UDP. ID: 2 (Substations) Event Type: 21 - Event timeout Sub Event: 0 When Change To: ON When Related To: Directory Number. Id: 9900 Action: $C L%1.dir
Event 12: Substation call to radio user - handling TX Interrupt
When a private call is made from a substation to a radio, the radio answers the call by pressing the PTT button and talks to the substation. When releasing the PTT button this is reported to the EDI port as "Call Ceased", and the previous EDI event activates the PTT in the gateway radio. Now, if the handset radio presses PTT again, the radio channel is already in use by the gateway radio, so the handset needs to be set with "TX Interrupt" capability. It will then force the gateway radio to stop sending, the microphone goes off, and the "+XCMP-MICCTRLBRDCST" is reported on EDI. The event is looking for the string "+XCMP-MICCTRLBRDCST", which reports status abut the microphone enabled/disabled on the gateway radio.
When the "Mic State" is "00" (i.e. off), and the IPARIO is in conversation with a substation (UDD 505), the M-key is released on the substation and the PTT signal (RCO 22) is switched off.
Event Owner: EDI Text Config Event Type: 28 - EDI Text Sub Event: 1 Action: LOG "<= EDI: %edi" TMP 0 "%sscan(%edi,+)" IF %scmp(%scutf(%TMP(0), ,0),+XCMP-MICCTRLBRDCST) TMP 1 "%scutc(%TMP(0),20,0)" TMP 2 "%scutc(%scutf(%TMP(1),\,,0),11,0)" TMP 3 "%scutc(%scutf(%TMP(1),\,,1),12,0)" TMP 4 "%scutc(%scutf(%TMP(1),\,,2),13,0)" TMP 5 "%scutc(%scutf(%TMP(1),\,,3),15,0)" LOG "=> EDI: Mic Type: %TMP(2)" LOG "=> EDI: Sig Type: %TMP(3)" LOG "=> EDI: Mic State: %TMP(4)" LOG "=> EDI: Gain Factor: %TMP(5)" IF %op(%TMP(4),=,00) IF %udd(505) $MREL L%udd(505) RCO 22 OFF ENDIF ENDIF ENDIF
Event 13: Sending text message to a radio user
Send text message to a radio: It is possible by using the "AT+TMSC" command to send a text message to a selective radio. This event will send the text message "PLEASE REPORT TO CCR" to the radio with Radio IP address 12.0.3.236 when event trigger 9533 is dialed. The text message can of course be triggered by any other event. The Radio IP address is calculated from the CAI network and the Radio Device ID, see How to determine the Radio IP Address.
Event Owner: Stations w. UDP. ID: 8 Event Type: 15 Event Trigger Sub Event: 255 When Change To: ON When Related To: Directory Number. Id: 9533 Action: EDO 1 "AT+TMSC=12.0.3.236, PLEASE REPORT TO CCR\r"
Event 14: Switching of radio channels (Optional)
The radio channel used by the gateway radio can be changed by the "AT+CZSR" command. First one have to create Event Trigger numbers for the channel selection. In the Directory & Features window, select Insert, and select feature 85, directory number 6401 as shown in the screenshot below.
Create a new number for each channel being used, e.g. 6401 = Channel 1, 6402 = Channel 2, 6403 = Channel 3 etc.
Then add one event for each channel that should be available for selection. In Exchange & System -> Events, Insert the required events:
Event for selecting channel 1: When dialing event trigger 6401, this event will send an AT+CZSR command to the radio gateway, and instruct it to change to channel 1. The $SDT command will change the text of the simplex conference to become identical to the name used on feature 6401, e.g. "Radio Ch 1".
Event Owner: Stations w. UDP. ID: 8 Event Type: 15 Event Trigger Sub Event: 0 When Change To: ON When Related To: Directory Number. Id: 6401 Action: EDO 1 "AT+CZSR=6,0,1\r" $SDT L8201 '%2.nam'
Event for selecting channel 2:
Event Owner: Stations w. UDP. ID: 8 Event Type: 15 Event Trigger Sub Event: 0 When Change To: ON When Related To: Directory Number. Id: 6402 Action: EDO 1 "AT+CZSR=6,0,2\r" $SDT L8201 '%2.nam'
How to determine the Radio IP Address
Some AT commands, such as the "AT+TMSC" used for sending of text message, is using the Radio IP Address to address the radio, and not the Radio Device ID. The IP Address is determined from the CAI (Common Air Interface) network and the Radio Device ID. The CAI network is configured in the radio, and has by default value 12. The CAI network forms the first position of the IP address.
The radio device ID (possible values 1 - 16776415) is placed at the last position, as long as it is ≤ 255. The second and third positions of the IP address are then zero. If the radio device ID is greater than 255, the middle positions are filled in as follows:
- Representation of the radio ID as a hexadecimal number.
- Filling the first positions with leading zeros until 6 digits are achieved.
- The first two digits – converted to a decimal number – form the second position of the IP address.
- The third and fourth digits – converted to a decimal number – form the third position of the IP address.
- The fifth and sixth digits – converted
Examples:
CAI network: 10, radio device ID: 99 IP address:10.0.0.99
Hex Dec CAI network: 10, radio device ID: 300 ---> 00 01 2C ---> 00 01 44 IP address:10.0.1.44
Hex Dec CAI network: 12, radio device ID: 1004 ---> 00 03 ED ---> 00 03 236 IP address:12.0.3.236