Audio Gateway Core Component (Windows CE 5.0)
The Audio Gateway (AG) core component provides the main functionality of the Audio AG Service. This component contains a parser and a core engine, which perform the following tasks:
Registers the Service Discovery Protocol (SDP) records of the headset or the hands-free device when the AG service is started. The AG core component then listens for incoming service level connections that are initiated by a user action on the headset or on the hands-free device, or an internal event, and initializes the Network component.
Receives AT commands from the headset or the hands-free device, parses the commands, and sends the commands to the core engine of the AG Service.
For a list of AT commands supported by Windows CE, see Headset Profile and Hands-Free Profile.
Synchronizes the parsed AT commands and the event notifications from the Network component. The core engine communicates with the in response to events and headset or the hands-free device in response to AT commands.
For example, when the network component receives an incoming call, it raises the NETWORK_EVENT_CALL_IN event. The engine responds to this event by establishing a connection with the headset. The Network component then raises a NETWORK_EVENT_RING event with the engine, which responds by sending an unsolicited RING result code to the headset. If the user chooses to receive the call on the headset by performing a user-initiated action such as pressing a button on the headset, then the headset sends the AT+CKPD command to the AG. This AT command is parsed and sent to the engine, which responds by establishing a synchronous connection oriented (SCO) link with the headset if it is not already established.
**Note **A SCO link must be established to support a full duplex audio connection.
The engine sends result codes to peer Bluetooth devices through the Bluetooth stack by using Winsock. The engine declares a BthAGOnNetworkEvent function that is used by the Network component.
The following list shows the AG core component IOCTLs.
- IOCTL_AG_CLOSE_AUDIO
- IOCTL_AG_CLOSE_CONTROL
- IOCTL_AG_GET_MIC_VOL
- IOCTL_AG_GET_SPEAKER_VOL
- IOCTL_AG_OPEN_AUDIO
- IOCTL_AG_OPEN_CONTROL
- IOCTL_AG_SET_MIC_VOL
- IOCTL_AG_SET_SPEAKER_VOL
Note The AG service can be controlled by external modules through IOCTLs provided by Services.exe.To start and stop the AG service, use the standard Services.exe IOCTLs, IOCTL_SERVICE_START and IOCTL_SERVICE_STOP respectively. To refresh the configuration parameters of the service, use IOCTL_SERVICE_REFRESH.
See Also
Audio Gateway Service | Bluetooth Profiles | Bluetooth Stack Architecture
Send Feedback on this topic to the authors