Actions

Difference between revisions of "DIP"

From Zenitel Wiki

 
(89 intermediate revisions by 7 users not shown)
Line 1: Line 1:
DIP is the protocol used between Stentofon IP stations and AlphaCom E exchanges. It is used for all data-communication with the IP stations, such as call control, LED settings and display text to the station, and keypresses and inputs from the station.
+
{{A}}
 +
'''DIP''' is the control protocol used between STENTOFON IP stations and AlphaCom E exchanges. It is used for all data-communication with the IP stations, such as call control, LED settings and display text to the station, and key presses and inputs from the station.
  
DIP is short for "Display-data over IP", and refers to the ASLT display data protocol. This protocol was based on 9600 baud one-way transmission while DIP is transmitted both ways over IP (TCP and UPD).
+
DIP is short for "Display-data over IP", and refers to the ASLT display data protocol. This protocol was based on 9600 baud one-way transmission while DIP is transmitted both ways over IP (TCP and UDP).
  
The commands are written as human readable text. Text string values are sometimes enclosed by quotes "". Number values are usually in hex format.
+
See also ACDP message: [[DIP FWD]]
 
+
[[Category:INCA Technical Articles]]
== Protocol specification ==
+
[[Category:Protocols]]
AlphaCom side TCP port: 50001.<br>
 
Station side TCP port: (Any).<br>
 
Station side UDP port: (Specified in '''<code>con</code>''' command).
 
 
 
AlphaCom listens for IP stations on TCP port 50001. When an IP station is powered up, it connects to this port and sends the '''<code>stu</code>''' command to AlphaCom. AlphaCom then specifies UDP voice ports and optionally UDP command port with the '''<code>con</code>''' command.
 
 
 
== DIP Commands ==
 
Current version: 00.02  (Note: Some commands below are not yet implemented in 00.02 so this is not quite true).<br>
 
For earlier versions, see ...
 
 
 
=== Commands from AlphaCom to IP stations: ===
 
 
 
'''<code>con</code>''' - Configure station
 
<ref> con <phy_ind> <dirno> <name> <volume> <port0> <pri0> <port1> <pri1> <port2> <pri2> <port_udp> <mcast-ip>
 
The '''<code>con</code>''' command is sent from AlphaCom once during startup, after the station has reported with the '''<code>stu</code>''' command. It may also be sent after AlphaCom database configuration changes.
 
:''ref'': Physical number for addressed station.
 
:''phy_ind'': Physical number of the station. This number specifies the ''ref'' parameter values used in all later commands for identifying this station.
 
:''dirno'': Text info for showing on station's display and web-page.
 
:''name'': Text info for showing on station's display and web-page.
 
:''volume'': Volume level for the station. Hex value 00-1F.
 
:''port0'': UDP port for voice logical-channel 0.
 
:''pri0'': Priority for voice logical-channel 0.
 
:''port1'': UDP port for voice logical-channel 1.
 
:''pri1'': Priority for voice logical-channel 1.
 
:''port2'': UDP port for voice logical-channel 2.
 
:''pri2'': Priority for voice logical-channel 2.
 
:''port_udp'': Optional. UDP port for DIP commands over UDP multicast.
 
:''mcast-ip'': Optional. Multicast address for DIP commands over UDP multicast.
 
:(Note: The parameters ''port_udp'' and ''mcast_ip'' are NOT IMPLEMENTED YET, WILL BE IN DIP VERSION 00.03)
 
 
 
'''<code>auc</code>''' - Audio Connect
 
<ref> auc <port> <codec> <packetlen> <volume> <config-bitmap>
 
:''ref'': Physical number for addressed station.
 
:''amc-ip'': Remote IP address for voice stream.
 
:''port'': Remote UDP port for voice stream.
 
::Hex value 0000-FFFF.
 
:''codec'':
 
::g711
 
::g722
 
:''packetlen'':
 
::Hex value 0A (10ms), 14 (20ms).
 
:''volume'':
 
::Hex value 00-1F.
 
:''config-bitmap'':
 
::0001 = Use station's Echo canceler for open duplex conversation.
 
 
 
'''<code>aue</code>''' - Audio End
 
