net.sf.nohands.hfpd.AudioGateway Interface Reference

Interface for managing a specific Audio Gateway device. More...

List of all members.

Public Member Functions

 Connect ()
 Initiate a service-level connection to the device.
 Disconnect ()
 Close the service-level connection to the device.
 OpenAudio ()
 Attempt to open an audio connection to the device.
 CloseAudio ()
 Close the audio connection to the device.
 Dial (in string phone_num)
 Send a dial command to the audio gateway.
 Redial ()
 Send a last number redial command to the audio gateway.
 HangUp ()
 Send a hangup command to the audio gateway.
 SendDtmf (in byte code)
 Send a DTMF tone generation command to the audio gateway.
 Answer ()
 Request the audio gateway answer the incoming call.
 QueryNumber (out string number, out int32 type, out int32 service)
 Query the telephone number of the audio gateway.
 QueryCurrentCalls (out CallInfo[] calls)
 Query the current calls of the audio gateway.
 QueryOperator (out int32 mode, out int32 format, out string oper)
 Query the operator of the audio gateway.
 SetVoiceRecognition (in bool activate)
 Request activation or deactivation of voice recognition on the audio gateway.
 CallDropHeldUdub ()
 Send a drop held / UDUB command to the audio gateway.
 CallSwapDropActive ()
 Send a drop active call command to the audio gateway.
 CallDropIndex (int idx)
 Send a drop specific call command to the audio gateway.
 CallSwapHoldActive ()
 Send a hold active call command to the audio gateway.
 CallLink ()
 Send a link calls command to the audio gateway.
 CallPrivateConsult (int idx)
 Send a private consult command to the audio gateway.
 CallTransfer ()
 Send a transfer call command to the audio gateway.
signal StateChanged (out byte state, out bool voluntary)
 Notification of a service-level connection state change.
signal CallStateChanged (out byte call_state)
 Notification of a call state change.
signal AudioStateChanged (out byte audio_state)
 Notification of an audio connection state change.
signal ClaimStateChanged (out bool claim_state)
 Notification of the AudioGateway being claimed or unclaimed.
signal AutoReconnectChanged (out bool autoreconnect)
 Notification of the AudioGateway auto-reconnect flag changing.
signal Ring (out string number, out int32 number_type, out string subaddr, out int32 subaddr_type, out string caller_name)
 Ring notification.
signal IndicatorChanged (out string indicator_name, out int32 value)
 Notification of miscellaneous audio gateway state change.
signal NameResolved (out string name)
 Bluetooth name resolution complete notification.
signal VoiceRecognitionActiveChanged (out bool state)
 Notification of voice recognition activatation or deactivatation.
signal InBandRingToneEnableChanged (out bool state)
 Notification of change to the in-band ring tone setting of the audio gateway.

Public Attributes

const byte State
 Service-level connection state of the device.
const byte CallState
 Call state of the device.
const byte AudioState
 Audio connection state of the device.
const bool VoiceRecognitionActive
 Voice recognition state of the device.
const bool InBandRingToneEnable
 In-Band ring tone state of the device.
const bool Claimed
 D-Bus ownership state of the device.
const bool VoluntaryDisconnect
 Mode of previous service-level disconnection of the device.
const string Address
 Bluetooth address of the AudioGateway.
bool Known
 Permanently known flag.
bool AutoReconnect
 Automatic reconnection flag.
const dict< string, bool > Features
 Feature set of device.
const uint32 RawFeatures
 Feature set of the device, as reported by the device through handshaking.

Classes

struct  CallInfo


Detailed Description

Interface for managing a specific Audio Gateway device.

For each audio gateway device known to hfpd, an object implementing the AudioGateway interface will be instantiated. A complete list of audio gateway objects is available via HandsFree.AudioGateways.

Audio gateway objects have three main forms of state:

Audio Connection Management

Audio gateway devices support streaming telephony audio over Bluetooth. In order for an audio connection to be open to a device, a service-level connection must be open. D-Bus clients can determine the audio connection state of an AudioGateway device by examining the AudioGateway.AudioState property, and through the AudioStateChanged() signal. The device may initiate an audio connection, and D-Bus clients will be informed of this by an AudioStateChanged() signal. D-Bus clients may also initiate an audio connection to the device using OpenAudio(), or using SoundIo.AudioGatewayStart().

