XMLWordPrintable

Details

    • Suggestion
    • Resolution: Unresolved
    • P1: Critical
    • None
    • None
    • Telephony
    • None

    Description

      This page collects potential use cases/requirements for the Qt Telephony API. It does not mean that the first API release will support all these use cases.

      Objectives

      Enable application developers (Current and external/3rd party) to be able to invoke telephony functionality. Call origination, Call Termination, Recieve a call, hold call, perhaps also considering Conferencing.

      The intention is to create one Telephony API that will interoperate with selected telephony service.
      Support for Symbian^3, S60 5.0, Harmattan and MeeGo being the top priority platforms, desktop platforms may also be included but currently at a lower priority.

      Telephony API must be agnostic toward the underlying technology/bearer. For example, support for VoIP, GSM, PSTN should all be possible.

      Use Cases.

      What are the expected use cases and target users:

      Use case Priority Meego Pritority SD Release Complexity Stakeholders
       

      User can initiate native phone dialer with a given pre-filled phone number

      High Low 1st. Rel Megoo Low, SD Medium 3rd. party dev., internal dev.
      Comments:
      – Meego: Close to highest priority from Meego, investigate from SD side.
      – SD: Important for SD as well.
       

      Developer accesses call object directly from the app

              3rd. party dev., internal dev., operators
      • Receiving signals of incoming and outgoing calls
      High High 1st. Rel Megoo High, SD Medium
      • Receiving signals about call status changes (hold, unhold, dialing)
      High High 1st. Rel Megoo High, SD Medium
      • Reading status of a call (idle, on hold, dialing, ringing etc)
      High High 1st. Rel Megoo High, SD Low
      • Reading type of a call (video, audio, text)
      High High 1st. Rel Megoo High, SD Low
      • Caller ID
      High High 1st. Rel Megoo High, SD Low
      • Security level (encrypted)
      Low Low   ?
      Comments:
      – Limited from 3rdparty perspective
      – There might be other clients in position to accept (Telepathy role Approver).
      – The API will not handle the call UI. You may use the API to implement the UI though.
      – SD: Assuming 'Caller ID' refers to originator uri or number, not contact id
      – SD: Can easily provide for security level on/off info, currently no need for detailed encryption level, we propose this item is excluded from the API
       

      User can initiate calls (audio, video, text)

              3rd. party dev., internal dev., operators
      • to a contact (PSTN, GSM, VOIP or ID)
      High High 1st Rel. Medium,
      • to a group of contacts
      Medium Low   High,
      • Initiate an emergency call (Two stage dialing require DTMF)
      High Medium 1st Rel. Megoo High, SD Medium
      Comments:
      – Initiate calls to a group is not necessary in Release 1.3
      – In cases where developers want to provide a real phone app that controls the calls (f.ex voip clients) initiate an emergency call is needed.
      – SD: We have a preferred service logic implemented which in some cases dictates the used call service. Should this API be allowed to bypass the user settings?
      – SD: We suggest that emergency call creation API takes emergency number as an optional parameter , this creates some additional logic (e.g. what if the number passed was not valid emergency number in that region) but is needed since some countries have dedicated numbers for e.g. fire department or police.
      – SD: We suggest that call creation API does not cover sending supplementary service (SS) or USSD requests
       

      User can influence a call

              3rd. party dev., internal dev., operators
      • accepting a call with native UI
      High High 1st Rel. Low
      • accepting a call with 3rd party UI
          2nd Rel. High
      • reject a call with native UI
      High High 1st Rel. Low
      • reject a call with 3rd party UI
          2nd Rel. High
      • terminate a call with native UI
      High High 1st Rel. Low
      • terminate a call with 3rd party UI
          2nd Rel. High
      • hold/unhold a call with native UI
      High High 1st Rel. Low
      • hold/unhold a call with 3rd party UI
          2nd Rel. High
      Comments:
      – SD: How about multicall functionality, e.g. transfer, deflect, voip transfers, terminate all calls, manual handover initiation?
       

      User wants to activate and deactivate different services (text video audio etc.) during a call

              3rd. party dev., internal dev., operators
      • toggle between video and pure audio
      Medium Medum Meego 2nd Rel. SD 3rd Rel. Meego High, SD Medium
      Comments:
      – depends on the protocol, it needs capability management)
      – SD: Obviously not available for CS voice calls unless call release+creation is hidden from client, Symbian telephony has no control over CS video call content
      – SD: VoIP video calls not supported currently
       

      Developer want to be able to send DTMF strings

              3rd. party dev., internal dev., operators
      • Receiving indications how the sending proceeds.
      High High 1st Rel. Meego Medium, SD Low
      • Sending DTMF strings
      High High 1st Rel. Meego Medium, SD Low
      Comment:
      – needed in initiate emergency calls
      – SD: Additional internal requirement: need to play single dtmf tones (local + remote)
      – SD: We assume that DTMF API implementation covers both sending to network and playing the tones locally.
       

      While on a call the user conferences in another party and splitting again

      Low Medium   Meego High, SD Medium 3rd. party dev., internal dev., operators
      Comment:
      – API research (http://telepathy.freedesktop.org/spec/#Conference-related-interfaces)
      – SD: Protocol restrictions apply
       

      User can Mute/Unmute and control audio volume of a call

              3rd. party dev., internal dev.
      • Mute / unmute call
      High Medium 1st Rel. Meego Medium, SD Low
      • Volume control
      Low, High for 3rd party Dev Medium 1st Rel. Meego Medium, SD Low
      Comment:
      – Mute controlled by application
      – Volume in principle controllable
      – Volume control might have unwanted implications in UIs where audio volume is controlled centrally
      – Volume control can be handled by other API's. Mute and unmute is very useful in a call UI and isn't realized as a system-wide control (except in hardware assessories).
       

      User can select the audio/video/text stream target (headset, speaker etc...)

      Low Low   Meego High (User cannot select headset from API, just by plugging in the headset), SD Medium 3rd. party dev., internal dev.
      Comment:
      – Simple use cases desired for more advanced use cases done via other API.
      – SD: We suggest that the platform remains in control over the initial audio routing of the call i.e. this API would offer the routing only after call is in connected state. Also it might be adequate to provide such routing options as public/private instead of more explicit ones (e.g. earpiece, Bt headset).
       

      Developer can retrieve Audio and Video stream.

      Medium Low   High 3rd. party dev., internal dev.
      Comment:
      – Audio differently handled for Voip and GSM.
      – focus on simple Audio calls, enabling/disabling video
      – SD: We have no access to CS call audio stream content on Symbian side. Should we drop this requirement altogether?
       

      Retrieve and modify (remove calls) call history programmatically

      High Medium 2nd.- 3rd. Rel. Medium 3rd. party dev., internal dev., operators (e.g. with own storage model)
      Comment:
      – Different ontology on different platforms. Caller id are interchangeable between modules (Contacts, Accounts, Messaging)
      – This (able modify call log entries) is one of the very basic requirements for all 3rd party UC applications. E.g. customers would like to see one common "enterprise call log" in UC applications meaning that it doesn't matter where you answers the call the log entry will be synced in all your devices in right format (so that it can be used from there).
      – SD: Needs capability checking
      – SD: Not really a telephony API. Should this be moved to some other domain?
       

      As a developer I want to have integration point for my IP call / VoiP client (system plugin)

      High High   Meego Medium, SD High 3rd. party dev., internal dev., operators
      Comment:
      – for licensing issues a process separated architecture is needed, with service framework or other IPC.
      – SD: Too big and vague a requirement. We cannot commit to this as is.
      – SD: Medium to low effort to support existing CS and SIP VoIP services, major effort if a framework for adding new protocols is requested
       

      Network management

              3rd. party dev., internal dev., operators
      • Scanning for networks
      Medium Medium   Medium
      • Tower and provider selection
      Medium Medium   Medium
      • 2G vs 3G network selection
      Medium Medium   Medium
      • retrieve Network information (signal strength, network name/id,country code, network mode, network status, cellid) and provide signalling when it changes
      High High 1st Rel. Medium
      Comments:
      – SD: Tower selection may not be available
      – SD: Possibly generates lots of signaling (constant signal strength updates)
      – SD: Does not look like a protocol agnostic api. How about VoIP provider settings? WLAN info?
      – SD: Not really a telephony API. Why would a Call UI request this information unless it is a complete home screen solution? Should this be moved to some other domain?
       

      Manage call barring/ call forwarding information

      Low Low   Medium 3rd. party dev., internal dev., operators
      Comment:
      – not limited to telephone number (possible for Voip/SIP as well)
      – somewhat lower priority as mostly used by internal settings apps
       

      VoiceMail Management

              3rd. party dev., internal dev., operators
      • Settings
      Low Low   High
      • Retrieval
      High High 1st rel Medium
      Comment:
      – Simple case: number to call.
      – Recording a voicemail for a contact
      – Message waiting indication and possibly how many msgs are waiting (abstract items with optional content), initiate play back.
      – SD: The above entries are a bit vague. Is the 'Retrieval' use case about setting and retrieving the voice mail box number?
      – SD: Not really a telephony API. Should this be moved to some other domain?
       

      Call waiting, roaming Management

              3rd. party dev., internal dev., operators
      • Settings
      Low Low   High
      • Retrieval
      Low Low   High
      Comment:
      – Mostly Internal settings application
      – SD: What is roaming management?
      – SD: Possibly not really a telephony API.
       

      Switching to Flight mode

              3rd. party dev., internal dev.
      • Settings
      Low Low   Medium
      • Retrieval
      High High 1st Rel. Medium
      Comment:
      – Retrieval is high priority
      – SD: Not really a telephony API.
       

      Retrieve call logs

              3rd. party dev., internal dev.
      • Differentiate between call type (GSM, Voip etc.)
        High 1st Rel. Medium
      • Identify the caller and receiver of the call
        High 1st Rel. Medium
      • Call duration
        High 1st Rel. Medium
      Comment:
      – SD: We in Contacts need an API to retrieve the call logs. Information retrieved should correspond to the currently available Symbian API for Logs engine

      References

      Attachments

        There are no Sub-Tasks for this issue.

        Activity

          People

            alex Alex (closed Nokia identity) (Inactive)
            alex Alex (closed Nokia identity) (Inactive)
            Votes:
            7 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:

              Time Tracking

                Estimated:
                Original Estimate - 14 weeks
                14w
                Remaining:
                Time Spent - 2 weeks Remaining Estimate - 12 weeks
                12w
                Logged:
                Time Spent - 2 weeks Remaining Estimate - 12 weeks
                2w