{"id":1778,"date":"2026-11-02T19:11:29","date_gmt":"2026-11-02T19:11:29","guid":{"rendered":"https:\/\/b9xelectronics.com\/?page_id=1778"},"modified":"2026-11-03T20:02:41","modified_gmt":"2026-11-03T20:02:41","slug":"b9x-ptt-chat-radio-for-windows-2","status":"publish","type":"page","link":"https:\/\/b9xelectronics.com\/?page_id=1778","title":{"rendered":"B9X PTT Chat Radio For Windows &#8211; Free Local Edition"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"842\" height=\"712\" src=\"https:\/\/b9xelectronics.com\/wp-content\/uploads\/2026\/11\/b9xpttchatwinfree.png\" alt=\"\" class=\"wp-image-1831\" style=\"width:842px;height:auto\" srcset=\"https:\/\/b9xelectronics.com\/wp-content\/uploads\/2026\/11\/b9xpttchatwinfree.png 842w, https:\/\/b9xelectronics.com\/wp-content\/uploads\/2026\/11\/b9xpttchatwinfree-300x254.png 300w, https:\/\/b9xelectronics.com\/wp-content\/uploads\/2026\/11\/b9xpttchatwinfree-768x649.png 768w, https:\/\/b9xelectronics.com\/wp-content\/uploads\/2026\/11\/b9xpttchatwinfree-600x507.png 600w\" sizes=\"auto, (max-width: 842px) 100vw, 842px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Installing And Configuring B9X PTT Chat For Windows &#8211; Free Local Edition<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/drive.google.com\/file\/d\/1geSQfgiAgUU2HWTBaDI4dK_HBvN3m9aw\/view?usp=drive_link\">https:\/\/drive.google.com\/file\/d\/1geSQfgiAgUU2HWTBaDI4dK_HBvN3m9aw\/view?usp=drive_link<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Download, by clicking the above link, and unzip the above zip file.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This download is not digitally signed. This file does NOT contain any viruses, does NOT contain any type of malware, does NOT contain any type of ransomware, and does NO form of user data collection or spying. Since it is not signed, you will get messages from Windows and\/or antivirus software. Just ignore the &#8216;Windows Protected Your PC&#8217; messages and select &#8216;More Info&#8217; | &#8216;Run Anyway&#8217;. An exception may also need to be added to your anti-virus software. We apologize for this inconvenience but this was implemented by Windows along with antivirus companies and we know of no way to avoid this. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You may try to eliminate anti-virus warnings by downloading the zip file above, right click on it and scan it for viruses. You should see that the file is free from any type of viruses.<\/p>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-7387b849 wp-block-group-is-layout-flex\">\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">1) Double click on the extracted exe file.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2) When installing, agree to terms of license and accept defaults.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3) Click \u2018Finish\u2019 when installation is completed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4) Double click on the desktop icon to start the program.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5) On startup,  select \u2018Allow Access\u2019 from the firewall dialog pop-up if asked. You may have to manually add this program as an allowed exception in your firewall software(if required).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<!-- Paste this entire file into one WordPress Custom HTML block. B9X product-theme styling. -->\n<style>\n#b9x-windows-radio{--b9x-maroon:var(--wp--preset--color--secondary,#671d1d);--b9x-tan:var(--wp--preset--color--primary,#af9a7d);--b9x-ink:#292626;--b9x-muted:#675f59;--b9x-line:#ded6d1;font-family:var(--wp--preset--font-family--montserrat,\"Montserrat\"),Arial,Helvetica,sans-serif;color:var(--b9x-ink);background:#fff;line-height:1.75;max-width:1180px;margin:0 auto;font-size:16px}\n#b9x-windows-radio *{box-sizing:border-box}\n#b9x-windows-radio .b9x-hero{background:var(--b9x-maroon);color:#fff;border-top:5px solid var(--b9x-tan);border-radius:6px;padding:40px 36px;margin-bottom:26px}\n#b9x-windows-radio .b9x-eyebrow{color:#f0dfc8;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px}\n#b9x-windows-radio h1{color:#fff;font-size:clamp(28px,4vw,42px);font-family:inherit;font-weight:700;line-height:1.22;margin:0 0 20px}\n#b9x-windows-radio .b9x-hero p{color:#fff}\n#b9x-windows-radio .b9x-badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}\n#b9x-windows-radio .b9x-badges span{background:var(--b9x-tan);color:#241a12;border:1px solid var(--b9x-tan);border-radius:3px;padding:6px 11px;font-size:12px;font-weight:600}\n#b9x-windows-radio h2{font-family:inherit;font-weight:600;font-size:28px;line-height:1.35;color:var(--b9x-maroon);border-bottom:3px solid var(--b9x-tan);padding-bottom:10px;margin:40px 0 20px}\n#b9x-windows-radio h3{font-family:inherit;font-weight:600;font-size:20px;line-height:1.4;color:var(--b9x-maroon);margin:26px 0 12px}\n#b9x-windows-radio p{margin:0 0 16px}\n#b9x-windows-radio li{margin:8px 0}\n#b9x-windows-radio ul,#b9x-windows-radio ol{padding-left:26px;margin:14px 0 22px}\n#b9x-windows-radio a{color:var(--b9x-maroon);text-decoration:underline;text-underline-offset:3px}\n#b9x-windows-radio a:hover{color:#461313}\n#b9x-windows-radio a:focus-visible,#b9x-windows-radio summary:focus-visible{outline:3px solid var(--b9x-tan);outline-offset:4px}\n#b9x-windows-radio .b9x-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}\n#b9x-windows-radio .b9x-card{padding:24px;background:#fff;border:1px solid var(--b9x-line);border-top:4px solid var(--b9x-maroon);border-radius:5px}\n#b9x-windows-radio .b9x-card h3{margin-top:0}\n#b9x-windows-radio .b9x-note{padding:18px 20px;margin:22px 0;border-left:5px solid var(--b9x-tan);background:#f8f5ef;border-radius:0 4px 4px 0}\n#b9x-windows-radio .b9x-amber{border-left-color:var(--b9x-maroon);background:#faf2f0}\n#b9x-windows-radio .b9x-table{overflow-x:auto;margin:18px 0 26px}\n#b9x-windows-radio table{width:100%;border-collapse:collapse;font-size:14px}\n#b9x-windows-radio th,#b9x-windows-radio td{text-align:left;vertical-align:top;border:1px solid var(--b9x-line);padding:13px 15px}\n#b9x-windows-radio th{background:var(--b9x-maroon);color:#fff;font-weight:600;border-color:#82403b}\n#b9x-windows-radio tbody tr:nth-child(even){background:#faf7f5}\n#b9x-windows-radio code{font-family:Consolas,\"Courier New\",monospace;background:#f3ece8;padding:2px 6px;border-radius:3px;color:#571725;overflow-wrap:anywhere}\n#b9x-windows-radio nav{padding:24px;background:#f7f4f1;border:1px solid var(--b9x-line);border-left:6px solid var(--b9x-maroon);border-radius:5px;margin:28px 0}\n#b9x-windows-radio nav>strong{color:var(--b9x-maroon)}\n#b9x-windows-radio nav ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 22px;margin-bottom:0}\n#b9x-windows-radio section{scroll-margin-top:30px}\n#b9x-windows-radio details{border:1px solid var(--b9x-line);border-radius:5px;padding:17px 20px;margin:12px 0;background:#faf8f6}\n#b9x-windows-radio summary{font-weight:600;color:var(--b9x-maroon);cursor:pointer}\n#b9x-windows-radio details p{margin-top:14px;margin-bottom:2px}\n#b9x-windows-radio .b9x-footer{font-size:13px;color:var(--b9x-muted);border-top:2px solid var(--b9x-tan);padding-top:22px;margin-top:38px}\n@media(max-width:600px){#b9x-windows-radio{font-size:15px}#b9x-windows-radio .b9x-hero{padding:28px 21px}#b9x-windows-radio h2{font-size:24px}#b9x-windows-radio h3{font-size:19px}#b9x-windows-radio th,#b9x-windows-radio td{padding:10px}#b9x-windows-radio nav{padding:19px}#b9x-windows-radio .b9x-grid{grid-template-columns:1fr}}\n@media print{#b9x-windows-radio{font-size:11pt;max-width:none}#b9x-windows-radio .b9x-hero{background:white;color:black;border:1px solid #aaa}#b9x-windows-radio .b9x-hero h1,#b9x-windows-radio .b9x-hero p,#b9x-windows-radio .b9x-eyebrow{color:black}#b9x-windows-radio nav,#b9x-windows-radio .b9x-badges{display:none}#b9x-windows-radio .b9x-grid{display:block}#b9x-windows-radio .b9x-card{margin-bottom:12px}#b9x-windows-radio h2{break-after:avoid}}\n#b9x-windows-radio .b9x-card{min-width:0}#b9x-windows-radio td{overflow-wrap:anywhere}#b9x-windows-radio nav a{overflow-wrap:anywhere}\n<\/style>\n<article id=\"b9x-windows-radio\">\n<header class=\"b9x-hero\">\n<p class=\"b9x-eyebrow\">B9X Electronics \u00b7 Free Windows client \u00b7 Local server connection \u00b7 v0.1.29 features<\/p>\n<h1>B9X PTT Chat Radio For Windows \u2014 Free Local Edition<\/h1>\n<p><strong>Use this free Windows client with B9X Voice Server running on the same PC. Connect a microphone and headphones, or add a compatible radio interface for a local radio gateway.<\/strong> Speak with other connected users, listen to group conversations, or use the PC as a link between local radio audio and your voice server.<\/p>\n<p>A compact dark console brings together manual push-to-talk, hands-free VOX, analog audio meters, independent volume controls, and selectable RTS or DTR transmitter control. For radio operation, add a Morse identifier, saved server commands, DTMF connection control, and optional spoken commands and AI-generated connection announcements.<\/p>\n<p><strong>No Windows client purchase is required for this Free Local Edition.<\/strong> Its server destination is fixed to <strong>127.0.0.1<\/strong>, which means this same computer. The B9X Voice Server license is a separate purchase. Radio equipment, interface hardware and cables are also separate. The B9X Android companion app is free.<\/p>\n<p>Now with <strong>Icom IC-2730A CI-V channel control<\/strong>: create named radio presets on Windows, select the intended radio from a compatible Android client, and share the completed channel change through a group text message. Suitable DigiRig Mobile audio\/PTT hardware and an Icom OPC-478UC-1 CI-V cable connect your PC and radio; a properly configured custom DigiRig cable is another option.<\/p>\n<div class=\"b9x-badges\"><span>FREE Local Edition<\/span><span>Same-PC server required<\/span><span>Windows 64-bit<\/span><span>B9X Voice Server client<\/span><span>Half-duplex PTT<\/span><span>RTS \/ DTR radio control<\/span><span>IC-2730A channel control<\/span><\/div>\n<\/header>\n<section id=\"b9x-overview\">\n<h2>One application, two ways to operate<\/h2>\n<div class=\"b9x-grid\">\n<div class=\"b9x-card\"><h3>PC voice station<\/h3><p>Choose a microphone and headphones or speakers, connect to the B9X Voice Server, and hold the on-screen PTT control to talk. Enable VOX if you want microphone audio to start transmission automatically.<\/p><\/div>\n<div class=\"b9x-card\"><h3>Radio-to-server link<\/h3><p>Connect a radio through a suitable audio\/PTT interface. Local received radio audio can be sent to the server, while incoming server audio plays into the radio transmitter. The selected RTS or DTR output controls transmitter PTT.<\/p><\/div>\n<\/div>\n<p>This is a <strong>half-duplex<\/strong> application: take turns speaking. The B9X Voice Server distributes the active talker&#8217;s audio to its connected listeners. This application is a client; it does not replace the B9X Voice Server or provide an AllStarLink, EchoLink, or IRLP bridge.<\/p>\n<h3>Features at a glance<\/h3>\n<ul>\n<li>Large manual PTT control and adjustable microphone VOX.<\/li>\n<li>Microphone and speaker analog meters with separate saved volume controls.<\/li>\n<li>Adjustable startup buffering for different network conditions.<\/li>\n<li>Selectable RTS or DTR PTT, active polarity, transmitter lead time, and release delay.<\/li>\n<li>Morse identification with a configurable call sign, frequency, speed, and interval.<\/li>\n<li>A saved server database with DTMF connect\/close commands, spoken command words, and comments.<\/li>\n<li>Optional OpenAI spoken connection commands with a user-defined beginning word.<\/li>\n<li>Morse connection confirmations or optional Marin AI-generated spoken confirmations.<\/li>\n<li>Always Stay Connected startup and retry operation.<\/li>\n<li>Saved connection credentials, activity information, and copyable diagnostics.<\/li>\n<li>IC-2730A CI-V setup with independent radio-control COM settings and read-only connection testing.<\/li>\n<li>A named channel-preset database with frequency, offset, mode, main-band and CTCSS settings.<\/li>\n<li>Targeted remote channel selection using a unique Radio ID for each gateway on the server.<\/li>\n<li>Channel-completion and error broadcasts displayed as TMSG messages by compatible clients.<\/li>\n<\/ul>\n<\/section>\n<nav aria-label=\"Instructions contents\"><strong>Setup and operating instructions<\/strong><ul><li><a href=\"#b9x-free-local\">Free Local Edition explained<\/a><\/li><li><a href=\"#b9x-start-here\">Beginner&#8217;s starting guide<\/a><\/li><li><a href=\"#b9x-icom-hardware\">IC-2730A and DigiRig connections<\/a><\/li><li><a href=\"#b9x-civ-setup\">CI-V settings and addresses<\/a><\/li><li><a href=\"#b9x-channel-presets\">Create and test channel presets<\/a><\/li><li><a href=\"#b9x-remote-channels\">Android remote channel selection<\/a><\/li><li><a href=\"#b9x-channel-recovery\">Channel troubleshooting<\/a><\/li>\n<li><a href=\"#b9x-requirements\">What you need<\/a><\/li><li><a href=\"#b9x-first\">Installation and first connection<\/a><\/li><li><a href=\"#b9x-audio\">Audio directions, meters, and volume<\/a><\/li><li><a href=\"#b9x-vox\">VOX setup<\/a><\/li><li><a href=\"#b9x-radio\">Radio interface and PTT<\/a><\/li><li><a href=\"#b9x-id\">Morse identification<\/a><\/li><li><a href=\"#b9x-dtmf\">Server database and DTMF<\/a><\/li><li><a href=\"#b9x-speech\">Spoken commands<\/a><\/li><li><a href=\"#b9x-confirmations\">Connection announcements<\/a><\/li><li><a href=\"#b9x-reconnect\">Automatic reconnection<\/a><\/li><li><a href=\"#b9x-saved\">Saved settings and privacy<\/a><\/li><li><a href=\"#b9x-help\">Troubleshooting<\/a><\/li>\n<\/ul><\/nav>\n<section id=\"b9x-free-local\">\n<h2>Free Local Edition: what is free and how it connects<\/h2>\n<p><strong>B9X PTT Chat Radio For Windows \u2014 Free Local Edition is free to use.<\/strong> It includes the voice and radio features described on this page: manual PTT, VOX, audio meters, volume controls, RTS\/DTR PTT, Morse identification, DTMF connection commands, optional voice commands and IC-2730A channel presets.<\/p>\n<p>The edition&#8217;s restriction is its <strong>server destination<\/strong>. It connects only to <code>127.0.0.1<\/code>. This is the computer&#8217;s loopback address: the connection stays on the same Windows PC. It is not your router&#8217;s address and does not refer to another computer.<\/p>\n<div class=\"b9x-table\"><table><thead><tr><th>Item<\/th><th>Cost \/ requirement<\/th><\/tr><\/thead><tbody>\n<tr><td>This Free Local Windows client<\/td><td>Free. Must connect to B9X Voice Server on the same PC.<\/td><\/tr>\n<tr><td>B9X Voice Server<\/td><td>Separately licensed. The Free Local client does not include or replace it.<\/td><\/tr>\n<tr><td>B9X PTT Chat for Android<\/td><td>Free companion app, downloaded separately. Android users may connect remotely to your reachable server.<\/td><\/tr>\n<tr><td>Radio, audio\/PTT interface and CI-V cable<\/td><td>Separate equipment, required only for the relevant radio features.<\/td><\/tr>\n<tr><td>Optional OpenAI features<\/td><td>Require the user&#8217;s own API access and may incur separately billed usage. Basic voice, VOX, DTMF and CI-V do not require OpenAI.<\/td><\/tr>\n<\/tbody><\/table><\/div>\n<h3>Does \u201clocal\u201d mean remote users cannot participate?<\/h3>\n<p><strong>No. Remote users can still connect to your server.<\/strong> The Windows server and this free Windows gateway run together on one PC. Android users can join that server over Wi-Fi or mobile data when its network access is configured correctly. They can talk through the connected radio and request its saved channels. Only the free Windows client&#8217;s own server destination is restricted.<\/p>\n<div class=\"b9x-note\"><strong>Example:<\/strong> your station PC runs B9X Voice Server and the free Windows radio client. The client connects to <code>127.0.0.1<\/code>. Two phones connect to the server using its reachable LAN or public address. On a three-client server, the Windows gateway plus those two phones use all three simultaneous client connections.<\/div>\n<p>This free Windows edition cannot join a B9X Voice Server hosted on another PC, even one on the same LAN. For that arrangement, use a client edition that supports remote server destinations. Do not enter 127.0.0.1 on a remote phone: on the phone, that address would refer to the phone itself.<\/p>\n<h3>What settings can I still choose?<\/h3>\n<p>The server UDP port, password and encryption settings remain configurable and must match the server on this PC. Local UDP port is the client&#8217;s own socket setting; it is not the server destination. Leave it at <code>0<\/code> initially. If the server uses UDP 18000, do not also force the client&#8217;s Local port to 18000.<\/p>\n<p>The local-only destination applies to manual Connect, saved connection profiles, DTMF commands, spoken commands and automatic reconnection. A hostname saved in an older profile does not give this edition remote-server access. For clarity, use <code>127.0.0.1<\/code> in any visible server-address fields or profile records.<\/p>\n<\/section>\n\n<section id=\"b9x-start-here\">\n<h2>New to radio linking? Start here<\/h2>\n<p>You can begin with ordinary PC voice chat and add radio control later. You do not have to configure every feature to make your first call. Follow these stages in order; after each stage, check that it works before continuing.<\/p>\n<div class=\"b9x-grid\">\n<div class=\"b9x-card\"><h3>1. Connect and talk<\/h3><p>Run B9X Voice Server on this PC and connect the free client to 127.0.0.1. Use headphones and a microphone. Hold PTT, speak, then release it and listen to another connected user.<\/p><\/div>\n<div class=\"b9x-card\"><h3>2. Add your radio<\/h3><p>Connect receiver audio, transmitter audio and PTT through a suitable interface. Test each audio direction. Then enable VOX if received radio speech should automatically go to the server.<\/p><\/div>\n<div class=\"b9x-card\"><h3>3. Add channel control<\/h3><p>Connect CI-V, test the IC-2730A locally, and create named channel presets. Only after those tests work should you enable remote channel commands.<\/p><\/div>\n<\/div>\n<h3>A few terms you will see<\/h3>\n<div class=\"b9x-table\"><table><thead><tr><th>Term<\/th><th>Plain-English meaning<\/th><\/tr><\/thead><tbody>\n<tr><td>Client<\/td><td>This Windows application. It joins a B9X Voice Server; it is not the server itself.<\/td><\/tr>\n<tr><td>PTT<\/td><td>Push to talk. On the PC, it starts sending microphone audio to the server. At the radio gateway, transmitter PTT puts the connected radio into transmit.<\/td><\/tr>\n<tr><td>VOX<\/td><td>Voice-operated transmission. Audio above a chosen level starts sending automatically; an off delay keeps short pauses from ending the transmission.<\/td><\/tr>\n<tr><td>Gateway<\/td><td>The PC and interface that connect one physical radio to the voice server.<\/td><\/tr>\n<tr><td>COM port<\/td><td>A Windows serial-device name, such as COM3. Your radio interface and separate CI-V cable may have different COM numbers.<\/td><\/tr>\n<tr><td>CI-V<\/td><td>Icom&#8217;s radio-control connection. Here it changes the IC-2730A&#8217;s operating settings using saved channel presets.<\/td><\/tr>\n<tr><td>Radio ID<\/td><td>A readable destination name such as RADIO1. It chooses which Windows radio gateway acts on a remote request.<\/td><\/tr>\n<tr><td>Channel preset<\/td><td>A numbered record in this application&#8217;s channel database. It contains the frequency, description, offset, mode and CTCSS settings to apply.<\/td><\/tr>\n<tr><td>Broadcast \/ TMSG<\/td><td>A message relayed through the voice server. TMSG identifies text messages that compatible clients display in their Messages tab.<\/td><\/tr>\n<\/tbody><\/table><\/div>\n<div class=\"b9x-note\"><strong>Keep the three jobs separate:<\/strong> audio carries speech, PTT keys the transmitter, and CI-V changes radio settings. A successful channel test does not prove the audio cables or PTT work. Clear voice audio does not prove CI-V is connected.<\/div>\n<\/section>\n\n\n<section id=\"b9x-requirements\"><h2>What you need<\/h2>\n<ul><li>A 64-bit Windows PC with working audio input and output.<\/li><li>Access to a compatible <strong>B9X Voice Server<\/strong>, running on this same PC, with its UDP port, password, and matching encryption settings. The client destination is fixed to <code>127.0.0.1<\/code>.<\/li><li>A microphone and headphones or speakers for PC operation.<\/li><li>For radio linking: a compatible radio, suitable audio\/PTT interface, appropriate cables, and an available COM port if using RTS\/DTR control.<\/li><li>Internet access for remote participants and optional OpenAI features. This free Windows client itself connects only to the same-PC server; it cannot join a server on another LAN computer.<\/li><\/ul>\n<p>The supported voice format in this version is <strong>11025 Hz, stereo, 16-bit PCM<\/strong>. The usual server port is <strong>UDP 18000<\/strong>; always use the port configured by your server operator.<\/p>\n<div class=\"b9x-note\">A radio interface is optional for ordinary PC voice chat. Connecting a radio requires hardware that provides the correct audio levels and PTT switching. A PC serial output is a control signal, not an audio connection.<\/div>\n<\/section>\n<section id=\"b9x-first\"><h2>Installation and first connection<\/h2>\n<ol>\n<li><strong>Extract the complete application folder.<\/strong> Keep the executable, its library folder, and all supplied support files together. Do not run directly from inside a ZIP or copy only the EXE. Open the supplied Free Local Edition executable.<\/li>\n<li><strong>Connect your audio devices<\/strong> before opening the application. For the first test, use a microphone and headphones, with radio PTT and VOX disabled.<\/li>\n<li><strong>Start B9X Voice Server on this same PC.<\/strong> The free client connects only to <code>127.0.0.1<\/code>. Use that value in any visible hostname field; do not enter your public hostname or another computer\u2019s address.<\/li>\n<li><strong>Enter the server&#8217;s UDP port and password.<\/strong> Leave <strong>Local port<\/strong> at <strong>0<\/strong> unless your installation specifically needs an unused fixed local port.<\/li>\n<li><strong>Match the encryption setting.<\/strong> When the server uses encryption, select <strong>Use server AES encryption<\/strong> and enter its exact 32-character, single-byte key. The password and encryption key are separate values.<\/li>\n<li><strong>Select the audio input and output.<\/strong> Choose the devices shown under <strong>PC Microphone \/ Radio OUT<\/strong> and <strong>PC Speaker \/ Radio IN<\/strong>.<\/li>\n<li><strong>Start with a 150 ms startup buffer<\/strong> and moderate audio levels. Click <strong>Save settings<\/strong>.<\/li>\n<li><strong>Click Connect<\/strong> and wait for the connected\/listening status. A connection is established only after the server accepts it.<\/li>\n<li><strong>Hold the HOLD TO TALK area<\/strong> while speaking, then release it to listen. Have another connected user verify your audio in both directions.<\/li>\n<\/ol>\n<p>Manual PTT requires the application window to remain active. Losing focus releases manual PTT. A three-minute transmit limit also releases manual PTT. With VOX disabled, a moving microphone meter does not mean microphone audio is being sent.<\/p>\n<p>If Windows asks whether to allow network access, permit the application on the network profile you use. Remote participants require the server\u2019s UDP port to be reachable. This free client uses the same-PC loopback connection; it does not require the separate DNS-update or voice-relay ports. Configure public forwarding for the server when needed for remote users, not to change the free client\u2019s fixed destination.<\/p>\n<\/section>\n<section id=\"b9x-audio\"><h2>Audio directions, meters, and volume<\/h2>\n<div class=\"b9x-table\"><table><thead><tr><th>Control label<\/th><th>Meaning<\/th><th>Radio connection<\/th><\/tr><\/thead><tbody>\n<tr><td><strong>PC Microphone \/ Radio OUT<\/strong><\/td><td>Audio entering the PC and available to send to the voice server.<\/td><td>Radio receiver audio output feeds the selected PC input.<\/td><\/tr>\n<tr><td><strong>PC Speaker \/ Radio IN<\/strong><\/td><td>Audio leaving the PC: received server speech, Morse ID, and local confirmations.<\/td><td>The selected PC output feeds the radio transmitter&#8217;s audio input.<\/td><\/tr>\n<\/tbody><\/table><\/div>\n<p><strong>Radio OUT<\/strong> means audio coming out of the radio; <strong>Radio IN<\/strong> means audio going into the radio. For PC-only use, these are simply the microphone and listening devices.<\/p>\n<p>The analog meters show digital peak levels from approximately <strong>\u221260 to 0 dBFS<\/strong>. Zero dBFS is digital full scale. Keep normal speech comfortably below the top of the scale; a high reading does not prove that the radio&#8217;s transmitter audio level is correct. The meters are audio-level indicators, not calibrated RF or transmitter-deviation meters.<\/p>\n<ul><li><strong>MIC VOLUME:<\/strong> 0\u2013100%; 0% mutes the outgoing microphone audio and 100% preserves its original level. It affects VOX sensitivity because it is applied before VOX transmission decisions.<\/li><li><strong>SPEAKER VOLUME:<\/strong> 0\u2013100%; controls received speech and locally generated ID\/confirmation audio. Muting this output does not disable radio PTT or the ID timer.<\/li><li>Both volume settings are restored at startup and saved on normal exit or with <strong>Save settings<\/strong>. They adjust this application, not Windows&#8217; system volume.<\/li><\/ul>\n<p>The microphone meter runs while connected and can also operate during enabled offline radio-command monitoring. The speaker meter includes local ID audio and may move slightly before the sound is heard because playback is buffered.<\/p>\n<h3>Adjusting the startup buffer<\/h3>\n<p>The available range is <strong>60\u2013400 ms<\/strong>. Start with <strong>150 ms<\/strong>. If an otherwise working cellular connection delivers audio unevenly, try 200 ms and then 250 ms, reconnecting after each change. More buffering adds listening delay and cannot restore audio lost during a sustained network interruption.<\/p>\n<\/section>\n<section id=\"b9x-vox\"><h2>Hands-free VOX operation<\/h2>\n<p>VOX sends microphone audio automatically when it exceeds a chosen level. Open <strong>VOX \/ Radio settings<\/strong>, select <strong>Enable microphone VOX<\/strong>, set the trigger and off delay, and click <strong>Save settings<\/strong>. The main-window VOX checkbox provides quick enable\/disable control.<\/p>\n<div class=\"b9x-table\"><table><thead><tr><th>Setting<\/th><th>Range<\/th><th>How to use it<\/th><\/tr><\/thead><tbody>\n<tr><td>VOX trigger level<\/td><td>0.01\u2013100%<\/td><td><strong>Lower is more sensitive.<\/strong> Set it above idle noise but below normal speech. If necessary, try a fractional value such as 0.2%, then adjust for your input.<\/td><\/tr>\n<tr><td>VOX off delay<\/td><td>100\u20135000 ms<\/td><td>Keeps transmission active briefly after speech falls below the trigger, reducing interruptions between words. The initial default is 800 ms.<\/td><\/tr>\n<\/tbody><\/table><\/div>\n<p>If background noise keys VOX continuously, raise the trigger or correct the input level. If speech does not trigger it, lower the trigger and check the microphone volume and selected device. Use headphones for PC testing to reduce acoustic feedback.<\/p>\n<p>VOX can operate while the main window is inactive. Received playback is muted\/reset during local voice transmission to avoid playing a loop back into the microphone.<\/p>\n<\/section>\n<section id=\"b9x-radio\"><h2>Connecting a radio and selecting RTS or DTR<\/h2>\n<ol><li>Disconnect from the server before changing radio-interface settings.<\/li><li>Feed the radio&#8217;s receiver audio into the PC input selected under <strong>PC Microphone \/ Radio OUT<\/strong>.<\/li><li>Connect <strong>PC Speaker \/ Radio IN<\/strong> to the radio&#8217;s transmitter audio input through a suitable interface.<\/li><li>Open <strong>VOX \/ Radio settings<\/strong> and select <strong>Enable radio PTT on serial output<\/strong>.<\/li><li>Enter the interface&#8217;s COM port, such as <code>COM3<\/code>. Select <strong>RTS<\/strong> or <strong>DTR<\/strong> under <strong>PTT line<\/strong>. RTS is the default.<\/li><li>Leave <strong>Asserted = transmitter keyed<\/strong> selected if that matches your interface. Clear it only if the interface requires inverted operation.<\/li><li>Set the lead and off delays, save, and reconnect. Test audio and transmitter keying with your actual interface.<\/li><\/ol>\n<div class=\"b9x-table\"><table><thead><tr><th>Setting<\/th><th>Range \/ initial default<\/th><th>Purpose<\/th><\/tr><\/thead><tbody>\n<tr><td>PTT lead<\/td><td>0\u20131000 ms \/ 50 ms<\/td><td>Keys the transmitter before audio begins so the first sound is less likely to be cut off.<\/td><\/tr>\n<tr><td>PTT off delay<\/td><td>0\u20133000 ms \/ 300 ms<\/td><td>Holds PTT after playback finishes to avoid premature release.<\/td><\/tr>\n<tr><td>PTT line<\/td><td>RTS or DTR \/ RTS<\/td><td>Chooses the serial control output used by the interface.<\/td><\/tr>\n<\/tbody><\/table><\/div>\n<p>The selected output keys for received network speech, Morse identification, and local connection confirmations. It stays keyed while the required playback finishes. <strong>CTS is an input and is not a transmitter PTT option.<\/strong><\/p>\n<div class=\"b9x-note b9x-amber\"><strong>Radio setup:<\/strong> use an interface intended for your equipment; do not assume a serial pin can be connected directly to a radio PTT input. Verify levels, polarity, and release behavior using an appropriate test arrangement before normal operation. The software uses audio quiet detection and does not include a hardware carrier\/squelch input to prove that an RF channel is clear. Use only equipment and frequencies you are authorized to operate.<\/div>\n<\/section>\n<section id=\"b9x-icom-hardware\">\n<h2>IC-2730A hardware: audio, PTT and CI-V<\/h2>\n<p>The CI-V channel-control feature in this version is intended for the <strong>Icom IC-2730A<\/strong>. Use a suitable radio audio\/PTT interface, such as the <strong>DigiRig Mobile<\/strong>, with the correct radio-specific audio\/PTT wiring. For the separate USB CI-V connection, use the <strong>Icom OPC-478UC-1<\/strong> cable.<\/p>\n<div class=\"b9x-table\"><table><thead><tr><th>Connection<\/th><th>What it does<\/th><th>What to select in the app<\/th><\/tr><\/thead><tbody>\n<tr><td>PC USB to DigiRig Mobile<\/td><td>Provides the interface&#8217;s audio devices and serial PTT control.<\/td><td>Select its recording\/playback devices on the main window and its COM port in <strong>VOX \/ Radio settings<\/strong>.<\/td><\/tr>\n<tr><td>DigiRig Mobile to the radio<\/td><td>Carries receiver audio toward the PC, transmitter audio toward the radio, and PTT switching.<\/td><td>Match the selected audio directions and PTT wiring. Use a cable arrangement suitable for the IC-2730A.<\/td><\/tr>\n<tr><td>PC USB to OPC-478UC-1 to radio CI-V connection<\/td><td>Carries radio-setting commands. This cable does not replace the radio audio\/PTT interface.<\/td><td>Enter the cable&#8217;s COM port in <strong>CI-V \/ Channels<\/strong>, independently of the DigiRig PTT COM port.<\/td><\/tr>\n<\/tbody><\/table><\/div>\n<p>A <strong>custom cable can also be used to connect the radio&#8217;s CI-V connection directly to the DigiRig Mobile<\/strong>, using a suitable DigiRig serial configuration. <strong>Contact DigiRig for the required cable, wiring and serial-interface configuration details.<\/strong> This guide does not provide a custom pinout or suggest that every DigiRig configuration or cable is interchangeable.<\/p>\n<h3>Find the Windows device names<\/h3>\n<ol>\n<li>Connect the interface to the PC before starting the app.<\/li>\n<li>Press <strong>Windows + R<\/strong>, type <code>devmgmt.msc<\/code>, and press Enter to open Device Manager.<\/li>\n<li>Expand <strong>Ports (COM &amp; LPT)<\/strong> and write down the DigiRig serial port and, if used, the separate Icom USB cable port. If unsure, unplug and reconnect one device at a time and observe which entry changes.<\/li>\n<li>If Windows shows a driver error or no COM number, install the driver supplied for that device. Do not guess a COM number based on the examples in this guide.<\/li>\n<li>Press <strong>Windows + R<\/strong>, enter <code>mmsys.cpl<\/code>, and press Enter. Check the recording and playback devices associated with your interface. Their names may be generic USB audio names.<\/li>\n<li>Return to the app and select those devices in the correct audio-direction fields. If you connect a device after opening the app and it is missing from the list, close and reopen the application.<\/li>\n<\/ol>\n<p><strong>DigiRig PTT:<\/strong> DigiRig Mobile provides an RTS-controlled PTT output. Start with <strong>RTS<\/strong> for the standard DigiRig PTT arrangement; selecting DTR in the software does not change how the interface is physically wired. Use DTR only with hardware that is actually wired to support it.<\/p>\n<p>Windows sounds and other applications can also use an audio device. Keep unrelated sounds away from the output feeding the radio. Verify Windows audio routing as well as the devices selected in B9X PTT Chat.<\/p>\n<div class=\"b9x-note\"><strong>IC-2730A audio connection:<\/strong> check Icom&#8217;s CI-V connection instructions and the radio\/interface cable arrangement, including the use of the SP2 connection. Connecting a control cable can affect the audio available from that jack. Verify that the receiver side you intend to link still reaches the PC. Use the manufacturer&#8217;s guidance rather than treating every speaker jack as an interchangeable audio source.<\/div>\n<p>Hardware references: <a href=\"https:\/\/digirig.net\/getting-started-with-digirig-mobile\/\" target=\"_blank\" rel=\"noopener noreferrer\">DigiRig Mobile setup guide<\/a>, <a href=\"https:\/\/digirig.net\/selecting-digirig-configuration\/\" target=\"_blank\" rel=\"noopener noreferrer\">DigiRig serial configurations<\/a>, <a href=\"https:\/\/www.icomjapan.com\/lineup\/options\/OPC-478UC-1\/\" target=\"_blank\" rel=\"noopener noreferrer\">Icom OPC-478UC-1 information<\/a>, and <a href=\"https:\/\/www.icomjapan.com\/lineup\/products\/IC-2730A\/\" target=\"_blank\" rel=\"noopener noreferrer\">Icom IC-2730A support and downloads<\/a>.<\/p>\n<\/section>\n\n<section id=\"b9x-civ-setup\">\n<h2>Set up CI-V radio control<\/h2>\n<p>First make sure the radio is not transmitting and that received voice, Morse ID and announcements have finished. Open <strong>CI-V \/ Channels<\/strong> from the bottom of the main window. CI-V is optional; leave it disabled if you only want PC voice chat or audio\/PTT radio linking.<\/p>\n<h3>Three identifiers with three different purposes<\/h3>\n<div class=\"b9x-table\"><table><thead><tr><th>Setting<\/th><th>Example<\/th><th>What must match?<\/th><\/tr><\/thead><tbody>\n<tr><td><strong>Radio address (hex)<\/strong><\/td><td><code>5A<\/code> if your radio is set to <code>0x5A<\/code><\/td><td>This value must match the radio&#8217;s CI-V address. The application initially offers <code>90<\/code>; change it if your radio uses another address.<\/td><\/tr>\n<tr><td><strong>Controller (hex)<\/strong><\/td><td><code>E0<\/code><\/td><td>This identifies the PC sending the commands. Leave E0 for the normal single-controller setup; it is not the radio address.<\/td><\/tr>\n<tr><td><strong>Unique Radio ID<\/strong><\/td><td><code>RADIO1<\/code><\/td><td>This must match the target Radio ID entered in the Android app. Each gateway on the same voice server must have a different ID.<\/td><\/tr>\n<\/tbody><\/table><\/div>\n<p>The hexadecimal address <code>5A<\/code> and the readable Radio ID <code>RADIO1<\/code> are unrelated. Two separate gateways can both use a radio locally configured as 5A, provided each local setup is correct and their server-facing Radio IDs are different.<\/p>\n<h3>Step-by-step settings<\/h3>\n<ol>\n<li>In the IC-2730A&#8217;s CI-V menu, note its radio address and set a fixed baud rate. Use <strong>4800, 9600 or 19200<\/strong>, matching the rate selected in the app. Start with CI-V Transceive off to reduce unsolicited traffic while checking the connection. Refer to the radio&#8217;s manual for its exact menu layout.<\/li>\n<li>Check <strong>Enable CI-V<\/strong> in the application.<\/li>\n<li>Enter the actual <strong>CI-V COM port<\/strong>. For a separate OPC-478UC-1 connection, use that cable&#8217;s COM number, not automatically the DigiRig&#8217;s PTT COM number.<\/li>\n<li>Enter the matching baud rate and radio address. Keep <strong>Controller = E0<\/strong> for the normal setup.<\/li>\n<li>Enter <strong>RADIO1<\/strong> as the Unique Radio ID if you want to match Android&#8217;s default. A new Windows installation generates an ID automatically; replace it with RADIO1 or copy that generated ID into Android.<\/li>\n<li>Leave <strong>Allow SETCHANNEL broadcasts<\/strong> off until local tests work.<\/li>\n<li>Click <strong>Save CI-V settings<\/strong>, then <strong>Test connection (read only)<\/strong>.<\/li>\n<li>Look for a successful connection test and the radio&#8217;s current frequency. This test reads information; it does not select a saved channel or key transmitter PTT.<\/li>\n<\/ol>\n<p>Radio IDs accept 1\u201316 letters, numbers, underscores or hyphens. Matching is not case-sensitive. Short names such as RADIO1, RADIO2, NORTH and SOUTH are easy to recognize. An ID selects a radio; it is not a password.<\/p>\n<h3>Separate COM ports or one shared port<\/h3>\n<div class=\"b9x-table\"><table><thead><tr><th>Your wiring<\/th><th>Example settings<\/th><th>How the app handles it<\/th><\/tr><\/thead><tbody>\n<tr><td>Separate USB audio\/PTT interface and Icom USB CI-V cable<\/td><td>PTT: COM3; CI-V: COM4<\/td><td>Uses separate ports. Audio\/PTT settings and CI-V settings are entered independently.<\/td><\/tr>\n<tr><td>Suitable custom cable using DigiRig&#8217;s serial connection for CI-V and its same serial device for PTT<\/td><td>PTT: COM3; CI-V: COM3<\/td><td>When serial radio PTT is enabled, CI-V commands share the existing PTT port. The app does not try to open the same COM port twice.<\/td><\/tr>\n<\/tbody><\/table><\/div>\n<p>The <strong>DTR powers CI-V cable<\/strong> and <strong>RTS powers CI-V cable<\/strong> options apply only to a separate CI-V port. Select them only if your interface requires those lines. They are not additional PTT selections. On a shared port, the radio PTT configuration controls those lines. Keep the hardware&#8217;s requirements in mind; matching two COM fields is not a substitute for the correct cable and signal levels.<\/p>\n<\/section>\n\n<section id=\"b9x-channel-presets\">\n<h2>Create and test named channel presets<\/h2>\n<p>A preset makes a complete, repeatable radio setup easy to select. Instead of asking a remote user to enter a frequency, shift and tone every time, save those details once on the Windows gateway and give the preset a number and a useful description.<\/p>\n<div class=\"b9x-note\"><strong>Application channels are not the radio&#8217;s memory-channel numbers.<\/strong> Channel 1 in this application means record 1 in its saved channel list. Selecting it applies operating settings to the IC-2730A. It does not write a permanent memory channel into the radio.<\/div>\n<h3>Worked example: \u201cOur Town Repeater\u201d<\/h3>\n<p>The values below are an illustration, not a recommendation for a particular repeater. Use the actual receive frequency, shift, offset and tone required for your station.<\/p>\n<div class=\"b9x-table\"><table><thead><tr><th>Field<\/th><th>Example<\/th><th>Explanation<\/th><\/tr><\/thead><tbody>\n<tr><td>Channel number<\/td><td><code>1<\/code><\/td><td>Choose an unused whole number from 1 to 9999. Android requests this number.<\/td><\/tr>\n<tr><td>Channel description<\/td><td>Our Town Repeater<\/td><td>A name people can understand. This becomes part of the completion text message. Use a short single line; do not use brackets or the pipe character <code>|<\/code>.<\/td><\/tr>\n<tr><td>Receive frequency (MHz)<\/td><td><code>145.130<\/code><\/td><td>The frequency the gateway radio listens on. 145.130 and 145.130000 represent the same frequency.<\/td><\/tr>\n<tr><td>Duplex offset magnitude (MHz)<\/td><td><code>0.600<\/code><\/td><td>The amount of frequency shift, entered as a positive magnitude. Select Minus or Plus separately.<\/td><\/tr>\n<tr><td>Main band<\/td><td>A<\/td><td>The side selected as the main band for these settings. Check the actual radio display and your audio\/PTT arrangement when testing.<\/td><\/tr>\n<tr><td>Operating mode<\/td><td>FM<\/td><td>Choose the mode required by the channel. The editor also lists FM-N, AM and AM-N; actual support depends on the radio and frequency. Use FM or FM-N for the appropriate amateur FM service.<\/td><\/tr>\n<tr><td>Duplex<\/td><td>Minus<\/td><td>Receive frequency minus the offset for repeater operation. In this example, 145.130 \u2212 0.600 = 144.530 MHz transmit. For simplex, choose Simplex.<\/td><\/tr>\n<tr><td>Tone mode<\/td><td>TONE<\/td><td>Off disables CTCSS operation; TONE applies a transmit CTCSS tone; TSQL uses tone squelch. TSQL reversed is also available for the appropriate receive-squelch use.<\/td><\/tr>\n<tr><td>TX CTCSS tone (Hz)<\/td><td><code>100.0<\/code><\/td><td>The supported tone required for repeater access, if enabled by Tone mode.<\/td><\/tr>\n<tr><td>RX CTCSS tone (Hz)<\/td><td><code>100.0<\/code><\/td><td>The supported receive tone-squelch value, if enabled by Tone mode.<\/td><\/tr>\n<\/tbody><\/table><\/div>\n<p><strong>For a simplex preset:<\/strong> enter the desired supported receive frequency, choose Simplex, use <code>0<\/code> as the offset, and select Tone Off if no tone is required. Still fill in both tone fields, for example <code>100.0<\/code>. Tone Off means those filled-in values do not enable a CTCSS tone.<\/p>\n<p>This version&#8217;s preset editor supports CTCSS settings, not a DTCS code\/polarity database. Enter a tone from the radio&#8217;s supported CTCSS list. Its validation range for frequency is an overall envelope, not a promise that every frequency between its endpoints is usable; select a frequency and mode your particular IC-2730A supports.<\/p>\n<h3>Save first, then apply<\/h3>\n<ol>\n<li>Click <strong>New<\/strong> in CI-V \/ Channels.<\/li>\n<li>Fill in every required field, including both CTCSS tone values even if Tone mode is Off.<\/li>\n<li>Click <strong>Save channel<\/strong>. Saving stores a preset; it does not by itself change the radio.<\/li>\n<li>Select the preset in <strong>Saved channels<\/strong>.<\/li>\n<li>Keep the radio unkeyed, wait for all audio to stop, then click <strong>Test selected channel<\/strong>. This button actually applies the selected saved preset. Unsaved changes in the fields are not applied.<\/li>\n<li>Wait for the result and check the frequency, mode, shift and tones on the physical radio. If the gateway is connected to the voice server, the result is also sent as a text message.<\/li>\n<\/ol>\n<p>The app checks radio replies and reads settings back before announcing success. If the radio rejects a setting, rounds it to a different value, or fails to reply, investigate the error rather than assuming the complete preset was applied.<\/p>\n<h3>Edit or remove a preset<\/h3>\n<p>Select an existing record in Saved channels, change its details, and click Save channel. To use another channel number, create a new record rather than renaming the existing number in place. Delete channel asks for confirmation and removes the application preset; it does not retune the radio or erase an Icom memory.<\/p>\n<div class=\"b9x-note\"><strong>\u201cEnter a frequency using a decimal point\u201d when 145.130 is already entered?<\/strong> In this version that message can mean another numeric field is blank. Check the offset and both tone fields as well as the receive frequency. Use a decimal point rather than a comma, omit unit text such as \u201cMHz,\u201d enter a positive offset magnitude, and choose the shift direction in Duplex.<\/div>\n<\/section>\n\n<section id=\"b9x-remote-channels\">\n<h2>Select a radio channel from Android<\/h2>\n<p>Use the <strong>free B9X PTT Chat for Android v1.0.5<\/strong> with the Windows Free Local Edition based on v0.1.29 for the text-message completion behavior described here. The phone sends a request through the existing B9X Voice Server. The Windows gateway receives the request, controls its locally connected IC-2730A, and broadcasts the result to the group.<\/p>\n<ol>\n<li>Finish the read-only CI-V test and local saved-channel test on Windows first.<\/li>\n<li>In Windows <strong>CI-V \/ Channels<\/strong>, check <strong>Allow SETCHANNEL broadcasts<\/strong> and click <strong>Save CI-V settings<\/strong>.<\/li>\n<li>Run the server and free Windows gateway on the <strong>same PC<\/strong>. The gateway connects to <code>127.0.0.1<\/code>. Connect Android to that same server using the PC\u2019s reachable LAN or public hostname\/address\u2014not 127.0.0.1 on the phone.<\/li>\n<li>On Android, open <strong>Channels<\/strong>. Set <strong>Target Radio ID<\/strong> to the Windows Unique Radio ID. Android defaults to <code>RADIO1<\/code>; Windows must use that ID too, or you must change Android to match Windows.<\/li>\n<li>Enter the saved Windows channel number, such as <code>1<\/code>. You do not enter its frequency or CTCSS values on the phone.<\/li>\n<li>Tap <strong>SET CHANNEL<\/strong>. The Android app saves the target and channel number and queues the request. SAVE TARGET saves those fields without sending a command.<\/li>\n<li>Open Android&#8217;s <strong>Messages<\/strong> tab for the result. A success message identifies the radio, channel description and frequency. A failure appears as an error message instead.<\/li>\n<\/ol>\n<div class=\"b9x-card\"><h3>Example completion<\/h3><p><strong>Sender:<\/strong> RADIO1<br><strong>Message:<\/strong> Channel 1 &#8211; Our Town Repeater \/ 145.130000 MHz<\/p><p>With <strong>Enable text to speech<\/strong> selected on Android&#8217;s Messages tab, the received message can also be spoken. It is a text-message announcement on the phone, separate from the Windows Morse\/Marin connection announcements.<\/p><\/div>\n<p>The Channels and Talk tabs show the <strong>requested<\/strong> channel. They do not independently confirm the radio&#8217;s present tuning. In v1.0.5, Android no longer waits for a separate channel confirmation or displays the old \u201cNo confirmation received\u201d timeout. The completion or error is handled through Messages.<\/p>\n<p>A request being sent is not the same as a successful channel change. If no message arrives, inspect the Windows status\/activity and Android Messages before repeating the request. A lost message does not prove the radio failed to change. The completion message records the settings checked at that time; it is not continuous monitoring of someone turning the radio&#8217;s front-panel dial later.<\/p>\n<h3>Two or more radios on one server<\/h3><p><strong>Edition boundary:<\/strong> the following illustrates Radio ID targeting in a system with multiple gateways. A free Windows gateway must share its PC with the server it joins. A second gateway on another PC joining that same central server requires a client edition with remote-server access; the Free Local Edition does not provide that connection.<\/p>\n<div class=\"b9x-table\"><table><thead><tr><th>Gateway<\/th><th>Unique Radio ID<\/th><th>Its channel 1<\/th><\/tr><\/thead><tbody>\n<tr><td>PC and IC-2730A at the north location<\/td><td><code>RADIO1<\/code><\/td><td>Our Town Repeater<\/td><\/tr>\n<tr><td>PC and IC-2730A at the south location<\/td><td><code>RADIO2<\/code><\/td><td>South Simplex<\/td><\/tr>\n<\/tbody><\/table><\/div>\n<p>To change the north radio, select RADIO1 on Android. To change the south radio, select RADIO2. Each Windows installation controls its configured local radio and has its own saved channel database. The same channel number may mean different settings at different gateways.<\/p>\n<p><strong>Never give two gateways on the same server the same Radio ID.<\/strong> Both can act on the same targeted command if their IDs match. A duplicated ID does not provide redundancy. After copying a channel\/settings database to another installation, assign a different ID there before enabling remote control.<\/p>\n<p>The request is addressed to one radio, but the completion is a <strong>group text broadcast<\/strong>. Other connected clients that support the TMSG format can see which radio changed and the reported channel. Radio IDs are destination labels, not access credentials; only enable remote control for a server group you intend to allow to select the saved presets.<\/p>\n<h3>Advanced command reference<\/h3>\n<p>For compatible client software, the channel request is <code>SETCHANNEL|RADIO1|1|request001<\/code> inside a BCAST message. The final request identifier is optional; a unique identifier helps avoid applying a repeated request again. A basic request is <code>SETCHANNEL|RADIO1|1<\/code>. Replace RADIO1 and 1 with the intended gateway ID and one of its saved channel numbers.<\/p>\n<p>Untargeted channel requests are ignored. Remote selection chooses saved presets; it does not accept an arbitrary frequency from the requester. Windows v0.1.29 announces the outcome using the existing TMSG text-message format, rather than requiring Android to wait for a separate CHANNELCHANGED reply. No special new voice-server port is needed for this feature.<\/p>\n<\/section>\n\n<section id=\"b9x-channel-recovery\">\n<h2>Channel-control troubleshooting and recovery<\/h2>\n<details><summary>The read-only connection test fails<\/summary><p>Confirm the correct CI-V cable COM port, a supported fixed baud rate matching the radio, the radio&#8217;s actual hexadecimal address, and controller E0. For a radio set to 0x5A, enter 5A\u2014not the initial 90. Close other programming\/control applications that may own the serial port. Check USB drivers and the radio&#8217;s CI-V menu. Test locally before involving Android or the Internet.<\/p><\/details>\n<details><summary>Audio\/PTT works, but channel control does not<\/summary><p>These are separate connections. Check the CI-V cable and its settings even if voice audio is perfect. With a separate OPC-478UC-1, the CI-V COM port will normally be different from DigiRig&#8217;s PTT COM port. With an approved custom shared-port arrangement, both app COM settings must refer to the same device, and radio PTT must be enabled for shared-port operation.<\/p><\/details>\n<details><summary>The radio changes frequency but the app reports an error<\/summary><p>A preset includes more than frequency. A rejected mode, offset or CTCSS setting, an unexpected readback, or interrupted serial communication can leave only part of the preset applied. Read the Windows result, check every saved setting against the radio&#8217;s supported values, and test\/apply the corrected saved preset again. Do not treat a visible frequency change as proof of a complete successful setup.<\/p><\/details>\n<details><summary>The app says audio\/PTT is busy<\/summary><p>Release local PTT and let network playback, VOX transmission, the Morse ID and connection announcements finish. Wait for the input and output to settle before retrying. Channel changes are intended to take place while the station is idle; a request is not held indefinitely waiting for an active conversation to finish.<\/p><\/details>\n<details><summary>Audio and PTT are inhibited after a failed channel change<\/summary><p>If a change may have stopped partway through, the app can keep audio\/PTT inhibited because the radio&#8217;s settings are uncertain. This condition is remembered across restart. Inspect the physical radio, correct the preset or connection, then successfully apply a saved channel to restore normal operation. Merely saving the form or running the read-only connection test does not verify a complete channel preset.<\/p><\/details>\n<details><summary>Android sends the request but the wrong radio changes<\/summary><p>Check the Unique Radio ID on every connected Windows gateway. IDs must be different, and Android&#8217;s target must match only the intended gateway. The CI-V address is not the server-facing Radio ID. Reusing a local CI-V address on separate stations does not select the remote destination.<\/p><\/details>\n<details><summary>The channel changes but no text message appears<\/summary><p>Use Windows v0.1.29 and a client that supports TMSG messages. Keep both clients connected to the same server, and look in Android Messages rather than waiting for the old channel-confirmation display. Check Windows activity for a completed change or a broadcast error. A local test performed while Windows is disconnected cannot send a group message. For spoken messages, also enable Android text to speech and check its media volume.<\/p><\/details>\n<details><summary>Can I remotely use a channel number that has not been saved?<\/summary><p>No. Create and save it in the Windows gateway&#8217;s CI-V \/ Channels database first. Channel numbers are local to that gateway. A preset saved on RADIO1 is not automatically copied to RADIO2.<\/p><\/details>\n<\/section>\n\n<section id=\"b9x-id\"><h2>Morse code identification<\/h2>\n<p>Open <strong>VOX \/ Radio settings<\/strong> and enter the identification settings:<\/p>\n<div class=\"b9x-table\"><table><thead><tr><th>Field<\/th><th>Setting<\/th><\/tr><\/thead><tbody>\n<tr><td>Call sign<\/td><td>Letters, numbers, spaces, and slash. <strong>Leave empty to disable the IDer.<\/strong><\/td><\/tr><tr><td>Tone<\/td><td>300\u20132000 Hz; initial default 800 Hz.<\/td><\/tr><tr><td>Speed<\/td><td>5\u201340 words per minute; initial default 20 WPM.<\/td><\/tr><tr><td>Interval<\/td><td>1\u20133600 seconds; initial default <strong>600 seconds = 10 minutes<\/strong>.<\/td><\/tr>\n<\/tbody><\/table><\/div>\n<p>The first incoming voice after connecting starts an ID when a call sign is configured. Further IDs are triggered when the interval has elapsed and incoming voice is present. It is not a timer that transmits continuously on an idle channel.<\/p>\n<p>The ID mixes with audio on the selected speaker output; it is not sent back to the voice server as microphone audio. If received speech stops while the ID is playing, the ID continues and transmitter PTT remains active until playback finishes. Disconnecting, an error, or a transmit safety limit can interrupt it.<\/p>\n<\/section>\n<section id=\"b9x-dtmf\"><h2>Local-server profiles and DTMF radio commands<\/h2><p>DTMF remains useful with a local-only client: an operator using the connected radio can send a connect sequence to enable its link to the local server, or a close sequence to take that radio off the voice group. Disconnecting this client does not stop the server or disconnect its other clients. DTMF commands here control server connections, not radio-channel selection.<\/p>\n<p>Click <strong>DTMF servers<\/strong>, select <strong>New<\/strong>, enter a record, and click <strong>Save server<\/strong>. The saved-server dropdown begins with the comments field when comments are supplied, making entries easier to recognize.<\/p>\n<div class=\"b9x-table\"><table><thead><tr><th>Field<\/th><th>Example \/ purpose<\/th><\/tr><\/thead><tbody>\n<tr><td>DTMF connect command<\/td><td><code>*101#<\/code> \u2014 connects this server record.<\/td><\/tr><tr><td>DTMF close command<\/td><td><code>*100#<\/code> \u2014 closes this server record&#8217;s active connection.<\/td><\/tr><tr><td>Server hostname or IPv4<\/td><td><code>127.0.0.1<\/code> in this Free Local Edition. Profiles cannot select a remote server.<\/td><\/tr><tr><td>UDP port<\/td><td>Usually <code>18000<\/code>; match the server.<\/td><\/tr><tr><td>Server password<\/td><td>The password accepted by this server.<\/td><\/tr><tr><td>32-character encryption key<\/td><td>Exactly 32 single-byte characters matching the server.<\/td><\/tr><tr><td>Spoken connect \/ close words<\/td><td>Optional phrases for voice commands. Omit the beginning word here.<\/td><\/tr><tr><td>Comments<\/td><td>A meaningful label, such as \u201cLocal radio group,\u201d plus any notes.<\/td><\/tr>\n<\/tbody><\/table><\/div>\n<p>DTMF commands use <strong>2\u201316 characters<\/strong> from <code>0\u20139<\/code>, <code>*<\/code>, <code>#<\/code>, and <code>A\u2013D<\/code>. Connect and close sequences must be unique across the database, and one sequence cannot be the beginning of another. A final <code>#<\/code> is useful but not required. Another profile for a server instance running on this same PC could use <code>*201#<\/code> and <code>*200#<\/code>, with its own matching port and credentials.<\/p>\n<h3>Operating from the radio<\/h3>\n<ol><li>Configure the radio input\/output and RTS\/DTR interface as described above.<\/li><li>Enable <strong>DTMF control<\/strong> on the main window. This allows local radio-input monitoring even while disconnected.<\/li><li>Key the radio, send the complete connect sequence, and <strong>release radio PTT<\/strong>.<\/li><li>After the server accepts the connection and the local input becomes quiet, listen for Morse <strong>5<\/strong> or the enabled spoken confirmation.<\/li><li>Send that record&#8217;s close sequence and release radio PTT to close the connection. Listen for Morse <strong>0<\/strong> or the spoken close announcement.<\/li><\/ol>\n<p>Use tones at least about <strong>60\u201380 ms<\/strong> long, with at least <strong>60 ms<\/strong> between digits. Keep pauses between digits shorter than <strong>three seconds<\/strong>; longer gaps discard the unfinished command. A held digit is counted once.<\/p>\n<p>Commands are accepted from the local microphone\/radio input, not from server-received voice. Commands during speaker playback or the short release interlock are ignored. The DTMF display shows detected digits for both audio directions; it does not remove their tones from the audio.<\/p>\n<p>In the Free Local Edition, these commands connect or disconnect the radio gateway from a same-PC server. They do not allow remote-server connections. Use 127.0.0.1 consistently in the main settings and saved profiles so close-command matching uses the same address; a close command for a different host\/port is ignored. A radio close also pauses automatic reconnection, including after a restart, until another connect command, manual Connect, or a change to Always Stay Connected clears the pause.<\/p>\n<p>Select a saved record to edit it, and click <strong>Save server<\/strong> to commit changes. Closing the editor alone does not save unfinished edits. <strong>Delete server<\/strong> asks for confirmation.<\/p>\n<\/section>\n<section id=\"b9x-speech\"><h2>Optional spoken connection commands<\/h2>\n<p>Open <strong>Voice commands<\/strong>. Enter your OpenAI API key, select a transcription model available to your API account, set your <strong>Beginning word or short phrase<\/strong>, enable <strong>OpenAI voice commands<\/strong>, and click <strong>Save voice settings<\/strong>. These commands are optional; ordinary PTT, VOX, and DTMF do not require OpenAI.<\/p>\n<p>The beginning word defaults to <strong>B9X<\/strong>. For an easy example, change it to <strong>Radio<\/strong>. In <strong>DTMF servers<\/strong>, save <strong>ham station<\/strong> as one server&#8217;s spoken connect words. Say:<\/p>\n<div class=\"b9x-note\"><p><strong>\u201cRadio ham station\u201d<\/strong> \u2014 connect that saved server.<\/p><p><strong>\u201cRadio disconnect\u201d<\/strong> \u2014 close the current server using the built-in disconnect command.<\/p><\/div>\n<p>Stop speaking and release radio PTT after the command. The beginning word belongs in Voice commands, not in the database&#8217;s spoken-word fields. The regular DTMF fields and server credentials are still required when saving a server record.<\/p>\n<p>Matching ignores case and punctuation and tolerates limited transcription differences, common B9X spellings, and some polite wording. Distinct server phrases work best. Ambiguous matches, conflicting connect\/disconnect requests, and clear negative commands are rejected rather than guessed. Similar numbered server names still require the correct number.<\/p>\n<p>Speech detection uses the VOX trigger setting even if VOX transmission is disabled. A short qualifying utterance ends after roughly 0.8 seconds of quiet. Keep commands under eight seconds and wait for the result before repeating. The main Voice status line shows listening, transcription, a matched\/unmatched phrase, or an API error.<\/p>\n<div class=\"b9x-note b9x-amber\"><strong>OpenAI usage and privacy:<\/strong> when spoken commands are enabled, qualifying short local microphone\/radio utterances are sent to OpenAI over HTTPS, including speech that is not a command. The beginning word controls command execution; it does not prevent other qualifying clips from being uploaded. Incoming server audio is excluded. API usage is billed separately from a ChatGPT subscription. Disable voice commands to stop transcription uploads. Spoken phrases and DTMF sequences are controls, not proof of the operator&#8217;s identity.<\/div>\n<\/section>\n<section id=\"b9x-confirmations\"><h2>Morse and Marin connection confirmations<\/h2>\n<p>Standard feedback is Morse <strong>5: <code>.....<\/code><\/strong> for an accepted connection and Morse <strong>0: <code>-----<\/code><\/strong> for closure. Tone frequency and speed use the Morse settings even if the ID call sign is empty.<\/p>\n<p>Before replying, the local input must be below the VOX trigger for about <strong>800 ms<\/strong>, with no DTMF tone held. Release the radio&#8217;s PTT after sending a command. Quiet detection listens to the raw input, so muting the application&#8217;s microphone volume does not make a noisy input count as quiet.<\/p>\n<h3>Enable Marin spoken confirmations<\/h3>\n<ol><li>Disconnect from the server and open <strong>Voice commands<\/strong>.<\/li><li>Enter a valid OpenAI API key and select <strong>Marin spoken connect \/ close confirmations<\/strong>.<\/li><li>Save the voice settings and wait for <strong>TTS: Marin ready<\/strong>.<\/li><li>Connect and listen for <strong>\u201cConnected to the voice server.\u201d<\/strong> Close the connection and listen for <strong>\u201cConnection closed.\u201d<\/strong><\/li><\/ol>\n<p>These are <strong>AI-generated announcements<\/strong>, not a human operator. The two fixed announcements are prepared while disconnected and saved locally. Once prepared, they play without a new speech-generation request for every connection. Initial preparation requires API access and separately billed usage; availability depends on the configured service and account.<\/p>\n<p>Spoken confirmations can be enabled independently of spoken command recognition. If an announcement is disabled or unavailable, Morse feedback remains the fallback. Announcements and Morse play through <strong>PC Speaker \/ Radio IN<\/strong>, follow speaker volume, and use the selected RTS\/DTR output and PTT timing when radio PTT is enabled. They are local output and are not transmitted to the voice server as microphone audio.<\/p>\n<\/section>\n<section id=\"b9x-reconnect\"><h2>Always Stay Connected<\/h2>\n<p>In this free edition all retries go to <code>127.0.0.1<\/code>. Select <strong>Always Stay Connected<\/strong> to connect automatically when the application opens and retry after a failed connection or a detected loss. The checkbox and current settings are saved. The connection-loss detector can take about <strong>60 seconds without replies<\/strong> to declare a loss; the <strong>60-second retry wait<\/strong> starts after loss detection.<\/p>\n<div class=\"b9x-table\"><table><thead><tr><th>Action<\/th><th>Behavior<\/th><\/tr><\/thead><tbody>\n<tr><td>Click Disconnect with Always Stay Connected still checked<\/td><td>Disconnects immediately, then schedules a retry about 60 seconds later.<\/td><\/tr><tr><td>Uncheck Always Stay Connected<\/td><td>Stops automatic retries; does not by itself close an existing connection.<\/td><\/tr><tr><td>Close through a radio command<\/td><td>Pauses reconnection until a new connect request or operator action clears the radio-close pause.<\/td><\/tr><tr><td>Close the application window<\/td><td>Cancels retries, releases transmitter PTT, and disconnects. The application does not continue as a background tray client.<\/td><\/tr>\n<\/tbody><\/table><\/div>\n<\/section>\n<section id=\"b9x-saved\"><h2>Saved settings and credentials<\/h2>\n<p><strong>Save settings<\/strong> and <strong>Connect<\/strong> save the main server password and encryption key through Windows Credential Manager for the current Windows user. Device selections, volumes, connection fields, and radio settings are restored at startup. If a saved audio device is unavailable, the application falls back to the Windows default and reports that change.<\/p>\n<p><strong>Forget credentials<\/strong> clears the main connection&#8217;s saved password\/key and their on-screen fields. It does not change the server&#8217;s credentials, and it does not delete separate server-database records or their saved credentials.<\/p>\n<p>Saved server records and the optional OpenAI key are protected for the current Windows user. Moving a database or settings backup to another Windows account or PC may require re-entering secrets. Settings and the server database are kept under <code>%APPDATA%\\B9X PTT Chat<\/code>; the existing folder name remains unchanged even though the product is now named B9X PTT Chat Radio For Windows \u2014 Free Local Edition.<\/p>\n<p>The application does not write voice recordings for ordinary chat or command recognition. The optional fixed Marin confirmation audio is saved locally. Audio settings, diagnostics, and credential protection do not change the encryption capabilities of the existing B9X Voice Server protocol.<\/p>\n<\/section>\n<section id=\"b9x-help\"><h2>Troubleshooting<\/h2>\n<details><summary>The application cannot connect<\/summary><p>First confirm B9X Voice Server is running on this same PC and accepts the configured UDP port, password, encryption setting and exact key. This edition always connects to 127.0.0.1; changing a hostname cannot make it join a server on another computer. Keep Local port at 0 initially and close older clients that may own a fixed local port. Use Copy diagnostics after reproducing the problem.<\/p><\/details>\n<details><summary>Connected, but I cannot hear audio<\/summary><p>Check PC Speaker \/ Radio IN, the application&#8217;s speaker volume, Windows output volume, and the physical device\/interface. Verify another user is transmitting and the server uses the required audio format. During local transmission, receive playback is muted\/reset to reduce feedback.<\/p><\/details>\n<details><summary>The microphone meter moves but nobody hears me<\/summary><p>A moving meter only confirms local audio. Verify the connection is accepted and that you are holding manual PTT or that VOX is actively sending. Check microphone volume and server settings. Manual PTT releases when the window loses focus.<\/p><\/details>\n<details><summary>VOX is too sensitive or will not trigger<\/summary><p>Lower trigger values increase sensitivity; higher values reduce it. Set a value above idle noise and below normal speech. Microphone volume affects VOX transmission sensitivity. Check the selected input and use headphones to limit acoustic feedback.<\/p><\/details>\n<details><summary>The transmitter does not key, or stays keyed<\/summary><p>Check the COM port, RTS\/DTR selection, interface wiring, active polarity, and whether another program owns the port. Incoming voice, a Morse ID, or a confirmation can legitimately hold PTT until playback and its off delay finish. Speaker mute does not disable PTT. Stop operation and verify hardware settings if the output does not release correctly.<\/p><\/details>\n<details><summary>No Morse or spoken reply after a radio command<\/summary><p>Release radio PTT, wait for the quiet-input delay, and confirm the input noise is below the VOX trigger. Check the output device and speaker volume. A connect confirmation follows server acceptance, not merely a connection attempt. If Marin is selected, wait for TTS: Marin ready; otherwise expect Morse 5 or 0.<\/p><\/details>\n<details><summary>DTMF commands are not recognized<\/summary><p>Enable DTMF control and check the Radio OUT digit display. Use clean, unclipped tones, deliberate key presses, short inter-digit pauses, and the complete saved sequence. Avoid sending commands during local output playback. Microphone volume does not adjust raw DTMF detection sensitivity.<\/p><\/details>\n<details><summary>Spoken commands are not working<\/summary><p>Check the Voice status line, API key, account access, and selected transcription model. Confirm the configured beginning word and saved server phrase. Set the speech trigger above noise, speak a short command clearly, then stop. API or recognition errors leave the current connection unchanged; DTMF and manual controls remain available.<\/p><\/details>\n<details><summary>Audio is uneven on Wi-Fi or cellular<\/summary><p>First compare with a clean LAN test. Improve signal and reduce interference; Ethernet or a suitable 5 GHz Wi-Fi connection can help when available. For cellular, place the hotspot where reception is strongest. Try a modest buffer increase. Buffering cannot fix a sustained outage or recover missing words.<\/p><\/details>\n<details><summary>Remote Android users cannot reach the group<\/summary><p>The free Windows client\u2019s local connection and a phone\u2019s remote connection use different addresses. Verify the server\u2019s public or LAN address, UDP forwarding where needed, firewall access and free client capacity. Android must use the server PC\u2019s reachable address. Seeing the Windows client connect to 127.0.0.1 proves only the local path, not public Internet access.<\/p><\/details><details><summary>Can I move the server to another PC?<\/summary><p>Not while continuing to use this Free Local Edition to join it. Keep the server on the same PC as the free Windows client, or use a client edition supporting remote server destinations.<\/p><\/details><h3>Information to collect for support<\/h3>\n<p>Use <strong>Copy diagnostics<\/strong> after reproducing a problem. Include whether you were on a LAN, home Internet, or a hotspot; the selected audio devices; buffer setting; and, for radio issues, COM port, RTS\/DTR choice, and polarity. Do not include your password, encryption key, or OpenAI API key.<\/p>\n<\/section>\n<footer class=\"b9x-footer\"><p><strong>Documentation for the Free Local Edition, based on Windows v0.1.29 features.<\/strong> Android channel-message instructions refer to Android v1.0.5. Icom and DigiRig are their respective owners&#8217; product names; the hardware and appropriate cables are separate from this software.<\/p><p><strong>B9X PTT Chat Radio For Windows \u2014 Free Local Edition<\/strong> \u00b7 B9X Electronics<\/p><p>These instructions describe the controls and behavior in the supplied Windows project. The Windows client is free; B9X Voice Server is separately licensed. Hardware compatibility and audio performance depend on the PC, interface, radio, server configuration, and network. Optional OpenAI features require separate API access.<\/p><\/footer>\n<\/article>\n","protected":false},"excerpt":{"rendered":"<p>Installing And Configuring B9X PTT Chat For Windows &#8211; Free Local Edition https:\/\/drive.google.com\/file\/d\/1geSQfgiAgUU2HWTBaDI4dK_HBvN3m9aw\/view?usp=drive_link Download, by clicking the above link, and unzip the above zip file. This download is not digitally signed. This file does NOT contain any viruses, does NOT contain any type of malware, does NOT contain any type of ransomware, and does NO [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1778","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/b9xelectronics.com\/index.php?rest_route=\/wp\/v2\/pages\/1778","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/b9xelectronics.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/b9xelectronics.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/b9xelectronics.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/b9xelectronics.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1778"}],"version-history":[{"count":14,"href":"https:\/\/b9xelectronics.com\/index.php?rest_route=\/wp\/v2\/pages\/1778\/revisions"}],"predecessor-version":[{"id":1839,"href":"https:\/\/b9xelectronics.com\/index.php?rest_route=\/wp\/v2\/pages\/1778\/revisions\/1839"}],"wp:attachment":[{"href":"https:\/\/b9xelectronics.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1778"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}