Example #1
0
    def __init__(self, config_file=None):
        ConfigFile.__init__(self, config_file)

        self.store_path = self._get('client-management', 'store_path',
                                    '%s' % STORE_PATH)

        self.bind = self._get('client-management', 'bind', '0.0.0.0')
        self.port = self._getint('client-management', 'port', 8989)

        self.authentication = self._getbool('client-management',
                                            'authentication', True)
        self.admin_username = self._get('client-management', 'admin_username',
                                        'cmadmin')
        self.admin_password = binascii.unhexlify(
            self._get('client-management', 'admin_password',
                      "e1c5136acafb7016bc965597c992eb82"))

        self.log_level = logging.getLevelName(
            self._get('client-management', 'log_level', 'INFO'))
        self.log_file = self._get('client-management', 'log_file',
                                  '%s/smppclient-manager.log' % LOG_PATH)
        self.log_rotate = self._get('client-management', 'log_rotate', 'W6')
        self.log_format = self._get('client-management', 'log_format',
                                    DEFAULT_LOGFORMAT)
        self.log_date_format = self._get('client-management',
                                         'log_date_format',
                                         '%Y-%m-%d %H:%M:%S')
        self.pickle_protocol = self._getint('client-management',
                                            'pickle_protocol', 2)
Example #2
0
    def __init__(self, config_file=None):
        ConfigFile.__init__(self, config_file)

        self.bind = self._get('smpp-server-pb', 'bind', '0.0.0.0')
        self.port = self._getint('smpp-server-pb', 'port', 14000)

        self.authentication = self._getbool('smpp-server-pb', 'authentication',
                                            True)
        self.admin_username = self._get('smpp-server-pb', 'admin_username',
                                        'smppsadmin')
        self.admin_password = bytes.fromhex(
            self._get('smpp-server-pb', 'admin_password',
                      "e97ab122faa16beea8682d84f3d2eea4"))

        # Logging
        self.log_level = logging.getLevelName(
            self._get('smpp-server-pb', 'log_level', 'INFO'))
        self.log_rotate = self._get('smpp-server-pb', 'log_rotate', 'W6')
        self.log_file = self._get('smpp-server-pb', 'log_file',
                                  '%s/smpp-server-pb.log' % LOG_PATH)
        self.log_format = self._get(
            'smpp-server-pb', 'log_format',
            '%(asctime)s %(levelname)-8s %(process)d %(message)s')
        self.log_date_format = self._get('smpp-server-pb', 'log_date_format',
                                         '%Y-%m-%d %H:%M:%S')
Example #3
0
    def __init__(self, config_file=None):
        ConfigFile.__init__(self, config_file)

        self.bind = self._get('http-api', 'bind', '0.0.0.0')
        self.port = self._getint('http-api', 'port', 1401)

        # Logging
        self.access_log = self._get('http-api', 'access_log',
                                    '%s/http-accesslog.log' % LOG_PATH)
        self.log_level = logging.getLevelName(
            self._get('http-api', 'log_level', 'INFO'))
        self.log_file = self._get('http-api', 'log_file',
                                  '%s/http-api.log' % LOG_PATH)
        self.log_rotate = self._get('http-api', 'log_rotate', 'W6')
        self.log_format = self._get(
            'http-api', 'log_format',
            '%(asctime)s %(levelname)-8s %(process)d %(message)s')
        self.log_date_format = self._get('http-api', 'log_date_format',
                                         '%Y-%m-%d %H:%M:%S')
        self.log_privacy = self._getbool('http-api', 'log_privacy', False)

        # Long message splitting
        self.long_content_max_parts = self._get('http-api',
                                                'long_content_max_parts', 5)
        self.long_content_split = self._get('http-api', 'long_content_split',
                                            'udh')  # sar or udh
