From: Denis Kenzior <denkenz@gmail.com>
To: linux-bluetooth@vger.kernel.org
Subject: RFC: New Handsfree Client Role API
Date: Thu, 5 Nov 2009 11:42:31 -0600 [thread overview]
Message-ID: <200911051142.31929.denkenz@gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 702 bytes --]
Hi Everyone,
As you know we're currently working to add support for Handsfree Profile (HFP)
as another possible backend for oFono. The missing piece is audio integration
which is done in BlueZ.
Proposed is an API for such integration between BlueZ and an AT engine that
will implement the Handsfree Profile Client role. The API will replace the
current org.bluez.HeadsetGateway interface, if accepted.
An interesting thing to note here is that the API will utilize DBus 1.3+
capability for file-descriptor passing to pass the RFCOMM socket from
bluetoothd to oFono.
This API has passed first round of review, but further comments, suggestions
and refinements are welcome.
Regards,
-Denis
[-- Attachment #2: hfp-api.txt --]
[-- Type: text/plain, Size: 2314 bytes --]
Gateway hierarchy
========================
Service org.bluez
Interface org.bluez.Gateway
Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX
This interface is available for remote devices which can function in the Audio
Gateway role of the HFP profiles. It is intended to be used with external
telephony stacks / handlers of the HFP protocol.
Methods void Connect()
Connect to the AG service on the remote device.
void Disconnect()
Disconnect from the AG service on the remote device
dict GetProperties()
Returns all properties for the interface. See the
properties section for available properties.
Signals PropertyChanged(string name, variant value)
This signal indicates a changed value of the given
property.
Properties boolean Connected [readonly]
Indicates if there is an active connection to the
AG service on the remote device.
HandsfreeManager hierarchy
===============
Service org.bluez
Interface org.bluez.HandsfreeManager
Object path [variable prefix]/{hci0,hci1,...}
This interface is available on adapters which support audio related profiles.
It can be used to register Handsfree agents with the system.
Methods void RegisterHandsfreeAgent(object path)
The object path defines the path the of the agent
that will be called when a new Handsfree connection
is established.
If an application disconnects from the bus all of its
registered agents will be removed.
void UnregisterHandsfreeAgent(object path)
This unregisters the agent that has been previously
registered. The object path parameter must match the
same value that has been used on registration.
HandsfreeAgent hierarchy
===============
Service unique name
Interface org.bluez.HandsfreeAgent
Object path freely definable
Methods void NewConnection(object device, filedescriptor fd)
This method gets called whenever a new handsfree
connection has been established. The objectpath
contains the object path of the remote device. This
method assumes that DBus daemon with file descriptor
passing capability is being used.
Possible Errors: org.bluez.Error.InvalidArguments
org.bluez.Error.Failed
void Release()
This method gets called whenever the service daemon
unregisters the agent.
next reply other threads:[~2009-11-05 17:42 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-05 17:42 Denis Kenzior [this message]
2009-11-05 18:52 ` RFC: New Handsfree Client Role API Johan Hedberg
2009-11-05 19:22 ` Denis Kenzior
2010-01-11 21:35 ` João Paulo Rechi Vita
2010-01-12 9:31 ` Luiz Augusto von Dentz
2009-11-05 18:53 ` Luiz Augusto von Dentz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200911051142.31929.denkenz@gmail.com \
--to=denkenz@gmail.com \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.