Index: trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit.h
===================================================================
--- trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit.h	(revision 10994)
+++ trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit.h	(revision 10995)
@@ -54,14 +54,8 @@
   CLOCKORBIT_OFFSETGLONASS = CLOCKORBIT_NUMGPS,
   CLOCKORBIT_OFFSETGALILEO = CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS,
-  CLOCKORBIT_OFFSETQZSS    = CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
-                           + CLOCKORBIT_NUMGALILEO,
-  CLOCKORBIT_OFFSETSBAS    = CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
-                           + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS,
-  CLOCKORBIT_OFFSETBDS     = CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
-                           + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS
-                           + CLOCKORBIT_NUMSBAS,
-  CLOCKORBIT_COUNTSAT      = CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS
-                           + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS
-                           + CLOCKORBIT_NUMSBAS + CLOCKORBIT_NUMBDS
+  CLOCKORBIT_OFFSETQZSS    = CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS + CLOCKORBIT_NUMGALILEO, 
+  CLOCKORBIT_OFFSETSBAS    = CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS,
+  CLOCKORBIT_OFFSETBDS     = CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS + CLOCKORBIT_NUMSBAS,
+  CLOCKORBIT_COUNTSAT      = CLOCKORBIT_NUMGPS + CLOCKORBIT_NUMGLONASS + CLOCKORBIT_NUMGALILEO + CLOCKORBIT_NUMQZSS + CLOCKORBIT_NUMSBAS + CLOCKORBIT_NUMBDS
 };
 