Example #4
0
    def __init__(self, config_file=None):
        ConfigFile.__init__(self, config_file)

        self.host = self._get('amqp-broker', 'host', '127.0.0.1')
        self.port = self._getint('amqp-broker', 'port', 5672)
        self.username = self._get('amqp-broker', 'username', 'guest')
        self.password = self._get('amqp-broker', 'password', 'guest')
        self.vhost = self._get('amqp-broker', 'vhost', '/')
        self.spec = self._get('amqp-broker', 'spec',
                              '%s/amqp0-9-1.xml' % RESOURCE_PATH)
        self.heartbeat = self._getint('amqp-broker', 'heartbeat', 0)

        # Logging
        self.log_level = logging.getLevelName(
            self._get('amqp-broker', 'log_level', 'INFO'))
        self.log_file = self._get('amqp-broker', 'log_file',
                                  '%s/amqp-client.log' % LOG_PATH)
        self.log_rotate = self._get('amqp-broker', 'log_rotate', 'W6')
        self.log_format = self._get(
            'amqp-broker', 'log_format',
            '%(asctime)s %(levelname)-8s %(process)d %(message)s')
        self.log_date_format = self._get('amqp-broker', 'log_date_format',
                                         '%Y-%m-%d %H:%M:%S')

        # Reconnection
        self.reconnectOnConnectionLoss = self._getbool(
            'amqp-broker', 'connection_loss_retry', True)
        self.reconnectOnConnectionFailure = self._getbool(
            'amqp-broker', 'connection_failure_retry', True)
        self.reconnectOnConnectionLossDelay = self._getint(
            'amqp-broker', 'connection_loss_retry_delay', 10)
        self.reconnectOnConnectionFailureDelay = self._getint(
            'amqp-broker', 'connection_failure_retry_delay', 10)
Example #5
0
    def __init__(self, config_file=None):
        ConfigFile.__init__(self, config_file)

        self.bind = self._get('interceptor', 'bind', '0.0.0.0')
        self.port = self._getint('interceptor', 'port', 8987)

        self.authentication = self._getbool('interceptor', 'authentication',
                                            True)
        self.admin_username = self._get('interceptor', 'admin_username',
                                        'iadmin')
        self.admin_password = binascii.unhexlify(
            self._get('interceptor', 'admin_password',
                      "dd8b84cdb60655fed3b9b2d668c5bd9e"))

        # Logging
        self.log_level = logging.getLevelName(
            self._get('interceptor', 'log_level', 'INFO'))
        self.log_rotate = self._get('interceptor', 'log_rotate', 'W6')
        self.log_file = self._get('interceptor', 'log_file',
                                  '%s/interceptor.log' % LOG_PATH)
        self.log_format = self._get(
            'interceptor', 'log_format',
            '%(asctime)s %(levelname)-8s %(process)d %(message)s')
        self.log_date_format = self._get('interceptor', 'log_date_format',
                                         '%Y-%m-%d %H:%M:%S')

        self.log_slow_script = self._getint('interceptor', 'log_slow_script',
                                            1)
Example #6
0
    def __init__(self, config_file=None):
        ConfigFile.__init__(self, config_file)

        self.store_path = self._get('router', 'store_path', '%s' % STORE_PATH)

        self.persistence_timer_secs = self._getint('router',
                                                   'persistence_timer_secs',
                                                   60)

        self.bind = self._get('router', 'bind', '0.0.0.0')
        self.port = self._getint('router', 'port', 8988)

        self.authentication = self._getbool('router', 'authentication', True)
        self.admin_username = self._get('router', 'admin_username', 'radmin')
        self.admin_password = binascii.unhexlify(
            self._get('router', 'admin_password',
                      "82a606ca5a0deea2b5777756788af5c8"))

        self.pickle_protocol = self._getint('router', 'pickle_protocol', 2)

        # Logging
        self.log_level = logging.getLevelName(
            self._get('router', 'log_level', 'INFO'))
        self.log_rotate = self._get('router', 'log_rotate', 'W6')
        self.log_file = self._get('router', 'log_file',
                                  '%s/router.log' % LOG_PATH)
        self.log_format = self._get(
            'router', 'log_format',
            '%(asctime)s %(levelname)-8s %(process)d %(message)s')
        self.log_date_format = self._get('router', 'log_date_format',
                                         '%Y-%m-%d %H:%M:%S')
Example #7
0
    def __init__(self, config_file=None):
        ConfigFile.__init__(self, config_file)

        self.host = self._get('smpp-server-pb-client', 'host', '127.0.0.1')
        self.port = self._getint('smpp-server-pb-client', 'port', 14000)

        self.username = self._get('smpp-server-pb-client', 'username', 'smppsadmin')
        self.password = self._get('smpp-server-pb-client', 'password', 'smppspwd')
Example #8
0
    def __init__(self, config_file=None):
        ConfigFile.__init__(self, config_file)

        self.host = self._get('interceptor-client', 'host', '127.0.0.1')
        self.port = self._getint('interceptor-client', 'port', 8987)

        self.username = self._get('interceptor-client', 'username', 'iadmin')
        self.password = self._get('interceptor-client', 'password', 'ipwd')
