Re: RFC: Supporting STK without PDUs

2010-09-10 Thread Denis Kenzior
Hi Waldo,

 I propose to add a set of additional (optional) STK functions that a modem 
 plugin can chose to use/implement instead:
 
   void (*envelope_parsed)(struct ofono_stk *stk,
   struct stk_envelope *e,
   ofono_stk_envelope_cb_t cb, void *data);
   /* if envelope_parsed is non-NULL then stk_send_envelope /
  envelope_queue_run should call envelope_parsed(...) instead of
  stk_pdu_from_envelope(...) + envelope(...)
   */
 
   void (*terminal_response_parsed)(struct ofono_stk *stk,
   struct stk_response *rsp,
   ofono_stk_generic_cb_t cb, void *data);
   /* if terminal_response_parsed is non-NULL then stk_respond()
  should call terminal_response_parsed(...) instead of 
  stk_pdu_from_response(...) + terminal_response(...)
   */
 
   void ofono_stk_proactive_command_parsed_notify(struct ofono_stk *stk,
   struct stk_command *command);
   /* ofono_stk_proactive_command_parsed_notify is like
  ofono_stk_proactive_command_notify without the call to
  stk_command_new_from_pdu(pdu, length);
   */
 
 Thoughts?

We have already had a discussion on this one when designing the current
stk modem API.  The bottom line is that oFono tries to keep its core -
modem interfaces minimal and exposing the entirety of stkutil.h as
official API is definitely too much.

So right now you will need to re-encode into PDU form to support such
modems (or ask the vendor to give the raw pdus)  While this is a bit of
a performance hit, it isn't too bad as the PDUs are always smaller than
256 bytes.

Having said that, such 'pre-parsed' STK APIs are quite common.
Unfortunately they all behave differently, especially when it comes to
handling the more complex commands (e.g. Setup Call, etc)  We have been
kicking around some ideas on how to handle such modems.

Regards,
-Denis
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


Re: RFC: Supporting STK without PDUs

2010-09-10 Thread Marcel Holtmann
Hi Waldo,

 It looks like the preferred way to handle STK with IFX modems is to use a 
 dedicated mode where the modem handles most of STK commands and only a few 
 remaining commands are passed on to the apps processor for further handling.

as far as I know, the IFX firmware also supports what they call raw
mode. That mode is purely PDU based. Why just not use that one and let
oFono do the hard work. Seems to be working perfectly fine for MBM, STE
and Calypso based hardware.

Regards

Marcel


___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


RE: RFC: Supporting STK without PDUs

2010-09-10 Thread Bastian, Waldo
 We have already had a discussion on this one when designing the current
 stk modem API.  The bottom line is that oFono tries to keep its core -
 modem interfaces minimal and exposing the entirety of stkutil.h as
 official API is definitely too much.
 
 So right now you will need to re-encode into PDU form to support such
 modems (or ask the vendor to give the raw pdus)  While this is a bit of
 a performance hit, it isn't too bad as the PDUs are always smaller than
 256 bytes.

In that case we would still want to use functionality from stkutil.c to do the 
actual re-encoding. So in my mind it is a trade-off between forking stkutil.c 
for one or more modem-plugins or exporting stkutil.h Given that the type 
definitions in stkutil.h are a relative straightforward mapping of TS 102.223 
and friends, it may not qualify as a minimal API but it will be a rather 
stable API. So I would like to ask to reconsider exposing the type definitions 
as part of the official oFono modem API.

Cheers,
Waldo
___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono


RE: RFC: Supporting STK without PDUs

2010-09-10 Thread Marcel Holtmann
Hi Waldo,

  We have already had a discussion on this one when designing the current
  stk modem API.  The bottom line is that oFono tries to keep its core -
  modem interfaces minimal and exposing the entirety of stkutil.h as
  official API is definitely too much.
  
  So right now you will need to re-encode into PDU form to support such
  modems (or ask the vendor to give the raw pdus)  While this is a bit of
  a performance hit, it isn't too bad as the PDUs are always smaller than
  256 bytes.
 
 In that case we would still want to use functionality from stkutil.c to do 
 the actual re-encoding. So in my mind it is a trade-off between forking 
 stkutil.c for one or more modem-plugins or exporting stkutil.h Given that the 
 type definitions in stkutil.h are a relative straightforward mapping of TS 
 102.223 and friends, it may not qualify as a minimal API but it will be a 
 rather stable API. So I would like to ask to reconsider exposing the type 
 definitions as part of the official oFono modem API.

what is the big deal with just using the PDU interface of the IFX
firmware? Why go through all this trouble if your target modem actually
does support PDU mode?

Regards

Marcel


___
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono