diff --git a/src/Abstract_Socket.hh b/src/Abstract_Socket.hh
index 6d7bc3d..a068662 100644
--- a/src/Abstract_Socket.hh
+++ b/src/Abstract_Socket.hh
@@ -134,7 +134,7 @@ protected:
   bool get_handle_half_close() const {return handle_half_close;}
   int  get_socket_fd() const;
   int  get_listen_fd() const {return listen_fd;}
-    
+
   //set non-blocking mode
   int set_non_block_mode(int fd, bool enable_nonblock);
 
@@ -149,6 +149,8 @@ protected:
   const struct sockaddr_in & get_local_addr() {return localAddr; };   /* FIXME: This function is deprecated and should be removed! */
   const int& get_ai_family() const {return ai_family;}
   void set_ai_family(int parameter_value) {ai_family=parameter_value;}
+  const int& get_ip_proto() const {return ip_proto;}
+  void set_ip_proto(int parameter_value) {ip_proto=parameter_value;}
   bool get_ttcn_buffer_usercontrol() const {return ttcn_buffer_usercontrol; }
   void set_nagling(bool parameter_value) {nagling=parameter_value;}
   void set_server_mode(bool parameter_value) {server_mode=parameter_value;}
@@ -204,6 +206,7 @@ protected:
   virtual const char* local_address_name();
   virtual const char* remote_port_name();
   virtual const char* ai_family_name();
+  virtual const char* ip_proto_name();
   virtual const char* use_connection_ASPs_name();
   virtual const char* halt_on_connection_reset_name();
   virtual const char* client_TCP_reconnect_name();
@@ -269,6 +272,7 @@ private:
   char* remote_host_name;
   unsigned int remote_port_number;
   int ai_family; // address family to use
+  int ip_proto; // protocol to use (e.g. IPPROTO_TCP, IPPROTO_SCTP)
   // remoteAddr and localAddr is filled when map_user is called
   struct sockaddr_in remoteAddr; /* FIXME: not used! should be removed */
   struct sockaddr_in localAddr;  /* FIXME: not used! should be removed */
