All of lore.kernel.org
 help / color / mirror / Atom feed
From: Denis Kenzior <denkenz@gmail.com>
To: ofono@ofono.org
Subject: Re: How to hangup outgoing call, before terminating end answers?
Date: Mon, 17 Aug 2009 10:40:27 -0500	[thread overview]
Message-ID: <200908171040.27848.denkenz@gmail.com> (raw)
In-Reply-To: <4A892261.40504@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2343 bytes --]

Hi Marko,

> Hi,
>
> Currently when a call is created with Dial method the object path for
> the call (e.g. /modem1/voicecall01) is returned only after the
> terminating end has answered to the call. So is it possible to Hangup
> the call from the originating end before terminating end answers the call?

So this very much depends on the modem.  Most (sane) modems return an OK final 
response to the ATD when they start dialing.  Some will then accept regular 
AT+CHLD commands to terminate the outgoing call, others have a vendor specific 
command for doing so.  The broken ones return an OK/BUSY/NO CARRIER for the 
ATD only when connected/busy/timed out, in which case there's no standard way 
to abort that I know of.

This might be an area where I'd like to hear some feedback, whether an 
additional dial_abort function pointer is required in the voicecall plugin.

However, the entire 27.007 spec for voice calls is utterly broken, there's no 
way to get it right.  If your modems support vendor extensions for call 
control, in particular call state reporting, I suggest using those.  I expect 
all major vendors have implemented such features in their modems.  I don't 
expect the reference implementation to be used in practice, as it is too 
battery inefficient.

>
>
> Create the call:
> $ dbus-send --print-reply --system --dest=org.ofono /modem1
> org.ofono.VoiceCallManager.Dial string:"+358000000000" string:"default"
>
> The following do not work as the /modem1/voicecall01 does not exist:
> $ dbus-send --system --print-reply --dest=org.ofono /modem1/voicecall01
> org.ofono.VoiceCall.Hangup
> Error org.freedesktop.DBus.Error.UnknownMethod: Method "Hangup" with
> signature "" on interface "org.ofono.VoiceCall" doesn't exist
>
> $ dbus-send --system --print-reply --dest=org.ofono /modem1/voicecall01
> org.ofono.VoiceCall.Busy
> Error org.freedesktop.DBus.Error.UnknownMethod: Method "Busy" with
> signature "" on interface "org.ofono.VoiceCall" doesn't exist

So you can only use this one on an incoming or waiting call.

>
>
> The VoiceCallManager.HangupAll does not work either:
> $ dbus-send --print-reply --system --dest=org.ofono /modem1
> org.ofono.VoiceCallManager.HangupAll
> Error org.ofono.Error.InProgress: Operation already in progress

Regards,
-Denis

  reply	other threads:[~2009-08-17 15:40 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-17  9:26 How to hangup outgoing call, before terminating end answers? Marko Saukko
2009-08-17 15:40 ` Denis Kenzior [this message]
2009-08-18  8:42 ` Li, Zhigang
2009-08-18 15:16 ` Andres Salomon

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=200908171040.27848.denkenz@gmail.com \
    --to=denkenz@gmail.com \
    --cc=ofono@ofono.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.