Skip to main content

[jsr360-observers] [jsr360-experts] Re: Re: Accesspoint identification

  • From: roger riggs < >
  • To:
  • Subject: [jsr360-observers] [jsr360-experts] Re: Re: Accesspoint identification
  • Date: Wed, 27 Nov 2013 10:23:24 -0500
  • List-id: <jsr360-experts.jsr360.java.net>
  • Organization: Oracle Corporation

Hi Thomas,

On 11/27/2013 5:52 AM, Lampart Thomas wrote:

Hi Roger,

Thanks for clarification.

Ok, let me redefine my statement a little bit: I assumed that Accesspoint Type and Name together are unambiguous.

But you are right, in case of wifi there could be several networks with the same name in the air and you could do nothing about it. So they would be difficult to distinguish. But that's probably a problem every platform that uses wifi faces ?!

And for 3GPP you solve such a problem by adding the operator. ok

So the Accesspoint getName() method does return the SSID for wifi and the APN for 3G ? It probably should ?

yes, I will add that.

If this is the case I get the idea behind.

Regarding the use case of using different PDP contexts with same APN for the sake of having different IP addresses, I can confirm that we have a customer which does that. But unfortunately there is no really good reason for doing so ;-) So I guess it is not high priority to support that.

*So it's basically fine for me, I would like to suggest only two minor fixes:*

*-mention in the spec that an empty APN is a valid APN (e.g. ConnectionOption<String> apn2 = new ConnectionOption<>("apn", "");), and it means network default APN*

The idea of a "default" is hard to define since it is not clear how the default value is defined.

In the context of Connector.open( url, ConnectionOption<AccessPoint>...)
when the ConnectionOption is omitted, it is up to the implementation to choose
an AccessPoint (effectively a default). So if the application wants the system to choose the AccessPoint it should omit the ConnectionOption<AccessPoint> parameter.

In the context of AccessPoint.of(type, ConnectionOption<String> apn, ConnectionOption<String> apnoperator) intending to find a default AccessPoint it seems odd to supply empty parameters.

For this purpose, I would instead suggest the application iterates
over the list returned by getAccessPoints(true) to find one of the desired
type (or just pick the first).

**

*-add "dnsserver" to the list of optional parameters for creating 3GPP or dialup/CSD Accesspoints (this is not directly related to our discussion here but its useful ;-)*

I think we discussed the need for the application to supply dnsserver earlier
and concluded it was not necessary.
Setting the dnsserver creates some difficulty in implementation because
it must be defined if/whether it can override a system provided dnsserver
or a dnsserver configured via DHCP or similar.
Since it is useful, I would need to recheck whether a provision to
supply it for cases where it is not configured and can be supported will
not create new issues.

Regards, Roger


**

Best regards

Thomas

*From:*roger riggs 
[mailto: ]
*Sent:* Dienstag, 26. November 2013 18:40
*To:* 

*Subject:* [jsr360-observers] [jsr360-experts] Re: Accesspoint identification

Hi Thomas,

AccessPoints are not assumed to have a unique name, for example a WiFi
AccessPoint might be "T-mobile" and a 3GPP AccessPoint might have the same name.
For WiFi even there can be two "foovar" networks visible at the same time.
In this case, I don't think there is any way to distinguish between them.

Michael pointed out the ETSI specifications[1] Chapter 9, include fully qualified names, though the full name elements can be optional.

The apnoperator property does seem redundant if the APNs are fully qualified.

In the case where the application wants to fully control exactly which SIM card is used to register with which network and which AccessPoint is connected will need to use the API to explicitly call the APIs to set it up that way.

You mention "just for the sake of communicating from different IP addresses".

Can you expand on the use case?

The current AccessPoint design would not have multiple AccessPoints for a single APN.
An AccessPoint would exist for each APN known to the implementation.
The AccessPoint.of() method would return the AccessPoint corresponding to the APN when requested; not create a new AccessPoint.
The TCP/IP addresses are allocated by the device implementation perhaps in cooperation with the network and DHCP or equivalent.

A distinct AccessPoint and APN could be created only with a new (previously unknown) name.

What needs to be fixed here?

Thanks, Roger



[1] http://www.etsi.org/deliver/etsi_ts/123000_123099/123003/11.06.00_60/ts_123003v110600p.pdf

On 11/26/2013 11:43 AM, Lampart Thomas wrote:

    Hi Roger,

    Thanks for your feedback.

    It is correct that APNs are operator specific.

    Unfortunately putting the apnoperator name here does not help to
    clearly identify an AccessPoint. You might want to have different
    AccessPoints with same APN and same apnoperator, e.g. just for the
    sake of communicating from different IP addresses.

    I actually always assumed that the AccessPoint name (getName()) is
    the only parameter which allows to clearly identify an
    Accesspoint. What do you think about that ?

    So instead making the name a required parameter when creating an
    Accesspoint would make more sense for me.

    Best regards

    Thomas

    *From:*roger riggs 
