<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.simtx.net/index.php?action=history&amp;feed=atom&amp;title=SimTX_API_v24%2FPackets%2FTransmitterSessionRequest</id>
	<title>SimTX API v24/Packets/TransmitterSessionRequest - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.simtx.net/index.php?action=history&amp;feed=atom&amp;title=SimTX_API_v24%2FPackets%2FTransmitterSessionRequest"/>
	<link rel="alternate" type="text/html" href="https://wiki.simtx.net/index.php?title=SimTX_API_v24/Packets/TransmitterSessionRequest&amp;action=history"/>
	<updated>2026-11-04T22:58:00Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.simtx.net/index.php?title=SimTX_API_v24/Packets/TransmitterSessionRequest&amp;diff=2235&amp;oldid=prev</id>
		<title>Clanker: Archive the v24 protocol reference: use the v24 templates, links and categories</title>
		<link rel="alternate" type="text/html" href="https://wiki.simtx.net/index.php?title=SimTX_API_v24/Packets/TransmitterSessionRequest&amp;diff=2235&amp;oldid=prev"/>
		<updated>2026-10-24T16:18:19Z</updated>

		<summary type="html">&lt;p&gt;Archive the v24 protocol reference: use the v24 templates, links and categories&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:18, 24 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SimTX API navigation}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SimTX API &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v24 &lt;/ins&gt;navigation}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SimTX packet&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SimTX packet &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v24&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| name = TransmitterSessionRequest&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| name = TransmitterSessionRequest&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| id = 2&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| id = 2&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| hex = 0x02&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| hex = 0x02&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| direction = c2s&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| direction = c2s&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| session = [[SimTX API/Transmitter session|Transmitter]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| session = [[SimTX API &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v24&lt;/ins&gt;/Transmitter session|Transmitter]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| size = Variable, at most 263,168 bytes of field payload&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| size = Variable, at most 263,168 bytes of field payload&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| permission = &amp;lt;code&amp;gt;game.transmit&amp;lt;/code&amp;gt; (checked at the handshake)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| permission = &amp;lt;code&amp;gt;game.transmit&amp;lt;/code&amp;gt; (checked at the handshake)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| reply = [[SimTX API/Packets/TxQueue|TxQueue]], [[SimTX API/Packets/TxAccept|TxAccept]] or [[SimTX API/Packets/TxReject|TxReject]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| reply = [[SimTX API &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v24&lt;/ins&gt;/Packets/TxQueue|TxQueue]], [[SimTX API &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v24&lt;/ins&gt;/Packets/TxAccept|TxAccept]] or [[SimTX API &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v24&lt;/ins&gt;/Packets/TxReject|TxReject]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| group = transmitter&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| group = transmitter&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;TransmitterSessionRequest&#039;&#039;&#039; starts a [[SimTX API/Transmitter session|transmitter session]]. It describes the station, its antenna, the signal (modulation, frequency, power, source and sample rate) and, optionally, the imperfections of the simulated transmitter. The client sends it once, immediately after an accepted [[SimTX API/Packets/HandshakeResult|HandshakeResult]] on a connection with role 2 or 3.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;TransmitterSessionRequest&#039;&#039;&#039; starts a [[SimTX API &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v24&lt;/ins&gt;/Transmitter session|transmitter session]]. It describes the station, its antenna, the signal (modulation, frequency, power, source and sample rate) and, optionally, the imperfections of the simulated transmitter. The client sends it once, immediately after an accepted [[SimTX API &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v24&lt;/ins&gt;/Packets/HandshakeResult|HandshakeResult]] on a connection with role 2 or 3.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Unlike most packets, the body is a [[SimTX API/Data types#TLV field list|TLV field list]], so that fields can be added in later revisions without breaking existing clients.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Unlike most packets, the body is a [[SimTX API &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v24&lt;/ins&gt;/Data types#TLV field list|TLV field list]], so that fields can be added in later revisions without breaking existing clients.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Layout ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Layout ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l29&quot;&gt;Line 29:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 29:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Numeric payloads are a single big-endian &amp;lt;code&amp;gt;f32&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;i32&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;length = 4&amp;lt;/code&amp;gt;. String payloads (callsign, modulation, source type) are standard UTF-8 without any further length prefix. GeoPoint and AntennaConfig payloads use their usual encoding, with &amp;lt;code&amp;gt;length&amp;lt;/code&amp;gt; giving their total size.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Numeric payloads are a single big-endian &amp;lt;code&amp;gt;f32&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;i32&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;length = 4&amp;lt;/code&amp;gt;. String payloads (callsign, modulation, source type) are standard UTF-8 without any further length prefix. GeoPoint and AntennaConfig payloads use their usual encoding, with &amp;lt;code&amp;gt;length&amp;lt;/code&amp;gt; giving their total size.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The &#039;&#039;Live&#039;&#039; column marks fields that can later be changed with [[SimTX API/Packets/TxUpdate|TxUpdate]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The &#039;&#039;Live&#039;&#039; column marks fields that can later be changed with [[SimTX API &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v24&lt;/ins&gt;/Packets/TxUpdate|TxUpdate]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l36&quot;&gt;Line 36:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 36:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 1 || &amp;lt;code&amp;gt;callsign&amp;lt;/code&amp;gt; || UTF-8 || Yes || 1–64 printable characters, ≤ 64 bytes || — ||&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 1 || &amp;lt;code&amp;gt;callsign&amp;lt;/code&amp;gt; || UTF-8 || Yes || 1–64 printable characters, ≤ 64 bytes || — ||&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 2 || &amp;lt;code&amp;gt;location&amp;lt;/code&amp;gt; || [[SimTX API/Data types#GeoPoint|GeoPoint]] (24 bytes) || Yes || Valid coordinates || — ||&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 2 || &amp;lt;code&amp;gt;location&amp;lt;/code&amp;gt; || [[SimTX API &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v24&lt;/ins&gt;/Data types#GeoPoint|GeoPoint]] (24 bytes) || Yes || Valid coordinates || — ||&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 3 || &amp;lt;code&amp;gt;antenna&amp;lt;/code&amp;gt; || [[SimTX API/Data types#AntennaConfig|AntennaConfig]] || Yes || See Data types || — ||&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 3 || &amp;lt;code&amp;gt;antenna&amp;lt;/code&amp;gt; || [[SimTX API &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v24&lt;/ins&gt;/Data types#AntennaConfig|AntennaConfig]] || Yes || See Data types || — ||&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 4 || &amp;lt;code&amp;gt;modulation&amp;lt;/code&amp;gt; || UTF-8 || Yes || A [[SimTX API/Data types#Modulation|Modulation]] name, ≤ 64 bytes || — ||&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 4 || &amp;lt;code&amp;gt;modulation&amp;lt;/code&amp;gt; || UTF-8 || Yes || A [[SimTX API &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v24&lt;/ins&gt;/Data types#Modulation|Modulation]] name, ≤ 64 bytes || — ||&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 5 || &amp;lt;code&amp;gt;frequencyHz&amp;lt;/code&amp;gt; || f32 || Yes || &amp;gt; 0; values above 3 GHz are reduced to 3 GHz || — || Yes&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 5 || &amp;lt;code&amp;gt;frequencyHz&amp;lt;/code&amp;gt; || f32 || Yes || &amp;gt; 0; values above 3 GHz are reduced to 3 GHz || — || Yes&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l46&quot;&gt;Line 46:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 46:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 6 || &amp;lt;code&amp;gt;powerWatts&amp;lt;/code&amp;gt; || f32 || Yes || ≥ 0; reduced to at most 1,000,000 and then to the account&amp;#039;s &amp;lt;code&amp;gt;tx.pa_limit&amp;lt;/code&amp;gt; || — || Yes&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 6 || &amp;lt;code&amp;gt;powerWatts&amp;lt;/code&amp;gt; || f32 || Yes || ≥ 0; reduced to at most 1,000,000 and then to the account&amp;#039;s &amp;lt;code&amp;gt;tx.pa_limit&amp;lt;/code&amp;gt; || — || Yes&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 7 || &amp;lt;code&amp;gt;sourceType&amp;lt;/code&amp;gt; || UTF-8 || Yes || A [[SimTX API/Data types#TransmissionSourceType|TransmissionSourceType]] name || — ||&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 7 || &amp;lt;code&amp;gt;sourceType&amp;lt;/code&amp;gt; || UTF-8 || Yes || A [[SimTX API &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v24&lt;/ins&gt;/Data types#TransmissionSourceType|TransmissionSourceType]] name || — ||&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 8 || &amp;lt;code&amp;gt;sampleRate&amp;lt;/code&amp;gt; || i32 || Yes || &amp;gt; 0 || — ||&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| 8 || &amp;lt;code&amp;gt;sampleRate&amp;lt;/code&amp;gt; || i32 || Yes || &amp;gt; 0 || — ||&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l101&quot;&gt;Line 101:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 101:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Values outside the ranges above, unknown enumeration names and invalid antenna data close the connection without a reply. Values that the table says are &amp;#039;&amp;#039;reduced&amp;#039;&amp;#039; are accepted and silently limited.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Values outside the ranges above, unknown enumeration names and invalid antenna data close the connection without a reply. Values that the table says are &amp;#039;&amp;#039;reduced&amp;#039;&amp;#039; are accepted and silently limited.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* For role 3 (&amp;lt;code&amp;gt;TX_GENERATED&amp;lt;/code&amp;gt;) the source type must be &amp;lt;code&amp;gt;WHITE_NOISE&amp;lt;/code&amp;gt;; any other source closes the connection. On role 2, &amp;lt;code&amp;gt;WHITE_NOISE&amp;lt;/code&amp;gt; produces nothing and the session ends after the 15-second input stall timeout.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* For role 3 (&amp;lt;code&amp;gt;TX_GENERATED&amp;lt;/code&amp;gt;) the source type must be &amp;lt;code&amp;gt;WHITE_NOISE&amp;lt;/code&amp;gt;; any other source closes the connection. On role 2, &amp;lt;code&amp;gt;WHITE_NOISE&amp;lt;/code&amp;gt; produces nothing and the session ends after the 15-second input stall timeout.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Sample rate rules: the server processes the signal at min(10,000,000, max(sampleRate, 240,000 for WFM)). Raw IQ above 10,000,000 samples per second is rejected with a [[SimTX API/Packets/TxReject|TxReject]], as is audio that would need to be resampled by more than 128×.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Sample rate rules: the server processes the signal at min(10,000,000, max(sampleRate, 240,000 for WFM)). Raw IQ above 10,000,000 samples per second is rejected with a [[SimTX API &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v24&lt;/ins&gt;/Packets/TxReject|TxReject]], as is audio that would need to be resampled by more than 128×.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Example ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Example ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The minimal request from [[SimTX API/Quick start|Quick start]], built in Python:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The minimal request from [[SimTX API &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v24&lt;/ins&gt;/Quick start|Quick start]], built in Python:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l133&quot;&gt;Line 133:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 133:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== See also ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== See also ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SimTX API/Transmitter session]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[SimTX API &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v24&lt;/ins&gt;/Transmitter session]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Advanced Transmitter Settings]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Advanced Transmitter Settings]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Modulation Modes]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Modulation Modes]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SimTX API navbox}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{SimTX API &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v24 &lt;/ins&gt;navbox}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:SimTX API]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:SimTX API &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;v24&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Clanker</name></author>
	</entry>
	<entry>
		<id>https://wiki.simtx.net/index.php?title=SimTX_API_v24/Packets/TransmitterSessionRequest&amp;diff=2233&amp;oldid=prev</id>
		<title>Clanker: Clanker moved page SimTX API/Packets/TransmitterSessionRequest to SimTX API v24/Packets/TransmitterSessionRequest: Archive the v24 protocol reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.simtx.net/index.php?title=SimTX_API_v24/Packets/TransmitterSessionRequest&amp;diff=2233&amp;oldid=prev"/>
		<updated>2026-10-24T16:18:16Z</updated>

		<summary type="html">&lt;p&gt;Clanker moved page &lt;a href=&quot;/index.php/SimTX_API/Packets/TransmitterSessionRequest&quot; class=&quot;mw-redirect&quot; title=&quot;SimTX API/Packets/TransmitterSessionRequest&quot;&gt;SimTX API/Packets/TransmitterSessionRequest&lt;/a&gt; to &lt;a href=&quot;/index.php/SimTX_API_v24/Packets/TransmitterSessionRequest&quot; title=&quot;SimTX API v24/Packets/TransmitterSessionRequest&quot;&gt;SimTX API v24/Packets/TransmitterSessionRequest&lt;/a&gt;: Archive the v24 protocol reference&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:18, 24 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Clanker</name></author>
	</entry>
	<entry>
		<id>https://wiki.simtx.net/index.php?title=SimTX_API_v24/Packets/TransmitterSessionRequest&amp;diff=2020&amp;oldid=prev</id>
		<title>Clanker: SimTX API documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.simtx.net/index.php?title=SimTX_API_v24/Packets/TransmitterSessionRequest&amp;diff=2020&amp;oldid=prev"/>
		<updated>2026-10-24T09:59:03Z</updated>

		<summary type="html">&lt;p&gt;SimTX API documentation&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{SimTX API navigation}}&lt;br /&gt;
{{SimTX packet&lt;br /&gt;
| name = TransmitterSessionRequest&lt;br /&gt;
| id = 2&lt;br /&gt;
| hex = 0x02&lt;br /&gt;
| direction = c2s&lt;br /&gt;
| session = [[SimTX API/Transmitter session|Transmitter]]&lt;br /&gt;
| size = Variable, at most 263,168 bytes of field payload&lt;br /&gt;
| permission = &amp;lt;code&amp;gt;game.transmit&amp;lt;/code&amp;gt; (checked at the handshake)&lt;br /&gt;
| reply = [[SimTX API/Packets/TxQueue|TxQueue]], [[SimTX API/Packets/TxAccept|TxAccept]] or [[SimTX API/Packets/TxReject|TxReject]]&lt;br /&gt;
| group = transmitter&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;TransmitterSessionRequest&amp;#039;&amp;#039;&amp;#039; starts a [[SimTX API/Transmitter session|transmitter session]]. It describes the station, its antenna, the signal (modulation, frequency, power, source and sample rate) and, optionally, the imperfections of the simulated transmitter. The client sends it once, immediately after an accepted [[SimTX API/Packets/HandshakeResult|HandshakeResult]] on a connection with role 2 or 3.&lt;br /&gt;
&lt;br /&gt;
Unlike most packets, the body is a [[SimTX API/Data types#TLV field list|TLV field list]], so that fields can be added in later revisions without breaking existing clients.&lt;br /&gt;
&lt;br /&gt;
== Layout ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;packetId&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;u8&amp;lt;/code&amp;gt; || Always &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fieldCount&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;u8&amp;lt;/code&amp;gt; || Number of fields that follow.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fields&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;fieldCount × { u8 fieldId, i32 length, u8[length] payload }&amp;lt;/code&amp;gt; || Fields in any order. See [[#Fields|Fields]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Fields ==&lt;br /&gt;
Numeric payloads are a single big-endian &amp;lt;code&amp;gt;f32&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;i32&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;length = 4&amp;lt;/code&amp;gt;. String payloads (callsign, modulation, source type) are standard UTF-8 without any further length prefix. GeoPoint and AntennaConfig payloads use their usual encoding, with &amp;lt;code&amp;gt;length&amp;lt;/code&amp;gt; giving their total size.&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;Live&amp;#039;&amp;#039; column marks fields that can later be changed with [[SimTX API/Packets/TxUpdate|TxUpdate]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! ID !! Field !! Payload !! Required !! Valid range !! Default !! Live&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;callsign&amp;lt;/code&amp;gt; || UTF-8 || Yes || 1–64 printable characters, ≤ 64 bytes || — ||&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;location&amp;lt;/code&amp;gt; || [[SimTX API/Data types#GeoPoint|GeoPoint]] (24 bytes) || Yes || Valid coordinates || — ||&lt;br /&gt;
|-&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;antenna&amp;lt;/code&amp;gt; || [[SimTX API/Data types#AntennaConfig|AntennaConfig]] || Yes || See Data types || — ||&lt;br /&gt;
|-&lt;br /&gt;
| 4 || &amp;lt;code&amp;gt;modulation&amp;lt;/code&amp;gt; || UTF-8 || Yes || A [[SimTX API/Data types#Modulation|Modulation]] name, ≤ 64 bytes || — ||&lt;br /&gt;
|-&lt;br /&gt;
| 5 || &amp;lt;code&amp;gt;frequencyHz&amp;lt;/code&amp;gt; || f32 || Yes || &amp;gt; 0; values above 3 GHz are reduced to 3 GHz || — || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 6 || &amp;lt;code&amp;gt;powerWatts&amp;lt;/code&amp;gt; || f32 || Yes || ≥ 0; reduced to at most 1,000,000 and then to the account&amp;#039;s &amp;lt;code&amp;gt;tx.pa_limit&amp;lt;/code&amp;gt; || — || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 7 || &amp;lt;code&amp;gt;sourceType&amp;lt;/code&amp;gt; || UTF-8 || Yes || A [[SimTX API/Data types#TransmissionSourceType|TransmissionSourceType]] name || — ||&lt;br /&gt;
|-&lt;br /&gt;
| 8 || &amp;lt;code&amp;gt;sampleRate&amp;lt;/code&amp;gt; || i32 || Yes || &amp;gt; 0 || — ||&lt;br /&gt;
|-&lt;br /&gt;
| 9 || &amp;lt;code&amp;gt;audioGain&amp;lt;/code&amp;gt; || f32 || Yes || ≥ 0; values above 100 are reduced to 100 || — ||&lt;br /&gt;
|-&lt;br /&gt;
| 10 || &amp;lt;code&amp;gt;txBandwidthHz&amp;lt;/code&amp;gt; || f32 || Yes || &amp;gt; 0; values above 10 MHz are reduced to 10 MHz || — || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 11 || &amp;lt;code&amp;gt;audioLowCutHz&amp;lt;/code&amp;gt; || f32 || Yes || ≥ 0 || — || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 12 || &amp;lt;code&amp;gt;toneHz&amp;lt;/code&amp;gt; || f32 || Yes || ≥ 0 || — ||&lt;br /&gt;
|-&lt;br /&gt;
| 13 || &amp;lt;code&amp;gt;dutyCycle&amp;lt;/code&amp;gt; || f32 || Yes || 0–1 || — ||&lt;br /&gt;
|-&lt;br /&gt;
| 14 || &amp;lt;code&amp;gt;finalDriveDb&amp;lt;/code&amp;gt; || f32 || No || −40 to 40 || 0 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 15 || &amp;lt;code&amp;gt;paHeadroomDb&amp;lt;/code&amp;gt; || f32 || No || 0.1 to 40 || 12 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 16 || &amp;lt;code&amp;gt;audioCompressionDb&amp;lt;/code&amp;gt; || f32 || No || 0 to 30 || 1.5 || Yes&lt;br /&gt;
|-&lt;br /&gt;
| 17 || &amp;lt;code&amp;gt;paSoftness&amp;lt;/code&amp;gt; || f32 || No || 0.5 to 10 || 2.8 ||&lt;br /&gt;
|-&lt;br /&gt;
| 18 || &amp;lt;code&amp;gt;paAmPmDeg&amp;lt;/code&amp;gt; || f32 || No || 0 to 45 || 6 ||&lt;br /&gt;
|-&lt;br /&gt;
| 19 || &amp;lt;code&amp;gt;carrierLeakDb&amp;lt;/code&amp;gt; || f32 || No || 0 to 120 (dB below carrier) || 60 ||&lt;br /&gt;
|-&lt;br /&gt;
| 20 || &amp;lt;code&amp;gt;oppositeSidebandSuppressionDb&amp;lt;/code&amp;gt; || f32 || No || 0 to 120 || 60 ||&lt;br /&gt;
|-&lt;br /&gt;
| 21 || &amp;lt;code&amp;gt;frequencyOffsetHz&amp;lt;/code&amp;gt; || f32 || No || −10,000 to 10,000 || 0 ||&lt;br /&gt;
|-&lt;br /&gt;
| 22 || &amp;lt;code&amp;gt;mainsHumDb&amp;lt;/code&amp;gt; || f32 || No || 0 to 120 (dB down) || 120 ||&lt;br /&gt;
|-&lt;br /&gt;
| 23 || &amp;lt;code&amp;gt;mainsHumHz&amp;lt;/code&amp;gt; || f32 || No || 0 to 400 || 0 ||&lt;br /&gt;
|-&lt;br /&gt;
| 24 || &amp;lt;code&amp;gt;amModulationIndex&amp;lt;/code&amp;gt; || f32 || No || 0 to 1.2 || 0.85 ||&lt;br /&gt;
|-&lt;br /&gt;
| 25 || &amp;lt;code&amp;gt;paSupplySagDb&amp;lt;/code&amp;gt; || f32 || No || 0 to 30 || 0 ||&lt;br /&gt;
|-&lt;br /&gt;
| 26 || &amp;lt;code&amp;gt;txNoiseFloorDb&amp;lt;/code&amp;gt; || f32 || No || 0 to 160 || 120 ||&lt;br /&gt;
|-&lt;br /&gt;
| 27 || &amp;lt;code&amp;gt;oscillatorPhaseNoiseDb&amp;lt;/code&amp;gt; || f32 || No || 0 to 160 || 120 ||&lt;br /&gt;
|-&lt;br /&gt;
| 28 || &amp;lt;code&amp;gt;cwKeyRiseMs&amp;lt;/code&amp;gt; || f32 || No || 0 to 50 || 5 ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Fields 14 to 28 model the transmitter&amp;#039;s own imperfections: amplifier compression and AM-to-PM conversion, carrier leakage, unwanted sideband, frequency error, mains hum, supply sag, broadband noise and phase noise. They are rendered &amp;#039;&amp;#039;&amp;#039;in-band&amp;#039;&amp;#039;&amp;#039;, around the carrier; harmonics and far-out spurious emissions are not simulated. [[Advanced Transmitter Settings]] explains what each one sounds like. A client that does not care may omit them all.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;toneHz&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;dutyCycle&amp;lt;/code&amp;gt; are required for historical reasons. Clients that do not use them send &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Rules ==&lt;br /&gt;
* All 13 required fields must be present, otherwise the connection is closed without a reply.&lt;br /&gt;
* Unknown field IDs are skipped. If a field appears twice, the last occurrence wins.&lt;br /&gt;
* A single field may not exceed 263,168 bytes, and the field payloads together may not exceed 263,168 bytes.&lt;br /&gt;
* Values outside the ranges above, unknown enumeration names and invalid antenna data close the connection without a reply. Values that the table says are &amp;#039;&amp;#039;reduced&amp;#039;&amp;#039; are accepted and silently limited.&lt;br /&gt;
* For role 3 (&amp;lt;code&amp;gt;TX_GENERATED&amp;lt;/code&amp;gt;) the source type must be &amp;lt;code&amp;gt;WHITE_NOISE&amp;lt;/code&amp;gt;; any other source closes the connection. On role 2, &amp;lt;code&amp;gt;WHITE_NOISE&amp;lt;/code&amp;gt; produces nothing and the session ends after the 15-second input stall timeout.&lt;br /&gt;
* Sample rate rules: the server processes the signal at min(10,000,000, max(sampleRate, 240,000 for WFM)). Raw IQ above 10,000,000 samples per second is rejected with a [[SimTX API/Packets/TxReject|TxReject]], as is audio that would need to be resampled by more than 128×.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
The minimal request from [[SimTX API/Quick start|Quick start]], built in Python:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
def field(field_id, payload):&lt;br /&gt;
    return struct.pack(&amp;quot;&amp;gt;Bi&amp;quot;, field_id, len(payload)) + payload&lt;br /&gt;
&lt;br /&gt;
def f32(value):&lt;br /&gt;
    return struct.pack(&amp;quot;&amp;gt;f&amp;quot;, value)&lt;br /&gt;
&lt;br /&gt;
antenna = struct.pack(&amp;quot;&amp;gt;H&amp;quot;, 6) + b&amp;quot;DIPOLE&amp;quot; + struct.pack(&amp;quot;&amp;gt;ffffi&amp;quot;, 10.0, 0.0, 0.0, 20.0, 0)&lt;br /&gt;
fields = [&lt;br /&gt;
    field(1, b&amp;quot;N0CALL&amp;quot;),&lt;br /&gt;
    field(2, struct.pack(&amp;quot;&amp;gt;ddd&amp;quot;, 47.4979, 19.0402, 120.0)),&lt;br /&gt;
    field(3, antenna),&lt;br /&gt;
    field(4, b&amp;quot;USB&amp;quot;),&lt;br /&gt;
    field(5, f32(14_230_000.0)),&lt;br /&gt;
    field(6, f32(100.0)),&lt;br /&gt;
    field(7, b&amp;quot;AUDIO_STREAM&amp;quot;),&lt;br /&gt;
    field(8, struct.pack(&amp;quot;&amp;gt;i&amp;quot;, 48_000)),&lt;br /&gt;
    field(9, f32(1.0)),&lt;br /&gt;
    field(10, f32(2_700.0)),&lt;br /&gt;
    field(11, f32(300.0)),&lt;br /&gt;
    field(12, f32(0.0)),&lt;br /&gt;
    field(13, f32(1.0)),&lt;br /&gt;
]&lt;br /&gt;
packet = b&amp;quot;\x02&amp;quot; + struct.pack(&amp;quot;&amp;gt;B&amp;quot;, len(fields)) + b&amp;quot;&amp;quot;.join(fields)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[SimTX API/Transmitter session]]&lt;br /&gt;
* [[Advanced Transmitter Settings]]&lt;br /&gt;
* [[Modulation Modes]]&lt;br /&gt;
&lt;br /&gt;
{{SimTX API navbox}}&lt;br /&gt;
[[Category:SimTX API]]&lt;/div&gt;</summary>
		<author><name>Clanker</name></author>
	</entry>
</feed>