diff -a -u -r1.1.1.1 -r1.2
--- src/h323ep.cxx	3 Dec 2001 15:28:37 -0000	1.1.1.1
+++ src/h323ep.cxx	3 Dec 2001 15:31:49 -0000	1.2
@@ -394,6 +394,7 @@
 #include "h323pdu.h"
 #include "h450pdu.h"
 #include "gkclient.h"
+#include "t38proto.h"
 
 
 #ifndef IPTOS_PREC_CRITIC_ECP
@@ -1480,7 +1481,7 @@
 
 OpalT38Protocol * H323EndPoint::CreateT38ProtocolHandler() const
 {
-  return NULL;
+  return new OpalT38Protocol();
 }
 
 
diff -a -u -r1.1.1.2 -r1.4
--- src/h323t38.cxx	3 Dec 2001 18:07:21 -0000	1.1.1.2
+++ src/h323t38.cxx	3 Dec 2001 18:14:09 -0000	1.4
@@ -58,6 +58,7 @@
 #include "h245.h"
 #include "t38proto.h"
 #include "t38.h"
+#include "h323ep.h"
 
 
 #define new PNEW
@@ -225,6 +206,7 @@
     separateReverseChannel = capability.GetTransportMode() != H323_T38Capability::e_SingleTCP;
     usesTCP = capability.GetTransportMode() != H323_T38Capability::e_UDP;
 
+    /* XXX */
     if (!usesTCP) {
         /* look for a channel that has the same sessionID as ours and try to re-use it */
         H323_T38Channel *otherchan ;
@@ -246,7 +228,8 @@
             transport =  new H323TransportUDP(connection.GetEndPoint(), ip, port - 1);
         }
 
-        t38handler = new OpalT38Protocol();
+        t38handler = endpoint.CreateT38ProtocolHandler();
+
     } else {
         PTRACE(1, "T.38 " << capability << " not (yet) supported!");
     }
