diff -Nur libmbca-0.0.3~bzr42/src/mbca_serviceprovider.c libmbca-0.0.3~bzr42.new/src/mbca_serviceprovider.c
--- libmbca-0.0.3~bzr42/src/mbca_serviceprovider.c	2008-09-01 17:04:05.000000000 +0200
+++ libmbca-0.0.3~bzr42.new/src/mbca_serviceprovider.c	2009-02-22 11:44:23.000000000 +0100
@@ -65,6 +65,9 @@
 	
 	_dupstr(newprovider->username, provider->username);
 	_dupstr(newprovider->password, provider->password);
+
+	_dupstr(newprovider->number, provider->number);
+
 	_dupstr(newprovider->dns1, provider->dns1);
 	_dupstr(newprovider->dns2, provider->dns2);
 	_dupstr(newprovider->gateway, provider->gateway);
@@ -108,6 +111,9 @@
 	
 	free (provider->username);
 	free (provider->password);
+	
+	free (provider->number);
+
 	free (provider->dns1);
 	free (provider->dns2);
 	free (provider->gateway);
diff -Nur libmbca-0.0.3~bzr42/src/mbca_serviceprovider.h libmbca-0.0.3~bzr42.new/src/mbca_serviceprovider.h
--- libmbca-0.0.3~bzr42/src/mbca_serviceprovider.h	2008-09-01 17:04:05.000000000 +0200
+++ libmbca-0.0.3~bzr42.new/src/mbca_serviceprovider.h	2009-02-22 19:57:49.000000000 +0100
@@ -100,10 +100,11 @@
 	};				   /**< union containing network specific settings.
 					    *   _MBCAServiceProvider::type indicates valid
 					    *   member */
-
 	gchar* username;	   /**< if NULL, no authentication required         */
 	gchar* password;	   /**< if NULL, no password required.			  */
 
+	gchar* number;
+
 	gchar* dns1;		   /**< primary DNS, NULL if automatically acquired */
 	gchar* dns2;		   /**< secondary DNS, NULL if none.			  */
 	gchar* gateway;	   /**< gateway to use, NULL if none			  */
diff -Nur libmbca-0.0.3~bzr42/src/serviceprovider_parser.c libmbca-0.0.3~bzr42.new/src/serviceprovider_parser.c
--- libmbca-0.0.3~bzr42/src/serviceprovider_parser.c	2008-09-01 17:04:05.000000000 +0200
+++ libmbca-0.0.3~bzr42.new/src/serviceprovider_parser.c	2009-02-22 12:03:09.000000000 +0100
@@ -221,6 +221,14 @@
 			provider->password = (gchar*)xmlStrdup (value);
 			continue;
 		}
+		else if (xmlStrcmp (name, BAD_CAST "number") == 0)
+		{
+			xmlTextReaderRead (reader); /* get to text */
+			value = xmlTextReaderConstValue (reader);
+			provider->number = (gchar*)xmlStrdup (value);
+			g_debug("number = %s", provider->number);
+			continue;
+		}
 		else if (xmlStrcmp (name, BAD_CAST "dns") == 0)
 		{
 			xmlTextReaderRead (reader); /* get to text */
diff -Nur libmbca-0.0.3~bzr42/src/test_mbca.c libmbca-0.0.3~bzr42.new/src/test_mbca.c
--- libmbca-0.0.3~bzr42/src/test_mbca.c	2008-09-01 17:04:05.000000000 +0200
+++ libmbca-0.0.3~bzr42.new/src/test_mbca.c	2009-02-22 19:57:33.000000000 +0100
@@ -100,6 +100,10 @@
 	{
 		g_print ("password:  %s\n", conf->provider->password);
 	}
+	if (conf->provider->number)
+	{
+		g_print ("number:  %s\n", conf->provider->number);
+	}
 	if (conf->provider->dns1)
 	{
 		g_print ("dns1:      %s\n", conf->provider->dns1);
