fortinet.fortios.fortios_voip_profile 模块 – 在 Fortinet 的 FortiOS 和 FortiGate 中配置 VoIP 配置文件。

注意

此模块是 fortinet.fortios 集合 (版本 2.3.8) 的一部分。

如果您正在使用 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install fortinet.fortios。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在剧本中使用它,请指定: fortinet.fortios.fortios_voip_profile

fortinet.fortios 2.0.0 中的新增功能

概要

  • 此模块能够通过允许用户设置和修改 voip 功能和配置文件类别来配置 FortiGate 或 FortiOS (FOS) 设备。示例包括所有参数,在使用前需要将值调整为数据源。在 FOS v6.0.0 上测试。

要求

执行此模块的主机需要以下要求。

  • ansible>=2.15

参数

参数

注释

access_token

字符串

基于令牌的身份验证。从 Fortigate 的 GUI 生成。

enable_log

布尔值

启用/禁用任务的日志记录。

选项

  • false ← (默认)

  • true

member_path

字符串

要操作的成员属性路径。

如果有多个属性,则用斜杠字符分隔。

标有 member_path 的参数对于执行成员操作是合法的。

member_state

字符串

在指定的属性路径下添加或删除成员。

当指定 member_state 时,将忽略 state 选项。

选项

  • "present"

  • "absent"

state

字符串 / 必需

指示是创建还是删除对象。

选项

  • "present"

  • "absent"

vdom

字符串

虚拟域,在之前定义的那些域中。vdom 是 FortiGate 的虚拟实例,可以将其配置并用作不同的单元。

默认值: "root"

voip_profile

字典

配置 VoIP 配置文件。

comment

字符串

注释。

feature_set

字符串

IPS 或 voipd (SIP-ALG) 检查功能集。

选项

  • "ips"

  • "voipd"

  • "flow"

  • "proxy"

msrp

字典

MSRP。

log_violations

字符串

启用/禁用 MSRP 违规日志记录。

选项

  • "disable"

  • "enable"

max_msg_size

整数

允许的最大 MSRP 消息大小 (1-65535)。

max_msg_size_action

字符串

违反 max-msg-size 的操作。

选项

  • "pass"

  • "block"

  • "reset"

  • "monitor"

status

字符串

启用/禁用 MSRP。

选项

  • "disable"

  • "enable"

name

字符串 / 必需

配置文件名称。

sccp

字典

SCCP。

block_mcast

字符串

启用/禁用阻止多播 RTP 连接。

选项

  • "disable"

  • "enable"

log_call_summary

字符串

启用/禁用 SCCP 电话摘要日志。

选项

  • "disable"

  • "enable"

log_violations

字符串

启用/禁用 SCCP 违规日志记录。

选项

  • "disable"

  • "enable"

max_calls

整数

每个 SCCP 客户端每分钟最大呼叫次数 (最大 65535)。

status

字符串

启用/禁用 SCCP。

选项

  • "disable"

  • "enable"

verify_header

字符串

启用/禁用验证 SCCP 标头内容。

选项

  • "disable"

  • "enable"

sip

字典

SIP。

ack_rate

整数

ACK 请求速率限制 (每秒,每个策略)。

ack_rate_track

字符串

跟踪数据包协议字段。

选项

  • "none"

  • "src-ip"

  • "dest-ip"

block_ack

字符串

启用/禁用阻止 ACK 请求。

选项

  • "disable"

  • "enable"

block_bye

字符串

启用/禁用阻止 BYE 请求。

选项

  • "disable"

  • "enable"

block_cancel

字符串

启用/禁用阻止 CANCEL 请求。

选项

  • "disable"

  • "enable"

block_geo_red_options

字符串

启用/禁用阻止 OPTIONS 请求,但 OPTIONS 请求仍会为冗余通知。

选项

  • "disable"

  • "enable"

block_info

字符串

启用/禁用阻止 INFO 请求。

选项

  • "disable"

  • "enable"

block_invite

字符串

启用/禁用阻止 INVITE 请求。

选项

  • "disable"

  • "enable"

block_long_lines

字符串

启用/禁用阻止标头超过 max-line-length 的请求。

选项

  • "disable"

  • "enable"

block_message

字符串

启用/禁用阻止 MESSAGE 请求。

选项

  • "disable"

  • "enable"

