better error handling in case application config is insufficient
diff --git a/ebin/mgw_nat.app b/ebin/mgw_nat.app
index 677cb2a..5b4ac0c 100644
--- a/ebin/mgw_nat.app
+++ b/ebin/mgw_nat.app
@@ -8,7 +8,8 @@
 	 {mod, {mgw_nat_app, []}},
 	 {applications, []},
 	 {env, [
-		{rewrite_act_mod, mgw_nat_act_bow_onw },
+		% Specify the rewrite actor module
+		%{rewrite_act_mod, mgw_nat_act_bow_onw },
 
 		% SCCP static rewrite rules
 		{sccp_rewrite_tbl, [
@@ -16,23 +17,23 @@
 			{ 12340001, 98760001, "VLR" }
 		]},
 
-		% SCCP source masquerading pool
+		% Example SCCP source masquerading pool
 		{sccp_masq_gt_base, 12340000},
 		{sccp_masq_gt_max, 9999},
 
-		% ISUP rewrite
+		% Example ISUP rewrite
 		{msrn_pfx_msc, 35489099},
 		{msrn_pfx_stp, 6392994200},
 		{intern_pfx, 63},
 
-		% SCTP / IP config
+		% Example SCTP / IP config
 		{msc_local_ip, any},
 		{msc_local_port, 2904},
 		{msc_remote_ip, {172,16,1,81}},
 		{stp_remote_ip, {172,16,249,20}},
 		{stp_remote_port, 2904},
 
-		% MAP rewrite table
+		% Example MAP rewrite table
 		{map_rewrite_table, [
 			{ msc, 1234500070, 678980004014 },
 			{ hlr, 1234500073, 678980004012 },
diff --git a/src/mgw_nat_usr.erl b/src/mgw_nat_usr.erl
index 14bcd7c..8503333 100644
--- a/src/mgw_nat_usr.erl
+++ b/src/mgw_nat_usr.erl
@@ -48,12 +48,13 @@
 init(_Params) ->
 	sccp_masq:init(),
 	map_masq:config_update(),
-	{ok, MscLocalIp} = application:get_env(msc_local_ip),
-	{ok, MscLocalPort} = application:get_env(msc_local_port),
-	{ok, MscRemoteIp} = application:get_env(msc_remote_ip),
-	{ok, StpRemoteIp} = application:get_env(stp_remote_ip),
-	{ok, StpRemotePort} = application:get_env(stp_remote_port),
-	{ok, RewriteActMod} = application:get_env(rewrite_act_mod),
+	MscLocalIp = get_app_config(msc_local_ip),
+	MscLocalPort = get_app_config(msc_local_port),
+	MscRemoteIp = get_app_config(msc_remote_ip),
+	StpRemoteIp = get_app_config(stp_remote_ip),
+	StpRemotePort = get_app_config(stp_remote_port),
+	RewriteActMod = get_app_config(rewrite_act_mod),
+	RewriteActMod:reload_config(),
 	io:format("Starting mgw_nat_usr with rewrite actor module ~p~n", [RewriteActMod]),
 	SctpHdlrArgs =	[MscLocalIp, MscLocalPort, MscRemoteIp,
 			 StpRemoteIp, StpRemotePort, RewriteActMod],
@@ -71,7 +72,7 @@
 	{noreply, LoopData};
 
 handle_cast(reload_config, LoopData) ->
-	{ok, RewriteActMod} = application:get_env(rewrite_act_mod),
+	RewriteActMod = get_app_config(rewrite_act_mod),
 	RewriteActMod:reload_config(),
 	{noreply, LoopData}.
 
@@ -83,3 +84,13 @@
 handle_info({sctp, Sock, Ip, Port, Data}, LoopData) ->
 	NewL = sctp_handler:handle_sctp(LoopData, {sctp, Sock, Ip, Port, Data}),
 	{noreply, NewL}.
+
+get_app_config(Name) ->
+	case application:get_env(Name) of
+	    undefined ->
+		error_logger:error_report([{error, app_cfg_missing},
+					   {get_app_config, Name}]),
+		throw(app_cfg_missing);
+	    {ok, Val} ->
+		Val
+	end.