public function setProperties($billingAccount, $properties)
    {
        if (!$billingAccount)
            throw new BadMethodCallException('Parameter $billingAccount is missing.');
        if (!$properties)
            throw new BadMethodCallException('Parameter $properties is missing.');
        if (!is_array($properties))
            throw new BadMethodCallException('Parameter $properties must be a array.');
        $t = array();
        if (array_key_exists('description', $properties))
            $t['description'] = $properties['description'];
        $properties = $t;
        unset($t);
        if (count($properties) == 0)
            throw new BadMethodCallException('Parameter $properties does not contain valid key. valid key is "description"');
        try {
            $r = $this->put('telephony/' . $billingAccount, array('Content-Type' => 'application/json;charset=UTF-8'), json_encode($properties))->send();
        } catch (\Exception $e) {
            throw new TelephonyException($e->getMessage(), $e->getCode(), $e);
        }
        return true;
    }