Index: phapi/phapi.c
===================================================================
--- phapi/phapi.c	(revision 261)
+++ phapi/phapi.c	(revision 279)
@@ -1349,5 +1349,5 @@
 	assert(vl != NULL);
 
-	if (vl->mobility == PH_LINE_MOBILITY_PHONE)
+	if (checkmobility(vl->mobility,PH_LINE_MOBILITY_PHONE))
 		uphone=";user=phone";
 
@@ -3336,9 +3336,9 @@
 	}
 
-	if (mobility == PH_LINE_MOBILITY_FIXED)
+	if (checkmobility(mobility,PH_LINE_MOBILITY_FIXED))
 		add_contact_param(vl, "mobility", "fixed", FALSE);
-	else if (mobility == PH_LINE_MOBILITY_MOBILE)
+	else if (checkmobility(mobility, PH_LINE_MOBILITY_MOBILE))
 		add_contact_param(vl, "mobility", "mobile", FALSE);
-	else if (mobility == PH_LINE_MOBILITY_PHONE)
+	else if (checkmobility(mobility,PH_LINE_MOBILITY_PHONE))
 		add_contact_param(vl, "user", "phone", TRUE);
 
Index: phapi/phapi.h
===================================================================
--- phapi/phapi.h	(revision 261)
+++ phapi/phapi.h	(revision 279)
@@ -196,7 +196,8 @@
   PH_LINE_MOBILITY_FIXED,
   PH_LINE_MOBILITY_MOBILE,
-  PH_LINE_MOBILITY_PHONE
-};
-
+  PH_LINE_MOBILITY_PHONE,
+  PH_LINE_MOBILITY_MASK = 255
+};
+#define checkmobility(m, v) ((((m) & PH_LINE_MOBILITY_MASK) == (v)))
 
 #ifndef SWIG
