Actions

Multicast in AlphaCom

From Zenitel Wiki

Revision as of 10:26, 18 December 2007 by Egil (talk) (New page: =Multicast adresses= Multicasts are only sent from the AlphaCom. IP stations never sends multicasts (with the exception of Relayed multicast). IP stations will always send unicast data and...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Multicast adresses

Multicasts are only sent from the AlphaCom. IP stations never sends multicasts (with the exception of Relayed multicast). IP stations will always send unicast data and audio to its owning AlphaCom. The AlphaCom will if needed forward the audio to other stations using multicast.

Each AlphaCom in a AlphaNet uses its own range of multicast addresses. The bottom line is that for each multicast group used by the AlphaCom system, there is only one possible source, which is a specific AlphaCom. Listners to the multicast group is only the IP stations owned by that AlphaCom. Therefore static forwarding rules for multicasts can be used in the IP routers.

By default AlphaCom uses multicast addresses 239.192.<node>.<chan>. <node> is the node number of the AlphaCom exchange. AlphaCom use <chan> = 0 for DIP messages, and <chan> between 1 and 32 for the group audio.

The range of multicast addresses used by a Alphacom exchange can be changed by setting the multicast "Base Address" (AlphaPro : exchange/system/voip; NVRAM variable .ex_profile.ip_config.mcast_addr_base). The base address must be a valid Multicast address, the last byte being zero. Unless the AlphaCom conflicts with an other multicasting application on the network, there is no reason to set the "Base Address". Note that when "Base Address" is used to force the upper 3 bytes of the address, the node number is not used to form the actual address.

DIP and multicast

The stations learns the multicast address and UDP port for multicasted DIP messages in the con message. Default UDP port is 50001, which is the same number as the TCP port on the AlphaCom side for DIP over TCP.

When a group audio feature is started towards IP stations, AlphaCom multicasts a agc DIP message to all IP stations belonging to that exchange. The "agc" message lists all stations which should become member of the call in the form of a bitmap. The "agc" message also identifies the multicast IP address and UDP port for the RTP audio.

Since multicast have to use the unreliable UDP tranport, AlphaCom will repeat the "agc" messages. AlphaCom repeats the "agc" of a call first after 200 ms. Then the "agc" message is repeated every 5 seconds. The "age" disconnect message is sent only once. The stations will disconnect group audio reception on own accord if it does not receive a "agc" repeat for 11 seconds.

"agc" messages sent as multiplied unicast messages are never repeated. This is because the message is sent over TCP, and the station is not a relay station.

Alternatives to multicast

Multiplied unicast

AlphaCom can be configured send separate copy of every packet to each station as unicast. The "agc" /"age" DIP messages are sent over the TCP links. And a separate copy of every RTP audio packet is sent to every IP station which is member.

Which also means 100kbit/s bitrate over the network for every station in the group!

The maximum number of IP stations which can be reached in a groupcall using Multiplied unicast is 50.

This applies as long as unicast copying is used for groupcalls. The limit can be changed via the NVRAM variable .ex_profile.ip_config.ucast_grp_lim. The maximum UDP resources available for all VOIP calls are 64, that is the definite limit. However, the AlphaCom becomes unresponsive for 1-2 seconds during setup of a 50 member call, so best is to avoid such large groupcalls to IP stations. If the limit is exceeded, the following message is sent to the System Syslog:

"Number of IP stations in unicast groupcall exceed 50, skipping rest"

Relayed multicast

"Relayed multicast" can be used to extend multicasted group audio to a different subnet, without relying on multicast aware IP routers.

"Relay groups" of stations can be defined in AlphaPro. When some group audio is setup involves stations in a relay group, AlphaCom selects one of the stations in the relay group as a relay station. AlphaCom will send the DIP messages and the RTP audio to the relay station. The relay station is told to forward the DIP messages and RTP audio to the multicast address.

AlphaCom will always select a relay station which is part of the group audio. Hence the relay station will never be asked to forward more than two audio streams (one for each logical channel). Also, the relay station is also required have a working DIP-TCP connection, which assures that a working station is chosen as the relay station.

Configuration of Group Audio

Multicast transmission can be enabled by setting the NVRAM variable .ex_profile.ip_config.mcast_enable to a non-zero value