diff --git a/ndn.cxx/detail/timeouts-policy.h b/ndn.cxx/detail/timeouts-policy.h
index 7398d44..26d0c0f 100644
--- a/ndn.cxx/detail/timeouts-policy.h
+++ b/ndn.cxx/detail/timeouts-policy.h
@@ -145,7 +145,8 @@
       inline void
       ProcessTimeoutEntry (typename parent_trie::iterator item)
       {
-        item->payload ()->m_timeoutCallback (item->payload ()->GetInterest ());
+        if (!item->payload ()->m_timeoutCallback.IsNull ())
+          item->payload ()->m_timeoutCallback (item->payload ()->GetInterest ());
 
         m_base.erase (item);
       }
diff --git a/ndn.cxx/ndn-api-face.cc b/ndn.cxx/ndn-api-face.cc
index 6adfe99..578f424 100644
--- a/ndn.cxx/ndn-api-face.cc
+++ b/ndn.cxx/ndn-api-face.cc
@@ -186,8 +186,9 @@
     {
       return false;
     }
-  
-  entry->payload ()->m_callback (entry->payload ()->GetPrefix (), interest);
+
+  if (!entry->payload ()->m_callback.IsNull ())
+    entry->payload ()->m_callback (entry->payload ()->GetPrefix (), interest);
   return true;
 }
 
@@ -197,7 +198,6 @@
   // data has been send out from NDN stack towards the application
   NS_LOG_DEBUG ("<< D " << data->GetName ());
 
-
   NS_LOG_FUNCTION (this << data);
 
   if (!IsUp ())
@@ -213,7 +213,8 @@
 
   while (entry != m_this->m_pendingInterests.end ())
     {
-      entry->payload ()->m_dataCallback (entry->payload ()->GetInterest (), data);
+      if (!entry->payload ()->m_dataCallback.IsNull ())
+        entry->payload ()->m_dataCallback (entry->payload ()->GetInterest (), data);
       m_this->m_pendingInterests.erase (entry);
 
       entry = m_this->m_pendingInterests.longest_prefix_match (data->GetName ());
diff --git a/ndn.cxx/ndn-api-face.h b/ndn.cxx/ndn-api-face.h
index 160540e..4b88f51 100644
--- a/ndn.cxx/ndn-api-face.h
+++ b/ndn.cxx/ndn-api-face.h
@@ -28,6 +28,8 @@
 #include <ns3/callback.h>
 #include <ns3/ndn-face.h>
 #include <ns3/ndn-name.h>
+#include <ns3/ndn-interest.h>
+#include <ns3/ndn-content-object.h>
 
 namespace ns3 {
 namespace ndn {
@@ -58,7 +60,7 @@
   /**
    * @brief Shutdown the API face
    */
-  void
+  virtual void
   Shutdown ();
   
   /**
@@ -115,6 +117,15 @@
   ApiFacePriv *m_this;
 };
 
+
+/// @cond include_hidden
+#ifdef PYTHON_SCAN
+struct CallbackVoidNameInterest : public Callback<void, Ptr<const Name>, Ptr<const Interest> > { };
+struct CallbackVoidInterestContentObject : public Callback<void, Ptr<const Interest>, Ptr<const ContentObject> > { };
+struct CallbackVoidInterest : public Callback<void, Ptr<const Interest> > { };
+#endif
+/// @endcond
+
 }
 }
 
