All of lore.kernel.org
 help / color / mirror / Atom feed
From: Denis Kenzior <denkenz@gmail.com>
To: ofono@ofono.org
Subject: Re: [RFC 3/3] STE-plugin: Adding STE plugin
Date: Tue, 02 Feb 2010 17:20:45 -0600	[thread overview]
Message-ID: <201002021720.45314.denkenz@gmail.com> (raw)
In-Reply-To: <61D8D34BB13CFE408D154529C120E079032A1FEC@eseldmw101.eemea.ericsson.se>

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

Hi Sjur,

> Hi Denis.
> 
> We have done some testing with the STE modem for call termination, and this
>  is the result:
> 
> TC |Call #1 | Call #2 | Call #3  | Command   | Result
> ---|--------------------------------------------------------------------
> 1  |ACTIVE  | ACTIVE  | ..       | ATH         | call 1, 2 terminated
> 2  |ACTIVE  | ACTIVE  | ..       | AT+CHUP     | call 1, 2 terminated
> 3  |ACTIVE  | ACTIVE  | HELD     | ATH         | call 1, 2 terminated
> 4  |ACTIVE  | ACTIVE  | HELD     | AT+CHUP     | call 1, 2 terminated
> 5  |ACTIVE  | ACTIVE  | HELD     | AT+CHLD=0;H | call 1, 2 and 3 terminated
> 6  |ACTIVE  | ACTIVE  | WAITING  | ATH         | call 1, 2 terminated
> 7  |ACTIVE  | ACTIVE  | WAITING  | AT+CHUP     | call 1, 2 terminated
> 8  |ACTIVE  | HELD    | WAITING  | CHLD=0      | call 3 terminated,
> 9  |ACTIVE  | HELD    | WAITING  | ATH         | call 1 terminated
> 10 |ACTIVE  | HELD    | WAITING  | AT+CHUP     | call 1 terminated
> 11 |HELD    | HELD    | ACTIVE   | AT+CHLD=0   | call 1, 2 terminated
> 12 |HELD    | HELD    | ACTIVE   | AT+CHLD=0;H | call 1, 2 and 3 terminated
> 13 |HELD    | DIALING | ..       | ATH         | call 2 (MO) terminated
> 14 |HELD    | DIALING | ..       | CHUP        | call 2 (MO) terminated
> 15 |HELD    | DIALING | ..       | AT+CHLD=12  | call 2 (MO) NOT terminated
> 16 |HELD    | WAITING | ..       | AT+CHLD=0   | call 2 terminated
> 17 |HELD    | ..      | ..       | ATH         | call 1 NOT terminated

Great table, makes it very easy to see what is going on.  It looks like STE 
modems treat ATH and CHUP as only affecting dialing/alerting/active calls and 
incoming calls, not held calls or waiting calls.

> > The standards are quite clear here, the WAITING call always takes
> > precedence and thus only the WAITING call is affected. Can you check
> > that STE modems do indeed get this wrong?  If the modem is standards
> > compliant, oFono does the right thing here.
> 
> STE is standard compliant, only the WAITING call is terminated with
>  AT+CHLD=0. (TC 8)

Excellent, I would have been surprised if STE behaved otherwise :)

> 
> >> c) If you have an call on hold and initiate a new call, but want to
> >> terminate the newly initiated call (DIALING), then this call cannot
> >> be terminated with CHLD=1X, but you would have to use ATH (or
> >> possible CHUP).
> >
> > Yes, so this is the case that we do need to take care of in the core.
> > Most
> > modems let us get away with sending release_specific up to this point.
> 
> For the STE modem, calls in state DIALING and ALERTING will have to be
>  terminated with ATH or AT+CHUP, AT+CHLD=1x does not work. This means that
>  the current implementation, using release_specific (and thus AT+CHLD=1x)
>  will not work.

Yep, so please critique my earlier suggestion of splitting up hangup into two 
methods: hangup_all and hangup_active.  Modem drivers will need to provide one 
or the other or both.

The core can then use the hangup_active (if available) in those cases where 
release_specific might not work.  The condition for hangup_active will be that 
it does not affect held or waiting calls.  For ST-E the hangup_active 
implementation will simply be +CHUP.  For modems that do not have this 
available we will fall back to release_specific and assume that on those 
CHLD=1X or equivalent can affect dialing/alerting calls.

hangup_all can also be used for cases where we loop release_specific over all 
active/dialing/alerting/held/incoming calls.  For ST-E the hangup_all 
implementation might be +CHUP;CHLD=1n;...;+CHLD=1m where n, m, etc are ids of 
the HELD calls.  We should not hangup waiting calls to be compliant with 
section 6.5.5.1 of 3GPP 22.030: "Entering END	-	Releases the subscriber from 
all calls (except a possible waiting call)."

If this sounds OK then I will work on implementing the logic in the next few 
days.

Regards,
-Denis

  reply	other threads:[~2010-02-02 23:20 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-02  8:41 [RFC 3/3] STE-plugin: Adding STE plugin Sjur =?unknown-8bit?q?Br=C3=A6ndeland?=
2010-02-02 23:20 ` Denis Kenzior [this message]
  -- strict thread matches above, loose matches on Subject: below --
2010-02-02  8:17 Sjur =?unknown-8bit?q?Br=C3=A6ndeland?=
2010-01-17 17:28 [RFC 2/3] STE-plugin: Mechanism for inheritance sjur.brandeland
2010-01-17 17:28 ` [RFC 3/3] STE-plugin: Adding STE plugin sjur.brandeland
2010-01-17 21:40   ` Marcel Holtmann
2010-01-18 18:22     ` Sjur =?unknown-8bit?q?Br=C3=A6ndeland?=
2010-01-18 21:27       ` Marcel Holtmann
2010-01-20 18:24         ` Sjur =?unknown-8bit?q?Br=C3=A6ndeland?=
2010-01-17 22:50   ` Denis Kenzior

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=201002021720.45314.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.