An open audio connection to an audio gateway device does not imply that audio data is being streamed to and from the device. The D-Bus client is ultimately responsible for configuring streaming. When an audio connection is first established, ideally, the D-Bus client will either:

It is highly undesirable to leave an audio gateway device sitting with an open audio connection, without active streaming. D-Bus clients should take care to avoid this situation, and ensure that they close the audio connection if they are unable to start streaming.

Overall, HFPD should not need to initiate audio connections to devices -- audio gateway devices are suited to do all of the initiation on their own. If HFPD does initiate an audio connection, it should only be at the explicit request of the user.

When an audio gateway device initiates an audio connection, the device's D-Bus owner will be informed of it only by this signal.


Member Function Documentation

net.sf.nohands.hfpd.AudioGateway.Connect (  ) 

Initiate a service-level connection to the device.

This method will start to transition the device to the connected state.

If a conneciton to the device is already in progress, or the device is already connected, this method will succeed and do nothing.

Exceptions:
net.sf.nohands.hfpd.Error Thrown on any sort of error, unspecific of the reason of failure.
This method may cause a StateChanged() signal to be emitted.

net.sf.nohands.hfpd.AudioGateway.Disconnect (  ) 

Close the service-level connection to the device.

This method will force the device to the disconnected state.

If a service-level connection to the device is in progress, it will be aborted. If a service-level connection to the device is fully established, it will be disconnected. If an audio connection to the device is open or in progress, it will also be closed or aborted. If the device is already disconnected, this method will succeed and do nothing.

This method may cause StateChanged() and possibly AudioStateChanged() and SoundIo.StateChanged() signals to be emitted.

net.sf.nohands.hfpd.AudioGateway.OpenAudio (  ) 

Attempt to open an audio connection to the device.

This method will attempt to push the device to the audio connected state. The device must have an existing service-level connection in order to push the audio state.

If an audio connection already exists, or an audio connection attempt is already in progress, this method will do nothing and succeed.

An open audio connection to an audio gateway device does not imply that audio data is being streamed to and from the device. See the Audio connection management section for more details.

This method may cause an AudioStateChanged() signal to be emitted.

net.sf.nohands.hfpd.AudioGateway.CloseAudio (  ) 

Close the audio connection to the device.

This method will force the device to the audio disconnected state.

If an audio connection to the device is in progress, it will be aborted. If an audio connection to the device is fully established, it will be disconnected. If the device is configured as the endpoint of the SoundIo object, audio streaming will be halted. If the audio connection to the device is already disconnected, this method will succeed and do nothing.

This method may cause AudioStateChanged() and SoundIo.StateChanged() signals to be emitted.

net.sf.nohands.hfpd.AudioGateway.Dial ( in string  phone_num  ) 

Send a dial command to the audio gateway.

This method causes a dial command to be sent to the audio gateway for a given phone number.

Parameters:
[in] phone_num Phone number to request the audio gateway to dial.
Exceptions:
net.sf.nohands.hfpd.Error Thrown on any sort of error, unspecific of the reason of failure.
Note:
This method will not return until the audio gateway has responded to the command. An audio gateway that has moved out of Bluetooth radio range may not be identified as being inaccessible for several seconds, and a poorly designed audio gateway may fail to respond altogether. D-Bus clients should not expect this method to complete quickly and should invoke it asynchronously.

net.sf.nohands.hfpd.AudioGateway.Redial (  ) 

Send a last number redial command to the audio gateway.

This method causes a last number redial command to be sent to the audio gateway. The number to be dialed will be the last number dialed by the audio gateway, whether it was submitted by a Dial() command or dialed directly on the keypad of the audio gateway.

