[PATCH] iface-modem-3gpp: add SubscriptionState property

Dan Williams dcbw at redhat.com
Mon Sep 30 15:00:52 PDT 2013


On Mon, 2013-09-30 at 18:47 +0200, Aleksander Morgado wrote:
> On 09/30/2013 06:14 PM, Dan Williams wrote:
> >>>> This patch adds a new property, SubscriptionState, to
> >>>>> > >> > org.freedesktop.ModemManager1.Modem.Modem3gpp.  The subscription state
> >>>>> > >> > is used to indicate whether an account has been provisioned, and if so,
> >>>>> > >> > whether the account has any data left.
> >>>>> > >> > 
> >>>>> > >> > There will be two subsequent patches that will make use of this new property.
> >>> > > There seems to be some conceptual overlap with the 3gpp2
> >>> > > MMModemCdmaActivationState, perhaps this property could instead be a
> >>> > > generic Modem interface property instead, and the 3GPP2 stuff could
> >>> > > update both ActivateState and the generic SubscriptionStatus property
> >>> > > from the same data?
> >>> > > 
> >>> > > Or are there potentially more 3GPP states for the subscription than what
> >>> > > you've defined here?
> >> > 
> >> > Do you really think it's a good idea to merge these? If the 3GPP ones
> >> > are 'unprovisioned', 'provisioned-with-data' and
> >> > 'provisioned-data-exhausted'; they really have not much to do with the
> >> > 3GPP2 ones. Also, I understand that not-yet-activated accounts in 3GPP2
> >> > may be normal (e.g. when you buy a new device); but I don't think that's
> >> > the case in 3GPP.
> > You may certainly be correct here; I'm just trying to generate some
> > discussion around generic activation/provisioning states.  I see quite a
> > few parallels in the *behavior* between 3GPP provisioning and 3GPP2
> > activation and was wondering if there was a more generic means we could
> > use to represent this, such that clients don't have to care whether it's
> > 3GPP2 or 3GPP.
> > 
> > Some clients wouldn't necessarily know how to start
> > provisioning/activating, but they would certainly want to know if the
> > device was provisioned or not, so they could indicate to the user that
> > they have to go to some website to provision the device instead of the
> > user expecting they can use it immediately after inserting the SIM.
> > Which might be useful as a generic property, what do you think?
> 
> I still wonder whether users will ever try to use a non-provisioned
> *new* SIM, as they will always get it provisioned when they buy it.

Actually no.  Normal case here in the US is that you can walk into any
drug store or supermarket and buy a plastic packaged phone with SIM
inside.  You take it home and open it up, go to the carrier's web site
and type in the ICCID and your home address, and then they provision it
with the right telephone # and everything after a few minutes.  For
CDMA, same kind of procedure, you have to go their web site and type in
the MEID and then do some other stuff, and then finally after about 5
minutes you get an SMS that says it's provisioned.

I think this is the same procedure I used when I got a Lidl Mobile
(emobile) SIM in Berlin last time I was there; I had to go to their web
site to complete the setup.

Is that not the way things work elsewhere?  Do they just print the phone
# inside the phone package? Or do you always have the person that sells
it to you do something with it?

> Another thing would be the case with valid SIMs that after some period
> they no longer are valid (e.g. if you don't top-up the prepaid amount or
> something). But in that case, not sure how the network will notify about
> the registration failure to the device, don't know if that will be
> 'unprovisioned' or just a Forbidden error. That's in part why I want to

On most of mine, I get "forbidden" status, but some phones, even older
ones, have more descriptive messages like "not provisioned" or something
like that.  So they clearly have some mechanism to detect this, not sure
what it is.  It's not simply a forbidden registration status.

Dan

> see how the code behind looks like, to understand which kind of 3GPP
> specific information we get about provisioning. If it's just "with-data"
> and "data-exhausted" (i.e. 'unprovisioned' could just be the fallback
> case for whenever we have no data), then the info is totally different
> to that of 3GPP2.
> 
> Also, for 3GPP2 the usecase is otherwise much more clear; device not
> activated, you need to activate, so use Activate() or ActivateManual().
> For 3GPP the provisioning step won't be doable by the user (at least not
> as a ModemManager action), as far as I understand it.
> 




More information about the ModemManager-devel mailing list