<ref> aue
 
:''ref'': Physical number for addressed station.
 
 
 
'''<code>agc</code>''' - Audio Group Connect  (NOT IMPLEMENTED YET, WILL BE IN DIP VERSION 00.03)
 
<ref> agc <logical-chan> <op> <mcast-ip> <codec> <group-bitmap>
 
The '''<code>agc</code>''' command is sent over TCP (unicast) or UDP (multicast). It may come either from AlphaCom or from a forwarding IP station. Since it may be sent over unreliable UDP protocol it is repeated by the sender each 5th second. If the first message is lost, the next will probably come through.
 
:''ref'': Physical number for addressed station.
 
:''logical-chan'': Channel number for UDP voice. The channels' ports are previously congfigured by the '''<code>con</code>''' command.
 
::1 = group call
 
::2 = program distribution
 
:''op'':
 
::lst - Receive multicast and playout
 
::fwd - Receive unicast, forward to multicast and playout
 
:''mcast-ip'': Multicast IP for the group voice.
 
:''codec'':
 
::g711
 
::g722
 
:''group-bitmap'': Optional, variable length. Stations addressed by this multicast message ''in addition to'' the one addressed by ''ref''.
 
::Hex value. 0-FFFFF... One bit per station selected. '1' value in position N means station with physical no = N + ''ref'' is included. Example: ''ref''=3, bitmap=81 means that phys. no 3, 4 and 11 are included.
 
 
 
'''<code>age</code>''' - Audio Group End  (NOT IMPLEMENTED YET, WILL BE IN DIP VERSION 00.03)
 
<ref> age <logical-chan> <op> <group-bitmap>
 
The '''<code>age</code>''' command is sent over TCP (unicast) or UDP (multicast). It may come either from AlphaCom or from a forwarding IP station. Since it may be sent over unreliable UDP protocol it may not be received, and the IP station should have implemented a timeout mechanism to simulate the  '''<code>age</code>''' command if the expected repetition of '''<code>agc</code>''' commands is missing for a long time.
 
:''ref'': Physical number for addressed station.
 
:''logical-chan'': Same as for '''<code>agc</code>''' command.
 
:''op'': Same as for '''<code>agc</code>''' command.
 
:''group-bitmap'': Same as for '''<code>agc</code>''' command.
 
 
 
'''<code>bon</code>''' - Volume-boost on
 
<ref> bon
 
:''ref'': Physical number for addressed station.
 
 
 
'''<code>bof</code>''' - Volume-boost off
 
<ref> bof
 
:''ref'': Physical number for addressed station.
 
 
 
'''<code>ind stl</code>''' - Set StationLED indicator
 
<ref> ind stl <remindertype> <onoff>
 
:''ref'': Physical number for addressed station.
 
:''remindertype:
 
::0 = static
 
::1 = blink each 4th second (mail notification)
 
::2 = blink each 1 second (priority mail notification)
 
:''onoff'':
 
::0 = off
 
::1 = on
 
 
 
'''<code>ind dak</code>''' - Set DAKLED indicator
 
<ref> ind dak <no> <indno> <blinktype> <onoff>
 
:''ref'': Physical number for addressed station.
 
:''no'':
 
::Hex value. 0-FFFF...
 
::0 = DAK 1.
 
:''indno'':
 
::0 = Indno 0.
 
:''blinktype'':
 
::0 = static.
 
::1 = slow blink.
 
::2 = fast blink.
 
:''onoff'':
 
::0 = off
 
::1 = on
 
 
 
'''<code>ind out</code>''' - Set Output indicator
 
<ref> ind out <no> <indno> <blinktype> <onoff>
 
:''ref'': Physical number for addressed station.
 
:''no'':
 
::Hex value. 0-FFFF...
 
::0 = Output 1. (On IP substation this is the Relay output).
 
::1 = Output 2. (On IP substation this is the Spare output).
 
:''indno'':
 
::0 = Indno 0. (On IP substation this is the only valid indno).
 
:''blinktype'':
 
::0 = static.
 
::1 = slow blink.
 
::2 = fast blink.
 
:''onoff'':
 
::0 = off
 
::1 = on
 
 
 
'''<code>ping</code>''' - Ping
 
<ref> ping
 
:''ref'': Physical number for addressed station.
 
 
 
=== Commands from IP stations to AlphaCom: ===
 
'''<code>stu</code>''' - Station Up
 
<ref> stu <mac_addr> <ip> <dip_version> <sw_type> <sw_version> <hw_type> <hw_version>
 
This message is sent from IP station to AlphaCom once the TCP connection is established.
 
:''ref'': Physical number of the sending station.
 
:''mac_addr'': MAC address of the IP station.
 
::Format: 001122334455
 
:''ip'': IP address of the IP station.
 
:''dip_version'': DIP protocol version number used by IP station.
 
::Format: XX.XX (decimal).
 
:''sw_type'':
 
::A100G80222 - IP substation software
 
:''sw_version'':
 
::Format: XX.XX (decimal).
 
:''hw_type'':
 
::8021 - IP substation, old type (without RJ connectors).
 
::8022 - IP substation.
 
:''hw_version'':
 
::Format: X (decimal).
 
 
 
'''<code>evt inp</code>''' - Station Input Event
 
<ref> evt inp <no> <onoff>
 
:''ref'': Physical number of the sending station.
 
:''no'': Input no as specified by IP station hardware.
 
::0 = Input 1. (Key input 1 on IP substation).
 
::1 = Input 2. (Key input 2 on IP substation).
 
::2 = Input 3. (Key input 3 on IP substation).
 
:''onoff'':
 
::0 = off
 
::1 = on
 
 
 
'''<code>evt key</code>''' - Station Key Event
 
<ref> evt key <no> <onoff>
 
:''ref'': Physical number of the sending station.
 
:''no'': Key no.
 
::0-9 = digits 0-9.
 
::0A  = *  (TODO: Verify this!)
 
::0B  = #  (TODO: Verify this!)
 
::(TODO: Add more key definitions for menu control keys here?)
 
:''onoff'':
 
::0 = off
 
::1 = on
 
 
 
'''<code>evt mkey</code>''' - Station M-key Event
 
<ref> evt mkey <onoff>
 
:''ref'': Physical number of the sending station.
 
:''onoff'':
 
::0 = off
 
::1 = on
 
 
 
'''<code>evt ckey</code>''' - Station C-key Event
 
<ref> evt ckey <onoff>
 
:''ref'': Physical number of the sending station.
 
:''onoff'':
 
::0 = off
 
::1 = on
 
 
 
'''<code>evt dak</code>''' - Station DAK key Event
 
<ref> evt dak <no> <onoff>
 
:''ref'': Physical number of the sending station.
 
:''no'': DAK key no.
 
::0-... = DAK key 0-....
 
:''onoff'':
 
::0 = off
 
::1 = on
 
 
 
'''<code>evt hooksw</code>''' - Station Hookswitch Event
 
<ref> evt hooksw <onoff>
 
:''ref'': Physical number of the sending station.
 
:''onoff'':
 
::0 = off
 
::1 = on
 
 
 
'''<code>pong</code>''' - Pong
 
<ref> pong
 
:''ref'': Physical number of the sending station.
 
 
 
'''<code>ack</code>''' - Ack
 
<ref> ack <params...>
 
Ack is sent as response to sucessful command from AlphaCom. Parameters depend on the command that was received.
 
:''ref'': Physical number of the sending station.
 
 
 
'''<code>nak</code>''' - Nak
 
<ref> nak <params...>
 
Nak is sent as response to unsucessful command from AlphaCom. Parameters depend on the command that was received.
 
:''ref'': Physical number of the sending station.
 

Latest revision as of 14:41, 7 September 2017

AlphaCom icon 300px.png

DIP is the control protocol used between STENTOFON IP stations and AlphaCom E exchanges. It is used for all data-communication with the IP stations, such as call control, LED settings and display text to the station, and key presses and inputs from the station.

DIP is short for "Display-data over IP", and refers to the ASLT display data protocol. This protocol was based on 9600 baud one-way transmission while DIP is transmitted both ways over IP (TCP and UDP).

See also ACDP message: DIP FWD