anchor.diff:      ?debug("dlink_tcp:authorize(): TransactionID:  ~p", [ TransactionID ]),
       ?debug("dlink_tcp:authorize(): Signature:      ~p", [ Signature ]),
   
  -    { LocalAddress, LocalPort } = rvi_common:node_address_tuple(),
  -
  -    { NRemoteAddress, NRemotePort} = Conn =
  +    { _NRemoteAddress, _NRemotePort} = Conn =
           case { RemoteAddress, RemotePort } of
               { "0.0.0.0", 0 } ->
   
  
positive.code: process_announce(Msg, FromPid, IP, Port, TID, _Vsn, CompSpec) ->
      [ Avail,
        {array, Svcs} ] =
          opts([ ?DLINK_ARG_STATUS, ?DLINK_ARG_SERVICES ]),
      ?debug("dlink_tcp:service_announce(~p): Address:       ~p:~p", [Avail,IP,Port]),
      ?debug("dlink_tcp:service_announce(~p): TransactionID: ~p", [Avail,TID]),
      ?debug("dlink_tcp:service_announce(~p): Services:      ~p", [Avail,Svcs]),
  
negative.code:     %% Send our own servide announcement to the remote server
      %% that just authorized to us.
      [ ok, LocalServices ] = service_discovery_rpc:get_services_by_module(CompSpec, local),
  
      [ ok, FilteredServices ] = authorize_rpc:filter_by_destination(
                                   CompSpec, LocalServices, Conn),
  
      %% Send an authorize back to the remote node
      ?info("dlink_tcp:authorize(): Announcing local services: ~p to remote ~p:~p",
  	  [FilteredServices, RemoteIP, RemotePort]),
  
      [ ok, JWT ] = authorize_rpc:sign_message(
                      CompSpec, availability_msg(available, FilteredServices)),
      connection:send(FromPid,
                      term_to_json(
                        {struct,
                         [ { ?DLINK_ARG_TRANSACTION_ID, 1 },
                           { ?DLINK_ARG_CMD, ?DLINK_CMD_SERVICE_ANNOUNCE },
                           { ?DLINK_ARG_SIGNATURE, JWT } ]})),
  
      %% Setup ping interval
      gen_server:call(?SERVER, { setup_initial_ping, RemoteIP, RemotePort, FromPid }),
      ok.
  
  process_data(_FromPid, RemoteIP, RemotePort, ProtocolMod, Data, CompSpec) ->
  