{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Describes USB Sender transport parameters. The constraints in this schema are minimum constraints, but may be further constrained at the constraints endpoint. As a minimum all senders must support `source_ip`, `source_port`.",
  "title": "USB Sender Transport Parameters",
    "type": "object",
  "properties": {
    "source_ip": {
      "type": "string",
      "description": "IP address of the TCP server responsible for serving the USB packets (IP address of the network interface bound to this sender). The sender should provide an enum in the constraints endpoint, which should contain the available interface addresses. If the parameter is set to 'auto' the sender should establish for itself which interface it should use, based on routing rules or its own internal configuration.",
      "anyOf": [{
          "format": "ipv4"
        },
        {
          "format": "ipv6"
        },
        {
          "pattern": "^auto$"
        }
      ]
    },
    "source_port": {
      "type": [
        "integer",
        "string"
      ],
      "description": "Port of the TCP server responsible for serving the USB packets. (auto = 5004 by default)",
      "minimum": 0,
      "maximum": 65535,
      "pattern": "^auto$"
    }
  },
  "patternProperties": {
    "^ext_[a-zA-Z0-9_]+$": {
      "$ref": "sender_transport_params_ext.json"
    }
  },
  "additionalProperties": false
}