Actions

Difference between revisions of "Mototrbo and AlphaCom interfacing"

From Zenitel Wiki

(IP-ARIO configuration)
(197 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{stub}}
+
{{A}}
[[File:Mototrbo1.PNG|thumb|right|500px|AlphaCom and MOTOTRBO integration]]
+
[[File:MotoTrbo2.png|thumb|right|600px|AlphaCom and MOTOTRBO integration]]
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 interface between AlphaCom and the MOTOTRBO radio is the [[IP-ARIO|IP-ARIO unit]].
+
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|IP-ARIO unit]] is used as interface between AlphaCom and the MOTOTRBO radio.  
  
 
==Functionality==
 
==Functionality==
Increased functionality is achieved when using data communication between the AlphaCom and the MOTOTRBO radio. The MOTOTRBO Extended Control and Management Protocol (XCMP) allows the AlphaCom to control and manage the MOTOTRBO radio. If more than groupcall functionality is required, an XCMP converter model DMR621 from Motorola is required. The converter is connected to the serial port on the IP-ARIO (RS232) and to the accessory port on MOTOTRBO radio (USB).
 
  
===Without XCMP converter ===
+
=== Basic functionality ===
* Without the XCMP converter intercom stations in a Simplex Conference can communicate with a Group Call in the MOTOTRBO radio system. There will be no caller ID in the intercom stations.
 
  
===With XCMP converter===
+
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.
With the XCMP converter and EventHandler configuration the following functionality has been tested:
+
* 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.
* Groupcall in fixed group (M-key is PTT)
+
 
* Semi-duplex (Press To Talk) private call to selectable MOTOTRBO radio
+
While listening to the radio, the intercom station is free to make or receive regular calls.
* Incoming private call from a MOTOTRBO radio to ''predefined'' intercom station. Call to selectable intercom station is not supported.
+
 
* Send text message to a preselected MOTOTRBO radio
+
=== Enhanced functionality ===
* Display of Caller ID
+
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==
 
==Connections==
Connections between the MOTOTRBO radio and IP-ARIO:
+
[[File:Mototrbo wiring.PNG|thumb|right|400px|Mototrbo - IPARIO wiring diagram]]
 +
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.)
 
* RX audio to Radio IN (Motorola 770 mV nom.)
 
* TX audio to Radio OUT (Motorola 80 mV nom.)
 
* TX audio to Radio OUT (Motorola 80 mV nom.)
 
* PTT to RCO output (active low)
 
* PTT to RCO output (active low)
 
* Audio is asymmetric, DC-block capacitor is required in TX audio line to radio.
 
* Audio is asymmetric, DC-block capacitor is required in TX audio line to radio.
* Ignition input of the radio needs to be connected to +12V to power-up the radio automatically.
 
* Optional: XCMP converter. The adapter is connected to the serial port on the IP-ARIO and to the accessory port on MOTOTRBO radio (USB).
 
  
 +
===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 ==
 
== Configuration ==
  
===Pre.--- ===
+
=== Prerequisites ===
  
* IPARIO is using directory number 5
+
Below is a list of parameters used in the configuration examples.
* RCO 22 is used for keying of the radio transmitter
 
* Simplex Conference 1 (8201) is used for radio listen/talk
 
* UDD 500:
 
* UDD 501:
 
* UDD 502:
 
* UDD 503:
 
  
 +
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 ===
 
