<div dir="ltr"><div>hi guys,</div><div><br></div><div>both TLS and NAT are working fine with my FS system, but put them together raises problem, e.g. i can have encrypted voice calls(TLS+SRTP) within the same LAN, and uncrypted voice calls over different LANs, but when trying TLS+SRTP over different LANs, i cannot get my softphone(here im using Linphone) register to FS, it reports timeout.</div>
<div><br></div><div>i have a dedicated profile for NAT as below, could anyone figure out what the problem is?</div><div><br></div><div>&lt;profile name=&quot;tnat&quot;&gt;</div><div>  &lt;settings&gt;</div><div>    &lt;param name=&quot;debug&quot; value=&quot;0&quot; /&gt;</div>
<div>    &lt;param name=&quot;sip-trace&quot; value=&quot;no&quot; /&gt;</div><div>    &lt;param name=&quot;rfc2833-pt&quot; value=&quot;101&quot; /&gt;</div><div>    &lt;param name=&quot;sip-port&quot; value=&quot;5063&quot; /&gt;</div>
<div>    &lt;param name=&quot;dialplan&quot; value=&quot;XML&quot; /&gt;</div><div>    &lt;param name=&quot;context&quot; value=&quot;public&quot; /&gt;</div><div>    &lt;param name=&quot;dtmf-duration&quot; value=&quot;100&quot; /&gt;</div>
<div>    &lt;param name=&quot;codec-prefs&quot; value=&quot;$${outbound_codec_prefs}&quot; /&gt;</div><div>    &lt;param name=&quot;use-rtp-timer&quot; value=&quot;true&quot; /&gt;</div><div>    &lt;param name=&quot;hold-music&quot; value=&quot;$${hold_music}&quot; /&gt;</div>
<div>    &lt;param name=&quot;rtp-timer-name&quot; value=&quot;soft&quot; /&gt;</div><div>    &lt;param name=&quot;manage-presence&quot; value=&quot;false&quot; /&gt;</div><div>    &lt;param name=&quot;aggressive-nat-detection&quot; value=&quot;true&quot; /&gt;</div>
<div>    &lt;param name=&quot;apply-nat-acl&quot; value=&quot;rfc1918&quot; /&gt;</div><div>    &lt;param name=&quot;inbound-codec-negotiation&quot; value=&quot;generous&quot; /&gt;</div><div>    &lt;param name=&quot;nonce-ttl&quot; value=&quot;60&quot; /&gt;</div>
<div>    &lt;param name=&quot;auth-calls&quot; value=&quot;true&quot; /&gt;</div><div>    &lt;param name=&quot;rtp-timeout-sec&quot; value=&quot;1800&quot; /&gt;</div><div>    &lt;param name=&quot;rtp-ip&quot; value=&quot;$${local_ip_v4}&quot; /&gt;</div>
<div>    &lt;param name=&quot;sip-ip&quot; value=&quot;$${local_ip_v4}&quot; /&gt;</div><div>    &lt;param name=&quot;ext-rtp-ip&quot; value=&quot;111.111.111.111&quot; /&gt;</div><div>    &lt;param name=&quot;ext-sip-ip&quot; value=&quot;111.111.111.111&quot; /&gt;</div>
<div>    &lt;param name=&quot;force-register-domain&quot; value=&quot;111.111.111.111&quot; /&gt;</div><div>    &lt;param name=&quot;stun-enabled&quot; value=&quot;false&quot; /&gt;</div><div>    &lt;param name=&quot;rtp-timeout-sec&quot; value=&quot;300&quot; /&gt;</div>
<div>    &lt;param name=&quot;rtp-hold-timeout-sec&quot; value=&quot;1800&quot; /&gt;</div><div>    </div><div>    &lt;!-- TLS: disabled by default, set to &quot;true&quot; to enable --&gt;</div><div>    &lt;param name=&quot;tls&quot; value=&quot;true&quot;/&gt;</div>
<div>    &lt;!-- Set to true to not bind on the normal sip-port but only on the TLS port --&gt;</div><div>    &lt;param name=&quot;tls-only&quot; value=&quot;false&quot;/&gt;</div><div>    &lt;!-- additional bind parameters for TLS --&gt;</div>
<div>    &lt;param name=&quot;tls-bind-params&quot; value=&quot;transport=tls&quot;/&gt;</div><div>    &lt;!-- Port to listen on for TLS requests. I&#39;ve specified to use this port --&gt;</div><div>    &lt;param name=&quot;tls-sip-port&quot; value=&quot;5064&quot;/&gt;</div>
<div>    &lt;!-- Location of the agent.pem and cafile.pem ssl certificates (needed for TLS server) --&gt;</div><div>    &lt;!--&lt;param name=&quot;tls-cert-dir&quot; value=&quot;&quot;/&gt;--&gt;</div><div>    &lt;!-- Optionally set the passphrase password used by openSSL to encrypt/decrypt TLS private key files --&gt;</div>
<div>    &lt;param name=&quot;tls-passphrase&quot; value=&quot;&quot;/&gt;</div><div>    &lt;!-- Verify the date on TLS certificates --&gt;</div><div>    &lt;param name=&quot;tls-verify-date&quot; value=&quot;true&quot;/&gt;</div>
<div>    &lt;!-- TLS verify policy, when registering/inviting gateways with other servers (outbound) or handling inbound registration/invite requests how should we verify their certificate --&gt;</div><div>    &lt;!-- set to &#39;in&#39; to only verify incoming connections, &#39;out&#39; to only verify outgoing connections, &#39;all&#39; to verify all connections, also &#39;in_subjects&#39;, &#39;out_subjects&#39; and &#39;all_subjects&#39; for subject validation. Multiple policies can be split with a &#39;|&#39; pipe --&gt;</div>
<div>    &lt;param name=&quot;tls-verify-policy&quot; value=&quot;none&quot;/&gt;</div><div>    &lt;!-- Certificate max verify depth to use for validating peer TLS certificates when the verify policy is not none --&gt;</div>
<div>    &lt;param name=&quot;tls-verify-depth&quot; value=&quot;2&quot;/&gt;</div><div>    &lt;!-- If the tls-verify-policy is set to subjects_all or subjects_in this sets which subjects are allowed, multiple subjects can be split with a &#39;|&#39; pipe --&gt;</div>
<div>    &lt;param name=&quot;tls-verify-in-subjects&quot; value=&quot;&quot;/&gt;</div><div>    &lt;!-- TLS version (&quot;sslv23&quot; (default), &quot;tlsv1&quot;). NOTE: Phones may not work with TLSv1 --&gt;</div><div>
    &lt;param name=&quot;tls-version&quot; value=&quot;$${sip_tls_version}&quot;/&gt;</div><div><br></div><div>    &lt;!-- Let calls hit the dialplan before selecting codec for the a-leg --&gt;</div><div>    &lt;param name=&quot;inbound-late-negotiation&quot; value=&quot;true&quot;/&gt;</div>
<div><br></div><div>    &lt;!-- Allow ZRTP clients to negotiate end-to-end security associations (also enables late negotiation) --&gt;</div><div>    &lt;param name=&quot;inbound-zrtp-passthru&quot; value=&quot;true&quot;/&gt;</div>
<div>  &lt;/settings&gt;</div><div>&lt;/profile&gt;</div><div><br></div></div>