anchor.diff:  process_announce(Msg, FromPid, IP, Port, TID, _Vsn, CompSpec) ->
       [ Avail,
         {array, Svcs} ] =
  -        opts([ ?DLINK_ARG_STATUS, ?DLINK_ARG_SERVICES ]),
  +        opts([ ?DLINK_ARG_STATUS, ?DLINK_ARG_SERVICES ], Msg, undefined),
       ?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]),
  
positive.code:     ?debug("dlink_tcp:authorize(): TransactionID:  ~p", [ TransactionID ]),
      ?debug("dlink_tcp:authorize(): Signature:      ~p", [ Signature ]),
  
      { LocalAddress, LocalPort } = rvi_common:node_address_tuple(),
  
      { NRemoteAddress, NRemotePort} = Conn =
          case { RemoteAddress, RemotePort } of
              { "0.0.0.0", 0 } ->
  
  
negative.code: code_change(_OldVsn, St, _Extra) ->
      {ok, St}.
  
  setup_reconnect_timer(MSec, IP, Port, CompSpec) ->
      erlang:send_after(MSec, ?MODULE, 
  		      { rvi_setup_persistent_connection, 
  			IP, Port, CompSpec }),
      ok.
  
  get_services_by_connection(ConnPid) ->
      case ets:lookup(?CONNECTION_TABLE, ConnPid) of
  