public void setBillRate(short billType, float billRate)
			throws TsapiInvalidArgumentException,
			TsapiMethodNotSupportedException, TsapiResourceUnavailableException {
		if (!this.provider.isLucentV5()) {
			throw new TsapiMethodNotSupportedException(4, 0,
					"unsupported by driver");
		}
		switch (billType) {
		case 16:
		case 17:
		case 18:
		case 19:
		case 24:
			break;
		case 20:
		case 21:
		case 22:
		case 23:
		default:
			throw new TsapiInvalidArgumentException(0, 0, "invalid billType");
		}
		try {
			CSTAConnectionID connID = new CSTAConnectionID(this.callID, "",
					(short) 0);

			LucentSetBillRate sbr = new LucentSetBillRate(connID, billType,
					billRate);
			this.provider.sendPrivateData(sbr.makeTsapiPrivate());
		} catch (TsapiResourceUnavailableException e) {
			throw e;
		} catch (TsapiPlatformException e) {
			throw e;
		} catch (Exception e) {
			if ((e instanceof ITsapiException)) {
				throw new TsapiPlatformException(
						((ITsapiException) e).getErrorType(),
						((ITsapiException) e).getErrorCode(),
						"setBillRate failure, exception: " + e);
			}

			throw new TsapiPlatformException(4, 0,
					"setBillRate failure, exception: " + e);
		}
	}