Exceptions:
net.sf.nohands.hfpd.Error Thrown on any sort of error, unspecific of the reason of failure.
Note:
This method will not return until the audio gateway has responded to the command. An audio gateway that has moved out of Bluetooth radio range may not be identified as being inaccessible for several seconds, and a poorly designed audio gateway may fail to respond altogether. D-Bus clients should not expect this method to complete quickly and should invoke it asynchronously.

net.sf.nohands.hfpd.AudioGateway.HangUp (  ) 

Send a hangup command to the audio gateway.

This method causes a hangup command to be sent to the audio gateway. This has several uses:

Exceptions:
net.sf.nohands.hfpd.Error Thrown on any sort of error, unspecific of the reason of failure.
Note:
This method will not return until the audio gateway has responded to the command. An audio gateway that has moved out of Bluetooth radio range may not be identified as being inaccessible for several seconds, and a poorly designed audio gateway may fail to respond altogether. D-Bus clients should not expect this method to complete quickly and should invoke it asynchronously.

net.sf.nohands.hfpd.AudioGateway.SendDtmf ( in byte  code  ) 

Send a DTMF tone generation command to the audio gateway.

This method causes a DTMF tone generation command to be sent to the audio gateway. The audio gateway will generate the DTMF tone appropriate for the code and play it over the audio connection. This is useful for navigating menu systems such as for voice mail.

Parameters:
[in] code DTMF code to generate. Must be a decimal number, a letter A-D, #, or *.
Exceptions:
net.sf.nohands.hfpd.Error Thrown on any sort of error, unspecific of the reason of failure.
Note:
This method will not return until the audio gateway has responded to the command. An audio gateway that has moved out of Bluetooth radio range may not be identified as being inaccessible for several seconds, and a poorly designed audio gateway may fail to respond altogether. D-Bus clients should not expect this method to complete quickly and should invoke it asynchronously.

net.sf.nohands.hfpd.AudioGateway.Answer (  ) 

Request the audio gateway answer the incoming call.

This method causes an answer call command to be sent to the audio gateway. If the audio gateway has an incoming, incomplete, ringing call, the call will be answered and will become the active call.

Exceptions:
net.sf.nohands.hfpd.Error Thrown on any sort of error, unspecific of the reason of failure.
Note:
This method will not return until the audio gateway has responded to the command. An audio gateway that has moved out of Bluetooth radio range may not be identified as being inaccessible for several seconds, and a poorly designed audio gateway may fail to respond altogether. D-Bus clients should not expect this method to complete quickly and should invoke it asynchronously.

net.sf.nohands.hfpd.AudioGateway.QueryNumber ( out string  number,
out int32  type,
out int32  service 
)

Query the telephone number of the audio gateway.

This method queries the telephone number of the audio gateway and returns the result. This request is described in GSM 07.07 7.1.

Parameters:
[out] number The telephone number of the audio gateway on the public telephone network. The format of this number, e.g. organizational, local, or international, is described by the type parameter.
[out] type The format of the number parameter. See GSM 04.10 section 10.5.4.7 for more information on the meaning. Some common values include:
  • 129: Unknown type of number in E.164 numbering plan
  • 145: International number in E.164 numbering plan
[out] service Service related to the number. Values are described in GSM 07.07 section 7.1, and include:
  • 4: voice
  • 5: fax
Exceptions:
net.sf.nohands.hfpd.Error Thrown on any sort of error, unspecific of the reason of failure.
Note:
This method will not return until the audio gateway has responded to the command. An audio gateway that has moved out of Bluetooth radio range may not be identified as being inaccessible for several seconds, and a poorly designed audio gateway may fail to respond altogether. D-Bus clients should not expect this method to complete quickly and should invoke it asynchronously.

net.sf.nohands.hfpd.AudioGateway.QueryCurrentCalls ( out CallInfo[]  calls  ) 

Query the current calls of the audio gateway.

This method queries the current calls on the audio gateway, and returns the result. This request is described in GSM 07.07 7.17. The audio gateway is not required to support this request, but is likely to support it if the "EnhancedCallStatus" feature in the AudioGateway.Features property is set to true.