Example #9
0
    def __init__(self, config_file):
        ConfigFile.__init__(self, config_file)

        self.log_level = logging.getLevelName(self._get('service-smppclient', 'log_level', 'INFO'))
        self.log_file = self._get(
            'service-smppclient', 'log_file', '%s/service-smppclient.log' % LOG_PATH)
        self.log_rotate = self._get('service-smppclient', 'log_rotate', 'W6')
        self.log_format = self._get(
            'service-smppclient', 'log_format', '%(asctime)s %(levelname)-8s %(process)d %(message)s')
        self.log_date_format = self._get('service-smppclient', 'log_date_format', '%Y-%m-%d %H:%M:%S')
Example #10
0
    def __init__(self, config_file=None):
        ConfigFile.__init__(self, config_file)

        self.id = self._get('smpp-server', 'id', 'smpps_01')

        self.bind = self._get('smpp-server', 'bind', '0.0.0.0')
        self.port = self._getint('smpp-server', 'port', 2775)

        # Logging
        self.log_level = logging.getLevelName(
            self._get('smpp-server', 'log_level', 'INFO'))
        self.log_file = self._get('smpp-server', 'log_file',
                                  '%s/default-%s.log' % (LOG_PATH, self.id))
        self.log_rotate = self._get('smpp-server', 'log_rotate', 'midnight')
        self.log_format = self._get(
            'smpp-server', 'log_format',
            '%(asctime)s %(levelname)-8s %(process)d %(message)s')
        self.log_date_format = self._get('smpp-server', 'log_date_format',
                                         '%Y-%m-%d %H:%M:%S')
        self.log_privacy = self._getbool('smpp-server', 'log_privacy', False)

        # Timeout for response to bind request
        self.sessionInitTimerSecs = self._getint('smpp-server',
                                                 'sessionInitTimerSecs', 30)

        # Enquire link interval
        self.enquireLinkTimerSecs = self._getint('smpp-server',
                                                 'enquireLinkTimerSecs', 30)

        # Maximum time lapse allowed between transactions, after which,
        # the connection is considered as inactive
        self.inactivityTimerSecs = self._getint('smpp-server',
                                                'inactivityTimerSecs', 300)

        # Timeout for responses to any request PDU
        self.responseTimerSecs = self._getint('smpp-server',
                                              'responseTimerSecs', 60)

        # Timeout for reading a single PDU, this is the maximum lapse of time between
        # receiving PDU's header and its complete read, if the PDU reading timed out,
        # the connection is considered as 'corrupt' and will reconnect
        self.pduReadTimerSecs = self._getint('smpp-server', 'pduReadTimerSecs',
                                             10)

        # DLR
        # How much time a message is kept in redis waiting for receipt
        self.dlr_expiry = self._getint('smpp-server', 'dlr_expiry', 86400)
Example #11
0
    def __init__(self, config_file=None):
        ConfigFile.__init__(self, config_file)

        self.bind = self._get('jcli', 'bind', '127.0.0.1')
        self.port = self._getint('jcli', 'port', 8990)

        self.authentication = self._getbool('jcli', 'authentication', True)
        self.admin_username = self._get('jcli', 'admin_username', 'jcliadmin')
        self.admin_password = binascii.unhexlify(self._get('jcli', 'admin_password',
                                                           '79e9b0aa3f3e7c53e916f7ac47439bcb'))

        self.log_level = logging.getLevelName(self._get('jcli', 'log_level', 'INFO'))
        self.log_file = self._get('jcli', 'log_file', '%s/jcli.log' % LOG_PATH)
        self.log_rotate = self._get('jcli', 'log_rotate', 'W6')
        self.log_format = self._get(
            'jcli', 'log_format', '%(asctime)s %(levelname)-8s %(process)d %(message)s')
        self.log_date_format = self._get('jcli', 'log_date_format', '%Y-%m-%d %H:%M:%S')
Example #12
0
    def __init__(self, config_file=None):
        ConfigFile.__init__(self, config_file)

        self.timeout = self._getint('deliversm-thrower', 'http_timeout', 30)
        self.retry_delay = self._getint('deliversm-thrower', 'retry_delay', 30)
        self.max_retries = self._getint('deliversm-thrower', 'max_retries', 3)

        # Logging
        self.log_level = logging.getLevelName(
            self._get('deliversm-thrower', 'log_level', 'INFO'))
        self.log_file = self._get('deliversm-thrower', 'log_file',
                                  '%s/deliversm-thrower.log' % LOG_PATH)
        self.log_rotate = self._get('deliversm-thrower', 'log_rotate', 'W6')
        self.log_format = self._get(
            'deliversm-thrower', 'log_format',
            '%(asctime)s %(levelname)-8s %(process)d %(message)s')
        self.log_date_format = self._get('deliversm-thrower',
                                         'log_date_format',
                                         '%Y-%m-%d %H:%M:%S')
