All of lore.kernel.org
 help / color / mirror / Atom feed
* RFC: Ubuntu Touch, MMS, and Provisioning
@ 2014-03-05  0:06 Tony Espy
  2014-03-05  3:13 ` Denis Kenzior
  2014-03-05 17:57 ` Marcel Holtmann
  0 siblings, 2 replies; 22+ messages in thread
From: Tony Espy @ 2014-03-05  0:06 UTC (permalink / raw)
  To: ofono

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

We've been working on MMS support for Ubuntu Touch recently and have run 
into a couple of stumbling blocks, so I have a few questions about the 
current MMS logic in oFono ( we're still 1.12 based ), and in particular 
the provisioning/management of gprs-contexts.

As part of this work, we're planning to switch from using the builtin 
gprs 'provision' plugin, to the new android-provision/apndb plugin ( 
originally written by Simon Busch ) which uses the file apns-conf.xml 
instead of mbpi's serviceproviders.xml.

There are a couple of issues we ran into...

1. How to represent APNs that support multiple usages types?

The "type" attribute in apns-conf.xml is a list vs. the single type 
defined by a gprs_context.

The android-apndb plugin uses TYPE_INTERNET for APNs which support 
multiple types.  In order to properly support MMS, the core code needed 
to be modified to allow the MMS properties to be additionally be set on 
a TYPE_INTERNET context.  Thus if an APN supports both Internet and MMS, 
our DownloadManager can grab the additional MMS properties from the 
context and handle MMS traffic.

Now perhaps I missed something and there is a way to represent a 
combined usage APN ( maybe using TYPE_ANY? ), but I couldn't see how to 
accomplish without changes to the core gprs code.

2. No way to disable core ofono TYPE_MMS network config.

The core gprs_context code has special logic for TYPE_MMS contexts which 
configures the HTTP proxy using networking ioctl requests.  We have an 
external download manager that handles the actual download of content 
from the message center.  As it has logic to handle HTTP proxies 
already, if we use TYPE_MMS, we'd need a way to disable ofono's builtin 
logic.

Would it make sense to add a command-line option to control this behavior?

3. No way to associate additional APN properties with a gprs_context.

apns-conf.xml has many additional APN attributes which don't map 
directly to gprs_context properties ( eg. authtype, mvno_type, ... ).

"types" is especially important, as without it, we can't tell exactly 
which services are supported by the APN ( as the plugin sets the type to 
TYPE_INTERNET ).

So, here's a summary of the changes I made ( again with MMS support as 
one of the main goals ).  Also note, this is WIP, and if there other 
approaches I should consider, I'd appreciate some feedback.

My latest code containing these changes can be found in the following 
github branch.

https://github.com/tonyespy/ofono/tree/mms-new

Note, if it'd be more helpful, I can email the patches directly to the 
list with a "RFC" in the subject line, however I think there's little 
chance that they'd be taken "as is".

1. Modified the core gprs code to allow MMS proxy and message center 
properties to be set on OFONO_GPRS_CONTEXT_TYPE_INTERNET contexts.

2. Modified the android_apndb plugin such that it always creates 
TYPE_INTERNET contexts ( even for standalone MMS APNs, as this allows us 
to bypass the previously mentioned HTTP proxy logic ).

3. Modified the core gprs_context code to allow a new property called 
'ExtraData' to be set during provisioning.  This property is a DBus 
dictionary type ( ie. like 'Setttings' ), and is used by provisioning to 
convey any attributes in apn-confs.xml which don't map directly to ofono 
gprs_contexts.  The current impl doesn't support writes to ExtraData 
from DBus yet.  We may add support to allow a "preferred" attribute ( 
ie. usabe by our Cellular Settings UI ).

If there's a way to accomplish any of these changes via plugins alone, I 
would've gone that route...  Also, if I've missed any other hooks that 
might help us accomplish these changes, I'm welcome to suggestions.

Regards,
/tony







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

end of thread, other threads:[~2014-03-08  3:37 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-05  0:06 RFC: Ubuntu Touch, MMS, and Provisioning Tony Espy
2014-03-05  3:13 ` Denis Kenzior
2014-03-05  9:39   ` Slava Monich
2014-03-05 16:32     ` Denis Kenzior
2014-03-05 17:37       ` Slava Monich
2014-03-05 17:52         ` Denis Kenzior
2014-03-05 18:29         ` Marcel Holtmann
2014-03-05 21:15           ` Slava Monich
2014-03-05 22:01             ` Denis Kenzior
2014-03-05 23:36               ` Slava Monich
2014-03-06  1:15           ` Tony Espy
2014-03-06  3:04             ` Marcel Holtmann
2014-03-06  0:03   ` Tony Espy
2014-03-06  5:54     ` Denis Kenzior
2014-03-07  4:38       ` Tony Espy
2014-03-07  5:40         ` Denis Kenzior
2014-03-08  0:23           ` Tony Espy
2014-03-08  3:37             ` Denis Kenzior
2014-03-05 17:57 ` Marcel Holtmann
2014-03-05 23:42   ` Tony Espy
2014-03-06  2:41     ` Marcel Holtmann
2014-03-08  0:30       ` Tony Espy

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.