ARMTelephonyStack

Differences between revisions 4 and 11 (spanning 7 versions)
Revision 4 as of 2010-05-12 06:30:16
Size: 3203
Editor: 217
Comment:
Revision 11 as of 2010-06-04 19:15:51
Size: 6573
Editor: f050144004
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from Specs/arm-maverick-telephony-stack
Line 5: Line 6:
 * '''Contributors''': David Sugar
 * '''Packages affected''': sipwitch, ofono, telepathy
 * '''Contributors''': David Sugar, Alexander Sack
 * '''Packages affected''': ofono, telepathy, telepathy-ring (NEW), empathy (dialer)
Line 10: Line 11:
To create a unified approach to VoIP and telephony for the Ubuntu desktop, sipwitch is being proposed as desktop mediation service. This blueprint provides an overview of issues required to make this happen, and what changes within this broader goal we believe can be focused on within the Maverick timeframe. The overall roadmap for this can be found at [[DavidSugar/telephony]] and likely will iterate over multiple releases. This spec explores how to integrate oFono middleware in the existing telephony stacks available, to evaluates how the telephony stack can be improved in general, and how we can unify the software, application development, and user experience of both telephony and VoIP. In particular this spec intends to address those steps we can take in Maverick to further this goal.

This spec proposes integrating ofono with telepathy by integrating the telepathy-ring package shipped by meego: http://meego.gitorious.org/meego-cellular/telapathy-ring

This spec proposes adding a PoC dialer UI that automatically selects sip vs. ofono calls, or lets user choose which stack to use for the call.

This spec proposes to integrate the dialer app in address book infrastructure of evolution-data-server and akonadi based distribution profiles.

== Rationale ==

In order to reach out to better serve the mobile market in future, it is required to deliver a more complete and better integrated telephony stack. This includes middleware and drivers required to use modem for calls and messaging as well as driving the UI forward to a level where it can be used to exercise and showcase the telephony stack and hardware.

== Assumptions ==

A usb modem can be acquired that has free drivers in mainline kernel and is supported by ofono (or alternatively can be enabled in ofono with reasonable effort) (Action: Pete Goodall)

== Design ==

We pair ofono with telepathy. A glue for pairing ofono and telepathy has been made available by the meego project and is called telepathy-ring, whose git branch is available at the url below:
 * http://meego.gitorious.org/meego-cellular/telapathy-ring

We add a dialer application that allows to showcase and test
the telephony and hardware stack in telepathy enabled distribution profiles

Reaching out to empathy developers to develop this dialer application in the
empathy framewrk is considered important and recommended as it was mentioned
during UDS that they plan on working on such dialer UI anyway.

On top we integrate the telephony dialer in common addressbook services:

 * evolution-data-server
 * akonadi

Integration is targetted to happen by using a protocol scheme.

== Implementation ==

Implementation involves various items:
 * find and get access to usb modems that can do voice calls (GSM + CDMA)
  * ensure that free drivers exist
  * an ofono backend can be made available
 * ensure that ofono in archive is modern enough for telepathy-ring
 * package up an ofono with support for the modem
 * package and stabilize telepathy-ring
 * if needed, upgrade telepathy stack to a newer version that is supported by telepathy-ring
Line 14: Line 59:
To better integrate and improve VoIP integration for the Ubuntu desktop, a new user preference panel offering tools to configure and use sipwitch as a VoIP and telephony mediation service is being offered. These initial tools and services are optional for Maverick but may become a standard part of the Ubuntu desktop experience in the future.

== Rationale ==

The goal, within Maverick, is to further complete work started in Lucid to use sipwitch to manage and route VoIP services and offer a standardized means to configure SIP clients and telephony services. The purpose is to create a unified, reliable, consistent, and much easier to configure desktop telephony experience regardless of the user's preferred front-end desktop telephony client. This is part of a larger goal to create a unified desktop telephony stack and user experience.

== User stories ==

== Assumptions ==

== Design ==

You can have subsections that better describe specific parts of the issue.

== Implementation ==

This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:
Linaro Core comes with an extended telephony stack built on telepathy; a showcase dialer UI is available in the the default headless and netbook install.
Line 34: Line 63:
Should cover changes required to the UI, or specific UI that is required to implement this

=== Code Changes ===

Code changes should include an overview of what needs to change, and in some cases even the specific details.

=== Migration ===

Include:
 * data migration, if any
 * redirects from old URLs to new ones, if any
 * how users will be pointed to the new way of doing things, if necessary.
 * For netbook and phone UI profiles, integrate latest empathy and ensure that there is a seperate dialer app suitable for touchphones.
Line 57: Line 75:
== BoF agenda and discussion == == UDS Maverick Discussion ==
Line 59: Line 77:
Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected. === Problem Space ===
 * Lots of communication methods and services
   * with different api's
   * different client experiences
   * ranging from VoIP to cellular, and all in between
 * Many kinds of applications
   * generic communication programs
   * specialized custom enterprise apps
   * ACD agents and relationship management
 * Need to integrate other system resources such as address books
 * Telephony application development often need to deal with audio processing
   and different network transport protocols long before the "application"
Line 61: Line 90:
=== Proposed Goals ===
 * Unify disparate communication systems with different api's
 * Simplify telephony application programming
 * Single solution that works for cell phones to desktop

=== Questions ===
 * Is desktop agnostic essential?
 * Can we use just a heavyweight client with an external API?
 * Does a heavywieight client effect agnostic and lightweight environments?
 * Can we use ofono as a top layer telephony application stack?
 * How much work is needed to make ofono usable this way in Ubuntu?
 * Can we reduce telephony application development to something like "quickly"?
 * How have others tried to solve this, and what can we learn?

=== Discussion Notes ===
 * What are the differences and advantages of Ofono regarding Telepathy?
  * Telepathy has a more complete/complex API, aka ofono would restrict the feature set
  * oFono plugin for telepathy exists for nokia, but is currently closed source
  * call routing: might not work on phones; power consumption for VOIP isnt optimal
   * preferred way to route calls could be auto selected; where? client needs to take care
     because telepathy has no concept to do that; client could be != UI
  * priority should be to get use cases and devices work; then think about UI
  * integration with bearer management to make call routing decisions

=== Action Items ===
 
 * bearer management service as part of the default
 * client that integrates with bearer management, address book (eds, akonadi), telepathy
 * sipwitch as proxy service? benefit: smart voip routing, smart NAT support, multi-device handling
   * 100k overhead
 * package ofono and friends
 * UI: DTMF dialer; bearer management problem; should we extend the empathy UI?
 * complicated question: how to do routing? where do do that?

Telepathy contacts: sjoerd rob mcquen
  • Launchpad Entry: arm-m-telephony-stack

  • Created: May 5, 2010

  • Contributors: David Sugar, Alexander Sack

  • Packages affected: ofono, telepathy, telepathy-ring (NEW), empathy (dialer)

Summary

This spec explores how to integrate oFono middleware in the existing telephony stacks available, to evaluates how the telephony stack can be improved in general, and how we can unify the software, application development, and user experience of both telephony and VoIP. In particular this spec intends to address those steps we can take in Maverick to further this goal.

This spec proposes integrating ofono with telepathy by integrating the telepathy-ring package shipped by meego: http://meego.gitorious.org/meego-cellular/telapathy-ring

This spec proposes adding a PoC dialer UI that automatically selects sip vs. ofono calls, or lets user choose which stack to use for the call.

This spec proposes to integrate the dialer app in address book infrastructure of evolution-data-server and akonadi based distribution profiles.

Rationale