block_notify

字符串

启用/禁用阻止 NOTIFY 请求。

选项

  • "disable"

  • "enable"

block_options

字符串

启用/禁用阻止 OPTIONS 请求,并且 OPTIONS 也不作为冗余的通知消息。

选项

  • "disable"

  • "enable"

block_prack

字符串

启用/禁用阻止 prack 请求。

选项

  • "disable"

  • "enable"

block_publish

字符串

启用/禁用阻止 PUBLISH 请求。

选项

  • "disable"

  • "enable"

block_refer

字符串

启用/禁用阻止 REFER 请求。

选项

  • "disable"

  • "enable"

block_register

字符串

启用/禁用阻止 REGISTER 请求。

选项

  • "disable"

  • "enable"

block_subscribe

字符串

启用/禁用阻止 SUBSCRIBE 请求。

选项

  • "disable"

  • "enable"

block_unknown

字符串

阻止无法识别的 SIP 请求(默认启用)。

选项

  • "disable"

  • "enable"

block_update

字符串

启用/禁用阻止 UPDATE 请求。

选项

  • "disable"

  • "enable"

bye_rate

整数

BYE 请求速率限制 (每秒,每个策略)。

bye_rate_track

字符串

跟踪数据包协议字段。

选项

  • "none"

  • "src-ip"

  • "dest-ip"

call_id_regex

字符串

验证 Call-Id 标头值的 PCRE 正则表达式。

call_keepalive

整数

继续跟踪没有 RTP 的呼叫,持续这么多分钟。

cancel_rate

整数

CANCEL 请求速率限制 (每秒,每个策略)。

cancel_rate_track

字符串

跟踪数据包协议字段。

选项

  • "none"

  • "src-ip"

  • "dest-ip"

contact_fixup

字符串

即使 contact 的 IP:port 与会话的 IP:port 不匹配,也修复 contact。

选项

  • "disable"

  • "enable"

content_type_regex

字符串

验证 Content-Type 标头值的 PCRE 正则表达式。

hnt_restrict_source_ip

字符串

启用/禁用将 RTP 源 IP 限制为与启用 HNT 时 SIP 源 IP 相同。

选项

  • "disable"

  • "enable"

hosted_nat_traversal

字符串

托管 NAT 穿越 (HNT)。

选项

  • "disable"

  • "enable"

info_rate

整数

INFO 请求速率限制 (每秒,每个策略)。

info_rate_track

字符串

跟踪数据包协议字段。

选项

  • "none"

  • "src-ip"

  • "dest-ip"

invite_rate

整数

INVITE 请求速率限制 (每秒,每个策略)。

invite_rate_track

字符串

跟踪数据包协议字段。

选项

  • "none"

  • "src-ip"

  • "dest-ip"

ips_rtp

字符串

启用/禁用允许 RTP 上的 IPS。

选项

  • "disable"

  • "enable"

log_call_summary

字符串

启用/禁用 SIP 呼叫摘要日志记录。

选项

  • "disable"

  • "enable"

log_violations

字符串

启用/禁用 SIP 违规日志记录。

选项

  • "disable"

  • "enable"

malformed_header_allow

字符串

格式错误的 Allow 标头的操作。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_call_id

字符串

格式错误的 Call-ID 标头的操作。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_contact

字符串

格式错误的 Contact 标头的操作。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_content_length

字符串

格式错误的 Content-Length 标头的操作。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_content_type

字符串

格式错误的 Content-Type 标头的操作。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_cseq

字符串

格式错误的 CSeq 标头的操作。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_expires

字符串

格式错误的 Expires 标头的操作。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_from

字符串

格式错误的 From 标头的操作。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_max_forwards

字符串

格式错误的 Max-Forwards 标头的操作。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_no_proxy_require

字符串

没有 Proxy-Require 标头的格式错误的 SIP 消息的操作。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_no_require

字符串

没有 Require 标头的格式错误的 SIP 消息的操作。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_p_asserted_identity

字符串

格式错误的 P-Asserted-Identity 标头的操作。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_rack

字符串

格式错误的 RAck 标头的操作。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_record_route

字符串

错误的Record-Route报头处理。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_route

字符串

错误的Route报头处理。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_rseq

字符串

错误的RSeq报头处理。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_sdp_a

字符串

