diff --git a/src/mgw_nat_usr.erl b/src/mgw_nat_usr.erl
new file mode 100644
index 0000000..562c07a
--- /dev/null
+++ b/src/mgw_nat_usr.erl
@@ -0,0 +1,51 @@
+% Wrapper code, wrapping sctp_handler.erl into OTP gen_server
+
+% (C) 2011 by Harald Welte <laforge@gnumonks.org>
+% (C) 2011 OnWaves
+%
+% All Rights Reserved
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU Affero General Public License as
+% published by the Free Software Foundation; either version 3 of the
+% License, or (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU Affero General Public License
+% along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+-module(mgw_nat_usr).
+-author("Harald Welte <laforge@gnumonks.org>").
+
+-behavior(gen_server).
+
+-export([start_link/1, stop/0]).
+-export([init/1, handle_cast/2, handle_info/2, terminate/2]).
+
+
+start_link(Params) ->
+	gen_server:start_link({local, ?MODULE}, ?MODULE, Params, []).
+
+stop() ->
+	gen_server:cast(?MODULE, stop).
+
+
+%% Callback functions of the OTP behavior
+
+init(Params) ->
+	apply(sctp_handler, init, Params).
+
+handle_cast(stop, LoopData) ->
+	{stop, normal, LoopData}.
+
+terminate(_Reason, _LoopData) ->
+	ok.
+
+% callback for other events like incoming SCTP message
+handle_info({sctp, Sock, Ip, Port, Data}, LoopData) ->
+	NewL = sctp_handler:handle_sctp(LoopData, {sctp, Sock, Ip, Port, Data}),
+	{noreply, NewL}.