=== IP-ARIO configuration ===
Configure the IP ARIO to register to the AlphaCom using directory number 5, see describtion in the [[IP-ARIO|IPARIO article]]. Note that an [[Licenses#IP-ARIO_Audio_License|IPARIO license]] is required in the AMC-IP.
+
Configure the IP ARIO to register to the AlphaCom using directory number 5, see description in the [[IP-ARIO|IPARIO article]]. Note that an [[Licenses#IP-ARIO_Audio_License|IPARIO license]] is required in the AMC-IP.
  
Notes:
+
* 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 '''Users & Stations''' -> '''General''' tab, set Station Type = PNCI. This to allow digit dialing while connected to the IPARIO.
 
 
* In the '''Station Type''' tab, enable "Request for Audio License".
 
* In the '''Station Type''' tab, enable "Request for Audio License".
  
 +
[[File:IPARIO Users.PNG|thumb|left|500px|IP-ARIO configuration]]
 +
<br style="clear:both;" />
 +
 +
=== 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
 +
[[File:Serial IPARIO.PNG|thumb|left|500px|Configure the EDIO 1 port]]
 +
[[File:Filters IPARIO.PNG|thumb|left|500px|Define and enable port 4005 in the Filters settings in AlphaWeb.]]
 +
<br style="clear:both;" />
 +
 +
=== Simplex Conference ===
 +
Configure the IP-ARIO to be Default Speaker in Simplex Conference 1:
 +
[[File:SXconf IPARIO.PNG|thumb|left|500px|Configure the IP-ARIO to be Default Speaker in Simplex Conference 1]]
 +
<br style="clear:both;" />
 +
 +
=== 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====
  
Outgoing call to radio:
+
Operate the RCO 22 (PTT) when M-key is pressed in Simplex Conference:
  
In Users & Stations, set the radio interface (IPARIO or FBSAR) to '''Station Type''' = PNCI. This is to allow further dialling while connected to the interface, without the digits intepreted by the AlphaCom.
+
'''Event Owner:''' IP-ARIO
 +
'''Event Type:'''  1 - Audio
 +
'''Sub Event:'''  64 (Program Conference)
 +
'''When Change To:''' ON or OFF
 +
'''Action:'''  
 +
RCO 22
  
Event:
+
====Event 2: Selective dialing ====
  
  '''Event Owner:''' Stations w/UDP 8 (all stations)
+
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 type:''' 25 - Event trigger with parameter
+
 
  '''Subevent:''' 255
+
  '''Event Owner:''' Stations w. UDP. ID: 8
  '''When Change To:''' ON
+
  '''Event Type:''' 25 Event Trigger w/User Parameter
  '''When Related To:''' The IPARIO interface
+
  '''Sub Event:'''   255
 +
  '''When Change To:''' ON or OFF
 +
  '''When Related To:''' Directory Number. Id: 5
 
  '''Action:'''
 
  '''Action:'''
 +
IF %op(%sev,>=,0)
 +
IF %op(%sev,<=,9)
 +
IF %chg(1,0)
 +
WUDD 500 4
 
  WUDD 501 %op(%udd(501),+,1)
 
  WUDD 501 %op(%udd(501),+,1)
  WUDD 502 %sev
+
  WUDD 502 %op(%op(%udd(502),*,10),+,%sev)
WUDD 503 %op(%op(%udd(503),*,10),+,%udd(502))
+
  IF %op(%udd(501),=,%udd(500))
  IF %op(%udd(501),=,4)
+
  $DSPL L%1.dir U18 0312 'Call: %udd(502) M=PTT'
  $DSPL L%1.dir U19 031354 'Call: %udd(503) M=PTT'
+
  EDO 1 "AT+CCR=1,4,1,%udd(502)\r"
  EDO 1 "AT+CCR=1,4,1,%udd(503)\r"
+
  LOG "=> AT+CCR=1,4,1,%udd(502)"
  LOG "=> AT+CCR=1,4,1,%udd(503)"
+
RCO 22 ON 5
  WUDD 504 1
+
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
 
  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.
  
EDIO 1 is used to receive data from the Mototrbo radio:
+
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:
 
  
 
  '''Event Owner:''' EDI Text Config
 
  '''Event Owner:''' EDI Text Config
  '''Event type:''' 28 - EDI Text
+
  '''Event Type:''' 28 - EDI Text
  '''Subevent:''' 1
+
  '''Sub Event:'''   1
'''When Change To:''' N/A
 
'''When Related To:''' N/A
 
 
  '''Action:'''
 
  '''Action:'''
 
+
  LOG "<= EDI: %edi"
  LOG "<= EDI %sev: %edi"
 
 
  TMP 0 "%sscan(%edi,+)"
 
  TMP 0 "%sscan(%edi,+)"
 
 
  IF %scmp(%scutf(%TMP(0), ,0),+XCMP-CALLCTRLBRDCST)
 
  IF %scmp(%scutf(%TMP(0), ,0),+XCMP-CALLCTRLBRDCST)
 
  TMP 1 "%scutc(%TMP(0),21,0)"
 
  TMP 1 "%scutc(%TMP(0),21,0)"
Line 90: Line 291:
 
  TMP 3 "%scutc(%scutf(%TMP(1),\,,1),10,0)"
 
  TMP 3 "%scutc(%scutf(%TMP(1),\,,1),10,0)"
 
  TMP 4 "%scutc(%scutf(%TMP(1),\,,2),11,0)"
 
  TMP 4 "%scutc(%scutf(%TMP(1),\,,2),11,0)"
 
+
WUDD 504 %tmp(2)
  LOG "=> EDI %sev: Call from: %TMP(2)"
+
  LOG "=> EDI: Call from: %TMP(2)"
  LOG "=> EDI %sev: Call Type: %TMP(3)"
+
  LOG "=> EDI: Call Type: %TMP(3)"
  LOG "=> EDI %sev: Call State: %TMP(4)"
+
  LOG "=> EDI: Call State: %TMP(4)"
 
 
 
  IF %op(%TMP(4),=,1)
 
  IF %op(%TMP(4),=,1)
WUDD 5 1
+
  LOG "=> EDI: New Incoming call"
  LOG "=> EDI %sev: New Incoming call"
+
IF %op(%TMP(3),=,4)
  $DSPL L103 U19 031314 'CH %sev: %TMP(2)'
+
  $CALL L5 L102 W64
  $DSPL L104 U19 031314 'CH %sev: %TMP(2)'
+
ENDIF
  $DIP L103 "dici 1"
+
ENDIF
  $DIP L104 "dici 1"
+
IF %op(%TMP(4),=,2)
 
+
LOG "=> EDI: Call in progress"
  IF %udd(301)
+
IF %op(%TMP(3),=,4)
  LOG "=> EDI %sev: Patch start"
+
  $DSPL L%udd(503) U18 0312 'Radio: %TMP(2)'
  IF %op(%TMP(2),>=,203)
+
ENDIF
  $CONF_TALK L11%sev U3 U1
+
IF %op(%TMP(3),=,6)
  IND 13 %op(16,+,%sev) 2 3 ON
+
  $VOX 01 L8201
  LOG "$CONF_TALK L11%sev U3 U1"
+
  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
 
  ENDIF
 +
IF %udd(505)
 +
$M L%udd(505)
 +
RCO 22 ON
 
  ENDIF
 
  ENDIF
 
IF %op(%udd(301),=,0)
 
$VOX 01 L820%sev
 
 
  ENDIF
 
  ENDIF
 
 
  ENDIF
 
  ENDIF
  
IF %op(%TMP(4),=,2)
+
==== Event 10: Substation calls to radio ====
LOG "=> EDI %sev: Call in progress"
+
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.
$DSPL L103 U19 031314 'CH %sev: %TMP(2)'
 
$DSPL L104 U19 031314 'CH %sev: %TMP(2)'
 
$DIP L103 "dici 1"
 
$DIP L104 "dici 1"
 
  
  IF %udd(301)
+
  '''Event Owner:''' Stations w. UDP. ID: 2 (Substations)
  IF %op(%TMP(2),>=,203)
+
  '''Event Type:'''  08 - Conversation Outgoing
  $CONF_TALK L11%sev U1 U1
+
'''Sub Event:'''  0
IND 13 %op(16,+,%sev) 2 3 ON
+
'''When Change To:''' ON or OFF
  LOG "$CONF_TALK L11%sev U1 U1"
+
'''When Related To:''' Directory Number. Id: 5
ENDIF
+
'''Action:'''
 +
WUDD 505 %chg(%1.dir,0)
 +
  IF %chg(1,0)
 +
  $ST L%1.dir W300 L9900
 
  ENDIF
 
  ENDIF
  
ENDIF
 
  
  IF %op(%TMP(4),=,3)
+
==== Event 11: Substation calls timeout ====
  WUDD 5 0
+
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.
  LOG "=> EDI %sev: End of Call"
+
 
  $DSPL L103 U19 031314 ''
+
  '''Event Owner:''' Stations w. UDP. ID: 2 (Substations)
  $DSPL L104 U19 031314 ''
+
  '''Event Type:'''  21 - Event timeout
  $DIP L103 "dici 1"
+
  '''Sub Event:'''  0
  $DIP L104 "dici 1"
+
  '''When Change To:''' ON
 +
  '''When Related To:''' Directory Number. Id: 9900
 +
  '''Action:'''
 +
  $C L%1.dir
  
IF %udd(301)
+
==== Event 12: Substation call to radio user - handling TX Interrupt ====
IF %op(%TMP(2),>=,203)
 
$CONF_TALK_STOP L11%sev
 
IND 13 %op(16,+,%sev) 2 3 OFF
 
LOG "=> EDI %sev: $CONF_TALK_STOP L11%sev"
 
  ENDIF
 
ENDIF
 
  
IF %op(%udd(301),=,0)
+
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.
$VOX 00 L820%sev
 
WUDD 5 0
 
ENDIF
 
  
ENDIF
+
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.
  
  IF %op(%TMP(4),=,7)
+
'''Event Owner:''' EDI Text Config
  LOG "=> EDI %sev: Call ceased: %TMP(2)"
+
'''Event Type:'''  28 - EDI Text
  IF %udd(301)
+
'''Sub Event:'''  1
  IF %op(%TMP(2),>=,203)
+
'''Action:'''
  $CONF_TALK_STOP L11%sev
+
LOG "<= EDI: %edi"
IND 13 %op(16,+,%sev) 2 3 OFF
+
TMP 0 "%sscan(%edi,+)"
  LOG "=> EDI %sev: $CONF_TALK_STOP L11%sev"
+
  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
 
  ENDIF
 
  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|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.
 +
 
 +
[[File:Mototrbo EventTrigger.PNG|thumb|left|500px|Create Event Trigger numbers for channel selection]]
 +
<br style="clear:both;" />
 +
 
 +
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
  
  
 +
== Related articles ==
 +
* [[Mobile radio interface (IPARIO)]]
 +
* [[Mobile radio interface|Mobile radio interface (FBSAR)]]
  
 +
[[Category:IP-ARIO]]
 
[[Category:3rd party integration]]
 
[[Category:3rd party integration]]

Revision as of 09:39, 26 June 2018

AlphaCom icon 300px.png
AlphaCom and MOTOTRBO integration

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.

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

Mototrbo - IPARIO wiring diagram

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".
IP-ARIO configuration


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
Configure the EDIO 1 port
Define and enable port 4005 in the Filters settings in AlphaWeb.


Simplex Conference

Configure the IP-ARIO to be Default Speaker in Simplex Conference 1:

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 Event Trigger numbers for channel selection


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:

  1. Representation of the radio ID as a hexadecimal number.
  2. Filling the first positions with leading zeros until 6 digits are achieved.
  3. The first two digits – converted to a decimal number – form the second position of the IP address.
  4. The third and fourth digits – converted to a decimal number – form the third position of the IP address.
  5. 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


Related articles