错误的SDP a行处理。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_sdp_b

字符串

错误的SDP b行处理。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_sdp_c

字符串

错误的SDP c行处理。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_sdp_i

字符串

错误的SDP i行处理。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_sdp_k

字符串

错误的SDP k行处理。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_sdp_m

字符串

错误的SDP m行处理。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_sdp_o

字符串

错误的SDP o行处理。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_sdp_r

字符串

错误的SDP r行处理。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_sdp_s

字符串

错误的SDP s行处理。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_sdp_t

字符串

错误的SDP t行处理。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_sdp_v

字符串

错误的SDP v行处理。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_sdp_z

字符串

错误的SDP z行处理。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_to

字符串

错误的To报头处理。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_header_via

字符串

错误的VIA报头处理。

选项

  • "discard"

  • "pass"

  • "respond"

malformed_request_line

字符串

错误的请求行处理。

选项

  • "discard"

  • "pass"

  • "respond"

max_body_length

整数

最大SIP消息正文长度(0表示无限制)。

max_dialogs

整数

最大并发呼叫/对话数(每个策略)。

max_idle_dialogs

整数

最大保留已建立但空闲的对话数(每个策略)。

max_line_length

整数

最大SIP报头行长度 (78-4096)。

message_rate

整数

MESSAGE请求速率限制(每秒,每个策略)。

message_rate_track

字符串

跟踪数据包协议字段。

选项

  • "none"

  • "src-ip"

  • "dest-ip"

nat_port_range

字符串

RTP NAT端口范围。

nat_trace

字符串

启用/禁用在SDP i行中保留原始IP。

选项

  • "disable"

  • "enable"

no_sdp_fixup

字符串

启用/禁用SDP修复。

选项

  • "disable"

  • "enable"

notify_rate

整数

NOTIFY请求速率限制(每秒,每个策略)。

notify_rate_track

字符串

跟踪数据包协议字段。

选项

  • "none"

  • "src-ip"

  • "dest-ip"

open_contact_pinhole

字符串

启用/禁用为非REGISTER Contact端口打开端口。

选项

  • "disable"

  • "enable"

open_record_route_pinhole

字符串

启用/禁用为Record-Route端口打开端口。

选项

  • "disable"

  • "enable"

open_register_pinhole

字符串

启用/禁用为REGISTER Contact端口打开端口。

选项

  • "disable"

  • "enable"

open_via_pinhole

字符串

启用/禁用为Via端口打开端口。

选项

  • "disable"

  • "enable"

options_rate

整数

OPTIONS请求速率限制(每秒,每个策略)。

options_rate_track

字符串

跟踪数据包协议字段。

选项

  • "none"

  • "src-ip"

  • "dest-ip"

prack_rate

整数

PRACK请求速率限制(每秒,每个策略)。

prack_rate_track

字符串

跟踪数据包协议字段。

选项

  • "none"

  • "src-ip"

  • "dest-ip"

preserve_override

字符串

覆盖i行以保留原始IP。

选项

  • "disable"

  • "enable"

provisional_invite_expiry_time

整数

临时INVITE的过期时间(10-3600秒)。

publish_rate

整数

PUBLISH请求速率限制(每秒,每个策略)。

publish_rate_track

字符串

跟踪数据包协议字段。

选项

  • "none"

  • "src-ip"

  • "dest-ip"

refer_rate

整数

REFER请求速率限制(每秒,每个策略)。

refer_rate_track

字符串

跟踪数据包协议字段。

选项

  • "none"

  • "src-ip"

  • "dest-ip"

register_contact_trace

字符串

启用/禁用跟踪REGISTER请求的Contact报头中的原始IP/端口。

选项

  • "disable"

  • "enable"

register_rate

整数

REGISTER请求速率限制(每秒,每个策略)。

register_rate_track

字符串

跟踪数据包协议字段。

选项

  • "none"

  • "src-ip"

  • "dest-ip"

rfc2543_branch

字符串

启用/禁用对符合RFC 2543的分支的支持。

选项

  • "disable"

  • "enable"

rtp

字符串

启用/禁用为RTP流量创建穿越防火墙的端口。

选项

  • "disable"

  • "enable"

ssl_algorithm

字符串

协商中接受的加密算法的相对强度。

选项

  • “高”

  • “中”

  • “低”