Parameters:
[out] calls An array of CallInfo structures, one per active call being handled by the audio gateway. If no calls are present, the array will be empty. The index members may be used
Exceptions:
net.sf.nohands.hfpd.Error Thrown on any sort of error, unspecific of the reason of failure.
Note:
This method will not return until the audio gateway has responded to the command. An audio gateway that has moved out of Bluetooth radio range may not be identified as being inaccessible for several seconds, and a poorly designed audio gateway may fail to respond altogether. D-Bus clients should not expect this method to complete quickly and should invoke it asynchronously.

net.sf.nohands.hfpd.AudioGateway.QueryOperator ( out int32  mode,
out int32  format,
out string  oper 
)

Query the operator of the audio gateway.

This method queries the current operator information from the audio gateway and returns the result. This request is described in GSM 07.07 7.3, but as per Bluetooth HFP 1.5, only the long alphanumeric form of the operator information is available, e.g. "T-Mobile" or "Verizon".

Parameters:
[out] mode Operator selection mode. See GSM 07.07
[out] format Operator display format, always 0.
[out] oper Operator name as an alphanumeric string, e.g. "AT&T".
Exceptions:
net.sf.nohands.hfpd.Error Thrown on any sort of error, unspecific of the reason of failure.
Note:
This method will not return until the audio gateway has responded to the command. An audio gateway that has moved out of Bluetooth radio range may not be identified as being inaccessible for several seconds, and a poorly designed audio gateway may fail to respond altogether. D-Bus clients should not expect this method to complete quickly and should invoke it asynchronously.

net.sf.nohands.hfpd.AudioGateway.SetVoiceRecognition ( in bool  activate  ) 

Request activation or deactivation of voice recognition on the audio gateway.

Some audio gateway devices support voice recognition, and can use the audio link and the microphone of the hands-free for voice recognition. Support for voice recognition is indicated by the "VoiceRecognition" feature in the AudioGateway.Features property being true.

Parameters:
[in] activate Set to true to request activation of voice recognition, false to request deactivation.
The current state of voice recognition can be retrieved from the AudioGateway.VoiceRecognitionActive property. Changes to the state, including changes induced by calls to this method, are reported by the VoiceRecognitionActiveChanged() signal.

Note:
This method will not return until the audio gateway has responded to the command. An audio gateway that has moved out of Bluetooth radio range may not be identified as being inaccessible for several seconds, and a poorly designed audio gateway may fail to respond altogether. D-Bus clients should not expect this method to complete quickly and should invoke it asynchronously.

net.sf.nohands.hfpd.AudioGateway.CallDropHeldUdub (  ) 

Send a drop held / UDUB command to the audio gateway.

This method causes an oddly designed command to be sent to the audio gateway that has the following effect:

Support for this command by the audio gateway is optional, and is indicated by the "DropHeldUdub" feature in the AudioGateway.Features property being true.

Many audio gateways do not perform a unique action when this request is issued, and will often reject or ignore the incoming call. In general, the UDUB request is implemented so inconsistently that it is not worth presenting to the user.

Exceptions:
net.sf.nohands.hfpd.Error Thrown on any sort of error, unspecific of the reason of failure.
Note:
This method will not return until the audio gateway has responded to the command. An audio gateway that has moved out of Bluetooth radio range may not be identified as being inaccessible for several seconds, and a poorly designed audio gateway may fail to respond altogether. D-Bus clients should not expect this method to complete quickly and should invoke it asynchronously.

net.sf.nohands.hfpd.AudioGateway.CallSwapDropActive (  ) 

Send a drop active call command to the audio gateway.

This method causes a command to be sent to the audio gateway that has the following effect:

Support for this command by the audio gateway is optional, and is indicated by the "SwapDropActive" feature in the AudioGateway.Features property being true.

Exceptions:
net.sf.nohands.hfpd.Error Thrown on any sort of error, unspecific of the reason of failure.
Note:
This method will not return until the audio gateway has responded to the command. An audio gateway that has moved out of Bluetooth radio range may not be identified as being inaccessible for several seconds, and a poorly designed audio gateway may fail to respond altogether. D-Bus clients should not expect this method to complete quickly and should invoke it asynchronously.

