Password=123456
 Port=9999
 UserTimeout=60
-ScriptOnConnect=/etc/stargazer/OnConnect
-ScriptOnDisconnect=/etc/stargazer/OnDisconnect
+ScriptOnConnect=/etc/rscriptd/OnConnect
+ScriptOnDisconnect=/etc/rscriptd/OnDisconnect
 
     it->GetUserPtr()->GetProperty().tariffName.DelAfterNotifier(&(*it));
     ++it;
     }
+notifiers.clear();
 }
 
                    smux(rvalue.smux), userPtr(rvalue.userPtr) {}
     void     Notify(const std::string &, const std::string &);
 
-    USER_PTR GetUserPtr() { return userPtr; }
+    USER_PTR GetUserPtr() const { return userPtr; }
 
 private:
     CHG_AFTER_NOTIFIER & operator=(const CHG_AFTER_NOTIFIER & rvalue);
 
          locker \
          crypto
 
+FB_CFLAGS = $(shell fb_config --cflags)
+FB_LDFLAGS = $(shell fb_config --libs)
+
+CXXFLAGS +=  $(FB_CFLAGS)
+LDFLAGS += $(FB_LDFLAGS)
+
 include ../../Makefile.in
 
 
 
     if (strcasecmp(node->getName(), "FeeChargeType") == 0)
         {
-        if (ParseUnsignedInRange(node->getValue(0), 0, 2, &feeChargeType) != 0)
+        if (ParseUnsignedInRange(node->getValue(0), 0, 3, &feeChargeType) != 0)
             {
             strError = "Incorrect FeeChargeType value: \'" + string(node->getValue(0)) + "\'";
             return -1;
 
         if (c + credit >= fee)
             property.cash.Set(c - fee, sysAdmin, login, store, "Subscriber fee charge");
         break;
+    case 3:
+        if (c >= 0)
+            property.cash.Set(c - fee, sysAdmin, login, store, "Subscriber fee charge");
+        break;
     }
 ResetPassiveTime();
 }
             SetPrepaidTraff();
             }
         break;
+    case 3:
+        if (c >= 0)
+            {
+            property.cash.Set(c - fee, sysAdmin, login, store, "Subscriber fee charge");
+            SetPrepaidTraff();
+            }
+        break;
     }
 }
 //-----------------------------------------------------------------------------