ssl_auth_client

字符串

需要客户端证书并使用对等方/对等方组进行身份验证。来源 user.peer.name user.peergrp.name。

ssl_auth_server

字符串

使用对等方/对等方组验证服务器的证书。来源 user.peer.name user.peergrp.name。

ssl_client_certificate

字符串

如果请求,则提供给服务器的证书名称。来源 vpn.certificate.local.name。

ssl_client_renegotiation

字符串

允许/阻止服务器进行客户端重新协商。

选项

  • “允许”

  • “拒绝”

  • “安全”

ssl_max_version

字符串

要协商的最高SSL/TLS版本。

选项

  • “ssl-3.0”

  • “tls-1.0”

  • “tls-1.1”

  • “tls-1.2”

  • “tls-1.3”

ssl_min_version

字符串

要协商的最低SSL/TLS版本。

选项

  • “ssl-3.0”

  • “tls-1.0”

  • “tls-1.1”

  • “tls-1.2”

  • “tls-1.3”

ssl_mode

字符串

用于流量加密和解密的SSL/TLS模式。

选项

  • “关闭”

  • “完全”

ssl_pfs

字符串

SSL完全前向保密。

选项

  • “必需”

  • “拒绝”

  • “允许”

ssl_send_empty_frags

字符串

发送空片段以避免对CBC IV的攻击(仅限SSL 3.0和TLS 1.0)。

选项

  • "enable"

  • "disable"

ssl_server_certificate

字符串

在每个SSL连接中返回给客户端的证书名称。来源 vpn.certificate.local.name。

status

字符串

启用/禁用SIP。

选项

  • "disable"

  • "enable"

strict_register

字符串

启用/禁用仅允许注册器连接。

选项

  • "disable"

  • "enable"

subscribe_rate

整数

SUBSCRIBE请求速率限制(每秒,每个策略)。

subscribe_rate_track

字符串

跟踪数据包协议字段。

选项

  • "none"

  • "src-ip"

  • "dest-ip"

unknown_header

字符串

未知SIP报头处理。

选项

  • "discard"

  • "pass"

  • "respond"

update_rate

整数

UPDATE请求速率限制(每秒,每个策略)。

update_rate_track

字符串

跟踪数据包协议字段。

选项

  • "none"

  • "src-ip"

  • "dest-ip"

注释

注意

  • 旧的fortiosapi已弃用,httpapi是运行剧本的首选方式。

  • 该模块支持check_mode。

示例

