All of lore.kernel.org
 help / color / mirror / Atom feed
* How to hangup outgoing call, before terminating end answers?
@ 2009-08-17  9:26 Marko Saukko
  2009-08-17 15:40 ` Denis Kenzior
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Marko Saukko @ 2009-08-17  9:26 UTC (permalink / raw)
  To: ofono

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

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?


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


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,
Marko

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: How to hangup outgoing call, before terminating end answers?
  2009-08-17  9:26 How to hangup outgoing call, before terminating end answers? Marko Saukko
@ 2009-08-17 15:40 ` Denis Kenzior
  2009-08-18  8:42 ` Li, Zhigang
  2009-08-18 15:16 ` Andres Salomon
  2 siblings, 0 replies; 4+ messages in thread
From: Denis Kenzior @ 2009-08-17 15:40 UTC (permalink / raw)
  To: ofono

[-- 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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: How to hangup outgoing call, before terminating end answers?
  2009-08-17  9:26 How to hangup outgoing call, before terminating end answers? Marko Saukko
  2009-08-17 15:40 ` Denis Kenzior
@ 2009-08-18  8:42 ` Li, Zhigang
  2009-08-18 15:16 ` Andres Salomon
  2 siblings, 0 replies; 4+ messages in thread
From: Li, Zhigang @ 2009-08-18  8:42 UTC (permalink / raw)
  To: ofono

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

Hi Marko,

>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

It's normal if the voicecall01 didn't be setup 
>
>$ 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
>
Busy only for waiting and incoming 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

It should be a bug if you use real modem

In phonesim the outgoing call be accepted quickly so can't find this issue.

I had same problem with a "phone" in real network; I assume its phone limitation before.

>
>
>Regards,
>Marko
>_______________________________________________
>ofono mailing list
>ofono(a)ofono.org
>http://lists.ofono.org/listinfo/ofono

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: How to hangup outgoing call, before terminating end answers?
  2009-08-17  9:26 How to hangup outgoing call, before terminating end answers? Marko Saukko
  2009-08-17 15:40 ` Denis Kenzior
  2009-08-18  8:42 ` Li, Zhigang
@ 2009-08-18 15:16 ` Andres Salomon
  2 siblings, 0 replies; 4+ messages in thread
From: Andres Salomon @ 2009-08-18 15:16 UTC (permalink / raw)
  To: ofono

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

On Mon, 17 Aug 2009 12:26:57 +0300
Marko Saukko <marko.saukko@gmail.com>
wrote:

> 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?
> 
> 
> 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

FWIW, I just tried this on my G1 and it worked fine:

localhost:~/ofono# !109
dbus-send --system --print-reply --dest=org.ofono / org.ofono.at.Manager.Create string:"dev:/dev/smd0" string:"at"
method return sender=:1.0 -> dest=:1.1 reply_serial=2
   object path "/modem1"
localhost:~/ofono# dbus-send --system --print-reply --dest=org.ofono /modem1 org.ofono.VoiceCallManager.Dial string:"617501XXXX" string:"default"
method return sender=:1.0 -> dest=:1.2 reply_serial=2
   object path "/modem1/voicecall01"
localhost:~/ofono# dbus-send --system --print-reply --dest=org.ofono /modem1/voicecall01 org.ofono.VoiceCall.Hangup
method return sender=:1.0 -> dest=:1.3 reply_serial=2

Hangup returned successfully prior to the other end picking up.





^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-08-18 15:16 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-08-17  9:26 How to hangup outgoing call, before terminating end answers? Marko Saukko
2009-08-17 15:40 ` Denis Kenzior
2009-08-18  8:42 ` Li, Zhigang
2009-08-18 15:16 ` Andres Salomon

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.