Changed options
diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c
index 99f0366..ac0633b 100644
--- a/sgsnemu/sgsnemu.c
+++ b/sgsnemu/sgsnemu.c
@@ -76,6 +76,7 @@
 /* 1: Wait_connect               */
 /* 2: Connected                  */
 /* 3: Wait_disconnect            */
+/* 4: Disconnected               */
 int state = 0;                  
 
 struct gsn_t *gsn = NULL;       /* GSN instance */
@@ -217,7 +218,6 @@
     printf("remote: %s\n", args_info.remote_arg);
     printf("listen: %s\n", args_info.listen_arg);
     printf("conf: %s\n", args_info.conf_arg);
-    printf("fg: %d\n", args_info.fg_flag);
     printf("debug: %d\n", args_info.debug_flag);
     printf("imsi: %s\n", args_info.imsi_arg);
     printf("qos: %#08x\n", args_info.qos_arg);
@@ -251,7 +251,6 @@
       printf("remote: %s\n", args_info.remote_arg);
       printf("listen: %s\n", args_info.listen_arg);
       printf("conf: %s\n", args_info.conf_arg);
-      printf("fg: %d\n", args_info.fg_flag);
       printf("debug: %d\n", args_info.debug_flag);
       printf("imsi: %s\n", args_info.imsi_arg);
       printf("qos: %#08x\n", args_info.qos_arg);
@@ -279,18 +278,17 @@
   /* Handle each option */
 
   /* foreground                                                   */
-  /* If fg flag not given run as a daemon                            */
+  /* If fg flag not given run as a daemon                         */ 
+  /* Do not allow sgsnemu to run as deamon                        
   if (!args_info.fg_flag)
     {
       closelog(); 
-      /* Close the standard file descriptors. Why? */
       freopen("/dev/null", "w", stdout);
       freopen("/dev/null", "w", stderr);
       freopen("/dev/null", "r", stdin);
       daemon(0, 0);
-      /* Open log again. This time with new pid */
       openlog(PACKAGE, LOG_PID, LOG_DAEMON);
-    }
+    }                                                             */
 
   /* debug                                                        */
   options.debug = args_info.debug_flag;
@@ -750,6 +748,7 @@
 
   ipdel((struct iphash_t*) pdp->peer);
   memset(pdp->peer, 0, sizeof(struct iphash_t)); /* To be sure */
+  state = 4; /* Disconnected */
   return 0;
 }
 
@@ -867,7 +866,7 @@
     exit(1);
 
   printf("\nInitialising GTP library\n");
-  if (gtp_new(&gsn, options.statedir,  &options.listen)) {
+  if (gtp_new(&gsn, options.statedir,  &options.listen, GTP_MODE_SGSN)) {
     sys_err(LOG_ERR, __FILE__, __LINE__, 0,
 	    "Failed to create gtp");
     exit(1);