anchor.diff:  %% @see //stdlib/gen_fsm:handle_info/3
   %% @private
   %%
  -handle_info(#diameter_event{service = ?DIAMETER_ACCT_SERVICE(Address, Port),
  -		info = start}, wait_for_start, #statedata{address = Address,
  -		port = Port} = StateData) ->
  -	{next_state, started, StateData, 0};
  -handle_info(#diameter_event{service = ?DIAMETER_ACCT_SERVICE(Address, Port),
  -	info = Event}, started = StateName, #statedata{address = Address,
  -	port =Port} = StateData) ->
  -	change_state(StateName, Event, StateData);
  -handle_info(Event, StateName, StateData) ->
  -	error_logger:warning_report(["Unexpected diameter event",
  -			{module, ?MODULE}, {state, StateName}, {event, Event}]),
  +handle_info(#diameter_event{info = start}, wait_for_start, StateData) ->
  +	{next_state, started, StateData};
  +%handle_info(#diameter_event{info = stop}, _StateName, StateData) ->
  +%	{next_state, wait_for_stop, StateData, ?WAIT_STOP};
  +handle_info(#diameter_event{info = Event, service = Service},
  +		StateName, StateData) when element(1, Event) == up;
  +		element(1, Event) == down ->
  +	{_PeerRef, #diameter_caps{origin_host = {_, Peer}}} = element(3, Event),
  +	error_logger:info_report(["DIAMETER event",
  +			{service, Service}, {event, element(1, Event)},
  +			{peer, binary_to_list(Peer)}]),
  +	{next_state, StateName, StateData};
  +handle_info(#diameter_event{info = {watchdog,
  +		_Ref, _PeerRef, {_From, _To}, _Config}}, StateName, StateData) ->
  +	{next_state, StateName, StateData};
  +handle_info(#diameter_event{info = Event, service = Service}, StateName, StateData) ->
  +	error_logger:info_report(["DIAMETER event",
  +			{service, Service}, {event, Event}]),
   	{next_state, StateName, StateData}.
   
   -spec terminate(Reason, StateName, StateData) -> any()
   	when
  -		Reason :: normal | shutdown | term(), 
  +		Reason :: normal | shutdown | term(),
   		StateName :: atom(),
   		StateData :: #statedata{}.
   %% @doc Cleanup and exit.
  
positive.code: -spec code_change(OldVsn, StateName, StateData, Extra) -> Result
  	when
  		OldVsn :: (Vsn :: term() | {down, Vsn :: term()}),
  		StateName :: atom(), 
  		StateData :: #statedata{}, 
  		Extra :: term(),
  		Result :: {ok, NextStateName :: atom(), NewStateData :: #statedata{}}.
  %% @doc Update internal state data during a release upgrade&#047;downgrade.
  
negative.code: 	Opts = [{transport_module, Transport},
  			{transport_config, [{reuseaddr, true},
  					{ip, Address},
  					{port, Port}]}],
  	{listen, Opts}.
  
  