diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c
index 388f736..2d281fb 100644
--- a/sgsnemu/sgsnemu.c
+++ b/sgsnemu/sgsnemu.c
@@ -106,6 +106,7 @@
   int gtpversion;
   struct ul255_t pco;
   struct ul255_t qos;
+  uint16_t cch;
   struct ul255_t apn;
   struct ul16_t msisdn;
 } options;
@@ -224,6 +225,7 @@
     printf("debug: %d\n", args_info.debug_flag);
     if (args_info.imsi_arg) printf("imsi: %s\n", args_info.imsi_arg);
     printf("qos: %#08x\n", args_info.qos_arg);
+    printf("charging: %#04x\n", args_info.charging_arg);
     if (args_info.apn_arg) printf("apn: %s\n", args_info.apn_arg);
     if (args_info.msisdn_arg) printf("msisdn: %s\n", args_info.msisdn_arg);
     if (args_info.uid_arg) printf("uid: %s\n", args_info.uid_arg);
@@ -257,6 +259,7 @@
       printf("debug: %d\n", args_info.debug_flag);
       if (args_info.imsi_arg) printf("imsi: %s\n", args_info.imsi_arg);
       printf("qos: %#08x\n", args_info.qos_arg);
+      printf("charging: %#04x\n", args_info.charging_arg);
       if (args_info.apn_arg) printf("apn: %s\n", args_info.apn_arg);
       if (args_info.msisdn_arg) printf("msisdn: %s\n", args_info.msisdn_arg);
       if (args_info.uid_arg) printf("uid: %s\n", args_info.uid_arg);
@@ -411,6 +414,9 @@
   options.qos.v[2] = (args_info.qos_arg) & 0xff;
   options.qos.v[1] = ((args_info.qos_arg) >> 8) & 0xff;
   options.qos.v[0] = ((args_info.qos_arg) >> 16) & 0xff;
+
+  /* charging                                                        */
+  options.cch = args_info.charging_arg;
   
   /* contexts                                                        */
   if (args_info.contexts_arg > MAXCONTEXTS) {
@@ -1168,12 +1174,8 @@
     pdp->hisaddr0 = options.remote;
     pdp->hisaddr1 = options.remote;
 
-    /* TODO: This could be an option */
-    pdp->cch_pdp = 2048; /* Normal charging 3GPP 32.015 */
-                         /* 2048 = Normal
-			    1024 = Prepaid
-			    0512 = Flat rate
-			    0256 = Hot billing */
+    pdp->cch_pdp = options.cch; /* 2048 = Normal, 1024 = Prepaid, 
+				   512 = Flat rate, 256 = Hot billing */
 
     /* Create context */
     /* We send this of once. Retransmissions are handled by gtplib */