@@ -392,4 +386,5 @@
   struct PhaseBias {
     PhaseBiasType messageType;
+    PhaseBiasExtType messageExtType;
     unsigned int EpochTime[CLOCKORBIT_SATNUM]; /* 0 .. system specific maximum */
     unsigned int NumberOfSat[CLOCKORBIT_SATNUM]; /* 0 .. CLOCKORBIT_NUM... */
Index: trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_igs.h
===================================================================
--- trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_igs.h	(revision 10994)
+++ trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_igs.h	(revision 10995)
@@ -49,39 +49,39 @@
 
   void setCoType() {
-    COTYPE_GPSORBIT        = COBBASE_GPS + COBOFS_ORBIT;
-    COTYPE_GPSCLOCK        = COTYPE_GPSORBIT + 1;
-    COTYPE_GPSCOMBINED     = COBBASE_GPS + COBOFS_COMBINED;
-    COTYPE_GPSHR           = COTYPE_GPSCOMBINED + 1;
-    COTYPE_GPSURA          = COBBASE_GPS + COBOFS_URA;
+    COTYPE_GPSORBIT        = COBBASE_GPS     + COBOFS_ORBIT;
+    COTYPE_GPSCLOCK        = COBBASE_GPS     + COBOFS_CLOCK;
+    COTYPE_GPSCOMBINED     = COBBASE_GPS     + COBOFS_COMBINED;
+    COTYPE_GPSHR           = COBBASE_GPS     + COBOFS_HR;
+    COTYPE_GPSURA          = COBBASE_GPS     + COBOFS_URA;
 
     COTYPE_GLONASSORBIT    = COBBASE_GLONASS + COBOFS_ORBIT;
-    COTYPE_GLONASSCLOCK    = COTYPE_GLONASSORBIT + 1;
-    COTYPE_GLONASSCOMBINED = COBBASE_GLONASS + COBOFS_COMBINED,
-    COTYPE_GLONASSHR       = COTYPE_GLONASSCOMBINED + 1;
+    COTYPE_GLONASSCLOCK    = COBBASE_GLONASS + COBOFS_CLOCK;
+    COTYPE_GLONASSCOMBINED = COBBASE_GLONASS + COBOFS_COMBINED;
+    COTYPE_GLONASSHR       = COBBASE_GLONASS + COBOFS_HR;
     COTYPE_GLONASSURA      = COBBASE_GLONASS + COBOFS_URA,
 
     COTYPE_GALILEOORBIT    = COBBASE_GALILEO + COBOFS_ORBIT;
-    COTYPE_GALILEOCLOCK    = COTYPE_GALILEOORBIT + 1;
-    COTYPE_GALILEOCOMBINED = COBBASE_GALILEO + COBOFS_COMBINED,
-    COTYPE_GALILEOHR       = COTYPE_GALILEOCOMBINED + 1;
+    COTYPE_GALILEOCLOCK    = COBBASE_GALILEO + COBOFS_CLOCK;
+    COTYPE_GALILEOCOMBINED = COBBASE_GALILEO + COBOFS_COMBINED;
+    COTYPE_GALILEOHR       = COBBASE_GALILEO + COBOFS_HR;
     COTYPE_GALILEOURA      = COBBASE_GALILEO + COBOFS_URA;
 
-    COTYPE_QZSSORBIT       = COBBASE_QZSS + COBOFS_ORBIT;
-    COTYPE_QZSSCLOCK       = COTYPE_QZSSORBIT + 1;
-    COTYPE_QZSSCOMBINED    = COBBASE_QZSS + COBOFS_COMBINED;
-    COTYPE_QZSSHR          = COTYPE_QZSSCOMBINED + 1;
-    COTYPE_QZSSURA         = COBBASE_QZSS + COBOFS_URA;
-
-    COTYPE_SBASORBIT       = COBBASE_SBAS + COBOFS_ORBIT;
-    COTYPE_SBASCLOCK       = COTYPE_SBASORBIT + 1;
-    COTYPE_SBASCOMBINED    = COBBASE_SBAS + COBOFS_COMBINED;
-    COTYPE_SBASHR          = COTYPE_SBASCOMBINED + 1;
-    COTYPE_SBASURA         = COBBASE_SBAS + COBOFS_URA;
-
-    COTYPE_BDSORBIT        = COBBASE_BDS + COBOFS_ORBIT;
-    COTYPE_BDSCLOCK        = COTYPE_BDSORBIT + 1;
-    COTYPE_BDSCOMBINED     = COBBASE_BDS + COBOFS_COMBINED;
-    COTYPE_BDSHR           = COTYPE_BDSCOMBINED + 1;
-    COTYPE_BDSURA          = COBBASE_BDS + COBOFS_URA;
+    COTYPE_QZSSORBIT       = COBBASE_QZSS    + COBOFS_ORBIT;
+    COTYPE_QZSSCLOCK       = COBBASE_QZSS    + COBOFS_CLOCK;
+    COTYPE_QZSSCOMBINED    = COBBASE_QZSS    + COBOFS_COMBINED;
+    COTYPE_QZSSHR          = COBBASE_QZSS    + COBOFS_HR;
+    COTYPE_QZSSURA         = COBBASE_QZSS    + COBOFS_URA;
+
+    COTYPE_SBASORBIT       = COBBASE_SBAS    + COBOFS_ORBIT;
+    COTYPE_SBASCLOCK       = COBBASE_SBAS    + COBOFS_CLOCK;
+    COTYPE_SBASCOMBINED    = COBBASE_SBAS    + COBOFS_COMBINED;
+    COTYPE_SBASHR          = COBBASE_SBAS    + COBOFS_HR;
+    COTYPE_SBASURA         = COBBASE_SBAS    + COBOFS_URA;
+
+    COTYPE_BDSORBIT        = COBBASE_BDS     + COBOFS_ORBIT;
+    COTYPE_BDSCLOCK        = COBBASE_BDS     + COBOFS_CLOCK;
+    COTYPE_BDSCOMBINED     = COBBASE_BDS     + COBOFS_COMBINED;
+    COTYPE_BDSHR           = COBBASE_BDS     + COBOFS_HR;
+    COTYPE_BDSURA          = COBBASE_BDS     + COBOFS_URA;
 
     COTYPE_AUTO = 0;
Index: trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm_new.cpp
===================================================================
--- trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm_new.cpp	(revision 10994)
+++ trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm_new.cpp	(revision 10995)
@@ -353,7 +353,8 @@
 
   for (s = 0; s < CLOCKORBIT_SATNUM; ++s) {
-    /* The Widelane Signal Group Indicator shall be releated for every satellite and signal 
+    /* Extended Satellite Phase Bias Message 
+       The Widelane Signal Group Indicator shall be releated for every satellite and signal 
        included in the corresponding Satellite Phase Bias Message in the same order. The 
-       Extended Satellite Phase Bias Message shall be sent before the corresponding 
+       Extended Satellite Phase Bias Message shall be sent BEFORE the corresponding 
        Satellite Phase Bias Message */
     if (b->NumberOfSat[s] && (type == PBEXTTYPE_AUTO || type == s + PBEXTTYPE_AUTO)) {
@@ -372,5 +373,4 @@
           break;
       }
-      E_SSR_UPDATE_INTERVAL(b->UpdateInterval)
       E_SSR_IOD(b->SSRIOD)
       E_SSR_PROVIDER_ID(b->SSRProviderID)
@@ -384,4 +384,5 @@
       ENDBLOCK
     }
+    /* Satellite Phase Bias Message */
     if (b->NumberOfSat[s] && (type == PBTYPE_AUTO || type == s + PBTYPE_BASE)) {
       INITBLOCK
Index: trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm_new.h
===================================================================
--- trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm_new.h	(revision 10994)
+++ trunk/BNC/src/RTCM3/clock_and_orbit/clock_orbit_rtcm_new.h	(revision 10995)
@@ -39,32 +39,32 @@
   void setCoType() {
     COTYPE_GPSORBIT        = COBBASE_GPS;
-    COTYPE_GPSCLOCK        = COTYPE_GPSORBIT + 1;
-    COTYPE_GPSCOMBINED     = COTYPE_GPSCLOCK + 2;
-    COTYPE_GPSURA          = COTYPE_GPSCOMBINED + 1;
-    COTYPE_GPSHR           = COTYPE_GPSURA + 1;
+    COTYPE_GPSCLOCK        = COBBASE_GPS + 1;
+    COTYPE_GPSCOMBINED     = COBBASE_GPS + 3;
+    COTYPE_GPSURA          = COBBASE_GPS + 4;
+    COTYPE_GPSHR           = COBBASE_GPS + 5;
 
     COTYPE_GLONASSORBIT    = COBBASE_GLONASS;
-    COTYPE_GLONASSCLOCK    = COTYPE_GLONASSORBIT + 1;
-    COTYPE_GLONASSCOMBINED = COTYPE_GLONASSCLOCK + 2;
-    COTYPE_GLONASSURA      = COTYPE_GLONASSCOMBINED + 1;
-    COTYPE_GLONASSHR       = COTYPE_GLONASSURA + 1;
+    COTYPE_GLONASSCLOCK    = COBBASE_GLONASS + 1;
+    COTYPE_GLONASSCOMBINED = COBBASE_GLONASS + 3;
+    COTYPE_GLONASSURA      = COBBASE_GLONASS + 4;
+    COTYPE_GLONASSHR       = COBBASE_GLONASS + 5;
 
     COTYPE_GALILEOORBIT    = COBBASE_GALILEO;
-    COTYPE_GALILEOCLOCK    = COTYPE_GALILEOORBIT + 3;
-    COTYPE_GALILEOCOMBINED = COTYPE_GALILEOCLOCK + 6;
-    COTYPE_GALILEOURA      = COTYPE_GALILEOCOMBINED + 3;
-    COTYPE_GALILEOHR       = COTYPE_GALILEOURA + 3;
+    COTYPE_GALILEOCLOCK    = COBBASE_GALILEO + 3;
+    COTYPE_GALILEOCOMBINED = COBBASE_GALILEO + 9;
+    COTYPE_GALILEOURA      = COBBASE_GALILEO + 12;
+    COTYPE_GALILEOHR       = COBBASE_GALILEO + 15;
 
     COTYPE_BDSORBIT        = COBBASE_BDS;
-    COTYPE_BDSCLOCK        = COTYPE_BDSORBIT + 3;
-    COTYPE_BDSCOMBINED     = COTYPE_BDSCLOCK + 6;
-    COTYPE_BDSURA          = COTYPE_BDSCOMBINED + 3;
-    COTYPE_BDSHR           = COTYPE_BDSURA + 3;
+    COTYPE_BDSCLOCK        = COBBASE_BDS + 3;
+    COTYPE_BDSCOMBINED     = COBBASE_BDS + 9;
+    COTYPE_BDSURA          = COBBASE_BDS + 12;
+    COTYPE_BDSHR           = COBBASE_BDS + 15;
 
     COTYPE_QZSSORBIT       = COBBASE_QZSS;
-    COTYPE_QZSSCLOCK       = COTYPE_QZSSORBIT + 3;
-    COTYPE_QZSSCOMBINED    = COTYPE_QZSSCLOCK + 6;
-    COTYPE_QZSSURA         = COTYPE_QZSSCOMBINED + 3;
-    COTYPE_QZSSHR          = COTYPE_QZSSURA + 3;
+    COTYPE_QZSSCLOCK       = COBBASE_QZSS + 3;
+    COTYPE_QZSSCOMBINED    = COBBASE_QZSS + 9;
+    COTYPE_QZSSURA         = COBBASE_QZSS + 12;
+    COTYPE_QZSSHR          = COBBASE_QZSS + 15;
 
     COTYPE_AUTO = 0;
@@ -75,6 +75,6 @@
     CBTYPE_GLONASS = COBBASE_GLONASS + 2;
     CBTYPE_GALILEO = COBBASE_GALILEO + 6;
+    CBTYPE_BDS     = COBBASE_BDS     + 6;
     CBTYPE_QZSS    = COBBASE_QZSS    + 6;
-    CBTYPE_BDS     = COBBASE_BDS     + 6;
     CBTYPE_AUTO = 0;
   };
@@ -83,8 +83,8 @@
     PBTYPE_BASE    = 85;
     PBTYPE_GPS     = PBTYPE_BASE;
-    PBTYPE_GLONASS = PBTYPE_GPS++;
-    PBTYPE_GALILEO = PBTYPE_GLONASS++;
-    PBTYPE_BDS     = PBTYPE_GALILEO++;
-    PBTYPE_QZSS    = PBTYPE_BDS++;
+    PBTYPE_GLONASS = PBTYPE_BASE + 1;
+    PBTYPE_GALILEO = PBTYPE_BASE + 2;
+    PBTYPE_BDS     = PBTYPE_BASE + 3;
+    PBTYPE_QZSS    = PBTYPE_BASE + 4;
     PBTYPE_AUTO = 0;
   };
@@ -93,8 +93,8 @@
     PBEXTTYPE_BASE    = 90;
     PBEXTTYPE_GPS     = PBEXTTYPE_BASE;
-    PBEXTTYPE_GLONASS = PBEXTTYPE_GPS++;
-    PBEXTTYPE_GALILEO = PBEXTTYPE_GLONASS++;
-    PBEXTTYPE_BDS     = PBEXTTYPE_GALILEO++;
-    PBEXTTYPE_QZSS    = PBEXTTYPE_BDS++;
+    PBEXTTYPE_GLONASS = PBEXTTYPE_BASE + 1;
+    PBEXTTYPE_GALILEO = PBEXTTYPE_BASE + 2;
+    PBEXTTYPE_BDS     = PBEXTTYPE_BASE + 3;
+    PBEXTTYPE_QZSS    = PBEXTTYPE_BASE + 4;
     PBEXTTYPE_AUTO = 0;
   };
@@ -105,8 +105,8 @@
     SATANTTYPE_BASE    = 80;
     SATANTTYPE_GPS     = SATANTTYPE_BASE;
-    SATANTTYPE_GLONASS = SATANTTYPE_GPS++;
-    SATANTTYPE_GALILEO = SATANTTYPE_GLONASS++;
-    SATANTTYPE_BDS     = SATANTTYPE_GALILEO++;
-    SATANTTYPE_QZSS    = SATANTTYPE_BDS++;
+    SATANTTYPE_GLONASS = SATANTTYPE_BASE + 1;
+    SATANTTYPE_GALILEO = SATANTTYPE_BASE + 2;
+    SATANTTYPE_BDS     = SATANTTYPE_BASE + 3;
+    SATANTTYPE_QZSS    = SATANTTYPE_BASE + 4;
     SATANTTYPE_AUTO    = 0;
   };
@@ -123,8 +123,8 @@
     REGIONOTYPE_BASE    = 96;
     REGIONOTYPE_GPS     = REGIONOTYPE_BASE;
-    REGIONOTYPE_GLONASS = REGIONOTYPE_GPS++;
-    REGIONOTYPE_GALILEO = REGIONOTYPE_GLONASS++;
-    REGIONOTYPE_BDS     = REGIONOTYPE_GALILEO++;
-    REGIONOTYPE_QZSS    = REGIONOTYPE_BDS++;
+    REGIONOTYPE_GLONASS = REGIONOTYPE_BASE + 1;
+    REGIONOTYPE_GALILEO = REGIONOTYPE_BASE + 2;
+    REGIONOTYPE_BDS     = REGIONOTYPE_BASE + 3;
+    REGIONOTYPE_QZSS    = REGIONOTYPE_BASE + 4;
     REGIONOTYPE_AUTO    = 0;
   }