net.sf.nohands.hfpd.AudioGateway.CallDropIndex ( int  idx  ) 

Send a drop specific call command to the audio gateway.

This method causes a command to be sent to the audio gateway requesting that it drop a specific call. This method is only useful when the audio gateway has the "EnhancedCallStatus" feature, in which case call index numbers can be retrieved via QueryCurrentCalls(). Additionally, the audio gateway is only likely to support the command if it has the "EnhancedCallControl" and "DropIndex" features in the AudioGateway.Features property being true.

Parameters:
[in] idx Index of the call to be dropped.
Exceptions:
net.sf.nohands.hfpd.Error Thrown on any sort of error, unspecific of the reason of failure.
Note:
This method will not return until the audio gateway has responded to the command. An audio gateway that has moved out of Bluetooth radio range may not be identified as being inaccessible for several seconds, and a poorly designed audio gateway may fail to respond altogether. D-Bus clients should not expect this method to complete quickly and should invoke it asynchronously.

net.sf.nohands.hfpd.AudioGateway.CallSwapHoldActive (  ) 

Send a hold active call command to the audio gateway.

This method causes a command to be sent to the audio gateway that has the following effect:

Support for this command by the audio gateway is optional, and is indicated by the "SwapHoldActive" feature in the AudioGateway.Features property being true.

Exceptions:
net.sf.nohands.hfpd.Error Thrown on any sort of error, unspecific of the reason of failure.
Note:
This method will not return until the audio gateway has responded to the command. An audio gateway that has moved out of Bluetooth radio range may not be identified as being inaccessible for several seconds, and a poorly designed audio gateway may fail to respond altogether. D-Bus clients should not expect this method to complete quickly and should invoke it asynchronously.

net.sf.nohands.hfpd.AudioGateway.CallLink (  ) 

Send a link calls command to the audio gateway.

This method causes a link calls command to be sent to the audio gateway. If the audio gateway has an active call, and a call placed on hold, the calls will be linked into a single three-way multiparty call.

Support for this command by the audio gateway is optional, and is indicated by the "Link" feature in the AudioGateway.Features property being true.

Exceptions:
net.sf.nohands.hfpd.Error Thrown on any sort of error, unspecific of the reason of failure.
Note:
This method will not return until the audio gateway has responded to the command. An audio gateway that has moved out of Bluetooth radio range may not be identified as being inaccessible for several seconds, and a poorly designed audio gateway may fail to respond altogether. D-Bus clients should not expect this method to complete quickly and should invoke it asynchronously.

net.sf.nohands.hfpd.AudioGateway.CallPrivateConsult ( int  idx  ) 

Send a private consult command to the audio gateway.

This method causes a command to be sent to the audio gateway requesting that it remove all calls from the multiparty call except for a specific call. All calls removed from the multiparty will be placed on hold. This method is only useful when the audio gateway has the "EnhancedCallStatus" feature, in which case call index numbers can be retrieved via QueryCurrentCalls(). Additionally, the audio gateway is only likely to support the command if it has the "EnhancedCallControl" and "PrivateConsult" features in the AudioGateway.Features property set to true.

Parameters:
[in] idx Index of the call to go to private consult mode.
Exceptions:
net.sf.nohands.hfpd.Error Thrown on any sort of error, unspecific of the reason of failure.
Note:
This method will not return until the audio gateway has responded to the command. An audio gateway that has moved out of Bluetooth radio range may not be identified as being inaccessible for several seconds, and a poorly designed audio gateway may fail to respond altogether. D-Bus clients should not expect this method to complete quickly and should invoke it asynchronously.

net.sf.nohands.hfpd.AudioGateway.CallTransfer (  ) 

Send a transfer call command to the audio gateway.

This method causes a transfer call command to be sent to the audio gateway. If the audio gateway has an active call, and a call placed on hold, the calls will be linked to each other, and disconnected from the audio gateway.

Support for this command by the audio gateway is optional, and is indicated by the "Transfer" feature in the AudioGateway.Features property being true.

