RE: APN list: adding mcc & mnc



Most Mobile Phone API's provide a way to extract the MCC and/or MNC from the SIM with highlevel calls. For instance, the blackberry platform I've used allows for the following method calls:

	  import net.rim.device.api.system.RadioInfo;

        int networkIndex = RadioInfo.getCurrentNetworkIndex();
        _mnc = RadioInfo.getMNC(networkIndex);
        _mcc = RadioInfo.getMCC(networkIndex);

        _mnc = FWCellInfo.fromDecimalToHex(_mnc);
        _mcc = FWCellInfo.fromDecimalToHex(_mcc); 

(the fromDecimalToHex method is a simple method to convert the decimal number the api delivers to me into the hexadecimal network code and country code. Other platforms, such as Symbian/Android/Windows Mobile provide the hexadecimal value out of the box.)

These values can then be matched against the XML file, with Holland as an example snippet from the converted xml-file (see xml-attachment). I've also included the java code to (SAX-)parse through the XML based on country code and mobile provider code, and if that fails, gather all access points for that country (see java-attachment, GetApnStringsFromXml method).

I've not sent the full xml-file, because I don’t know newsgroup/mailgroup etiquette that well, and might flood someone's inbox with the full 100+ KB xml file (?).

One final note: Whenever the original MBPI-entry could not be matched to a MCC and/or MNC (based on the list provided @ http://en.wikipedia.org/wiki/Mobile_Network_Code), I've added the marker value '123456789'. Also, we didn't fully process the list, as time is money..

Hope this is helpful.

-----Original Message-----
From: Dan Williams [mailto:dcbw redhat com] 
Sent: woensdag 15 april 2009 17:56
To: Martijn Cox (LiveContacts)
Cc: networkmanager-list gnome org; stuart ward bcs org; wader-devel lists warp es
Subject: Re: APN list: adding mcc & mnc

On Tue, 2009-04-14 at 15:05 +0200, Martijn Cox (LiveContacts) wrote:
> Hello all,
> 
>  
> 
> I’ve sent the following email to Wellark, the maintainer of the Mobile
> Broadband Provider Info project, a few weeks ago, outlining a way to
> include mobile country codes and mobile network codes in the MBPI
> project. In the meantime, we’ve already implemented this scheme in our
> company, and have successfully used it to extract the APN’s for two
> providers in one country. Would you be interested in using this
> scheme?

Yeah, that would be pretty cool.  IIRC, we can then extract bits from
the IMSI and figure out which provider the SIM is for too, right?

Can you provide a sample of how this would look in the XML config too?
We need to ensure that we can store multiple MCC/MNC codes for each
provider in the table.

Dan

>  
> 
> As Wellark has been very busy, he has asked me to forward this message
> to both the NetworkManager and the Wader Development mailing list, as
> he suspects there is additional interest these development groups in
> adding country code and network codes to the MBPI project. Note that I
> currently have no idea what the NetworkManager and Wader development
> groups are, as this is not within the scope of my current
> job-assignment. 
> 
>  
> 
> Regards, Martijn.
> 
>  
> 
> From: Martijn Cox 
> Sent: woensdag 1 april 2009 13:00
> To: 'antti kaijanmaki net'
> Subject: apn list, adding mcc & mnc
> 
> 
>  
> 
> Hi Wellark,
> 
>  
> 
> I’m a developer for (amongst others), the blackberry platform. I’ve
> come across your project, and wish to contribute by adding the mobile
> country code and mobile network code to the xml file, based on the
> Wikipedia list @ http://en.wikipedia.org/wiki/Mobile_Network_Code. Do
> you regard such an endeavor as ok?
> 
>  
> 
>                 I would like to add them, according to the following
> DTD, which is based on your supplied DTD,  with additions in yellow:
> 
>  
> 
> <!ELEMENT serviceproviders (country*)>
> 
> <!ATTLIST serviceproviders format CDATA #REQUIRED>
> 
>  
> 
> <!ELEMENT country (provider* ,mcc+)>
> 
> <!ATTLIST country code CDATA #REQUIRED>
> 
>  
> 
> <!ELEMENT provider ( mnc+,
> 
>                      name+,
> 
>                      (gsm|cdma),
> 
>                      username?,
> 
>                      password?,
> 
>                      dns*,
> 
>                      gateway?)>
> 
>                      
> 
> <!ELEMENT name (#PCDATA)>
> 
> <!ATTLIST name xml:lang CDATA #IMPLIED>
> 
>  
> 
> <!ELEMENT gsm (apn)>
> 
> <!ELEMENT apn (#PCDATA)>
> 
>  
> 
> <!ELEMENT cdma EMPTY>
> 
>  
> 
> <!ELEMENT username (#PCDATA)> 
> 
> <!ELEMENT password (#PCDATA)>
> 
> <!ELEMENT dns (#PCDATA)>
> 
> <!ELEMENT gateway (#PCDATA)>
> 
>  
> 
> <!ELEMENT mcc (#PCDATA)>
> 
> <!ELEMENT mnc (#PCDATA)>
> 
>  
> 
> Do you think that would be ok? The reason for these additions is that
> it’s easier to search this way when you have access to a provider id
> (mobile network code), and mobile country code (i.s.o. the country
> identifier you use, which is currently not available for me). 
> 
>  
> 
> Regards, 
> 
>  
> 
> Martijn Cox
> 
> Livecontacts B.V.
> 
>  
> 
> 
> _______________________________________________
> NetworkManager-list mailing list
> NetworkManager-list gnome org
> http://mail.gnome.org/mailman/listinfo/networkmanager-list

Attachment: APNInfo.java
Description: APNInfo.java

<country code="nl">
	<mcc>204</mcc>
	<provider>
		<mnc>16</mnc>
		<name>ben</name>
		<gsm>
			<apn>internet.ben</apn>
		</gsm>
	</provider>
	<provider>
		<mnc>20</mnc>
		<name>Orange</name>
		<gsm>
			<apn>internet</apn>
		</gsm>
	</provider>
	<provider>
		<mnc>123456789</mnc>
		<name>Hi</name>
		<gsm>
			<apn>portalmmm.nl</apn>
		</gsm>
	</provider>
	<provider>
		<mnc>08</mnc>
		<name>KPN Mobile</name>
		<gsm>
			<apn>internet</apn>
		</gsm>
		<username>KPN</username>
		<password>gprs</password>
		<dns>62.133.126.28</dns>
		<dns>62.133.126.29</dns>
	</provider>
	<provider>
		<mnc>123456789</mnc>
		<name>o2</name>
		<gsm>
			<apn>internet</apn>
		</gsm>
		<dns>195.99.65.220</dns>
		<dns>195.99.66.220</dns>
	</provider>
	<provider>
		<mnc>16</mnc>
		<name>T-Mobile</name>
		<gsm>
			<apn>internet</apn>
		</gsm>
		<username>tmobile</username>
		<password>tmobile</password>
	</provider>
	<provider>
		<mnc>16</mnc>
		<name>T-Mobile</name>
		<gsm>
			<apn>internet</apn>
		</gsm>
		<dns>193.78.240.12</dns>
		<dns>193.79.242.39</dns>
	</provider>
	<provider>
		<mnc>12</mnc>
		<name>Telfort</name>
		<gsm>
			<apn>internet</apn>
		</gsm>
		<username>telfort</username>
		<password>telfort</password>
	</provider>
	<provider>
		<mnc>12</mnc>
		<name>Telfort</name>
		<gsm>
			<apn>internet</apn>
		</gsm>
		<username>telfortnl</username>
	</provider>
	<provider>
		<mnc>04</mnc>
		<name>Vodafone Live!</name>
		<gsm>
			<apn>live.vodafone.com</apn>
		</gsm>
		<username>vodafone</username>
		<password>vodafone</password>
	</provider>
	<provider>
		<mnc>04</mnc>
		<name>Vodafone</name>
		<gsm>
			<apn>blackberry.vodafone.nl</apn>
		</gsm>
		<username>vodafone</username>
		<password>vodafone</password>
	</provider>
	<provider>
		<mnc>04</mnc>
		<name>Vodafone (business)</name>
		<gsm>
			<apn>office.vodafone.nl</apn>
		</gsm>
		<username>vodafone</username>
		<password>vodafone</password>
	</provider>
	<provider>
		<mnc>123456789</mnc>
		<name>XS4ALL Mobiel Internet</name>
		<gsm>
			<apn>umts.xs4all.nl</apn>
		</gsm>
	</provider>
</country>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]