diff --git a/lib/smpp.js b/lib/smpp.js
index <HASH>..<HASH> 100644
--- a/lib/smpp.js
+++ b/lib/smpp.js
@@ -15,6 +15,7 @@ function Session(options) {
 	this.paused = false;
 	this._busy = false;
 	this._callbacks = [];
+	this._interval = 0;
 	if (options.socket) {
 		this.socket = options.socket;
 	} else {
@@ -24,6 +25,11 @@ function Session(options) {
 		this.socket = transport.connect(this.options);
 		this.socket.on('connect', function() {
 			self.emit('connect');
+			if(self.options.auto_enquire_link_period) {
+				self._interval = setInterval(function() {
+					self.enquire_link();
+				}, self.options.auto_enquire_link_period);
+			}
 		});
 		this.socket.on('secureConnect', function() {
 			self.emit('secureConnect');
@@ -32,9 +38,17 @@ function Session(options) {
 	this.socket.on('readable', this._extractPDUs.bind(this));
 	this.socket.on('close', function() {
 		self.emit('close');
+		if(self._interval) {
+			clearInterval(self._interval);
+			self._interval = 0;
+		}
 	});
 	this.socket.on('error', function(e) {
 		self.emit('error', e);
+		if(self._interval) {
+			clearInterval(self._interval);
+			self._interval = 0;
+		}
 	});
 }
enquire_link timer option to keep server alive