In order to reach out to better serve the mobile market in future, it is required to deliver a more complete and better integrated telephony stack. This includes middleware and drivers required to use modem for calls and messaging as well as driving the UI forward to a level where it can be used to exercise and showcase the telephony stack and hardware.

Assumptions

A usb modem can be acquired that has free drivers in mainline kernel and is supported by ofono (or alternatively can be enabled in ofono with reasonable effort) (Action: Pete Goodall)

Design

We pair ofono with telepathy. A glue for pairing ofono and telepathy has been made available by the meego project and is called telepathy-ring, whose git branch is available at the url below:

We add a dialer application that allows to showcase and test the telephony and hardware stack in telepathy enabled distribution profiles

Reaching out to empathy developers to develop this dialer application in the empathy framewrk is considered important and recommended as it was mentioned during UDS that they plan on working on such dialer UI anyway.

On top we integrate the telephony dialer in common addressbook services:

  • evolution-data-server
  • akonadi

Integration is targetted to happen by using a protocol scheme.

Implementation

Implementation involves various items:

  • find and get access to usb modems that can do voice calls (GSM + CDMA)
    • ensure that free drivers exist
    • an ofono backend can be made available
  • ensure that ofono in archive is modern enough for telepathy-ring
  • package up an ofono with support for the modem
  • package and stabilize telepathy-ring
  • if needed, upgrade telepathy stack to a newer version that is supported by telepathy-ring

Release Note

Linaro Core comes with an extended telephony stack built on telepathy; a showcase dialer UI is available in the the default headless and netbook install.

UI Changes

  • For netbook and phone UI profiles, integrate latest empathy and ensure that there is a seperate dialer app suitable for touchphones.

Test/Demo Plan

It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during testing, and to show off after release. Please add an entry to http://testcases.qa.ubuntu.com/Coverage/NewFeatures for tracking test coverage.

This need not be added or completed until the specification is nearing beta.

Unresolved issues

This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.

UDS Maverick Discussion

Problem Space

  • Lots of communication methods and services
    • with different api's
    • different client experiences
    • ranging from VoIP to cellular, and all in between
  • Many kinds of applications
    • generic communication programs
    • specialized custom enterprise apps
    • ACD agents and relationship management
  • Need to integrate other system resources such as address books
  • Telephony application development often need to deal with audio processing
    • and different network transport protocols long before the "application"

Proposed Goals

  • Unify disparate communication systems with different api's
  • Simplify telephony application programming
  • Single solution that works for cell phones to desktop

Questions

  • Is desktop agnostic essential?
  • Can we use just a heavyweight client with an external API?
  • Does a heavywieight client effect agnostic and lightweight environments?
  • Can we use ofono as a top layer telephony application stack?
  • How much work is needed to make ofono usable this way in Ubuntu?
  • Can we reduce telephony application development to something like "quickly"?
  • How have others tried to solve this, and what can we learn?

Discussion Notes

  • What are the differences and advantages of Ofono regarding Telepathy?
    • Telepathy has a more complete/complex API, aka ofono would restrict the feature set
    • oFono plugin for telepathy exists for nokia, but is currently closed source
    • call routing: might not work on phones; power consumption for VOIP isnt optimal
      • preferred way to route calls could be auto selected; where? client needs to take care
        • because telepathy has no concept to do that; client could be != UI
    • priority should be to get use cases and devices work; then think about UI
    • integration with bearer management to make call routing decisions

Action Items

  • bearer management service as part of the default
  • client that integrates with bearer management, address book (eds, akonadi), telepathy
  • sipwitch as proxy service? benefit: smart voip routing, smart NAT support, multi-device handling
    • 100k overhead
  • package ofono and friends
  • UI: DTMF dialer; bearer management problem; should we extend the empathy UI?
  • complicated question: how to do routing? where do do that?

Telepathy contacts: sjoerd rob mcquen


CategorySpec

Specs/M/ARMTelephonyStack (last edited 2010-06-07 14:34:31 by 178)