Audio Gateway Core Component
Other versions of this page are also available for the following:
8/28/2008
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 Embedded 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.
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.
For All Platforms
- 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