Example #13
0
    def __init__(self, config_file=None):
        ConfigFile.__init__(self, config_file)

        self.host = self._get('redis-client', 'host', '127.0.0.1')
        self.port = self._getint('redis-client', 'port', 6379)
        self.dbid = self._getint('redis-client', 'dbid', '0')
        self.password = self._get('redis-client', 'password', None)
        self.poolsize = self._getint('redis-client', 'poolsize', 10)

        self.log_level = logging.getLevelName(
            self._get('redis-client', 'log_level', 'INFO'))
        self.log_file = self._get('redis-client', 'log_file',
                                  '%s/redis-client.log' % LOG_PATH)
        self.log_rotate = self._get('redis-client', 'log_rotate', 'W6')
        self.log_format = self._get(
            'redis-client', 'log_format',
            '%(asctime)s %(levelname)-8s %(process)d %(message)s')
        self.log_date_format = self._get('redis-client', 'log_date_format',
                                         '%Y-%m-%d %H:%M:%S')
Example #14
0
    def __init__(self, config_file=None):
        ConfigFile.__init__(self, config_file)

        if CLOUDAMQP_URL is not None:
            # Take rabbitmq config from CLOUDAMQP_URL env variable (used by heroku)
            self.username, self.password, self.host, self.vhost = \
                re.search(r"^amqps\:\/\/([a-z]+)\:([A-Za-z0-9_-]+)@((?!-)[-a-zA-Z0-9.]{1,63}(?<!-))\/([a-z]+)$",
                          CLOUDAMQP_URL).groups()
        else:
            self.host = self._get('amqp-broker', 'host', '127.0.0.1')
            self.username = self._get('amqp-broker', 'username', 'guest')
            self.password = self._get('amqp-broker', 'password', 'guest')
            self.vhost = self._get('amqp-broker', 'vhost', '/')

        self.port = self._getint('amqp-broker', 'port', 5672)
        self.spec = self._get('amqp-broker', 'spec',
                              '%s/amqp0-9-1.xml' % RESOURCE_PATH)
        self.heartbeat = self._getint('amqp-broker', 'heartbeat', 0)

        # Logging
        self.log_level = logging.getLevelName(
            self._get('amqp-broker', 'log_level', 'INFO'))
        self.log_file = self._get('amqp-broker', 'log_file',
                                  '%s/amqp-client.log' % LOG_PATH)
        self.log_rotate = self._get('amqp-broker', 'log_rotate', 'W6')
        self.log_format = self._get(
            'amqp-broker', 'log_format',
            '%(asctime)s %(levelname)-8s %(process)d %(message)s')
        self.log_date_format = self._get('amqp-broker', 'log_date_format',
                                         '%Y-%m-%d %H:%M:%S')

        # Reconnection
        self.reconnectOnConnectionLoss = self._getbool(
            'amqp-broker', 'connection_loss_retry', True)
        self.reconnectOnConnectionFailure = self._getbool(
            'amqp-broker', 'connection_failure_retry', True)
        self.reconnectOnConnectionLossDelay = self._getint(
            'amqp-broker', 'connection_loss_retry_delay', 10)
        self.reconnectOnConnectionFailureDelay = self._getint(
            'amqp-broker', 'connection_failure_retry_delay', 10)
Example #15
0
    def __init__(self, config_file=None):
        ConfigFile.__init__(self, config_file)

        self.timeout = self._getint('dlr-thrower', 'http_timeout', 30)
        self.retry_delay = self._getint('dlr-thrower', 'retry_delay', 30)
        self.max_retries = self._getint('dlr-thrower', 'max_retries', 3)

        # #139: need configuration to send deliver_sm instead of data_sm for SMPP delivery receipt
        # 20150521: it seems better to get deliver_sm the default pdu for receipts
        self.dlr_pdu = self._get('dlr-thrower', 'dlr_pdu', 'deliver_sm')

        # Logging
        self.log_level = logging.getLevelName(
            self._get('dlr-thrower', 'log_level', 'INFO'))
        self.log_file = self._get('dlr-thrower', 'log_file',
                                  '%s/dlr-thrower.log' % LOG_PATH)
        self.log_rotate = self._get('dlr-thrower', 'log_rotate', 'W6')
        self.log_format = self._get(
            'dlr-thrower', 'log_format',
            '%(asctime)s %(levelname)-8s %(process)d %(message)s')
        self.log_date_format = self._get('dlr-thrower', 'log_date_format',
                                         '%Y-%m-%d %H:%M:%S')
Example #16
0
    def __init__(self, config_file=None):
        ConfigFile.__init__(self, config_file)

        if REDIS_URL is not None:
            # Take redis config from REDIS_URL env variable (used by heroku)
            self.password, self.host, self.port = \
                re.search(r"^redis\:\/\/\:([a-z0-9]+)@((?!-)[-a-zA-Z0-9.]{1,63}(?<!-))\:(\d+)$", REDIS_URL).groups()
        else:
            self.host = self._get('redis-client', 'host', '127.0.0.1')
            self.port = self._getint('redis-client', 'port', 6379)
            self.password = self._get('redis-client', 'password', None)

        self.dbid = self._getint('redis-client', 'dbid', '0')
        self.poolsize = self._getint('redis-client', 'poolsize', 10)

        self.log_level = logging.getLevelName(self._get('redis-client', 'log_level', 'INFO'))
        self.log_file = self._get('redis-client',
                                  'log_file', '%s/redis-client.log' % LOG_PATH)
        self.log_rotate = self._get('redis-client', 'log_rotate', 'W6')
        self.log_format = self._get('redis-client',
                                    'log_format', '%(asctime)s %(levelname)-8s %(process)d %(message)s')
        self.log_date_format = self._get('redis-client', 'log_date_format', '%Y-%m-%d %H:%M:%S')
Example #17
0
    def __init__(self, config_file=None):
        ConfigFile.__init__(self, config_file)

        self.publish_submit_sm_resp = self._getbool('sm-listener',
                                                    'publish_submit_sm_resp',
                                                    False)

        self.submit_error_retrial = ast.literal_eval(
            self._get(
                'sm-listener', 'submit_error_retrial',
                """{'ESME_RSYSERR':         {'count': 2,  'delay': 30},
                    'ESME_RTHROTTLED':      {'count': 20, 'delay': 30},
                    'ESME_RMSGQFUL':        {'count': 2,  'delay': 180},
                    'ESME_RINVSCHED':       {'count': 2,  'delay': 300},
                }"""))

        self.submit_max_age_smppc_not_ready = self._getint(
            'sm-listener', 'submit_max_age_smppc_not_ready', 1200)

        self.submit_retrial_delay_smppc_not_ready = self._getint(
            'sm-listener', 'submit_retrial_delay_smppc_not_ready', 30)

        self.dlr_lookup_retry_delay = self._getint('sm-listener',
                                                   'dlr_lookup_retry_delay',
                                                   10)

        self.dlr_lookup_retry_delay = self._getint('sm-listener',
                                                   'dlr_lookup_max_retries', 2)

        self.log_level = logging.getLevelName(
            self._get('sm-listener', 'log_level', 'INFO'))
        self.log_file = self._get('sm-listener', 'log_file',
                                  '%s/messages.log' % LOG_PATH)
        self.log_rotate = self._get('sm-listener', 'log_rotate', 'midnight')
        self.log_format = self._get('sm-listener', 'log_format',
                                    DEFAULT_LOGFORMAT)
        self.log_date_format = self._get('sm-listener', 'log_date_format',
                                         '%Y-%m-%d %H:%M:%S')
        self.log_privacy = self._getbool('sm-listener', 'log_privacy', False)
Example #18
0
    def __init__(self, config_file=None):
        ConfigFile.__init__(self, config_file)

        self.pid = self._get('dlr', 'pid', 'main')

        self.dlr_lookup_retry_delay = self._getint('dlr',
                                                   'dlr_lookup_retry_delay',
                                                   10)
        self.dlr_lookup_max_retries = self._getint('dlr',
                                                   'dlr_lookup_max_retries', 2)

        self.smpp_receipt_on_success_submit_sm_resp = self._getbool(
            'dlr', 'smpp_receipt_on_success_submit_sm_resp', False)

        self.log_level = logging.getLevelName(
            self._get('dlr', 'log_level', 'INFO'))
        self.log_file = self._get('dlr', 'log_file',
                                  '%s/messages.log' % LOG_PATH)
        self.log_rotate = self._get('dlr', 'log_rotate', 'midnight')
        self.log_format = self._get('dlr', 'log_format', DEFAULT_LOGFORMAT)
        self.log_date_format = self._get('dlr', 'log_date_format',
                                         '%Y-%m-%d %H:%M:%S')
        self.log_privacy = self._getbool('dlr', 'log_privacy', False)