##-------------------------------------------------------------------- ## EMQ X Gateway configurations ##-------------------------------------------------------------------- ## TODO: These configuration options are temporary example here. ## In the final version, it will be commented out. gateway.stomp { ## How long time the connection will be disconnected if the ## connection is established but no bytes received idle_timeout = 30s ## To control whether write statistics data into ETS table ## for dashbord to read. enable_stats = true ## When publishing or subscribing, prefix all topics with a mountpoint string. mountpoint = "" frame { max_headers = 10 max_headers_length = 1024 max_body_length = 8192 } clientinfo_override { username = "${Packet.headers.login}" password = "${Packet.headers.passcode}" } authentication: [ # { # name = "authenticator1" # type = "password-based:built-in-database" # user_id_type = clientid # } ] listeners.tcp.default { bind = 61613 acceptors = 16 max_connections = 1024000 max_conn_rate = 1000 access_rules = [ "allow all" ] ## TCP options ## See ${example_common_tcp_options} for more information tcp.active_n = 100 tcp.backlog = 1024 tcp.buffer = 4KB } listeners.ssl.default { bind = 61614 acceptors = 16 max_connections = 1024000 max_conn_rate = 1000 ## TCP options ## See ${example_common_tcp_options} for more information tcp.active_n = 100 tcp.backlog = 1024 tcp.buffer = 4KB ## SSL options ## See ${example_common_ssl_options} for more information ssl.versions = ["tlsv1.3", "tlsv1.2", "tlsv1.1", "tlsv1"] ssl.keyfile = "{{ platform_etc_dir }}/certs/key.pem" ssl.certfile = "{{ platform_etc_dir }}/certs/cert.pem" ssl.cacertfile = "{{ platform_etc_dir }}/certs/cacert.pem" #ssl.verify = verify_none #ssl.fail_if_no_peer_cert = false #ssl.server_name_indication = disable #ssl.secure_renegotiate = false #ssl.reuse_sessions = false #ssl.honor_cipher_order = false #ssl.handshake_timeout = 15s #ssl.depth = 10 #ssl.password = foo #ssl.dhfile = path-to-your-file } } gateway.coap { ## How long time the connection will be disconnected if the ## connection is established but no bytes received idle_timeout = 30s ## To control whether write statistics data into ETS table ## for dashbord to read. enable_stats = true ## When publishing or subscribing, prefix all topics with a mountpoint string. mountpoint = "" notify_type = qos ## if true, you need to establish a connection before use connection_required = false subscribe_qos = qos0 publish_qos = qos1 listeners.udp.default { bind = 5683 acceptors = 4 max_connections = 102400 max_conn_rate = 1000 ## UDP Options ## See ${example_common_udp_options} for more information udp.active_n = 100 udp.buffer = 16KB } listeners.dtls.default { bind = 5684 acceptors = 4 max_connections = 102400 max_conn_rate = 1000 ## UDP Options ## See ${example_common_udp_options} for more information udp.active_n = 100 udp.buffer = 16KB ## DTLS Options ## See #{example_common_dtls_options} for more information dtls.versions = ["dtlsv1.2", "dtlsv1"] dtls.keyfile = "{{ platform_etc_dir }}/certs/key.pem" dtls.certfile = "{{ platform_etc_dir }}/certs/cert.pem" dtls.cacertfile = "{{ platform_etc_dir }}/certs/cacert.pem" } } gateway.mqttsn { ## How long time the connection will be disconnected if the ## connection is established but no bytes received idle_timeout = 30s ## To control whether write statistics data into ETS table ## for dashbord to read. enable_stats = true ## When publishing or subscribing, prefix all topics with a mountpoint string. mountpoint = "" ## The MQTT-SN Gateway ID in ADVERTISE message. gateway_id = 1 ## Enable broadcast this gateway to WLAN broadcast = true ## To control whether accept and process the received ## publish message with qos=-1. enable_qos3 = true ## The pre-defined topic name corresponding to the pre-defined topic ## id of N. ## Note that the pre-defined topic id of 0 is reserved. predefined = [ { id = 1 topic = "/predefined/topic/name/hello" }, { id = 2 topic = "/predefined/topic/name/nice" } ] ### ClientInfo override clientinfo_override { username = "mqtt_sn_user" password = "abc" } listeners.udp.default { bind = 1884 max_connections = 10240000 max_conn_rate = 1000 } listeners.dtls.default { bind = 1885 acceptors = 4 max_connections = 102400 max_conn_rate = 1000 ## UDP Options ## See ${example_common_udp_options} for more information udp.active_n = 100 udp.buffer = 16KB ## DTLS Options ## See #{example_common_dtls_options} for more information dtls.versions = ["dtlsv1.2", "dtlsv1"] dtls.keyfile = "{{ platform_etc_dir }}/certs/key.pem" dtls.certfile = "{{ platform_etc_dir }}/certs/cert.pem" dtls.cacertfile = "{{ platform_etc_dir }}/certs/cacert.pem" } } gateway.lwm2m { ## How long time the connection will be disconnected if the ## connection is established but no bytes received idle_timeout = 30s ## To control whether write statistics data into ETS table ## for dashbord to read. enable_stats = true ## When publishing or subscribing, prefix all topics with a mountpoint string. mountpoint = "lwm2m/%u" xml_dir = "{{ platform_etc_dir }}/lwm2m_xml" lifetime_min = 1s lifetime_max = 86400s qmode_time_windonw = 22 auto_observe = false ## always | contains_object_list update_msg_publish_condition = contains_object_list translators { command { topic = "/dn/#" qos = 0 } response { topic = "/up/resp" qos = 0 } notify { topic = "/up/notify" qos = 0 } register { topic = "/up/resp" qos = 0 } update { topic = "/up/resp" qos = 0 } } listeners.udp.default { bind = 5783 } } gateway.exproto { ## How long time the connection will be disconnected if the ## connection is established but no bytes received idle_timeout = 30s ## To control whether write statistics data into ETS table ## for dashbord to read. enable_stats = true ## When publishing or subscribing, prefix all topics with a mountpoint string. mountpoint = "" ## The gRPC server to accept requests server { bind = 9100 #ssl.keyfile: #ssl.certfile: #ssl.cacertfile: } handler { address = "http://127.0.0.1:9001" #ssl.keyfile: #ssl.certfile: #ssl.cacertfile: } listeners.tcp.default { bind = 7993 acceptors = 8 max_connections = 10240 max_conn_rate = 1000 } #listeners.ssl.default: {} #listeners.udp.default: {} #listeners.dtls.default: {} }