Exceptions:
net.sf.nohands.hfpd.Error Thrown on any sort of error, unspecific of the reason of failure.
Note:
This method will not return until the audio gateway has responded to the command. An audio gateway that has moved out of Bluetooth radio range may not be identified as being inaccessible for several seconds, and a poorly designed audio gateway may fail to respond altogether. D-Bus clients should not expect this method to complete quickly and should invoke it asynchronously.

signal net.sf.nohands.hfpd.AudioGateway.StateChanged ( out byte  state,
out bool  voluntary 
)

Notification of a service-level connection state change.

This signal is emitted whenever the service-level connection state of the device changes. This can be caused by calls to Connect() or Disconnect(), removal of a Bluetooth dongle, explicit connection or disconnection from the audio gateway, or a number of other events.

Parameters:
[out] state New value of the service-level connection state. See AudioGateway.State for more information.
[out] voluntary If the state changed to disconnected, this parameter describes whether the disconnection was voluntary or involuntary. See AudioGateway.VoluntaryDisconnect for more information..

signal net.sf.nohands.hfpd.AudioGateway.CallStateChanged ( out byte  call_state  ) 

Notification of a call state change.

This signal is emitted whenever the call state of the device changes. This can be caused by calls to the Dial(), Answer(), or Hangup() methods, by an incoming call, or a number of other events.

Parameters:
[out] call_state New value of the audio gateway's call state. See AudioGateway.CallState for more information.

signal net.sf.nohands.hfpd.AudioGateway.AudioStateChanged ( out byte  audio_state  ) 

Notification of an audio connection state change.

This signal is emitted whenever the audio connection state of the device changes. This can be caused by calls to SoundIo.AudioGatewayStart() or CloseAudio(), a service-level disconnection, or a number of other events.

Parameters:
[out] audio_state New value of the audio connection state. See AudioGateway.AudioState for more information.
An open audio connection to an audio gateway device does not imply that audio data is being streamed to and from the device. See the Audio connection management section for more details.

signal net.sf.nohands.hfpd.AudioGateway.ClaimStateChanged ( out bool  claim_state  ) 

Notification of the AudioGateway being claimed or unclaimed.

This signal is emitted whenever the ownership state of the AudioGateway changes. This can be caused by a D-Bus client invoking HandsFree.AddDevice() or HandsFree.RemoveDevice(), or the owner being disconnected from D-Bus.

Parameters:
[out] claim_state New value of the ownership state of the AudioGateway. See AudioGateway.Claimed for more information.

signal net.sf.nohands.hfpd.AudioGateway.AutoReconnectChanged ( out bool  autoreconnect  ) 

Notification of the AudioGateway auto-reconnect flag changing.

Parameters:
[out] autoreconnect New value of the auto-reconnect state of the AudioGateway. See AudioGateway.AutoReconnect for more information.

signal net.sf.nohands.hfpd.AudioGateway.Ring ( out string  number,
out int32  number_type,
out string  subaddr,
out int32  subaddr_type,
out string  caller_name 
)

Ring notification.

This signal is emitted whenever the phone "rings" due to an incoming call. The D-Bus owner of the AudioGateway should use this signal to start alerting the user and possibly start playing a ring tone.

Parameters:
[out] number The caller line identification reported by the audio gateway. The format of this number, e.g. organizational, local, or international, is described by the number_type parameter. The D-Bus client may use this value as a key for a phone book search.
[out] number_type The format of the number parameter. See GSM 04.10 section 10.5.4.7 for more information on the meaning. Some common values include:
  • 129: Unknown type of number in E.164 numbering plan
  • 145: International number in E.164 numbering plan
[out] subaddr The ISDN subaddress of the caller. This is unused in most situations. For more information, see ITU-T recommendation I.330.
[out] subaddr_type The format of the subaddr parameter, in the same format as the number_type parameter.
[out] caller_name Some audio gateway devices have built-in phone books, which may have an entry for the phone number of the caller. In such cases, this parameter contains the contact name associated with the phone number as reported by the audio gateway.
The D-Bus client has a number of options for dealing with the incoming call, although some are optionally supported by the audio gateway:

signal net.sf.nohands.hfpd.AudioGateway.IndicatorChanged ( out string  indicator_name,
out int32  value 
)

Notification of miscellaneous audio gateway state change.

Some audio gateways are able to report optional state, such as signal strength ("bars"), battery charge level, and even whether voice mail is waiting. This signal is emitted when the audio gateway reports such a state change.

Parameters:
[out] indicator_name One of a set of semi-standardized indicator names described below.
[out] value Value of indicator, as reported by the device.
Known indicators include:

signal net.sf.nohands.hfpd.AudioGateway.NameResolved ( out string  name  ) 

Bluetooth name resolution complete notification.

When a service-level connection to the audio gateway is initiated, as soon as the low-level Bluetooth connection is complete, a request is made to read the Bluetooth name of the device. This signal apprises D-Bus clients of the result of the read name request.

Parameters:
[out] name Bluetooth name read from the audio gateway device.

signal net.sf.nohands.hfpd.AudioGateway.VoiceRecognitionActiveChanged ( out bool  state  ) 

Notification of voice recognition activatation or deactivatation.

When the audio gateway activates or deactivates its built-in voice recognition feature, this signal will be emitted as a notification.

Parameters:
[out] state Set to true if voice recognition is being activated, false if deactivated.
The voice recognition state is also available from the AudioGateway.VoiceRecognitionActive property.

signal net.sf.nohands.hfpd.AudioGateway.InBandRingToneEnableChanged ( out bool  state  ) 

Notification of change to the in-band ring tone setting of the audio gateway.

When the audio gateway's in-band ring tone setting is changed, this signal will be emitted as a notification.

Parameters:
[out] state The new value of the in-band ring tone setting. Set to true if the in-band ring tones are enabled, false if disabled.
The in-band ring tone state is also available from the AudioGateway.InBandRingToneEnable property.

The in-band ring tone setting may only be changed by the audio gateway itself, typically through an option in the user interface of the audio gateway.


Member Data Documentation

const byte net.sf.nohands.hfpd.AudioGateway.State

Service-level connection state of the device.

This property can be accessed using the standard D-Bus property interface.

This property describes the state of the service-level connection to the device. The service-level connection is used to control the device and retrieve its status. An audio connection cannot be attempted until the service-level connection is established.

This property may have values:

Changes to this value are reported by the StateChanged() signal.

const byte net.sf.nohands.hfpd.AudioGateway.CallState

Call state of the device.

This property can be accessed using the standard D-Bus property interface.

This property describes the state of the active and incomplete calls being handled by the device.

This property may have values:

Changes to this value are reported by the CallStateChanged() signal.

const byte net.sf.nohands.hfpd.AudioGateway.AudioState

Audio connection state of the device.

This property can be accessed using the standard D-Bus property interface.

This property describes the state of the audio connection to the device. The audio connection allows the device to stream audio data with the local sound card.

This property may have values:

Changes to this value are reported by the AudioStateChanged() signal.

An open audio connection to an audio gateway device does not imply that audio data is being streamed to and from the device. See the Audio connection management section for more details.

const bool net.sf.nohands.hfpd.AudioGateway.VoiceRecognitionActive

Voice recognition state of the device.

This property can be accessed using the standard D-Bus property interface.

This read-only property describes whether the audio gateway has its voice recognition feature activated. When activated, the audio gateway will use the audio link to feed its built-in voice recogintion mechanism, and recognize commands spoken into the microphone of the hands-free.

This property is present on all AudioGateway objects, but is only useful with devices that support voice recogintion. Such devices will have the "VoiceRecognition" feature in AudioGateway.Features set to true.

Changes to this value are reported by the VoiceRecognitionActiveChanged() signal.

This property is read-only, but changes may be effected by SetVoiceRecognition().

const bool net.sf.nohands.hfpd.AudioGateway.InBandRingToneEnable

In-Band ring tone state of the device.

This property can be accessed using the standard D-Bus property interface.

This read-only property describes whether the audio gateway has its in-band ring tone feature enabled. When in-band ring tones are enabled, the audio gateway will use the audio link to play its normal alerting ring tone, which will be played over the speakers of the hands-free.

