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。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。

要在 playbook 中使用它,请指定: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

字符串

启用/禁用阻止标头超出最大行长度的请求。

选择

  • "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

字符串

启用/禁用当 HNT 启用时,限制 RTP 源 IP 与 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 端口打开 pinhole。

选择

  • "disable"

  • "enable"

open_record_route_pinhole

字符串

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

选择

  • "disable"

  • "enable"

open_register_pinhole

字符串

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

选择

  • "disable"

  • "enable"

open_via_pinhole

字符串

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

选择

  • "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 的 via branch 的支持。

选择

  • "disable"

  • "enable"

rtp

字符串

启用/禁用为 RTP 流量创建 pinhole 以穿越防火墙。

选择

  • "disable"

  • "enable"

ssl_algorithm

字符串

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

选择

  • "high"

  • "medium"

  • "low"

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

字符串

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

选择

  • "allow"

  • "deny"

  • "secure"

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 模式。

选择

  • "off"

  • "full"

ssl_pfs

字符串

SSL 完全正向保密。

选择

  • "require"

  • "deny"

  • "allow"

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 是运行 playbook 的首选方式

  • 该模块支持 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"

作者

  • Link Zheng (@chillancezen)

  • Jie Xue (@JieX19)

  • Hongbin Lu (@fgtdev-hblu)

  • Frank Shen (@frankshen01)

  • Miguel Angel Munoz (@mamunozgonzalez)

  • Nicolas Thomas (@thomnico)