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

Ori Inbar Ori.Inbar at altair-semi.com
Mon Sep 30 19:12:56 PDT 2013


> -----Original Message-----
> From: modemmanager-devel-bounces+ori.inbar=altair-
> semi.com at lists.freedesktop.org [mailto:modemmanager-devel-
> bounces+ori.inbar=altair-semi.com at lists.freedesktop.org] On Behalf Of Dan
> Williams
> Sent: Monday, September 30, 2013 6:01 PM
> To: Aleksander Morgado
> Cc: modemmanager-devel at lists.freedesktop.org; Thieu Le
> Subject: Re: [PATCH] iface-modem-3gpp: add SubscriptionState property
>
> 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.
> >
>
First I would like to clarify that there is a difference between activation and provisioning.
Provisioned means that the SIM is a provisioned on the network and it's possible to connect to the network - and this is what we indicate in subscription status.
Activation means the SIM has undergone a SIM-OTA session and had all the relevant files written to it for it to fully function on the network (MDN, ISIM - IMS information etc) (see note at the end).

There are several scenarios to consider:
1. a fresh-out-of the box SIM - (non-provisioned and non-activated).
        This can be a SIM bought with the device itself (already inserted at the store).
        Or a prepaid SIM which was bought without the a device.

In this scenario - the sim that will be inserted to the device will have a subscription status of "non-provisioned" and activation status of "non-activated".
The upper layers can present a notification to the user that he needs to call the network provider and provision (probably here they will use the word "Activate") his SIM card.
Another option is the upper layers will open a browser over a different network (like wifi/Ethernet) and will direct him to the network provider portal for provisioning .

Once the device is provisioned it will need to power cycle probably and then his subscription status will change from non-provisioned to provisioned (Assuming he put some money in the account - otherwise it might switch to out-of-credit).

The activation of the SIM card can take place now (it is usually being done automatically), and through SIM OTA session the files will be written to the SIM card.
At the end of the activation process a notification will be made to indicate the SIM is activated.

2. a fresh-out-of-the box SIM which is already provisioned (was provisioned at the store)

This means that once it's powered on the SIM-OTA activation will take place (same as above)

3. an already provisioned SIM card (provisioned and activated) - has run out of credit.

In this case the subscription state will change to out-of-credit while the activation will not change.
The upper layers at this case will probably notify the user and maybe open a network portal to buy more credit.

3. an old SIM card which non-provisioned anymore (non-provisioned and might be activated from the SIM card point of view).

Once you put this sim card in - it will detect a subscription status of non-provisioned (and probably will have an activated activation status).
It is possible that you can re-provision this sim card (call the network / use portal) for a new account .
This case is similar to case 1 - apart from the fact that your detection of the activation might be incorrect.
Probably in this case you will still be notified again for activation since another sim-ota will take place.



Note: regarding Activation- the network might allow for most operation to function properly even if the SIM is still not-activated.
Only phone related services will probably will not function at this stage (like SMS, Phone calls, Voip calls). This might not be a concern for Data-only devices.

Please also note that activation is also relevant for 3GPP LTE only devices which are on a CDMA network.

Please be also aware that subscription status is currently network (and device) specific and is not standard 3gpp.

Based on the above I agree that subscription status should be a generic property.

I also think that activation status is.

Regards
Ori Inbar

>
> _______________________________________________
> ModemManager-devel mailing list
> ModemManager-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/modemmanager-devel

________________________________

Important Notice: This transmission and any files attached to it, may contain confidential and/or privileged information and is intended only for the named recipient. If you are not the intended recipient, you are hereby notified that any disclosure, reproduction, retransmission, dissemination, copying or any other use of the information or files contained is strictly prohibited. If you have received this transmission in error, please notify the sender by reply transmission and delete this electronic mail


More information about the ModemManager-devel mailing list