The Infocast server configuration
Infocast server configuration DTD
Infocast server configuration XML example
The Infocast server configuration XML example below shows a
configuration of a metadata channel,
two boot image channels (1963
and 1903), two splash image
channels (1963 and 1903). The metadata channel consists of
boot image channel information (1963 and 1903), configuration and time.
The name of this file in the evaluation configuration is infocastconfig.xml.
<channel>
<channel-parameters>
<ip-address>224.2.2.2</ip-address>
<ip-port-number>22222</ip-port-number>
<time-to-live>5</time-to-live>
<bit-rate>16</bit-rate>
<payload-size>1024</payload-size>
<signature-type></signature-type>
</channel-parameters>
<object>
<name>arris-vip1963</name>
<infocast-type>bootcastinfo</infocast-type>
<source>
<source-name>bootcast_1963</source-name>
<source-type>file</source-type>
</source>
<precoding>none</precoding>
</object>
<object>
<name>kreatel-ip-stb-rev-6</name>
<infocast-type>bootcastinfo</infocast-type>
<source>
<source-name>bootcast_1903</source-name>
<source-type>file</source-type>
</source>
<precoding>none</precoding>
</object>
<object>
<name>kreatel-ip-stb-rev-11</name>
<infocast-type>bootcastinfo</infocast-type>
<source>
<source-name>bootcast_1903</source-name>
<source-type>file</source-type>
</source>
<precoding>none</precoding>
</object>
<object>
<name>cfg.infocast</name>
<infocast-type>generic</infocast-type>
<source>
<source-name>infocastclientconfig.xml</source-name>
<source-type>xmlfile</source-type>
</source>
<precoding>crc16</precoding>
</object>
<object>
<name>cfg.portal.starturl</name>
<infocast-type>generic</infocast-type>
<source>
<source-name>starturl.txt</source-name>
<source-type>file</source-type>
</source>
<precoding>crc16</precoding>
</object>
<object>
<name>cfg.portal.whitelisturls</name>
<infocast-type>generic</infocast-type>
<source>
<source-name>whitelisturls.xml</source-name>
<source-type>xmlfile</source-type>
</source>
<precoding>crc16</precoding>
</object>
<object>
<name>cfg.portal.proxylist</name>
<infocast-type>generic</infocast-type>
<source>
<source-name>proxylist.xml</source-name>
<source-type>xmlfile</source-type>
</source>
<precoding>crc16</precoding>
</object>
<object>
<name>var.utctime</name>
<infocast-type>utctime</infocast-type>
<source>
<source-name></source-name>
<source-type>utctime</source-type>
</source>
<precoding>none</precoding>
</object>
</channel>
<channel>
<channel-parameters>
<ip-address>224.2.2.1</ip-address>
<ip-port-number>22222</ip-port-number>
<time-to-live>5</time-to-live>
<bit-rate>2048</bit-rate>
<payload-size>1024</payload-size>
<signature-type></signature-type>
</channel-parameters>
<object>
<name>software</name>
<infocast-type>bootcastfile</infocast-type>
<source>
<source-name>kreatv-bi_1963</source-name>
<source-type>file</source-type>
</source>
<precoding>crc16</precoding>
</object>
</channel>
<channel>
<channel-parameters>
<ip-address>224.2.2.3</ip-address>
<ip-port-number>11111</ip-port-number>
<time-to-live>5</time-to-live>
<bit-rate>512</bit-rate>
<payload-size>1024</payload-size>
<signature-type></signature-type>
</channel-parameters>
<object>
<name>splash-data</name>
<infocast-type>bootcastfile</infocast-type>
<source>
<source-name>kreatv-splash_1963</source-name>
<source-type>file</source-type>
</source>
<precoding>crc16</precoding>
</object>
</channel>
<channel>
<channel-parameters>
<ip-address>224.2.2.11</ip-address>
<ip-port-number>22222</ip-port-number>
<time-to-live>5</time-to-live>
<bit-rate>2048</bit-rate>
<payload-size>1024</payload-size>
<signature-type></signature-type>
</channel-parameters>
<object>
<name>software_1903</name>
<infocast-type>bootcastfile</infocast-type>
<source>
<source-name>kreatv-bi_1903</source-name>
<source-type>file</source-type>
</source>
<precoding>crc16</precoding>
</object>
</channel>
<channel>
<channel-parameters>
<ip-address>224.2.2.13</ip-address>
<ip-port-number>11111</ip-port-number>
<time-to-live>5</time-to-live>
<bit-rate>512</bit-rate>
<payload-size>1024</payload-size>
<signature-type></signature-type>
</channel-parameters>
<object>
<name>splash-data_mipsel</name>
<infocast-type>bootcastfile</infocast-type>
<source>
<source-name>kreatv-splash_1903</source-name>
<source-type>file</source-type>
</source>
<precoding>crc16</precoding>
</object>
</channel>
If you want to support new STB in infocast server, firstly, you should get the
new STB's bootcast id; then create a new bootcast information object in metadata
channel configuration and boot image channel configuration in infocastconfig.xml;
lastly, restart your infocast server.
Infocast server XML description
The configuration file
/opt/infocast/infocastconfig.xml
contains all settings for how to distribute files and information.
If this file is modified, the server must be restarted:
/opt/infocast/infocastserverd restart
The information that is distributed is referred to as an object,
and the IP-address that multicasts the information is referred to
as a channel. Every channel is enclosed by a <channel> tag
and directly after this tag is a <channel-parameters> tag
that holds the information about the channel. The following parameters
can be modified:
Channel elements
| Element |
Comment |
Example value |
| ip-address |
The multicast IP-address. |
224.2.2.2 |
| ip-port-number |
The multicast port number. |
22222 |
| time-to-live |
The Time to Live (TTL) of the packet. |
5 |
| bandwidth-limit | bit-rate |
Approximate bit rate [kbit/s].
NOTE! The bit-rate at which infocast objects
are transmitted will affect the CPU load of the receiving set
top boxes. Always keep this setting as low as possible.
|
16 |
| burst-delay |
Initial length of the pauses between the Infocast bursts [ms].
This pause may be increased or decreased during run time
depending on desired bit rate.
|
40 |
| payload-size |
The maximum payload size of each packet [byte].
The total UDP packet size will be
payload-size + precoding (0-4 bytes) + UDP header size (44+ bytes).
NOTE! The payload-size (in bytes) for the metadata
channel needs to be at least as large as the largest bootcastinfo file
being transmitted on that channel. This restriction only applies to
the bootcastinfo files, not boot images or other objects.
|
256 |
| signature-type |
Not currently used. |
N/A |
After the channel parameters is an <object> tag that contains
information about the information that is distributed. Every channel
can contain any number of objects. The following parameters can be
modified:
Object elements
| Element |
Comment |
Values |
name |
The name that identifies the object. This parameter is
generally not configurable.
An Infocast URL looks like this:
infocast://<ip-address>:<ip-port-number>/<name>
Example:
infocast://224.2.2.66:22222/kreatv-bi_1963
|
Type:
String
Value set:
A valid object name
Example:
cfg.portal.proxylist
|
infocast-type |
The type of the object.
generic: A generic file.
-
bootcastfile: A file containing the operating system
for the VIP units.
-
bootcastinfo: A file containing information about
how to receive the operating system.
-
softwarecontrol: A file containing information
about how to receive software updates.
-
software: A file containing software updates.
time: The current local time.
utctime: The current UTC time.
|
Type:
String
Value set:
generic | bootcastfile | bootcastinfo |
softwarecontrol | software | time | utctime
Default value:
generic
|
source-name |
The name of the file that is distributed if the next
parameter has the value file or xmlfile.
|
Type:
String
Value set:
The name of an existing file.
Example:
proxylist.xml |
source-type |
Indicates the type of source. If the
source is set to xmlfile, then the XML file is
validated against the DTD given in the XML file. If the
validation fails, then the server will not start.
|
Type:
String
Value set:
file | xmlfile | time | utctime
|
precoding |
Checksum method.
The time and utctime objects are always sent without checksum
regardless of this setting.
|
Type:
String
Value set:
none | crc16
Default value:
none
|
delay |
Minimum delay from the object is sent until it is sent
the next time in seconds. The objects with delay set to
something greater than 0 form a separate queue. This implies
that they are sent at the specified intervals as long as
the bandwidth allocated to the channel is enough.
|
Type:
Integer
Value set:
N/A
Default value:
0
|
Valid infocast object name
From Infocast Server version 3.1 the name length are
extended on object name. Long names are allowed for
infocast-type generic where the source-type
is file or xmlfile. The name length has
to be less than payload-size minus 50. Thus increase
the payload-size to make it possible to use very long
names.
For Infocast Server version 3.0, maximum 29 characters can be used
for object name.
| Allowed characters |
Forbidden characters |
| printable ASCII |
& " > < |
Below the compatibility matrix shows the need of in sync client and
server to use long infocast names.
| Compatibility matrix |
Infocast Server >= 3.1 |
Infocast Server < 3.1 |
| KreaTV >= 4.x |
Long names supported |
No long names can be sent from server |
| KreaTV < 4.x |
Objects with long names discarded by client |
No long names can be sent from server |