Changes to this value are reported by the InBandRingToneEnableChanged() signal.

This property is read-only. Changes may only be effected by changing the setting on the audio gateway itself, typically through an option in the user interface of the audio gateway.

This setting can be used to inhibit playback of alert sounds in situations where alert sounds take priority over the audio gateway audio link, or coexist with the audio link.

const bool net.sf.nohands.hfpd.AudioGateway.Claimed

D-Bus ownership state of the device.

This property can be accessed using the standard D-Bus property interface.

This property describes whether a D-Bus client has claimed the device or not. If it is true, then a D-Bus client has claimed the device using HandsFree.AddDevice(). If it is false, no D-Bus client currently owns the device.

Claimed devices are granted access to specific services provided by HFPD:

Changes to this value are reported by the ClaimStateChanged() signal.

const bool net.sf.nohands.hfpd.AudioGateway.VoluntaryDisconnect

Mode of previous service-level disconnection of the device.

This property can be accessed using the standard D-Bus property interface.

This property describes the nature of the reason of the most recent service-level disconnection of the device.

Voluntary disconnections are the result of a user initiated process, e.g. selecting "disconnect bluetooth" on a mobile phone. Involuntary disconnections are the result of other factors, such as a Bluetooth dongle being removed, or a mobile phone being moved out of radio range. When a disconnection is voluntary, reconnection should not be attempted until explicitly requested by the user.

Relevant samples of this value are reported by the StateChanged() signal.

const string net.sf.nohands.hfpd.AudioGateway.Address

Bluetooth address of the AudioGateway.

This property can be accessed using the standard D-Bus property interface.

This property contains the Bluetooth address of the device, in colon-separated form, e.g. "01:23:45:67:89:AB".

bool net.sf.nohands.hfpd.AudioGateway.Known

Permanently known flag.

This property can be accessed using the standard D-Bus property interface.

This property describes whether the audio gateway device is permanently known by HFPD. This setting allows specific devices to make use of functionality of HFPD without the supervision of a D-Bus client. Permanently known devices are allowed to connect despite HandsFree.AcceptUnknown being set to false. Such devices are also automatically configured for audio streaming when they initiate an audio connection, as long as HandsFree.VoiceAutoConnect is true.

Note:
The permanently known setting of a device is a persistent option that is saved to the HFPD configuration file.

bool net.sf.nohands.hfpd.AudioGateway.AutoReconnect

Automatic reconnection flag.

This property can be accessed using the standard D-Bus property interface.

This property describes whether the periodic auto-reconnect mechanism should be used with the device. For audio gateways that do not have a service-level connection, enabling periodic auto-reconnect will cause a connection attempt to the device to be initiated periodically.

Changes to this value are reported by the AutoReconnectChanged() signal.

Note:
For permanently known devices, the auto-reconnect setting is a persistent option that is saved to the HFPD configuration file. For other devices, it is ephemeral.

const dict<string, bool> net.sf.nohands.hfpd.AudioGateway.Features

Feature set of device.

This property can be accessed using the standard D-Bus property interface.

The Hands-Free Profile specification describes an optional set of features that audio gateway devices are allowed to support. This dictionary array contains feature names as keys, each mapping to a boolean value describing whether the device supports the named feature or not.

The values of the feature set are only meaningful when a service-level connection is established.

The D-Bus signature of this property is "a{sb}"

Known optional feature names include:

const uint32 net.sf.nohands.hfpd.AudioGateway.RawFeatures

Feature set of the device, as reported by the device through handshaking.

This property can be accessed using the standard D-Bus property interface.

The Bluetooth Hands-Free Profile specification provides a means for the audio gateway to identify a set of optional features that it supports. Support for these optional features is reported by the +BRSF status code sent by the device during negotiation. For more information, see the Bluetooth Hands-Free Profile specification.

This presentation of the feature set does not contain as much detail as the AudioGateway.Features property, e.g. it has no way of representing whether the device supports a battery charge level indicator.


Generated on Fri Jan 9 05:57:31 2009 for HFPD by  doxygen 1.5.4