diff --git a/supwisdom/agentlink/__init__.py b/supwisdom/agentlink/__init__.py
index 1c7d390..d3305ab 100644
--- a/supwisdom/agentlink/__init__.py
+++ b/supwisdom/agentlink/__init__.py
@@ -23,7 +23,7 @@
     MSG_HEADER_FMT = '!IIIBB'
     MSG_HEADER_DESC = ('major_version', 'minor_version', 'unique_no', 'msg_type', 'retcode')
     # 协议版本号定义
-    MAJOR_VERSION = 1
+    MAJOR_VERSION = 2
     MINOR_VERSION = 1
 
     def __init__(self):
@@ -125,6 +125,20 @@
             return False
         return True
 
+    def answer_invalidate(self):
+        msg_type = 0x36
+        message_header = self._new_message(msg_type)
+        req_data = self._pack_request(message_header, self.connection_id)
+        data = self._send_and_recv(req_data, None)
+        answer_resp = self._unpack_request(data)
+        if not self._check_response(message_header, answer_resp):
+            print u"answer data error"
+            return False
+        if answer_resp['retcode'] != 0:
+            print u"Answer error retcode={0}".format(answer_resp['retcode'])
+            return False
+        return True
+
     def _new_message(self, msg_type):
         unique_no = random.randint(0x10000000, 0xFFFFFFFF)
         return dict(major_version=self.MAJOR_VERSION, minor_version=self.MINOR_VERSION,
