Actions

Difference between revisions of "Mototrbo and AlphaCom interfacing"

From Zenitel Wiki

(Event 7: Display Intercom ID in Simplex Conference)
(Event 7: Display Intercom ID in Simplex Conference)
Line 191: Line 191:
 
  $DSPL L%1.dir U18 0312 ' '
 
  $DSPL L%1.dir U18 0312 ' '
  
==== Event 7: Display Intercom ID in Simplex Conference ====
+
==== Event 7: Current Intercom Talker ====
 
+
This event is triggered when a intercom station pressesd M-key while in Simplex Conference. It is used to update the "Caller ID" (Current talker) variable (UDD 504), and execute the $VOX command, which will trigger the next event which does the upgrade of the display.  
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. When the M-key is pressed or released this event is triggered and upgrades the display accordingly.  
 
  
 
  '''Event Owner:''' Stations w. UDP. ID: 8
 
  '''Event Owner:''' Stations w. UDP. ID: 8
Line 201: Line 200:
 
  '''When Related To:''' Directory Number. Id: 8201
 
  '''When Related To:''' Directory Number. Id: 8201
 
  '''Action:'''
 
  '''Action:'''
 +
WUDD 504 %1.dir
 
  $VOX U1%chg(1,0) L8201
 
  $VOX U1%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. 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)
 +
$DSPL L%1.dir U18 0312 'Intercom: %udd(504)'
 +
stop
 +
ENDIF
 +
$DSPL L%1.dir U18 0312 ' '
  
 
==== Event 7: Receive and process call status from radio ====
 
==== Event 7: Receive and process call status from radio ====

Revision as of 21:54, 24 October 2012

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.

Enhanced functionality

Increased functionality is achieved when using data communication between the AlphaCom and the MOTOTRBO radio. The following functionality has been tested and is described in this article:

  • Voice communication between a group of radio users and a group of intercom stations (Basic functionality).
Operation: Dial conference channel (e.g. 8201) to listen to the radio group. Press M-key to talk.
  • Display of intercom station shows Caller ID (current talker)
  • Semi-duplex (Press To Talk) private call to selective radio user.
Operation: Dial Prefix + Radio ID. (E.g. 5 + 1005). Press M-key to talk.
  • Incoming private call from a radio user to 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 used as interface (e.g. 1003). A call will be generated from the radio interface to a predefined intercom station (e.g. Station 102). Press M-key to talk.
  • Send text message to a preselected radio user
Operation: An intercom user can for example dial a code (e.g. Event Trigger 9533) to generate a predefined text message. A text message can be generated by any event in the AlphaCom.


Note: The same IPARIO/radio interface 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.

Connection

The connection between the MOTOTRBO 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.
  • Ignition input of the radio needs to be connected to +12V to power-up the radio automatically.

Enhanced functionality

For enhanced functionality, data communication between AlphaCom and the MOTOTRBO radio is required. The MOTOTRBO Extended Control and Management Protocol (XCMP) allows the AlphaCom to control and manage the MOTOTRBO radio. An XCMP converter model DMR621 from Motorola is required. The converter is connected to the RS232 serial port on the IP-ARIO and to the accessory port of MOTOTRBO radio (USB).

Configuration

Assumptions

Below is a list of parameters used in the configuration examples.

For basic functionality:

  • IPARIO is using directory number 5
  • RCO 22 is used for keying of the radio transmitter
  • Simplex Conference 1 (8201) is used for radio listen/talk

For enhanced functionality:

  • 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 with the IP-ARIO
  • UDD 504: The Radio ID of the current talker in the MOTOTRBO system
  • TCP/IP port 4005 is used for communication between AlphaCom and IP-ARIO
  • Private calls from radio users to the AlphaCom are routed to Station 102

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 describtion in the IPARIO article. Note that an IPARIO license is required in the AMC-IP.

IP-ARIO configuration
  • 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

Configure the EDIO 1 port of AlphaCom to use the RS232 serial port of the IP-ARIO:

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

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


Event Handler

LOG statements are included for debug purposes only. Might be useful to watch the System Log in case things doesn't work as expected.

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.

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
ENDIF


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. 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)
$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 pressesd M-key while in Simplex Conference. It is used to update the "Caller ID" (Current talker) variable (UDD 504), and execute the $VOX command, which will trigger the next event which does the upgrade of the display.

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 U1%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. 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)
$DSPL L%1.dir U18 0312 'Intercom: %udd(504)'
stop
ENDIF
$DSPL L%1.dir U18 0312 ' '

Event 7: Receive and process call status from radio

This event is triggered when any text string is received from the radio. The event looks 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 radio which is used as interface, 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.
  • Call is Ceased (State = 7) is currently not in use.


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 U01 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 U00 L8201
ENDIF
ENDIF
IF %op(%TMP(4),=,7)
LOG "=> EDI: Call ceased: %TMP(2)"
ENDIF
ENDIF


Event 8: 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 addresnetwork 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"

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