- name: Configure VoIP profiles.
  fortinet.fortios.fortios_voip_profile:
      vdom: "{{ vdom }}"
      state: "present"
      access_token: "<your_own_value>"
      voip_profile:
          comment: "Comment."
          feature_set: "ips"
          msrp:
              log_violations: "disable"
              max_msg_size: "0"
              max_msg_size_action: "pass"
              status: "disable"
          name: "default_name_10"
          sccp:
              block_mcast: "disable"
              log_call_summary: "disable"
              log_violations: "disable"
              max_calls: "0"
              status: "disable"
              verify_header: "disable"
          sip:
              ack_rate: "0"
              ack_rate_track: "none"
              block_ack: "disable"
              block_bye: "disable"
              block_cancel: "disable"
              block_geo_red_options: "disable"
              block_info: "disable"
              block_invite: "disable"
              block_long_lines: "disable"
              block_message: "disable"
              block_notify: "disable"
              block_options: "disable"
              block_prack: "disable"
              block_publish: "disable"
              block_refer: "disable"
              block_register: "disable"
              block_subscribe: "disable"
              block_unknown: "disable"
              block_update: "disable"
              bye_rate: "0"
              bye_rate_track: "none"
              call_id_regex: "<your_own_value>"
              call_keepalive: "0"
              cancel_rate: "0"
              cancel_rate_track: "none"
              contact_fixup: "disable"
              content_type_regex: "<your_own_value>"
              hnt_restrict_source_ip: "disable"
              hosted_nat_traversal: "disable"
              info_rate: "0"
              info_rate_track: "none"
              invite_rate: "0"
              invite_rate_track: "none"
              ips_rtp: "disable"
              log_call_summary: "disable"
              log_violations: "disable"
              malformed_header_allow: "discard"
              malformed_header_call_id: "discard"
              malformed_header_contact: "discard"
              malformed_header_content_length: "discard"
              malformed_header_content_type: "discard"
              malformed_header_cseq: "discard"
              malformed_header_expires: "discard"
              malformed_header_from: "discard"
              malformed_header_max_forwards: "discard"
              malformed_header_no_proxy_require: "discard"
              malformed_header_no_require: "discard"
              malformed_header_p_asserted_identity: "discard"
              malformed_header_rack: "discard"
              malformed_header_record_route: "discard"
              malformed_header_route: "discard"
              malformed_header_rseq: "discard"
              malformed_header_sdp_a: "discard"
              malformed_header_sdp_b: "discard"
              malformed_header_sdp_c: "discard"
              malformed_header_sdp_i: "discard"
              malformed_header_sdp_k: "discard"
              malformed_header_sdp_m: "discard"
              malformed_header_sdp_o: "discard"
              malformed_header_sdp_r: "discard"
              malformed_header_sdp_s: "discard"
              malformed_header_sdp_t: "discard"
              malformed_header_sdp_v: "discard"
              malformed_header_sdp_z: "discard"
              malformed_header_to: "discard"
              malformed_header_via: "discard"
              malformed_request_line: "discard"
              max_body_length: "0"
              max_dialogs: "0"
              max_idle_dialogs: "0"
              max_line_length: "998"
              message_rate: "0"
              message_rate_track: "none"
              nat_port_range: "<your_own_value>"
              nat_trace: "disable"
              no_sdp_fixup: "disable"
              notify_rate: "0"
              notify_rate_track: "none"
              open_contact_pinhole: "disable"
              open_record_route_pinhole: "disable"
              open_register_pinhole: "disable"
              open_via_pinhole: "disable"
              options_rate: "0"
              options_rate_track: "none"
              prack_rate: "0"
              prack_rate_track: "none"
              preserve_override: "disable"
              provisional_invite_expiry_time: "210"
              publish_rate: "0"
              publish_rate_track: "none"
              refer_rate: "0"
              refer_rate_track: "none"
              register_contact_trace: "disable"
              register_rate: "0"
              register_rate_track: "none"
              rfc2543_branch: "disable"
              rtp: "disable"
              ssl_algorithm: "high"
              ssl_auth_client: "<your_own_value> (source user.peer.name user.peergrp.name)"
              ssl_auth_server: "<your_own_value> (source user.peer.name user.peergrp.name)"
              ssl_client_certificate: "<your_own_value> (source vpn.certificate.local.name)"
              ssl_client_renegotiation: "allow"
              ssl_max_version: "ssl-3.0"
              ssl_min_version: "ssl-3.0"
              ssl_mode: "off"
              ssl_pfs: "require"
              ssl_send_empty_frags: "enable"
              ssl_server_certificate: "<your_own_value> (source vpn.certificate.local.name)"
              status: "disable"
              strict_register: "disable"
              subscribe_rate: "0"
              subscribe_rate_track: "none"
              unknown_header: "discard"
              update_rate: "0"
              update_rate_track: "none"

返回值

常用返回值已在此处记录,以下是此模块独有的字段

描述

build

字符串

FortiGate镜像的版本号

返回:始终

示例: "1547"

http_method

字符串

上次用于将内容置备到FortiGate的方法

返回:始终

示例: "PUT"

http_status

字符串

FortiGate在上次应用的操作中给出的最后结果

返回:始终

示例: "200"

mkey

字符串

上次调用FortiGate时使用的主密钥(ID)

返回:成功

示例: "id"

name

字符串

用于完成请求的表名称

返回:始终

示例: "urlfilter"

path

字符串

用于完成请求的表的路径

返回:始终

示例: "webfilter"

revision

字符串

内部修订号

返回:始终

示例: "17.0.2.10658"

serial

字符串

设备的序列号

返回:始终

示例: "FGVMEVYYQT3AB5352"

status

字符串

操作结果指示

返回:始终

示例: "success"

vdom

字符串

使用的虚拟域

返回:始终

示例: "root"

version

字符串

FortiGate的版本

返回:始终

示例: "v5.6.3"

作者

  • 郑链 (@chillancezen)

  • 薛杰 (@JieX19)

  • 陆洪斌 (@fgtdev-hblu)

  • 沈方 (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • Nicolas Thomas (@thomnico)