freeswitch conf/sip_profiles/internal.xml 说明(下)

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介: conf/sip_profiles/internal.xml说明internal.xml

是否支持 TLS,默认否。

<!-- additional bind parameters for TLS -->
    <param name="tls-bind-params" value="transport=tls"/>
    <!-- Port to listen on for TLS requests. (5061 will be used if unspecified) -->
    <param name="tls-sip-port" value="$${internal_tls_port}"/>
    <!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) -->
    <param name="tls-cert-dir" value="$${internal_ssl_dir}"/>
    <!-- TLS version ("sslv23" (default), "tlsv1"). NOTE: Phones may not work with TLSv1 -->
    <param name="tls-version" value="$${sip_tls_version}"/>
复制代码

下面都是与 TLS 有关的参数,略。

<!--<param name="rtp-autoflush-during-bridge" value="false"/>-->
复制代码

该选项默认为 true。即在桥接电话是是否自动 flush 媒体数据(如果套接字上已有数据时,它会忽略定时器睡眠,能有效减少延迟)。

<!--<param name="rtp-rewrite-timestamps" value="true"/>-->
复制代码


是否透传 RTP 时间戳。

<!--<param name="pass-rfc2833" value="true"/>-->
复制代码

是否透传 RFC2833 DTMF 包。

<!--<param name="odbc-dsn" value="dsn:user:pass"/>-->
复制代码

使用 ODBC 数据库代替默认的 SQLite。

<!--<param name="inbound-bypass-media" value="true"/>-->
复制代码

将所有来电设置为媒体绕过。


<!--<param name="inbound-proxy-media" value="true"/>-->
复制代码

将所有来电设置为媒体透传。

<!--Uncomment to let calls hit the dialplan *before* you decide if the codec is ok-->
    <!--<param name="inbound-late-negotiation" value="true"/>-->
复制代码

对所有来电来讲,晚协商有助于在协商媒体编码之前,先前电话送到 Dialplan,因而在 Dialplan 中可以进行个性化的媒体协商。

<!-- <param name="accept-blind-reg" value="true"/> -->     
复制代码

该选项允许任何电话注册,而不检查用户和密码及其它设置。

<!-- <param name="accept-blind-auth" value="true"/> -->
复制代码

与上一条类似,该选项允许任何电话通过认证。

<!-- <param name="suppress-cng" value="true"/> -->
复制代码



抑制 CNG。

<param name="nonce-ttl" value="60"/>
复制代码

SIP 认证中 nonce 的生存时间。

<!--<param name="disable-transcoding" value="true"/>-->
复制代码

禁止译码,如果该项为 true 则在 bridge 其它电话时,只提供与 a-leg 兼容或相同的语音编码列表进行协商,以避免译码。

<!--<param name="manual-redirect" value="true"/> -->     
复制代码


允许在 Dialplan 中进行人工转向。

<!--<param name="disable-transfer" value="true"/> -->
复制代码

禁止转移。

<!--<param name="disable-register" value="true"/> -->
复制代码

禁止注册。

<!-- Used for when phones respond to a challenged ACK with method INVITE in the hash -->
    <!--<param name="NDLB-broken-auth-hash" value="true"/>-->
    <!-- add a ;received="<ip>:<port>" to the contact when replying to register for nat handling -->
    <!--<param name="NDLB-received-in-nat-reg-contact" value="true"/>-->
    <param name="auth-calls" value="$${internal_auth_calls}"/>
复制代码

是否对电话进行认证。


<!-- Force the user and auth-user to match. -->
    <param name="inbound-reg-force-matching-username" value="true"/>
复制代码

强制用户与认证用户必须相同。

<param name="auth-all-packets" value="false"/>
复制代码

在认证时,对所有 SIP 消息都进行认证,而不是仅针对 INVITE 消息。

<!-- external_sip_ip
      Used as the public IP address for SDP.
      Can be an one of:
           ip address            - "12.34.56.78"
           a stun server lookup  - "stun:stun.server.com"
           a DNS name            - "host:host.server.com"
           auto                  - Use guessed ip.
           auto-nat              - Use ip learned from NAT-PMP or UPNP
       -->
    <param name="ext-rtp-ip" value="auto-nat"/>
    <param name="ext-sip-ip" value="auto-nat"/>