[mailto: ]
    *Sent:* Dienstag, 26. November 2013 17:29
    *To:* 

    
<mailto: >
    *Subject:* [jsr360-experts] Re: [jsr360-observers] Accesspoint
    identification

    Hi Thomas,

    It was observed that APNs are operator specific and in many cases
    provisioned by the operators and may have names that if left
    unqualified would be ambiguous.  Since the of() method needs to be
    able to select a unique AccessPoint it seemed that the name of the
    operator is required.

    I'd be happy to be corrected to simplify the interface.

    Thanks, Roger

    On 11/26/2013 11:09 AM, Lampart Thomas wrote:

        Dear specleads, experts,

        today I stumbled over something in the AccessPoint class spec
        which confused me a bit.

        To find or create a 3GPP AccessPoint using AccessPoint.of
        
<../../../javax/microedition/io/AccessPoint.html#of%28java.lang.String,%20javax.microedition.io.ConnectionOption...%29>
 the
        type is "3GPP" and the ConnectionOptions are:

          * apn - required, a ConnectionOption<String>; apns many apns
            are predefined and provisioned by the network operator and
            additional APNs can be created as needed
          * apnoperator - required, the name of the operator providing
            the APN

        What would this "apnoperator" as required parameter be ? What
        relevance would it have ?

        To me this seems to be just some random text which does maybe
        not make sense when you CREATE an AccessPoint.

        Wouldn't it make more sense here to have a "name" as required
        parameter here. A name which can be used to clearly identify
        the Accesspoint. THE name which can be queried with getName()
        method ?

        Best regards

        Thomas

        
------------------------------------------------------------------------

        This message and any attachments are intended solely for the
        addressees and may contain confidential information. Any
        unauthorized use or disclosure, either whole or partial, is
        prohibited.
        E-mails are susceptible to alteration. Our company shall not
        be liable for the message if altered, changed or falsified. If
        you are not the intended recipient of this message, please
        delete it and notify the sender.
        Although all reasonable efforts have been made to keep this
        transmission free from viruses, the sender will not be liable
        for damages caused by a transmitted virus

    ------------------------------------------------------------------------

    This message and any attachments are intended solely for the
    addressees and may contain confidential information. Any
    unauthorized use or disclosure, either whole or partial, is
    prohibited.
    E-mails are susceptible to alteration. Our company shall not be
    liable for the message if altered, changed or falsified. If you
    are not the intended recipient of this message, please delete it
    and notify the sender.
    Although all reasonable efforts have been made to keep this
    transmission free from viruses, the sender will not be liable for
    damages caused by a transmitted virus


------------------------------------------------------------------------
This message and any attachments are intended solely for the addressees and may contain confidential information. Any unauthorized use or disclosure, either whole or partial, is prohibited.
E-mails are susceptible to alteration. Our company shall not be liable for the message if altered, changed or falsified. If you are not the intended recipient of this message, please delete it and notify the sender.
Although all reasonable efforts have been made to keep this transmission free from viruses, the sender will not be liable for damages caused by a transmitted virus



[jsr360-observers] [jsr360-experts] Accesspoint selection for Ping and DNS

(continued)

[jsr360-observers] [jsr360-experts] Accesspoint selection for Ping and DNS

Lampart Thomas 11/19/2013

[jsr360-observers] [jsr360-experts] Re: Accesspoint selection for Ping and DNS

Michael Lagally 11/19/2013

[jsr360-observers] [jsr360-experts] Re: Re: Accesspoint selection for Ping and DNS

Lampart Thomas 11/19/2013

[jsr360-observers] [jsr360-experts] Re: Re: Accesspoint selection for Ping and DNS

Michael Lagally 11/25/2013

[jsr360-observers] [jsr360-experts] Accesspoint identification

Lampart Thomas 11/26/2013

[jsr360-observers] [jsr360-experts] Re: Accesspoint identification

roger riggs 11/26/2013

[jsr360-observers] [jsr360-experts] Re: Accesspoint identification

Lampart Thomas 11/26/2013

[jsr360-observers] [jsr360-experts] Re: Accesspoint identification

roger riggs 11/26/2013

[jsr360-observers] [jsr360-experts] Re: Re: Accesspoint identification

Lampart Thomas 11/27/2013

[jsr360-observers] [jsr360-experts] Re: Re: Accesspoint identification

Werner Keil 11/27/2013

[jsr360-observers] [jsr360-experts] Re: Re: Accesspoint identification

roger riggs 11/27/2013

[jsr360-observers] [jsr360-experts] Re: Re: Re: Accesspoint identification

Lampart Thomas 11/27/2013

[jsr360-observers] [jsr360-experts] Re: Accesspoint selection for Ping and DNS

Michael Lagally 11/19/2013
 
 
Close
loading
Please Confirm
Close