anchor.diff:  
       ConnectOpts = secure_ssl_opts:expand(Host, SslOpts),
       {ok, Socket} = Transport:connect(binary_to_list(Host), Port, ConnectOpts, Timeout),
  -    self() ! upgrade_protocol,
  +    self() ! {upgrade_protocol, Host},
   
       session_manager:reuse_or_create_provider_session(
           SessionId, provider_outgoing, #user_identity{
  
positive.code: %%%              request. It awaits client_messages, handles them and
  %%%              responds with server_messages,
  %%% - outgoing - when this provider initiates it in order to connect to peer.
  %%%              In order to do so, thirst http protocol upgrade request on
  %%%              ?CLIENT_PROTOCOL_PATH is send to other provider.
  %%%              If confirmation response is received, meaning that protocol
  %%%              upgrade from http to clproto succeeded, then communication
  
negative.code:     ?warning("Connection ~p timeout", [Socket]),
      {stop, normal, State};
  
  % TODO add api call for disconnect
  handle_info(disconnect, State) ->
      {stop, normal, State};
  
  