复制代码


设置 NAT 环境中公网的 RTP IP。该设置会影响 SDP 中的 IP 地址。有以下几种可能:

  • 一个IP 地址,如 12.34.56.78
  • 一个 stun 服务器,它会使用 stun 协议获得公网 IP, 如 stun:stun.server.com
  • 一个 DNS 名称,如 host:host.server.com
  • auto , 它会自动检测 IP 地址
  • auto-nat,如果路由器支持 NAT-PMP 或 UPNP,则可以使用这些协议获取公网 IP。
<param name="rtp-timeout-sec" value="300"/>
复制代码

指定的时间内 RTP 没有数据传送,则挂机。

<param name="rtp-hold-timeout-sec" value="1800"/>
复制代码


RTP 处理保持状态的最大时长。

<!-- <param name="vad" value="in"/> -->
    <!-- <param name="vad" value="out"/> -->
    <!-- <param name="vad" value="both"/> -->
复制代码

语音活动状态检测,有三种可能,可设为入、出,或双向,通常来说“出”(out)是一个比较好的选择。

<!--<param name="alias" value="sip:10.0.1.251:5555"/>-->
复制代码

给本 sip profile 设置别名。

<!--all inbound reg will look in this domain for the users -->
    <param name="force-register-domain" value="$${domain}"/>
    <!--force the domain in subscriptions to this value -->
    <param name="force-subscription-domain" value="$${domain}"/>
    <!--all inbound reg will stored in the db using this domain -->
    <param name="force-register-db-domain" value="$${domain}"/>
    <!--force suscription expires to a lower value than requested-->
    <!--<param name="force-subscription-expires" value="60"/>-->
复制代码


以上选项默认是起作用的,这有助于默认的例子更好的工作。它们会在注册及订阅时在数据库中写入同样的域信息。如果你在使用一个 FreeSWITCH 支持多个域时,不要选这些选项。

<!--<param name="enable-3pcc" value="true"/>-->                               
复制代码

该选项有两个值,true 或 poxy。 true 则直接接受 3pcc 来电;如果选 proxy,则会一直等待电话应答后才回送接受。

<!-- use at your own risk or if you know what this does.-->
    <!--<param name="NDLB-force-rport" value="true"/>-->
复制代码

在 NAT 时强制 rport。除非你很了解该参数,否则后果自负。


<param name="challenge-realm" value="auto_from"/>
复制代码

设置 SIP Challenge 是使用的 realm 字段是从哪个域获取,auto_from 和 auto_to 分别是从 from 和 to 中获取,除了这两者,也可以是任意的值,如 freeswitch.org.cn。

<!--<param name="disable-rtp-auto-adjust" value="true"/>-->
复制代码

大多数情况下,为了更好的穿越 NAT,FreeSWITCH 会自动调整 RTP 包的 IP 地址,但在某些情况下(尤其是在 mod_dingaling 中会有多个候选 IP),FreeSWITCH 可能会改变本来正确的 IP 地址。该参数禁用此功能。

<!--<param name="inbound-use-callid-as-uuid" value="true"/>-->
复制代码


在 FreeSWITCH 是,每一个 Channel 都有一个 UUID, 该 UUID 是由系统生成的全局唯一的。对于来话,你可以使用 SIP 中的 callid 字段来做 UUID. 在某些情况下对于信令的跟踪分析比较有用。

<!--<param name="outbound-use-uuid-as-callid" value="true"/>-->
复制代码

与上一个参数差不多,只是在去话时可以使用 UUID 作为 callid。

<!--<param name="rtp-autofix-timing" value="false"/>-->
复制代码

RTP 自动定时。如果语音质量有问题,可以尝试将该值设成 false。

<!--<param name="pass-callee-id" value="false"/>-->
复制代码


默认情况下 FreeSWITCH 会设置额外的 X- SIP 消息头,在 SIP 标准中,所有 X- 打头的消息头都是应该忽略的。但并不是所有的实现都符合标准,所以在对方的网关不支持这种 SIP 头时,该选项允许你关掉它。

