Example #1
0
def _check_raw_config_validity(raw_config):
    # XXX this is bit repetitive...
    _check_common_raw_config_validity(raw_config)
    if raw_config.get(u'ntp_enabled'):
        if u'ntp_ip' not in raw_config:
            raise RawConfigError('missing ntp_ip parameter')
    if raw_config.get(u'vlan_enabled'):
        if u'vlan_id' not in raw_config:
            raise RawConfigError('missing vlan_id parameter')
    if raw_config.get(u'syslog_enabled'):
        if u'syslog_ip' not in raw_config:
            raise RawConfigError('missing syslog_ip parameter')
    if u'sip_lines' in raw_config:
        for line_no, line in six.iteritems(raw_config[u'sip_lines']):
            if u'proxy_ip' not in line and u'sip_proxy_ip' not in raw_config:
                raise RawConfigError('missing proxy_ip parameter for line %s' %
                                     line_no)
            if u'protocol' in raw_config and raw_config[u'protocol'] == 'SIP':
                for param in [u'username', u'password', u'display_name']:
                    if param not in line:
                        raise RawConfigError('missing %s parameter for line %s' %
                                             (param, line_no))
    if u'sccp_call_managers' in raw_config:
        for priority, call_manager in six.iteritems(raw_config[u'sccp_call_managers']):
            if u'ip' not in call_manager:
                raise RawConfigError('missing ip parameter for call manager %s' %
                                     priority)
    if u'funckeys' in raw_config:
        funckeys = raw_config[u'funckeys']
        for funckey_no, funckey in six.iteritems(funckeys):
            try:
                type_ = funckey[u'type']
            except KeyError:
                raise RawConfigError('missing type parameter for funckey %s' %
                                     funckey_no)
            else:
                if (type_ == u'speeddial' or type_ == u'blf') and u'value' not in funckey:
                    raise RawConfigError('missing value parameter for funckey %s' %
                                         funckey_no)
 def _check_config(self, raw_config):
     if u'http_port' not in raw_config:
         raise RawConfigError('only support configuration via HTTP')
Example #3
0
def _check_common_raw_config_validity(raw_config):
    for param in [u'ip', u'http_port', u'tftp_port']:
        if param not in raw_config:
            raise RawConfigError('missing %s parameter' % param)
Example #4
0
 def _check_config(self, raw_config):
     if u'http_port' not in raw_config:
         raise RawConfigError('only support configuration via HTTP')
     if not raw_config[u'sip_lines']:
         # the phone won't be configured properly if a sip line is not defined
         raise RawConfigError('need at least one sip lines defined')