anchor.diff:  		true ->
   		    logger:log(debug, "Transaction layer: Telling SIP message handler to start this applications "
   			       "request function."),
  -		    {pass_to_core, AppModule};
  +		    {pass_to_core, AppModule, STPid};
   		false ->
   		    continue
   	    end;
  
positive.code: received_new_request(#request{method="ACK"}=Request, _Socket, _LogStr, AppModule) ->
      logger:log(debug, "Transaction layer: Received ACK ~s that does not match any existing transaction, passing to core.",
  	       [sipurl:print(Request#request.uri)]),
      {pass_to_core, AppModule};
  
  received_new_request(Request, Socket, LogStr, AppModule) when is_record(Request, request) ->
      logger:log(debug, "Transaction layer: No state for received request, starting new transaction"),
  
negative.code: 	none ->
  	    [{appmodule, AppModule}] = ets:lookup(transactionlayer_settings, appmodule),
  	    case received_new_request(Request, Origin#siporigin.sipsocket, LogStr, AppModule) of
  		{pass_to_core, NewAppModule, STPid} ->
  		    case get_dialog_handler(Request) of
  			nomatch ->
  			    {pass_to_core, NewAppModule};
  			DCPid when is_pid(DCPid) ->
  			    pass_to_dialog_controller(DCPid, STPid, Request, Origin, LogStr),
  			    continue
  		    end;
  		continue ->
  		    continue
  	    end;
  	STPid when is_pid(STPid) ->
  	    gen_server:cast(STPid, {siprequest, Request, Origin}),
  