<!-- clear clears them all or supply the name to add or the name prefixed with ~ to remove
     valid values:
     clear
     CISCO_SKIP_MARK_BIT_2833
     SONUS_SEND_INVALID_TIMESTAMP_2833
    -->
    <!--<param name="auto-rtp-bugs" data="clear"/>-->
复制代码

某些运营商的设备不符合标准。为了最大限度的支持这些设备,FreeSWITCH 在这方面进行了妥协。使用该参数时要小心。

<!-- the following can be used as workaround with bogus SRV/NAPTR records -->
     <!--<param name="disable-srv" value="false" />-->
     <!--<param name="disable-naptr" value="false" />-->
复制代码


这两个参数可以规避 DNS 中某些错误的 SRV 或 NAPTR 记录。

最后的这几个参数允许根据需要调整 sofia 库中底层的时钟,一般情况下不需要改动。

<!-- The following can be used to fine-tune timers within sofia's transport layer 
         Those settings are for advanced users and can safely be left as-is -->
    <!-- Initial retransmission interval (in milliseconds).
        Set the T1 retransmission interval used by the SIP transaction engine. 
        The T1 is the initial duration used by request retransmission timers A and E (UDP) as well as response retransmission timer G.   -->
    <!-- <param name="timer-T1" value="500" /> -->
    <!--  Transaction timeout (defaults to T1 * 64).
        Set the T1x64 timeout value used by the SIP transaction engine.
        The T1x64 is duration used for timers B, F, H, and J (UDP) by the SIP transaction engine. 
        The timeout value T1x64 can be adjusted separately from the initial retransmission interval T1. -->
    <!-- <param name="timer-T1X64" value="32000" /> -->
    <!-- Maximum retransmission interval (in milliseconds).
        Set the maximum retransmission interval used by the SIP transaction engine. 
        The T2 is the maximum duration used for the timers E (UDP) and G by the SIP transaction engine. 
        Note that the timer A is not capped by T2. Retransmission interval of INVITE requests grows exponentially 
        until the timer B fires.  -->
    <!-- <param name="timer-T2" value="4000" /> -->
    <!--
        Transaction lifetime (in milliseconds).
        Set the lifetime for completed transactions used by the SIP transaction engine. 
        A completed transaction is kept around for the duration of T4 in order to catch late responses. 
        The T4 is the maximum duration for the messages to stay in the network and the duration of SIP timer K. -->
    <!-- <param name="timer-T4" value="4000" /> -->
  </settings>
</profile>


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
5月前
|
SQL JSON 数据处理
实时计算 Flink版产品使用问题之把hdfs集群里的core-site.xml hdfs.xml两个文件放到flink/conf/目录下,启动集群说找不到hdfs,该如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
域名解析 XML 网络协议
freeswitch conf/sip_profiles/internal.xml 说明(上)
conf/sip_profiles/internal.xml说明 internal.xml
1050 0
|
XML Linux 数据安全/隐私保护
freeswitch XML用户目录指南
概述Overview FreeSWITCH的目录下 $FS_ROOT/conf/directory/ 包含账户信息 (即XML文件) ,用于用户(即SIP电话分机)注册到freeswitch.
|
XML Java 应用服务中间件
在 conf 下的 web.xml 文件内容介绍 | 学习笔记
快速学习在 conf 下的 web.xml 文件内容介绍。
142 0
|
SQL 分布式计算 Java
Caused by: org.xml.sax.SAXParseException; systemId: file:/home/hadoop/hive-0.12.0/conf/hive-site.xml; lineNumber: 5; columnNumber: 2; The markup in th
1:Hive安装的过程(Hive启动的时候报的错误),贴一下错误,和为什么错,以及解决方法: 1 [root@master bin]# ./hive 2 17/12/11 23:22:56 INFO Configuration.
2739 0
|
1月前
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
59 1
|
3月前
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
13天前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
64 8
|
1月前
|
XML JavaScript Java
java与XML文件的读写
java与XML文件的读写
26 3